Disabling the STOP key
Jim Butterfield, Toronto
The STOP key can be disabled so that a program cannot be accidentally (or deliberately) stopped.
METHOD A is quick. Any cassette tape activity will reset the STOP key to its normal function, however.
Original ROM: Disable STOP with POKE 537, 136 Restore STOP with POKE 537, 133 Upgrade ROM: Disable STOP with POKE 144, 49 Restore STOP with POKE 144, 46 4.0 ROM: Disable STOP with POKE 144, 88 Restore STOP with POKE 144, 85
Method A disconnects the computer's clopk (TI and TI$). If your program needs these, use method B.
METHOD B is more lengthy, but does not disturb the clocks. This method prohibits cassette tape activity.
Original ROM: 100 R$ = "20 > : ?? : 9??8 = 09024 < 88 > 6" 110 FOR I = 1 TO LEN(R$)/2 120 POKE I + 900, ASC(MID$(R$, I * 2- - 1))* 16 + ASC(MID$ (R$, I*2)) - 816 : NEXT I
After the above has run:
Disable STOP with POKE 538, 3 Restore STOP with POKE 538,230 Upgrade ROM: 100 R$ = " 20> :??: 9??8 = 9;004 <31> 6" 110 FOR I = 1 TO LEN(R$)/2 120 POKE I + 813, ASC(MID$(R$,I* 2-1))*16 + ASC(MID$(R$, I*2))- 816 : NEXT I
After the above has run:
Disable STOP with POKE 145, 3 Restore STOP with POKE 145, 230 4.0 ROM : 100 R$ = "20 > :??: 9??8 = 9;004 <58> 4" 110 FOR I < 1 TO LEN(R$)/2 120 POKE I + 852, ASC(MID$(R$,I*2 - 1))*16 + ASC(MID$*R$, I*2)) - 816 : NEXT I
After the above has run:
Disable STOP with POKE 145, 3 Restore STOP with POKE 145, 228
How they work: Method A skips the clock update and stop key test. Method B builds a small program into low memory which allows the clock update and stop key test to be performed, but then nullifies the result of this test. The small program for method B is contained in R$ in "pig hexadecimal" format. Machine language programmers would read this as: 20 EA FF (do clock update, stop key test) A9 FF 8D 9B 00 (cancel stop test result) 4C 58 E4 (continue with keyboard service, etc.)
Copyright 1981 Jim Butterfield