@@ 163,7 163,6 @@ JMP2r
@draw-sub ( cat mask -- )
- LIT '- #18 DEO #0a18 DEO
,&mask STR POP
;draw-cat/sel LDA ;get-cat JSR2
DUP2 #0000 EQU2 ,&skip JCN
@@ 188,15 187,42 @@ JMP2r
LDA2k SWP2
#0004 ADD2 ;draw-str JSR2
+ #08 ;draw-sub/mask LDA AND ;draw-chr/color STA
SWP2 ;draw-modkey JSR2
JMP2r
@draw-modkey ( mod key -- )
- ;print JSR2 #0a18 DEO
+ SWP
+ ( mod )
+ STH
+ #0800
+ &loop
+ STHkr OVR SFT #01 AND #00 EQU ,&no-button JCN
+ #00 OVR ;&buttons ADD2 LDA ;draw-chr JSR2
+ &no-button
+ INC GTHk ,&loop JCN
+ POP2
+ POPr
+ ( key )
+ DUP #00 EQU ,&skip-key JCN
+ DUP #08 NEQ ,&no-del JCN ;&del ,&inv JMP &no-del
+ DUP #09 NEQ ,&no-tab JCN ;&tab ,&inv JMP &no-tab
+ DUP #20 NEQ ,&no-spc JCN ;&spc ,&inv JMP &no-spc
+ DUP #1b NEQ ,&no-esc JCN ;&esc ,&inv JMP &no-esc
+ DUP ;draw-chr JSR2
+ &skip-key
+ POP
JMP2r
+ &inv ROT POP ;draw-str JSR2 POP2 JMP2r
+ &buttons
+ "ABsSUDLR $1
+ &del "del $1
+ &tab "tab $1
+ &spc "spc $1
+ &esc "esc $1
@get-cat ( cat -- cat* )