Classic Computer Magazine Archive COMPUTE! ISSUE 11 / APRIL 1981 / PAGE 141

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