(launcher.tal) Resizes on launch

This commit is contained in:
neauoire 2022-02-06 11:56:42 -08:00
parent 272b1ed162
commit a3dfbe19a0
1 changed files with 52 additions and 47 deletions

View File

@ -37,7 +37,7 @@
|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 &pad $3 &scrollx $2 &scrolly $2 |90 @Mouse &vector $2 &x $2 &y $2 &state $1 &pad $3 &scrollx $2 &scrolly $2
|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2 |a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|b0 @DateTime &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1 |b0 @DateTime &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1
( variables ) ( variables )
@ -46,7 +46,7 @@
@pointer @pointer
&x $2 &y $2 &x $2 &y $2
@browser @browser
&x $2 &y $2 &x2 $2 &y2 $2 &x $2 &y $2 &x2 $2 &y2 $2
&sel $1 &last $1 &scroll $1 &sel $1 &last $1 &scroll $1
&lines $1 &lines $1
@ -54,9 +54,9 @@
|0100 ( -> ) |0100 ( -> )
( theme ) ( theme )
#f079 .System/r DEO2 #f079 .System/r DEO2
#f0c2 .System/g DEO2 #f0c2 .System/g DEO2
#f0a4 .System/b DEO2 #f0a4 .System/b DEO2
( vectors ) ( vectors )
@ -64,6 +64,10 @@
;on-button .Controller/vector DEO2 ;on-button .Controller/vector DEO2
;on-mouse .Mouse/vector DEO2 ;on-mouse .Mouse/vector DEO2
( resize )
#0200 .Screen/width DEO2
#0140 .Screen/height DEO2
( asma debugger ) ( asma debugger )
#0d ;asma/log-level STA #0d ;asma/log-level STA
@ -145,18 +149,18 @@ BRK
.Controller/button DEI .Controller/button DEI
DUP #10 ! ,&no-up JCN DUP #10 ! ,&no-up JCN
.browser/sel LDZ #00 = ,&no-up JCN .browser/sel LDZ #00 = ,&no-up JCN
.browser/sel LDZ #01 - ;select-file JSR2 .browser/sel LDZ #01 - ;select-file JSR2
;follow-selection JSR2 ;follow-selection JSR2
POP BRK POP BRK
&no-up &no-up
DUP #20 ! ,&no-down JCN DUP #20 ! ,&no-down JCN
.browser/sel LDZ INC .browser/lines LDZ = ,&no-down JCN .browser/sel LDZ INC .browser/lines LDZ = ,&no-down JCN
.browser/sel LDZ INC ;select-file JSR2 .browser/sel LDZ INC ;select-file JSR2
;follow-selection JSR2 ;follow-selection JSR2
POP BRK POP BRK
&no-down &no-down
DUP #01 ! ,&no-a JCN DUP #01 ! ,&no-a JCN
.browser/sel LDZ ;run-file JSR2 .browser/sel LDZ ;run-file JSR2
POP BRK POP BRK
&no-a &no-a
POP POP
@ -208,8 +212,8 @@ RTN
#01 ;draw-browser JSR2 #01 ;draw-browser JSR2
( draw mascot ) ( draw mascot )
#0010 #0010 #0060 #0060 #0010 #0010 #0060 #0060
;mascot-icn [ .browser/sel LDZ #03 AND TOS #0480 ** ++ ] #01 ;mascot-icn [ .browser/sel LDZ #03 AND TOS #0480 ** ++ ] #01
;draw-icn JSR2 ;draw-icn JSR2
( draw position ) ( draw position )
@ -240,14 +244,14 @@ RTN
STH STH
( more lines than visible ) ( more lines than visible )
.browser/lines LDZ LINES-COUNT .browser/lines LDZ LINES-COUNT
DUP2 > ,&can-scroll JCN DUP2 > ,&can-scroll JCN
POPr POP2 RTN POPr POP2 RTN
&can-scroll &can-scroll
( less than max scroll ) ( less than max scroll )
- INC STHkr > ,&valid-scroll JCN - INC STHkr > ,&valid-scroll JCN
POPr RTN POPr RTN
&valid-scroll &valid-scroll
#00 ;draw-browser JSR2 #00 ;draw-browser JSR2
STHr .browser/scroll STZ STHr .browser/scroll STZ
#01 ;draw-browser JSR2 #01 ;draw-browser JSR2
@ -268,14 +272,14 @@ RTN
( assemble tal file ) ( assemble tal file )
DUP2 ;&output-path ;scpy JSR2 DUP2 ;&output-path ;scpy JSR2
;&rom-ext ;&output-path ;scat JSR2 ;&rom-ext ;&output-path ;scat JSR2
;&output-path ;asma-assemble-file JSR2 ;&output-path ;asma-assemble-file JSR2
;load-dir JSR2 ;load-dir JSR2
;redraw JSR2 ;redraw JSR2
RTN RTN
&no-tal &no-tal
POP2 RTN POP2 RTN
&valid &valid
;load-rom JSR2 ;load-rom JSR2
RTN RTN
&tal-ext ".tal $1 &tal-ext ".tal $1
@ -298,9 +302,9 @@ RTN
STH STH
( draw hand ) ( draw hand )
.browser/x LDZ2 #0018 -- .browser/y LDZ2 .browser/x LDZ2 #0018 -- .browser/y LDZ2
.browser/sel LDZ .browser/scroll LDZ - TOS 10** ++ .browser/sel LDZ .browser/scroll LDZ - TOS 10** ++
#0010 #0010 #0010 #0010
;hand-icn STHkr #02 * ;draw-icn JSR2 ;hand-icn STHkr #02 * ;draw-icn JSR2
( draw files ) ( draw files )
LINES-COUNT #00 LINES-COUNT #00
@ -310,7 +314,7 @@ RTN
( has file ) ( has file )
.browser/x LDZ2 .Screen/x DEO2 .browser/x LDZ2 .Screen/x DEO2
#00 OVR 10** .browser/y LDZ2 ++ .Screen/y DEO2 #00 OVR 10** .browser/y LDZ2 ++ .Screen/y DEO2
DUP .browser/scroll LDZ + ;get-entry JSR2 DUP .browser/scroll LDZ + ;get-entry JSR2
DUP2 ;get-type JSR2 ;draw-type JSR2 DUP2 ;get-type JSR2 ;draw-type JSR2
#01 STHkr * ;draw-str JSR2 #01 STHkr * ;draw-str JSR2
INC GTHk ,&loop JCN INC GTHk ,&loop JCN
@ -378,7 +382,7 @@ RTN
AUTO-XADDR AUTO-XADDR
( load ) STH .Screen/addr DEO2 ,&height STR2 ,&width STR2 ,&y STR2 ,&x STR2 ( load ) STH .Screen/addr DEO2 ,&height STR2 ,&width STR2 ,&y STR2 ,&x STR2
,&height LDR2 #0000 ,&height LDR2 #0000
&ver &ver
( save ) DUP2 ,&y LDR2 ADD2 .Screen/y DEO2 ( save ) DUP2 ,&y LDR2 ADD2 .Screen/y DEO2
,&x LDR2 .Screen/x DEO2 ,&x LDR2 .Screen/x DEO2
@ -421,7 +425,7 @@ RTN
#0f AND ,&parse JSR STHr ,draw-char JSR #0f AND ,&parse JSR STHr ,draw-char JSR
RTN RTN
&parse ( byte -- char ) DUP #09 GTH ,&above JCN #30 ADD JMP2r &parse ( byte -- char ) DUP #09 GTH ,&above JCN #30 ADD JMP2r
&above #57 ADD JMP2r &above #57 ADD JMP2r
@draw-char ( char color -- ) @draw-char ( char color -- )
@ -440,8 +444,8 @@ JMP2r
@load-theme ( -- ) @load-theme ( -- )
;theme-txt .File/name DEO2 ;theme-txt .File/name DEO2
#0006 .File/length DEO2 #0006 .File/length DEO2
#fffa .File/read DEO2 #fffa .File/read DEO2
.File/success DEI2 #0006 !! ,&ignore JCN .File/success DEI2 #0006 !! ,&ignore JCN
@ -457,31 +461,25 @@ RTN
@print-str ( string* -- ) @print-str ( string* -- )
#0001 SUB2 #0001 SUB2
&while &while
INC2 LDAk DUP #18 DEO ,&while JCN INC2 LDAk DUP #18 DEO ,&while JCN
POP2 POP2
JMP2r JMP2r
@print-hex ( value* -- ) @print-hex ( value* -- )
SWP ,&byte JSR SWP ,&byte JSR
&byte ( byte -- ) &byte ( byte -- )
STHk #04 SFT ,&parse JSR #18 DEO STHk #04 SFT ,&parse JSR #18 DEO
STHr #0f AND ,&parse JSR #18 DEO STHr #0f AND ,&parse JSR #18 DEO
JMP2r JMP2r
&parse ( byte -- char ) DUP #09 GTH ,&above JCN #30 ADD JMP2r &parse ( byte -- char ) DUP #09 GTH ,&above JCN #30 ADD JMP2r
&above #57 ADD JMP2r &above #57 ADD JMP2r
JMP2r JMP2r
@scat ( src* dst* -- )
DUP2 ,slen JSR ++ ,scpy JSR
JMP2r
@scmp ( a* b* -- flag ) @scmp ( a* b* -- flag )
STH2 STH2
@ -498,6 +496,26 @@ JMP2r
RTN RTN
@scat ( src* dst* -- )
DUP2 ,slen JSR ADD2 ,scpy JSR
JMP2r
@slen ( str* -- len* )
DUP2 ,scap JSR SWP2 SUB2
JMP2r
@scap ( str* -- end* )
LDAk #00 NEQ JMP JMP2r
&while
INC2 LDAk ,&while JCN
JMP2r
@scpy ( src* dst* -- ) @scpy ( src* dst* -- )
STH2 STH2
@ -509,19 +527,6 @@ RTN
JMP2r JMP2r
@scap ( str* -- str-end* )
( clamp ) LDAk #00 ! JMP RTN
&while INC2 LDAk ,&while JCN
RTN
@slen ( str* -- len* )
DUP2 ,scap JSR SWP2 --
JMP2r
@pointer-icn @pointer-icn
80c0 e0f0 f8e0 1000 80c0 e0f0 f8e0 1000
@hand-icn @hand-icn
@ -558,10 +563,10 @@ JMP2r
~projects/library/check-rom.tal ~projects/library/check-rom.tal
~projects/library/load-rom.tal ~projects/library/load-rom.tal
~projects/assets/mascot0cx0c.tal ~projects/assets/mascot0cx0c.tal
~projects/assets/msx01x02.tal ~projects/assets/msx01x02.tal
( directory memory )
@dir @dir
&path ". $1 &path ". $1
&length $2 &length $2