; tty scan functions... TTYSCAN to set up to detect keypress ; TTYGET pushes either 0 or key pressed, once a key is pressed ; TTYSCAN has to be run again to detect the next keypress ; These self-patch to TTY slot in location 355 ; 4/13/06 OCTAL CREATE TTYSCAN LDA P1 AND SM IOR 355 STA P1 LDA P2 AND SM IOR 355 STA P2 LDA IC P1 OTA 0 P2 STC 0,C JMP ZNXT,I IC OCT 160000 SM OCT 177700 END OCTAL CREATE TTYGET /KEEP LDA P3 AND SM IOR 355 STA P3 LDA P4 AND SM IOR 355 STA P4 CLA P3 SFS 0 JMP PK P4 LIA 0 AND B7 PK JSB ZSPSH,I JMP ZNXT,I B7 OCT 177 END DEFINE TTYDEMO 12 4 COLOR CLS 3 15 POS "Press any key to exit demo" $PRINT #0 ;exit flag DO TTYSCAN 5 55 +DO DUP IFZ #0 777 +DO +LOOP TTYGET IFNZ DROP #1 ENDIF 7 INDEX POS " * " $PRINT TTYSCAN ENDIF +LOOP 55 5 +DO DUP IFZ #1 >STEP #0 777 +DO +LOOP TTYGET IFNZ DROP #1 ENDIF 7 INDEX POS " * " $PRINT TTYSCAN ENDIF -1 >STEP +LOOP #1 >STEP DUP UNTIL DROP -COLOR CLS END CONSOLE