trs80: make (key?) non-blocking
This commit is contained in:
parent
475caf35f4
commit
1a48ff047f
@ -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 )
|
CODE (key?) ( -- c? f )
|
||||||
A 0x01 LDri, ( @KEY )
|
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;
|
||||||
|
Loading…
Reference in New Issue
Block a user