(m291) Scrolling tracks again

This commit is contained in:
Devine Lu Linvega 2024-08-30 13:47:12 -07:00
parent 2d1b4b2670
commit c57be86439
1 changed files with 33 additions and 32 deletions

View File

@ -116,7 +116,7 @@
POP2 BRK
&scroll ( distance -> )
.selection/scroll LDZ ADD DUP #ff NEQ ?{ POP JMP2r }
.selection/scroll LDZ ADD DUP #ff NEQ ?{ POP BRK }
.selection/scroll STZ
<redraw-dir>
BRK
@ -222,6 +222,7 @@
.selection STZ !<redraw-dir>
@<pick> ( alt id -- )
[ LIT2 00 -selection/scroll ] STZ
DUP .lines/folders LDZ LTH ?&folder
.lines/folders LDZ SUB DUP .lines/tracks LDZ LTH ?&tracks
POP JMP2r
@ -516,15 +517,15 @@
#0008 .Screen/x DEO2
;dict/empty #0f !<draw-uf2> }
( | folders )
.selection LDZ <draw-folders>
;mem/tracks .lines/tracks LDZ .selection LDZ .lines/folders LDZ SUB
<draw-folders>
( >> )
@<draw-files> ( addr* length selection -- )
,&sel STR
DUP ?{ POP2 POP JMP2r }
@<draw-tracks> ( -- )
.selection LDZ ,&sel STR
#0008 .Screen/x DEO2
#00 SWP2 ,&t STR2
.lines/tracks LDZ #00 NEQk ?{ POP2 JMP2r }
.selection/scroll LDZ .lines/folders LDZ LTH ?{
.selection/scroll LDZ .lines/folders LDZ SUB ADD }
&>l ( -- )
[ LITr 05 ]
( | selected )
@ -539,7 +540,31 @@
( | normal )
#0008 .Screen/x DEO2
#00 OVR
( CELLSIZE ) #70 SFT2 [ LIT2 &t $2 ] ADD2 STHr <draw-uf2>
( CELLSIZE ) #70 SFT2 ;mem/tracks ADD2 STHr <draw-uf2>
.Screen/y DEI2k #0010 ADD2 ROT DEO2
INC GTHk ?&>l
POP2 JMP2r
@<draw-folders> ( -- )
.selection LDZ ,&sel STR
#0008 .Screen/x DEO2
.lines/folders LDZ #00 NEQk ?{ POP JMP2r }
.selection/scroll LDZ ADD GTHk ?{ POP2 JMP2r }
&>l ( -- )
[ LITr 05 ]
( | selected )
DUP [ LIT &sel $1 ] NEQ ?{
POPr [ LITr 06 ] ;fill-icn <draw-background> }
( | gizmo )
.Screen/y DEI2 [ LIT2 15 -Screen/auto ] DEO
.Screen/width DEI2 #0010 SUB2 .Screen/x DEO2
[ LIT2 00 "> ] #20 SUB #50 SFT2 ;font/glyphs ADD2 .Screen/addr DEO2
DUPr [ LITr -Screen/sprite ] DEOr
.Screen/y DEO2
( | normal )
#0008 .Screen/x DEO2
#00 OVR
( CELLSIZE ) #70 SFT2 ;mem/folders ADD2 STHr <draw-uf2>
.Screen/y DEI2k #0010 ADD2 ROT DEO2
INC GTHk ?&>l
POP2 JMP2r
@ -758,30 +783,6 @@
.Screen/y DEO2
JMP2r
@<draw-folders> ( selection -- )
,&sel STR
#0008 .Screen/x DEO2
.lines/folders LDZ #00 NEQk ?{ POP JMP2r }
.selection/scroll LDZ ADD GTHk ?{ POP2 JMP2r }
&>l ( -- )
[ LITr 05 ]
( | selected )
DUP [ LIT &sel $1 ] NEQ ?{
POPr [ LITr 06 ] ;fill-icn <draw-background> }
( | gizmo )
.Screen/y DEI2 [ LIT2 15 -Screen/auto ] DEO
.Screen/width DEI2 #0010 SUB2 .Screen/x DEO2
[ LIT2 00 "> ] #20 SUB #50 SFT2 ;font/glyphs ADD2 .Screen/addr DEO2
DUPr [ LITr -Screen/sprite ] DEOr
.Screen/y DEO2
( | normal )
#0008 .Screen/x DEO2
#00 OVR
( CELLSIZE ) #70 SFT2 ;mem/folders ADD2 STHr <draw-uf2>
.Screen/y DEI2k #0010 ADD2 ROT DEO2
INC GTHk ?&>l
POP2 JMP2r
@get-uf2-width ( text* -- width* )
[ LIT2r 0000 ]
&>while ( -- )