M src/manifest.tal => src/manifest.tal +85 -8
@@ 1,4 1,5 @@
-( manifest )
+(
+@|manifest )
@trap-menu ( -> )
@@ 243,8 244,7 @@ JMP2r
LDAk STH INC2 ;skip-str JSR2
STHr #00
&subcat
- STHk
- ( theme ) #070b STHr [ LIT &sel ff ] EQU [ JMP SWP POP ] [ LIT &mask $1 ] AND ;draw-chr/color STA
+ ( theme ) STHk #070b STHr [ LIT &sel ff ] EQU [ JMP SWP POP ] [ LIT &mask $1 ] AND ;draw-chr/color STA
[ LIT2 &anchor $2 ] .Screen/x DEO2
#00 OVR INC #30 SFT2 #0004 ADD2 .Screen/y DEO2
SWP2 ;draw-label JSR2 SWP2
@@ 326,7 326,84 @@ JMP2r
JMP2r
-( theme )
+(
+@|about )
+
+@about
+&on-mouse ( -> )
+ .Mouse/state DEI ,&on-control JCN
+ BRK
+&on-control ( -> )
+ ,&hide JSR
+BRK
+&toggle ( -- )
+ [ LIT &active 00 ] ,&hide JCN
+ #01 ,&active STR
+ ;draw-about JSR2
+ ;&on-mouse .Mouse/vector DEO2
+ ;&on-control .Controller/vector DEO2
+JMP2r
+&hide ( -- )
+ #00 ,&active STR
+ ;clear-about JSR2
+ ;untrap ( .. )
+JMP2
+
+@draw-about ( -- )
+
+ ( frame )
+ .Screen/width DEI2 #01 SFT2 #0070 SUB2 STH2k .Screen/x DEO2
+ .Screen/height DEI2 #01 SFT2 #0010 SUB2 STH2k .Screen/y DEO2
+ #1c06 ;frame1-chr ;draw-frame JSR2
+ ( fill )
+ STH2r .Screen/y DEO2
+ STH2r .Screen/x DEO2
+ #1c #0351 ;fill-icn ;draw-fill-fast JSR2
+ .Screen/x DEI2k #00e0 SUB2 ROT DEO2
+ ( icon )
+ .Screen/x DEI2k #0008 ADD2 ROT DEO2
+ .Screen/y DEI2k #000c ADD2 ROT DEO2
+ #03 #8526 ;appicon ;draw-fill-fast JSR2
+ .Screen/x DEI2k #0020 ADD2 ROT DEO2
+ .Screen/y DEI2k #001c SUB2 ROT DEO2
+ #0a ;draw-chr/color STA
+ ;meta/body ( .. )
+
+@draw-txt ( txt* -- )
+
+ #01 .Screen/auto DEO
+ .Screen/x DEI2 ,&anchor STR2
+ &w
+ LDAk #20 LTH ,&no-char JCN
+ LDAk ;draw-chr JSR2
+ &no-char
+ LDAk #0a NEQ ,&no-lb JCN
+ [ LIT2 &anchor $2 ] .Screen/x DEO2
+ ,draw-lb JSR
+ &no-lb
+ INC2 LDAk ,&w JCN
+ POP2
+
+JMP2r
+
+@draw-lb ( -- )
+
+ .Screen/y DEI2k #0008 ADD2 ROT DEO2
+
+JMP2r
+
+@clear-about ( -- )
+
+ .Screen/width DEI2 #01 SFT2 #0088 SUB2 .Screen/x DEO2
+ .Screen/height DEI2 #01 SFT2 #0028 SUB2 .Screen/y DEO2
+ #22 #0091 ;draw-fill-fast/blank JSR2
+ ;redraw-all JSR2
+ ;draw-menu ( .. )
+
+JMP2
+
+(
+@|theme )
@load-theme ( -- )
@@ 353,11 430,11 @@ JMP2r
@scpy ( src* dst* -- ) STH2 &w LDAk STH2kr STA INC2r INC2 LDAk ,&w JCN POP2 #00 STH2r STA JMP2r
@mclr ( src* len* -- ) OVR2 ADD2 SWP2 &l STH2k #00 STH2r STA INC2 GTH2k ,&l JCN POP2 POP2 JMP2r
-@print ( short* -- )
+@phex ( short* -- )
- SWP ,&byte JSR
- &byte ( byte -- ) DUP #04 SFT ,&char JSR
- &char ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO
+ SWP ,&b JSR
+ &b ( byte -- ) DUP #04 SFT ,&c JSR
+ &c ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO
JMP2r
M src/nasu.tal => src/nasu.tal +4 -80
@@ 746,7 746,8 @@ JMP2r
INC GTHk ,&hor JCN
POP2
POPr
- .nametableview/x LDZ2 ;draw-lb JSR2
+ .nametableview/x LDZ2 .Screen/x DEO2
+ ;draw-lb JSR2
INC GTHk ,&ver JCN
POP2
@@ 985,7 986,8 @@ JMP2r
#02 ;draw-chr/color STA
( ch2 ) #0008 ADD2 LDA2 ;draw-short JSR2
( skip line )
- .dataview/x1 LDZ2 ;draw-lb JSR2
+ .dataview/x1 LDZ2 .Screen/x DEO2
+ ;draw-lb JSR2
INC GTHk ,&loop JCN
POP2
@@ 1386,84 1388,6 @@ JMP2r
@mcpy ( src* dst* len* -- ) SWP2 STH2 OVR2 ADD2 SWP2 &loop LDAk STH2kr STA INC2r INC2 GTH2k ,&loop JCN POP2 POP2 POP2r JMP2r
(
-@|about )
-
-@about
-&on-mouse ( -> )
- .Mouse/state DEI ,&on-control JCN
- BRK
-&on-control ( -> )
- ,&hide JSR
-BRK
-&toggle ( -- )
- [ LIT &active 00 ] ,&hide JCN
- #01 ,&active STR
- ;draw-about JSR2
- ;&on-mouse .Mouse/vector DEO2
- ;&on-control .Controller/vector DEO2
-JMP2r
-&hide ( -- )
- #00 ,&active STR
- ;clear-about JSR2
- ;untrap ( .. )
-JMP2
-
-@draw-about ( -- )
-
- ( frame )
- .Screen/width DEI2 #01 SFT2 #0070 SUB2 STH2k .Screen/x DEO2
- .Screen/height DEI2 #01 SFT2 #0010 SUB2 STH2k .Screen/y DEO2
- #1c06 ;frame1-chr ;draw-frame JSR2
- ( fill )
- STH2r .Screen/y DEO2
- STH2r .Screen/x DEO2
- #1c #0351 ;fill-icn ;draw-fill-fast JSR2
- .Screen/x DEI2k #00e0 SUB2 ROT DEO2
- ( icon )
- .Screen/x DEI2k #0008 ADD2 ROT DEO2
- .Screen/y DEI2k #000c ADD2 ROT DEO2
- #03 #8526 ;appicon ;draw-fill-fast JSR2
- .Screen/x DEI2k #0020 ADD2 ROT DEO2
- .Screen/y DEI2k #001c SUB2 ROT DEO2
- #0a ;draw-chr/color STA
- ;meta/body ;draw-txt JSR2
-
-JMP2r
-
-@draw-txt ( txt* -- )
-
- #01 .Screen/auto DEO
- .Screen/x DEI2 ,&anchor STR2
- &w
- LDAk #20 LTH ,&no-char JCN
- LDAk ;draw-chr JSR2
- &no-char
- LDAk #0a NEQ ,&no-lb JCN
- [ LIT2 &anchor $2 ] ,draw-lb JSR
- &no-lb
- INC2 LDAk ,&w JCN
- POP2
-
-JMP2r
-
-@draw-lb ( anchor* -- )
-
- .Screen/x DEO2
- .Screen/y DEI2k #0008 ADD2 ROT DEO2
-
-JMP2r
-
-@clear-about ( -- )
-
- .Screen/width DEI2 #01 SFT2 #0088 SUB2 .Screen/x DEO2
- .Screen/height DEI2 #01 SFT2 #0028 SUB2 .Screen/y DEO2
- #22 #0091 ;draw-fill-fast/blank JSR2
- ;redraw-all JSR2
- ;draw-menu ( .. )
-
-JMP2
-
-(
@|assets )
@untitled-txt "untitled10x10.chr $1