@@ -11,10 +11,10 @@ There is also the RECV program at B612. | |||||
( ----- 602 ) | ( ----- 602 ) | ||||
1 8 LOADR+ | 1 8 LOADR+ | ||||
( ----- 603 ) | ( ----- 603 ) | ||||
CODE (key?) ( -- c? f ) ( TODO: make non-blocking ) | |||||
A 0x01 LDri, ( @KEY ) | |||||
CODE (key?) ( -- c? f ) | |||||
A 0x08 LDri, ( @KBD ) | |||||
0x28 RST, | 0x28 RST, | ||||
PUSHA, PUSH1, | |||||
IFZ, PUSHA, THEN, PUSHZ, | |||||
;CODE | ;CODE | ||||
CODE (emit) EXX, ( protect BC ) | CODE (emit) EXX, ( protect BC ) | ||||
BC POP, ( c == @DSP arg ) chkPS, | BC POP, ( c == @DSP arg ) chkPS, | ||||
@@ -41,6 +41,11 @@ static void pchookfunc(Machine *m) | |||||
wmove(w, y, x-1); | wmove(w, y, x-1); | ||||
} | } | ||||
break; | break; | ||||
case 0x08: // @KBD TODO: make non-blocking | |||||
debug_panel(); | |||||
m->cpu.R1.br.A = wgetch(w); | |||||
m->cpu.R1.br.F |= F_Z; | |||||
break; | |||||
case 0x0f: // @VDCTL | case 0x0f: // @VDCTL | ||||
wmove(w, m->cpu.R1.br.H, m->cpu.R1.br.L); | wmove(w, m->cpu.R1.br.H, m->cpu.R1.br.L); | ||||
break; | break; | ||||