(m291) Progress

This commit is contained in:
Devine Lu Linvega 2024-08-25 17:23:07 -07:00
parent 165229899c
commit 4b7d66fe7e
1 changed files with 27 additions and 12 deletions

View File

@ -35,8 +35,8 @@
@on-mouse ( -> ) @on-mouse ( -> )
#c1 ;touch-chr/down ;touch-chr .Mouse/state DEI ?{ SWP2 } #c1 ;touch-chr/down ;touch-chr .Mouse/state DEI ?{ SWP2 }
POP2 <update-cursor> POP2 <update-cursor>
.Mouse/y DEI2 #0018 LTH2 ?&status-bar .Mouse/y DEI2 DUP2 #0014 LTH2 ?&status-bar
.Mouse/y DEI2 <y-id> <y-id>
.Mouse/state DEI DUP ?{ POP <select> .Mouse/state DEI DUP ?{ POP <select>
BRK } BRK }
#01 GTH .selection/mod STZ #01 GTH .selection/mod STZ
@ -44,11 +44,11 @@
[ LIT2 00 -Mouse/state ] DEO [ LIT2 00 -Mouse/state ] DEO
BRK BRK
&status-bar ( -> ) &status-bar ( y* -> )
BRK POP2 BRK
@<y-id> ( y* -- id ) @<y-id> ( y* -- id )
#0003 SUB2 #0014 SUB2
( | above ) ( | above )
DUP2 #8000 GTH2 ?&outside DUP2 #8000 GTH2 ?&outside
( | spacer ) ( | spacer )
@ -265,8 +265,6 @@
( | spacer ) ( | spacer )
#0014 .Screen/y DEO2 #0014 .Screen/y DEO2
;line-icn <draw-spacer> ;line-icn <draw-spacer>
( | highlight )
.selection LDZ <draw-highlight>
( | content ) ( | content )
#001c .Screen/y DEO2 #001c .Screen/y DEO2
( | empty ) ( | empty )
@ -274,11 +272,11 @@
#0008 .Screen/x DEO2 #0008 .Screen/x DEO2
;dict/empty #0f !<draw-uf2> } ;dict/empty #0f !<draw-uf2> }
( | folders ) ( | folders )
;mem/folders .lines/folders LDZ #01 <draw-list> ;mem/folders .lines/folders LDZ #01 .selection LDZ <draw-list>
[ LIT2 00 -lines/folders ] LDZ EQU ?{ ;dash-icn <draw-spacer> } [ LIT2 00 -lines/folders ] LDZ EQU ?{ ;dash-icn <draw-spacer> }
;mem/roms .lines/roms LDZ #00 <draw-list> ;mem/roms .lines/roms LDZ #00 .selection LDZ <draw-list>
[ LIT2 00 -misc ] LDZ EQU ?{ [ LIT2 00 -misc ] LDZ EQU ?{
;mem/misc .lines/misc LDZ #00 <draw-list> } ;mem/misc .lines/misc LDZ #00 .selection LDZ <draw-list> }
JMP2r JMP2r
@<draw-spacer> ( addr* -- ) @<draw-spacer> ( addr* -- )
@ -290,6 +288,19 @@
DEO DEO
JMP2r JMP2r
@<draw-background> ( -- )
#0000 .Screen/x DEO2
.Screen/y DEI2
( ) ;fill-icn .Screen/addr DEO2
[ LIT2 f2 -Screen/auto ] DEO
#02 .Screen/sprite DEOk DEOk
( | .. )
.Screen/x DEI2 #0080 ADD2 .Screen/x DEO2
.Screen/y DEI2 #0010 SUB2 .Screen/y DEO2
DEOk DEO
.Screen/y DEO2
JMP2r
@<draw-highlight> ( id -- ) @<draw-highlight> ( id -- )
( empty ) count-lines ?{ POP JMP2r } ( empty ) count-lines ?{ POP JMP2r }
;fill-icn .Screen/addr DEO2 ;fill-icn .Screen/addr DEO2
@ -308,14 +319,18 @@
DEOk DEO DEOk DEO
JMP2r JMP2r
@<draw-list> ( addr* length folder -- ) @<draw-list> ( addr* length folder selection -- )
,&sel STR
,&folder STR ,&folder STR
DUP ?{ POP2 POP JMP2r } DUP ?{ POP2 POP JMP2r }
#0008 .Screen/x DEO2 #0008 .Screen/x DEO2
#00 SWP2 ,&t STR2 #00 SWP2 ,&t STR2
&>l ( -- ) &>l ( -- )
#00 OVR #40 SFT2 [ LIT2 &t $2 ] ADD2 #05 <draw-uf2> ( | selected )
DUP [ LIT &sel $1 ] NEQ ?{ <draw-background> }
( | normal )
#0008 .Screen/x DEO2 #0008 .Screen/x DEO2
#00 OVR #40 SFT2 [ LIT2 &t $2 ] ADD2 #05 <draw-uf2>
.Screen/y DEI2k #0010 ADD2 ROT DEO2 .Screen/y DEI2k #0010 ADD2 ROT DEO2
INC GTHk ?&>l INC GTHk ?&>l
POP2 POP2