@@ 40,6 40,7 @@
;on-mouse-menu .Mouse/vector DEO2
;on-control-menu .Controller/vector DEO2
#ff ;draw-cat/sel STA
+ #ff ;draw-sub/sel STA
;draw-cat JSR2
BRK
@@ 83,11 84,7 @@ BRK
@on-menu-leave ( -> )
- ;untrap JSR2
- ( hide ) ;draw-cat/sel LDA #00 ;draw-sub JSR2
- #ff ;draw-cat/sel STA
- ;draw-cat JSR2
- ;redraw JSR2
+ ;menu-close JSR2
BRK
@@ 109,12 106,18 @@ JMP2r
@menu-select ( cat -- )
- ;draw-cat/sel LDA #00 ;draw-sub JSR2
- ;redraw JSR2
- ;draw-cat/sel STA
+ ( clear )
+ ;draw-cat/sel LDA
+ ( unchanged ) DUP2 EQU ,&no-clear JCN
+ ( unselected ) DUP #ff EQU ,&no-clear JCN
+ DUP #00 ;draw-sub JSR2
+ &no-clear
+ POP
+ ( draw application ) ;redraw JSR2
+ ( unselect sub ) #ff ;draw-sub/sel STA
+ ( select cat ) DUP ;draw-cat/sel STA
+ ( draw sub ) #ff ;draw-sub JSR2
;draw-cat JSR2
- #ff ;draw-sub/sel STA
- ;draw-cat/sel LDA #ff ;draw-sub JSR2
JMP2r
@@ 123,7 126,7 @@ JMP2r
;get-sub JSR2
DUP2 #0000 EQU2 ,&skip JCN
;menu-close JSR2
- JSR2 JMP2r
+ ( run routine ) JSR2 JMP2r
&skip
POP2
;menu-close JSR2