Good luck, I mean to make that diode mod. someday; it is strange that with all the quality engineering in there the diode was not fitted as standard and so avoiding the countless references to ensuring alpha lock is off!?
My guess is ... they were just surprised about that, and it was too late for a PCB redesign. The world is full of assumptions like "let's take the software from Ariane IV; it is proved to work" and then, after the failed launch of Ariane V, notice that just by its bigger size and higher wind pressure, one movement parameter caused an overflow.
Alpha Lock was added to the 99/4 keyboard to form the 99/4A keyboard; it occupies a 9901 line of its own (P5), and in the matrix of the keys, it has its own column, and shares the row with other keys and Joystick Up (leading to INT7 of the 9901 as input). You can see that it was a kind of add-on. Alpha Lock is the only key that is supposed to be depressed all the time.
This could have worked, but obviously some physics got into their way. Normally, the columns are activated one after another, which means set to 0, and the 9901 just needs to sense whether that 0 is on the INT7 input, which would mean a depressed key. While the column is not selected, a resistor pulls up the line. When Alpha Lock is in the down position, as just stated, it connects the INT7 line to its pull-up resistor until it is selected, in which case the P5 line pulls down the line, and the keyboard routine detects it.
Now when one of the joysticks is selected (columns 6 and 7 ), and you push up, and Alpha Lock is depressed, the joystick column line is 0, going through the joystick, and then "competing" with the pull-up resistor from Alpha Lock for the state of INT7. Obviously, the resistance of the joystick with its cable, its internal contacts, and the port, add up to a resistance that yields something noticeably above 0 V, and the 9901 fails to detect a low level.
For that reason, a diode is a perfect solution: It blocks the positive voltage of the unselected Alpha Lock column.
[Edit: Since I somewhat missed that thrill when you start a game and wonder why that dam*** joystick does not move up, I added this glitch to the MAME emulation of the TI some years ago, but you can always "fit the diode" in the OSD menu. I felt something was missing without it. ]
Edited by mizapf, Mon Mar 13, 2017 9:20 AM.