@@ 66,8 66,10 @@ BRK
.Mouse/y DEI2 #0008 LTH2 ,&no-exit JCN
;untrap JSR2
- #ff ;draw-cat/sel STA
;draw-cat JSR2
+ ;draw-cat/sel LDA #00 ;draw-sub JSR2
+ #ff ;draw-cat/sel STA
+ ;redraw JSR2
&no-exit
BRK
@@ 88,9 90,11 @@ JMP2r
@menu-select ( cat -- )
+ ;draw-cat/sel LDA #00 ;draw-sub JSR2
+ ;redraw JSR2
;draw-cat/sel STA
;draw-cat JSR2
- ;draw-sub JSR2
+ ;draw-cat/sel LDA #ff ;draw-sub JSR2
JMP2r
@@ 142,15 146,18 @@ JMP2r
JMP2r
-@draw-sub ( -- )
+@draw-sub ( cat mask -- )
+ ,&mask STR POP
;draw-cat/sel LDA ;get-sub JSR2
DUP2 #0000 EQU2 ,&skip JCN
+
;draw-cat/sel LDA ;get-anchor JSR2 ,&anchor STR2
#01 .Screen/auto DEO
LDAk STH INC2 ;skip-str JSR2
STHr #00
&subcat
+ #01 [ LIT &mask $1 ] AND ;draw-chr/color STA
[ LIT2 &anchor $2 ] .Screen/x DEO2
#00 OVR INC #30 SFT2 .Screen/y DEO2
SWP2 #0004 ADD2 ;draw-str JSR2 SWP2
@@ 158,6 165,7 @@ JMP2r
POP2 POP2
#00 .Screen/auto DEO
&skip
+ POP2
JMP2r