Compare commits

...

8 Commits

Author SHA1 Message Date
Devine Lu Linvega 6a3e70e361 Merged literals 2 years ago
Devine Lu Linvega 0d8f473f64 Cleanup 2 years ago
Devine Lu Linvega 6e2788bc42 Formatted 2 years ago
Devine Lu Linvega 565fd2325f Almost ready for format 2 years ago
Devine Lu Linvega b3b175177e Progress toward format 2 years ago
Devine Lu Linvega 09ec505047 Improved format 2 years ago
Devine Lu Linvega 23a6292260 Optimizations 2 years ago
Devine Lu Linvega d631933aa5 Starting to mdernize codebase 2 years ago
  1. 84
      src/manifest.tal
  2. 1709
      src/nasu.tal

84
src/manifest.tal

@ -6,7 +6,7 @@
;on-mouse-menu .Mouse/vector DEO2
;on-control-menu .Controller/vector DEO2
#40 draw-cursor
#40 <draw-cursor>
BRK
@ -21,12 +21,12 @@ BRK
BRK
&no-touch-cat
( when sub active )
;draw-menu/sel LDA #ff EQU ?&no-sub
;<draw-menu>/sel LDA #ff EQU ?&no-sub
( when sel changed )
.Mouse/y DEI2 #0004 SUB2 #03 SFT2 NIP #01 SUB
DUP ;draw-sub/sel LDA EQU ?&no-change
DUP ;draw-sub/sel STA
;draw-menu/sel LDA #ff draw-sub
;<draw-menu>/sel LDA #ff draw-sub
&no-change
POP
( when touch sub )
@ -37,7 +37,7 @@ BRK
BRK
&no-sub
( do not leave if menu is active )
;draw-menu/sel LDA INC ?&no-leave
;<draw-menu>/sel LDA INC ?&no-leave
.Mouse/y DEI2 #000c LTH2 ?&no-leave
menu-close
&no-leave
@ -47,12 +47,12 @@ BRK
@menu-close ( -- )
untrap
;draw-menu/sel LDA
;<draw-menu>/sel LDA
DUP #ff EQU ?&no-clear
DUP #00 draw-sub
#ff ;draw-menu/sel STA
redraw-all
draw-menu
#ff ;<draw-menu>/sel STA
<redraw-all>
<draw-menu>
&no-clear
POP
@ -65,19 +65,19 @@ JMP2r
POP JMP2r
&exists
( clear )
;draw-menu/sel LDA
;<draw-menu>/sel LDA
( unchanged ) EQUk ?menu-deselect
( unselected ) DUP #ff EQU ?&no-clear
DUP #00 draw-sub
&no-clear
POP
( draw )
redraw-all
<redraw-all>
#ff ;draw-sub/sel STA
DUP ;draw-menu/sel STA
DUP ;<draw-menu>/sel STA
#ff draw-sub
!draw-menu
!<draw-menu>
@menu-deselect ( cat cat -- )
@ -103,7 +103,7 @@ BRK
STH
#00 ,&id STR
;draw-menu/manifest LDA2
;<draw-menu>/manifest LDA2
&cat
[ LIT &id 00 ] STHkr EQU ?&end
skip-sub
@ -119,7 +119,7 @@ JMP2r
@get-sub ( sub -- sub* )
STH
;draw-menu/sel LDA get-cat
;<draw-menu>/sel LDA get-cat
LDAk STH INC2 skip-str
STHr #00
&subcat
@ -143,7 +143,7 @@ JMP2r
LIT2r 0000
,&target STR
#00 ,&id STR
;draw-menu/manifest LDA2
;<draw-menu>/manifest LDA2
&cat
[ LIT &id 00 ] [ LIT &target $1 ] EQU ?&end
INC2k get-strw #0008 ADD2 STH2 ADD2r
@ -163,7 +163,7 @@ JMP2r
LIT2r 0000
,&target STR2
#00 ,&id STR
;draw-menu/manifest LDA2
;<draw-menu>/manifest LDA2
&cat
INC2k get-strw #0008 ADD2 STH2r ADD2
DUP2 [ LIT2 &target $2 ] LTH2 ?&continue
@ -184,7 +184,7 @@ JMP2r
ORAk ?&no-null JMP2r &no-null
( not null )
,&mk STR2
;draw-menu/manifest LDA2
;<draw-menu>/manifest LDA2
&cat
LDAk STH INC2 skip-str
STHr #00
@ -218,15 +218,15 @@ JMP2r
JMP2r
@draw-menu ( mask -- )
@<draw-menu> ( mask -- )
#0010 .Screen/x DEO2
#0004 .Screen/y DEO2
#00 ,&id STR
[ LIT2 &manifest =manifest ]
&cat
( theme ) #0b03 [ LIT &sel ff ] [ LIT &id $1 ] EQU [ JMP SWP POP ] ;draw-chr/color STA
INC2k draw-str POP2 #20 draw-chr
( theme ) #0b03 [ LIT &sel ff ] [ LIT &id $1 ] EQU [ JMP SWP POP ] ;<draw-chr>/color STA
INC2k <draw-str> POP2 #20 <draw-chr>
skip-sub
,&id LDR INC ,&id STR
LDAk ?&cat
@ -237,13 +237,13 @@ JMP2r
@draw-sub ( cat mask -- )
,&mask STR POP
;draw-menu/sel LDA get-cat
;<draw-menu>/sel LDA get-cat
ORAk #00 EQU ?&skip
;draw-menu/sel LDA get-catx ,&anchor STR2
;<draw-menu>/sel LDA get-catx ,&anchor STR2
LDAk STH INC2 skip-str
STHr #00
&subcat
( theme ) STHk #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 SWP2
@ -260,21 +260,21 @@ JMP2r
.Screen/y DEI2
.Screen/auto DEI
#f2 .Screen/auto DEO
;fill-icn ;blank-icn ;draw-chr/color LDA #00 EQU [ JMP SWP2 POP2 ] .Screen/addr DEO2
;draw-chr/color LDA .Screen/sprite DEO
;fill-icn ;blank-icn ;<draw-chr>/color LDA #00 EQU [ JMP SWP2 POP2 ] .Screen/addr DEO2
;<draw-chr>/color LDA .Screen/sprite DEO
.Screen/auto DEO
.Screen/y DEO2
( mod )
STH2k #0078 ADD2 .Screen/x DEO2
LDA2k get-modkey-str draw-str-right POP2
LDA2k get-modkey-str <draw-str-right> POP2
STH2r .Screen/x DEO2
#0004 ADD2
!draw-str
!<draw-str>
@get-modkey-str ( mod key -- str* )
;&buf #0008 mclr
;&buf #0008 <mclr>
( mod )
SWP STH
#0800
@ -310,7 +310,7 @@ JMP2r
#00 .Screen/auto DEO
;fill-icn .Screen/addr DEO2
#40 draw-cursor
#40 <draw-cursor>
.Mouse/x DEI2 DUP2 .cursor/x STZ2 .Screen/x DEO2
.Mouse/y DEI2 DUP2 .cursor/y STZ2 .Screen/y DEO2
.Screen/addr DEO2
@ -318,7 +318,7 @@ JMP2r
JMP2r
@draw-cursor ( color -- )
@<draw-cursor> ( color -- )
.cursor/x LDZ2 .Screen/x DEO2
.cursor/y LDZ2 .Screen/y DEO2
@ -353,19 +353,19 @@ JMP2r
( 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
#1c06 ;frame1-chr <draw-frame>
( fill )
STH2r .Screen/y DEO2
STH2r .Screen/x DEO2
#1c #0351 ;fill-icn draw-fill-fast
#1c #0351 ;fill-icn <draw-fill-fast>
.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
#03 #8526 ;appicon <draw-fill-fast>
.Screen/x DEI2k #0020 ADD2 ROT DEO2
.Screen/y DEI2k #001c SUB2 ROT DEO2
#0a ;draw-chr/color STA
#0a ;<draw-chr>/color STA
;meta/body ( .. )
@draw-txt ( txt* -- )
@ -374,18 +374,18 @@ JMP2r
.Screen/x DEI2 ,&anchor STR2
&w
LDAk #20 LTH ?&no-char
LDAk draw-chr
LDAk <draw-chr>
&no-char
LDAk #0a NEQ ?&no-lb
[ LIT2 &anchor $2 ] .Screen/x DEO2
draw-lb
<draw-lb>
&no-lb
INC2 LDAk ?&w
POP2
JMP2r
@draw-lb ( -- )
@<draw-lb> ( -- )
.Screen/y DEI2k #0008 ADD2 ROT DEO2
@ -397,9 +397,9 @@ JMP2r
#80 .Screen/pixel DEO
.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
redraw-all
!draw-menu
#22 #0091 <draw-fill-fast>/blank
<redraw-all>
!<draw-menu>
(
@|theme )
@ -426,8 +426,8 @@ JMP2r
@sput ( chr str* -- ) ,scap JSR INC2k #00 ROT ROT STA STA JMP2r
@slen ( str* -- len* ) DUP2 ,scap JSR SWP2 SUB2 JMP2r
@scat ( src* dst* -- ) ,scap JSR
@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
@<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
@exit ( -- )

1709
src/nasu.tal

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save