Browse Source

Housekeeping

main
Devine Lu Linvega 4 years ago
parent
commit
bde89423b2
  1. 274
      src/manifest.tal
  2. 2
      src/nasu.tal

274
src/manifest.tal

@ -156,6 +156,101 @@ JMP2r
BRK
@get-cat ( cat -- cat* )
STH
#00 ,&id STR
;manifest/menu
&cat
[ LIT &id 00 ] STHkr EQU ,&end JCN
;skip-sub JSR2
,&id LDR INC ,&id STR
LDAk ,&cat JCN
POP2
#0000
&end
POPr
JMP2r
@get-sub ( sub -- sub* )
STH
;draw-menu/sel LDA ;get-cat JSR2
LDAk STH INC2 ;skip-str JSR2
STHr #00
&subcat
DUP STHkr EQU ,&end JCN
SWP2 #0004 ADD2 ;skip-str JSR2 SWP2
INC GTHk ,&subcat JCN
POP2 POP2
( TODO: merge tails )
POPr
#0000
JMP2r
&end
POP2
INC2 INC2 LDA2
POPr
JMP2r
@get-anchor ( cat -- x* )
LIT2r 0000
,&target STR
#00 ,&id STR
;manifest/menu
&cat
[ LIT &id 00 ] [ LIT &target $1 ] EQU ,&end JCN
INC2k ;slen JSR2 INC2 STH2 ADD2r
;skip-sub JSR2
,&id LDR INC ,&id STR
LDAk ,&cat JCN
POP2
&end
STH2r
INC2 INC2 #30 SFT2
JMP2r
@find-modkey ( mod key -- fn* )
,&mk STR2
;manifest/menu
&cat
LDAk STH INC2 ,skip-str JSR
STHr #00
&subcat
OVR2 LDA2 [ LIT2 &mk $2 ] NEQ2 ,&continue JCN
POP2 INC2 INC2 LDA2 JMP2r
&continue
SWP2 #0004 ADD2 ,skip-str JSR SWP2
INC GTHk ,&subcat JCN
POP2
LDAk ,&cat JCN
POP2
#0000
JMP2r
@skip-sub ( sub* -- sub* )
LDAk STH INC2 ;skip-str JSR2
STHr #00
&subcat
SWP2 #0004 ADD2 ,skip-str JSR SWP2
INC GTHk ,&subcat JCN
POP2
JMP2r
@skip-str ( str* -- str* )
&skip INC2 LDAk ,&skip JCN INC2
JMP2r
@draw-menu ( -- )
#0010 .Screen/x DEO2
@ -229,16 +324,6 @@ JMP2r
JMP2r
@buttons-icns
387c fefe fe7c 3800
3844 8282 8244 3800
1038 7cfe 7c38 1000
1028 4482 4428 1000
1038 7cfe 1010 1000
1010 10fe 7c38 1000
1030 70fe 7030 1000
1018 1cfe 1c18 1000
@draw-key ( mod key -- )
( key )
@ -259,75 +344,6 @@ JMP2r
&spc "spc $1
&esc "esc $1
@get-cat ( cat -- cat* )
STH
#00 ,&id STR
;manifest/menu
&cat
[ LIT &id 00 ] STHkr EQU ,&end JCN
;skip-sub JSR2
,&id LDR INC ,&id STR
LDAk ,&cat JCN
POP2
#0000
&end
POPr
JMP2r
@get-sub ( sub -- sub* )
STH
;draw-menu/sel LDA ;get-cat JSR2
LDAk STH INC2 ;skip-str JSR2
STHr #00
&subcat
DUP STHkr EQU ,&end JCN
SWP2 #0004 ADD2 ;skip-str JSR2 SWP2
INC GTHk ,&subcat JCN
POP2 POP2
( TODO: merge tails )
POPr
#0000
JMP2r
&end
POP2
INC2 INC2 LDA2
POPr
JMP2r
@skip-sub ( sub* -- sub* )
LDAk STH INC2 ;skip-str JSR2
STHr #00
&subcat
SWP2 #0004 ADD2 ;skip-str JSR2 SWP2
INC GTHk ,&subcat JCN
POP2
JMP2r
@get-anchor ( cat -- x* )
LIT2r 0000
,&target STR
#00 ,&id STR
;manifest/menu
&cat
[ LIT &id 00 ] [ LIT &target $1 ] EQU ,&end JCN
INC2k ;slen JSR2 INC2 STH2 ADD2r
;skip-sub JSR2
,&id LDR INC ,&id STR
LDAk ,&cat JCN
POP2
&end
STH2r
INC2 INC2 #30 SFT2
JMP2r
@draw-str ( str* -- str* )
&while
@ -344,95 +360,13 @@ JMP2r
JMP2r
@print-manifest ( -- )
;manifest/name ;print-str JSR2
LIT '( #18 DEO ;print-str JSR2 POP2 LIT ') #18 DEO
#0a18 DEOk DEO
( menu )
;manifest/menu
&cat
LDAk STH INC2 ;print-str JSR2 #0a18 DEO
STHr #00
&subcat
SWP2
( modkey ) #0918 DEO ;print-mod JSR2 ;print-key JSR2
( spacer ) #2018 DEOk LIT ': #18 DEO DEO
( name ) INC2 INC2 ;print-str JSR2 #0a18 DEO
SWP2
INC GTHk ,&subcat JCN
POP2
LDAk ,&cat JCN
POP2
JMP2r
@print-mod ( addr* -- addr* )
LDAk STH
#0800
&loop
STHkr OVR SFT #01 AND #00 EQU ,&no-button JCN
#00 OVR ;&buttons ADD2 LDA #18 DEO
&no-button
INC GTHk ,&loop JCN
POP2
POPr
INC2
JMP2r
&buttons
"ABsSUDLR $1
@print-key ( addr* -- addr* )
LDAk
DUP #08 NEQ ,&no-del JCN ;&del ,&inv JMP &no-del
DUP #09 NEQ ,&no-tab JCN ;&tab ,&inv JMP &no-tab
DUP #20 NEQ ,&no-spc JCN ;&spc ,&inv JMP &no-spc
DUP #1b NEQ ,&no-esc JCN ;&esc ,&inv JMP &no-esc
#18 DEO
INC2
JMP2r
&inv ROT POP ;print-str JSR2 POP2 INC2 JMP2r
&del "del $1
&tab "tab $1
&spc "spc $1
&esc "esc $1
@print-str ( addr* -- addr* )
&while
LDAk #18 DEO
INC2 LDAk ,&while JCN
INC2
JMP2r
@find-modkey ( mod key -- fn* )
,&mk STR2
;manifest/menu
&cat
LDAk STH INC2 ,skip-str JSR
STHr #00
&subcat
OVR2 LDA2 [ LIT2 &mk $2 ] NEQ2 ,&continue JCN
POP2 INC2 INC2 LDA2 JMP2r
&continue
SWP2 #0004 ADD2 ,skip-str JSR SWP2
INC GTHk ,&subcat JCN
POP2
LDAk ,&cat JCN
POP2
#0000
JMP2r
@skip-str ( str* -- str* )
&skip INC2 LDAk ,&skip JCN INC2
JMP2r
@buttons-icns
387c fefe fe7c 3800
3844 8282 8244 3800
1038 7cfe 7c38 1000
1028 4482 4428 1000
1038 7cfe 1010 1000
1010 10fe 7c38 1000
1030 70fe 7030 1000
1018 1cfe 1c18 1000

2
src/nasu.tal

@ -44,7 +44,7 @@
#05cf .System/g DEO2
#0caf .System/b DEO2
( size )
#0120 .Screen/width DEO2
#0122 .Screen/width DEO2
#0100 .Screen/height DEO2
( vectors )
;on-console .Console/vector DEO2

Loading…
Cancel
Save