(m291) Progress
This commit is contained in:
parent
b2b1b9259e
commit
26c7323d92
|
@ -1,24 +1,23 @@
|
||||||
|00 @System &vector $2 &expansion $2 &wst $1 &rst $1 &metadata $2 &r $2 &g $2 &b $2 &debug $1 &state $1
|
|00
|
||||||
|
|
||||||
|
@System &vector $2 &expansion $2 &wst $1 &rst $1 &metadata $2 &r $2 &g $2 &b $2 &debug $1 &state $1
|
||||||
|10 @Console &vector $2 &read $1 &pad $4 &type $1 &write $1 &error $1
|
|10 @Console &vector $2 &read $1 &pad $4 &type $1 &write $1 &error $1
|
||||||
|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1
|
|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1
|
||||||
|80 @Controller &vector $2 &button $1 &key $1
|
|80 @Controller &vector $2 &button $1 &key $1
|
||||||
|90 @Mouse &vector $2 &x $2 &y $2 &state $1 &chord $1 &pad $4 &scrolly &scrolly-hb $1 &scrolly-lb $1
|
|90 @Mouse &vector $2 &x $2 &y $2 &state $1 &chord $1 &pad $4 &scrolly &scrolly-hb $1 &scrolly-lb $1
|
||||||
|a0 @File &vector $2 &success $1 &success-lb $1 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|
|a0 @File &vector $2 &success $1 &success-lb $1 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|
||||||
|
|0000 @misc $1
|
||||||
|
|
||||||
|0000
|
@selection $1 &mod $1
|
||||||
|
|
||||||
@misc $1
|
@path $2 &null $80
|
||||||
@selection $1 &mod $1
|
|
||||||
@path $2 &null $80
|
|
||||||
@lines &folders $1 &roms $1 &misc $1
|
|
||||||
|
|
||||||
|0100
|
@lines &folders $1 &roms $1 &misc $1
|
||||||
|
|0100 @on-reset ( -> )
|
||||||
@on-reset ( -> )
|
|
||||||
;meta #06 DEO2
|
;meta #06 DEO2
|
||||||
#d20f .System/r DEO2
|
#e1ff .System/r DEO2
|
||||||
#d24f .System/g DEO2
|
#e1ff .System/g DEO2
|
||||||
#d204 .System/b DEO2
|
#e1f4 .System/b DEO2
|
||||||
<load-theme>
|
<load-theme>
|
||||||
#0100 .Screen/width DEO2
|
#0100 .Screen/width DEO2
|
||||||
;dict/home-path set-path <refresh-dir>
|
;dict/home-path set-path <refresh-dir>
|
||||||
|
@ -55,6 +54,7 @@
|
||||||
( | below )
|
( | below )
|
||||||
DUP count-lines LTH ?{ POP #ff JMP2r }
|
DUP count-lines LTH ?{ POP #ff JMP2r }
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
&outside ( y* -- id )
|
&outside ( y* -- id )
|
||||||
POP2 #ff JMP2r
|
POP2 #ff JMP2r
|
||||||
|
|
||||||
|
@ -97,8 +97,7 @@
|
||||||
#00 count-lines
|
#00 count-lines
|
||||||
( empty ) DUP #00 EQU ADD #40 SFT2
|
( empty ) DUP #00 EQU ADD #40 SFT2
|
||||||
( no-folder spacer ) has-spacer #00 EQU ?{ #0008 ADD2 }
|
( no-folder spacer ) has-spacer #00 EQU ?{ #0008 ADD2 }
|
||||||
( padding ) #0016 ADD2 .Screen/height DEO2
|
( padding ) #0020 ADD2 .Screen/height DEO2 !<redraw>
|
||||||
!<redraw>
|
|
||||||
|
|
||||||
@<parse-line> ( line* -- )
|
@<parse-line> ( line* -- )
|
||||||
#0005 ADD2 LDAk [ LIT ". ] EQU ?&hidden
|
#0005 ADD2 LDAk [ LIT ". ] EQU ?&hidden
|
||||||
|
@ -107,14 +106,17 @@
|
||||||
;mem/misc [ LIT2 00 -lines/misc ] LDZ #40 SFT2 ADD2 <lcpy>
|
;mem/misc [ LIT2 00 -lines/misc ] LDZ #40 SFT2 ADD2 <lcpy>
|
||||||
.lines/misc LDZ INC .lines/misc STZ
|
.lines/misc LDZ INC .lines/misc STZ
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
&folder ( line* -- )
|
&folder ( line* -- )
|
||||||
;mem/folders [ LIT2 00 -lines/folders ] LDZ #40 SFT2 ADD2 <lcpy>
|
;mem/folders [ LIT2 00 -lines/folders ] LDZ #40 SFT2 ADD2 <lcpy>
|
||||||
.lines/folders LDZ INC .lines/folders STZ
|
.lines/folders LDZ INC .lines/folders STZ
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
&rom ( line* -- )
|
&rom ( line* -- )
|
||||||
;mem/roms [ LIT2 00 -lines/roms ] LDZ #40 SFT2 ADD2 <lcpy>
|
;mem/roms [ LIT2 00 -lines/roms ] LDZ #40 SFT2 ADD2 <lcpy>
|
||||||
.lines/roms LDZ INC .lines/roms STZ
|
.lines/roms LDZ INC .lines/roms STZ
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
&hidden ( line* -- )
|
&hidden ( line* -- )
|
||||||
POP2 JMP2r
|
POP2 JMP2r
|
||||||
|
|
||||||
|
@ -127,18 +129,20 @@
|
||||||
@<select> ( id -- )
|
@<select> ( id -- )
|
||||||
[ LIT &last ff ] NEQk ?{ POP2 JMP2r }
|
[ LIT &last ff ] NEQk ?{ POP2 JMP2r }
|
||||||
POP DUP ,&last STR
|
POP DUP ,&last STR
|
||||||
.selection STZ
|
.selection STZ !<redraw>
|
||||||
!<redraw>
|
|
||||||
|
|
||||||
@<pick> ( alt id -- )
|
@<pick> ( alt id -- )
|
||||||
DUP .lines/folders LDZ LTH ?&folder
|
DUP .lines/folders LDZ LTH ?&folder
|
||||||
.lines/folders LDZ SUB DUP .lines/roms LDZ LTH ?&roms
|
.lines/folders LDZ SUB DUP .lines/roms LDZ LTH ?&roms
|
||||||
.lines/roms LDZ SUB DUP .lines/misc LDZ LTH ?&misc
|
.lines/roms LDZ SUB DUP .lines/misc LDZ LTH ?&misc
|
||||||
POP JMP2r
|
POP JMP2r
|
||||||
|
|
||||||
&roms ( id -- )
|
&roms ( id -- )
|
||||||
#00 SWP #40 SFT2 ;mem/roms ADD2 !<send-path>
|
#00 SWP #40 SFT2 ;mem/roms ADD2 !<send-path>
|
||||||
|
|
||||||
&misc ( id -- )
|
&misc ( id -- )
|
||||||
#00 SWP #40 SFT2 ;mem/misc ADD2 !<send-file>
|
#00 SWP #40 SFT2 ;mem/misc ADD2 !<send-file>
|
||||||
|
|
||||||
&folder ( id -- )
|
&folder ( id -- )
|
||||||
#00 SWP #40 SFT2 ;mem/folders ADD2 !<enter>
|
#00 SWP #40 SFT2 ;mem/folders ADD2 !<enter>
|
||||||
|
|
||||||
|
@ -147,8 +151,8 @@
|
||||||
[ LIT2 ff -Console/type ] DEO
|
[ LIT2 ff -Console/type ] DEO
|
||||||
;path <pstr>
|
;path <pstr>
|
||||||
<pstr>/
|
<pstr>/
|
||||||
#0a18 DEO
|
#0a18 DEO !<exit>
|
||||||
!<exit>
|
|
||||||
&special ( file* -- )
|
&special ( file* -- )
|
||||||
[ LIT2 01 -Console/type ] DEO
|
[ LIT2 01 -Console/type ] DEO
|
||||||
;path <pstr>
|
;path <pstr>
|
||||||
|
@ -168,6 +172,7 @@
|
||||||
[ LIT2 &b $1 18 ] DEO
|
[ LIT2 &b $1 18 ] DEO
|
||||||
.File/success-lb DEI ?&s
|
.File/success-lb DEI ?&s
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
&special ( file* -- )
|
&special ( file* -- )
|
||||||
;path <pstr>
|
;path <pstr>
|
||||||
<pstr>/
|
<pstr>/
|
||||||
|
@ -177,6 +182,7 @@
|
||||||
@<enter> ( folder* -- )
|
@<enter> ( folder* -- )
|
||||||
.selection/mod LDZ ?&special
|
.selection/mod LDZ ?&special
|
||||||
push-path !<refresh-dir>
|
push-path !<refresh-dir>
|
||||||
|
|
||||||
&special ( folder* -- )
|
&special ( folder* -- )
|
||||||
;path <pstr>
|
;path <pstr>
|
||||||
<pstr>/
|
<pstr>/
|
||||||
|
@ -195,8 +201,7 @@
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
@<toggle-misc> ( -- )
|
@<toggle-misc> ( -- )
|
||||||
[ LIT2 00 -misc ] LDZ EQU .misc STZ
|
[ LIT2 00 -misc ] LDZ EQU .misc STZ !fit-window
|
||||||
!fit-window
|
|
||||||
|
|
||||||
@count-lines ( -- lines )
|
@count-lines ( -- lines )
|
||||||
.lines/folders LDZ .lines/roms LDZ ADD
|
.lines/folders LDZ .lines/roms LDZ ADD
|
||||||
|
@ -211,7 +216,7 @@
|
||||||
AND JMP2r
|
AND JMP2r
|
||||||
|
|
||||||
@get-cat ( id -- color )
|
@get-cat ( id -- color )
|
||||||
INC .lines/folders LDZ GTHk ?{ POP2 #03 JMP2r }
|
INC .lines/folders LDZ GTHk ?{ POP2 #02 JMP2r }
|
||||||
SUB .lines/roms LDZ GTH ?{ #02 JMP2r }
|
SUB .lines/roms LDZ GTH ?{ #02 JMP2r }
|
||||||
#01 JMP2r
|
#01 JMP2r
|
||||||
|
|
||||||
|
@ -248,27 +253,36 @@
|
||||||
#0000 DUP2 .Screen/x DEO2
|
#0000 DUP2 .Screen/x DEO2
|
||||||
.Screen/y DEO2
|
.Screen/y DEO2
|
||||||
[ LIT2 80 -Screen/pixel ] DEO
|
[ LIT2 80 -Screen/pixel ] DEO
|
||||||
|
( | status )
|
||||||
|
#0008 .Screen/x DEO2
|
||||||
|
#0004 .Screen/y DEO2
|
||||||
|
;path #01 <draw-uf2>
|
||||||
|
( | spacer )
|
||||||
|
#0014 .Screen/y DEO2
|
||||||
|
;line-icn <draw-spacer>
|
||||||
( | highlight )
|
( | highlight )
|
||||||
.selection LDZ <draw-highlight>
|
.selection LDZ <draw-highlight>
|
||||||
( | content )
|
( | content )
|
||||||
#0004 .Screen/y DEO2
|
#001c .Screen/y DEO2
|
||||||
( | empty )
|
( | empty )
|
||||||
count-lines ?{
|
count-lines ?{
|
||||||
#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 #05 <draw-list>
|
;mem/folders .lines/folders LDZ #01 <draw-list>
|
||||||
[ LIT2 00 -lines/folders ] LDZ EQU ?{ <draw-spacer> }
|
[ LIT2 00 -lines/folders ] LDZ EQU ?{ ;dash-icn <draw-spacer> }
|
||||||
;mem/roms .lines/roms LDZ #05 <draw-list>
|
;mem/roms .lines/roms LDZ #00 <draw-list>
|
||||||
[ LIT2 00 -misc ] LDZ EQU ?{
|
[ LIT2 00 -misc ] LDZ EQU ?{
|
||||||
;mem/misc .lines/misc LDZ #0f <draw-list> }
|
;mem/misc .lines/misc LDZ #00 <draw-list> }
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
@<draw-spacer> ( -- )
|
@<draw-spacer> ( addr* -- )
|
||||||
#0000 .Screen/x DEO2
|
#0000 .Screen/x DEO2
|
||||||
;dash-icn .Screen/addr DEO2
|
.Screen/addr DEO2
|
||||||
[ LIT2 f2 -Screen/auto ] DEO
|
[ LIT2 f2 -Screen/auto ] DEO
|
||||||
[ LIT2 05 -Screen/sprite ] DEO
|
[ LIT2 05 -Screen/sprite ] DEOk #0080 .Screen/x DEO2
|
||||||
|
.Screen/y DEI2 #0008 SUB2 .Screen/y DEO2
|
||||||
|
DEO
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
@<draw-highlight> ( id -- )
|
@<draw-highlight> ( id -- )
|
||||||
|
@ -281,33 +295,47 @@
|
||||||
( | spacer )
|
( | spacer )
|
||||||
has-spacer #00 EQU ?{
|
has-spacer #00 EQU ?{
|
||||||
#00 STHkr INC .lines/folders LDZ GTH #30 SFT2 ADD2 }
|
#00 STHkr INC .lines/folders LDZ GTH #30 SFT2 ADD2 }
|
||||||
( padding ) #0003 ADD2 .Screen/y DEO2
|
( padding ) #0013 ADD2 .Screen/y DEO2
|
||||||
STHr get-cat .Screen/sprite DEOk DEO
|
STHr get-cat .Screen/sprite DEOk DEOk
|
||||||
|
( | right-side )
|
||||||
|
.Screen/x DEI2 #0080 ADD2 .Screen/x DEO2
|
||||||
|
.Screen/y DEI2 #0010 SUB2 .Screen/y DEO2
|
||||||
|
DEOk DEO
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
@<draw-list> ( addr* length color -- )
|
@<draw-list> ( addr* length folder -- )
|
||||||
,&color 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 [ LIT &color $1 ] <draw-uf2>
|
#00 OVR #40 SFT2 [ LIT2 &t $2 ] ADD2 #05 <draw-uf2>
|
||||||
#0008 .Screen/x DEO2
|
#0008 .Screen/x DEO2
|
||||||
.Screen/y DEI2k #0010 ADD2 ROT DEO2
|
.Screen/y DEI2k #0010 ADD2 ROT DEO2
|
||||||
INC GTHk ?&l
|
INC GTHk ?&>l
|
||||||
POP2 JMP2r
|
POP2
|
||||||
|
( | draw cursor marker )
|
||||||
|
[ LIT &folder $1 ] ?{ JMP2r }
|
||||||
|
JMP2r
|
||||||
|
[ LIT2 15 -Screen/auto ] DEO
|
||||||
|
;fill-icn .Screen/addr DEO2
|
||||||
|
.Screen/width DEI2 #0010 SUB2 .Screen/x DEO2
|
||||||
|
.Screen/y DEI2k #0020 SUB2 ROT DEO2
|
||||||
|
#05 .Screen/sprite DEO
|
||||||
|
.Screen/y DEI2k #0010 ADD2 ROT DEO2
|
||||||
|
JMP2r
|
||||||
|
|
||||||
@<draw-uf2> ( addr* color -- )
|
@<draw-uf2> ( addr* color -- )
|
||||||
,&color STR
|
,&color STR
|
||||||
[ LIT2 15 -Screen/auto ] DEO
|
[ LIT2 15 -Screen/auto ] DEO
|
||||||
&w ( -- )
|
&>w ( -- )
|
||||||
LDAk #1f GTH ?{ POP2 JMP2r }
|
LDAk #1f GTH ?{ POP2 JMP2r }
|
||||||
LDAk #20 SUB #00 SWP
|
LDAk #20 SUB #00 SWP
|
||||||
( ) DUP2 #50 SFT2 ;font/glyphs ADD2 .Screen/addr DEO2
|
( ) DUP2 #50 SFT2 ;font/glyphs ADD2 .Screen/addr DEO2
|
||||||
( ) ;font ADD2 LDA #00 SWP .Screen/x DEI2 ADD2
|
( ) ;font ADD2 LDA #00 SWP .Screen/x DEI2 ADD2
|
||||||
( ) [ LIT &color 05 ] .Screen/sprite DEOk DEO
|
( ) [ LIT &color 05 ] .Screen/sprite DEOk DEO
|
||||||
.Screen/x DEO2
|
.Screen/x DEO2
|
||||||
INC2 !&w
|
INC2 !&>w
|
||||||
|
|
||||||
@<update-cursor> ( color addr* -- )
|
@<update-cursor> ( color addr* -- )
|
||||||
[ LIT2 00 -Screen/auto ] DEO
|
[ LIT2 00 -Screen/auto ] DEO
|
||||||
|
@ -327,6 +355,7 @@
|
||||||
@|stdlib )
|
@|stdlib )
|
||||||
|
|
||||||
@scap ( str* -- end* )
|
@scap ( str* -- end* )
|
||||||
|
|
||||||
&w ( -- )
|
&w ( -- )
|
||||||
INC2 & LDAk ?&w
|
INC2 & LDAk ?&w
|
||||||
JMP2r
|
JMP2r
|
||||||
|
@ -337,9 +366,9 @@
|
||||||
LDA2r LDA2 STH2r EQU2 JMP2r
|
LDA2r LDA2 STH2r EQU2 JMP2r
|
||||||
|
|
||||||
@lcap ( str* -- next-line* )
|
@lcap ( str* -- next-line* )
|
||||||
|
|
||||||
&w ( -- )
|
&w ( -- )
|
||||||
LDAk #0a EQU ?{
|
LDAk #0a EQU ?{ INC2 & LDAk ?&w }
|
||||||
INC2 & LDAk ?&w }
|
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
@<lcpy> ( src* dst* -- )
|
@<lcpy> ( src* dst* -- )
|
||||||
|
@ -359,6 +388,7 @@
|
||||||
POP2 POP2r JMP2r
|
POP2 POP2r JMP2r
|
||||||
|
|
||||||
@<pstr> ( str* -- )
|
@<pstr> ( str* -- )
|
||||||
|
|
||||||
&w ( -- )
|
&w ( -- )
|
||||||
LDAk #18 DEO
|
LDAk #18 DEO
|
||||||
INC2 & LDAk ?&w
|
INC2 & LDAk ?&w
|
||||||
|
@ -377,6 +407,7 @@
|
||||||
[ LIT2r &buf $2 ] STHk DEO2r
|
[ LIT2r &buf $2 ] STHk DEO2r
|
||||||
INC INC NEQk ?&l }
|
INC INC NEQk ?&l }
|
||||||
POP2 JMP2r
|
POP2 JMP2r
|
||||||
|
|
||||||
&path ".theme $1
|
&path ".theme $1
|
||||||
|
|
||||||
(
|
(
|
||||||
|
@ -388,7 +419,12 @@
|
||||||
|
|
||||||
@dash-icn [ 0000 00aa 0000 0000 ]
|
@dash-icn [ 0000 00aa 0000 0000 ]
|
||||||
|
|
||||||
@dict &home-path "./ $1
|
@line-icn [ 0000 00ff 0000 0000 ]
|
||||||
|
|
||||||
|
@marker-icn
|
||||||
|
|
||||||
|
@dict
|
||||||
|
&home-path "./ $1
|
||||||
&mp3-ext "mp3 $1
|
&mp3-ext "mp3 $1
|
||||||
&empty "(empty) $1
|
&empty "(empty) $1
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue