|
|
|
|
@ -6,53 +6,53 @@
|
|
|
|
|
;on-mouse-menu .Mouse/vector DEO2 |
|
|
|
|
;on-control-menu .Controller/vector DEO2 |
|
|
|
|
|
|
|
|
|
#40 ;draw-cursor JSR2 |
|
|
|
|
#40 draw-cursor |
|
|
|
|
|
|
|
|
|
BRK |
|
|
|
|
|
|
|
|
|
@on-mouse-menu ( -> ) |
|
|
|
|
|
|
|
|
|
#42 .Mouse/state DEI #00 NEQ ADD ;hand-icn ;update-cursor JSR2 |
|
|
|
|
#42 .Mouse/state DEI #00 NEQ ADD ;hand-icn update-cursor |
|
|
|
|
( when touch cat ) |
|
|
|
|
.Mouse/state DEI #00 EQU ,&no-touch-cat JCN |
|
|
|
|
.Mouse/y DEI2 #000c GTH2 ,&no-touch-cat JCN |
|
|
|
|
.Mouse/x DEI2 ;get-xcat JSR2 ;menu-select JSR2 |
|
|
|
|
.Mouse/state DEI #00 EQU ?&no-touch-cat |
|
|
|
|
.Mouse/y DEI2 #000c GTH2 ?&no-touch-cat |
|
|
|
|
.Mouse/x DEI2 get-xcat menu-select |
|
|
|
|
( release ) #00 .Mouse/state DEO |
|
|
|
|
BRK |
|
|
|
|
&no-touch-cat |
|
|
|
|
( when sub active ) |
|
|
|
|
;draw-menu/sel LDA #ff EQU ,&no-sub JCN |
|
|
|
|
;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 JCN |
|
|
|
|
DUP ;draw-sub/sel LDA EQU ?&no-change |
|
|
|
|
DUP ;draw-sub/sel STA |
|
|
|
|
;draw-menu/sel LDA #ff ;draw-sub JSR2 |
|
|
|
|
;draw-menu/sel LDA #ff draw-sub |
|
|
|
|
&no-change |
|
|
|
|
POP |
|
|
|
|
( when touch sub ) |
|
|
|
|
.Mouse/state DEI #00 EQU ,&no-touch-sub JCN |
|
|
|
|
;draw-sub/sel LDA ;menu-select-sub JSR2 |
|
|
|
|
.Mouse/state DEI #00 EQU ?&no-touch-sub |
|
|
|
|
;draw-sub/sel LDA menu-select-sub |
|
|
|
|
( release ) #00 .Mouse/state DEO |
|
|
|
|
&no-touch-sub |
|
|
|
|
BRK |
|
|
|
|
&no-sub |
|
|
|
|
( do not leave if menu is active ) |
|
|
|
|
;draw-menu/sel LDA INC ,&no-leave JCN |
|
|
|
|
.Mouse/y DEI2 #000c LTH2 ,&no-leave JCN |
|
|
|
|
,menu-close JSR |
|
|
|
|
;draw-menu/sel LDA INC ?&no-leave |
|
|
|
|
.Mouse/y DEI2 #000c LTH2 ?&no-leave |
|
|
|
|
menu-close |
|
|
|
|
&no-leave |
|
|
|
|
|
|
|
|
|
BRK |
|
|
|
|
|
|
|
|
|
@menu-close ( -- ) |
|
|
|
|
|
|
|
|
|
;untrap JSR2 |
|
|
|
|
untrap |
|
|
|
|
;draw-menu/sel LDA |
|
|
|
|
DUP #ff EQU ,&no-clear JCN |
|
|
|
|
DUP #00 ;draw-sub JSR2 |
|
|
|
|
DUP #ff EQU ?&no-clear |
|
|
|
|
DUP #00 draw-sub |
|
|
|
|
#ff ;draw-menu/sel STA |
|
|
|
|
;redraw-all JSR2 |
|
|
|
|
;draw-menu JSR2 |
|
|
|
|
redraw-all |
|
|
|
|
draw-menu |
|
|
|
|
&no-clear |
|
|
|
|
POP |
|
|
|
|
|
|
|
|
|
@ -61,35 +61,34 @@ JMP2r
|
|
|
|
|
@menu-select ( cat -- ) |
|
|
|
|
|
|
|
|
|
( exists ) |
|
|
|
|
DUP ;get-cat JSR2 ORA ,&exists JCN |
|
|
|
|
DUP get-cat ORA ?&exists |
|
|
|
|
POP JMP2r |
|
|
|
|
&exists |
|
|
|
|
( clear ) |
|
|
|
|
;draw-menu/sel LDA |
|
|
|
|
( unchanged ) EQUk ,menu-deselect JCN |
|
|
|
|
( unselected ) DUP #ff EQU ,&no-clear JCN |
|
|
|
|
DUP #00 ;draw-sub JSR2 |
|
|
|
|
( unchanged ) EQUk ?menu-deselect |
|
|
|
|
( unselected ) DUP #ff EQU ?&no-clear |
|
|
|
|
DUP #00 draw-sub |
|
|
|
|
&no-clear |
|
|
|
|
POP |
|
|
|
|
( draw ) |
|
|
|
|
;redraw-all JSR2 |
|
|
|
|
redraw-all |
|
|
|
|
#ff ;draw-sub/sel STA |
|
|
|
|
DUP ;draw-menu/sel STA |
|
|
|
|
#ff ;draw-sub JSR2 |
|
|
|
|
;draw-menu ( .. ) |
|
|
|
|
#ff draw-sub |
|
|
|
|
|
|
|
|
|
JMP2 |
|
|
|
|
!draw-menu |
|
|
|
|
|
|
|
|
|
@menu-deselect ( cat cat -- ) |
|
|
|
|
|
|
|
|
|
POP2 ;menu-close ( .. ) |
|
|
|
|
POP2 |
|
|
|
|
|
|
|
|
|
JMP2 |
|
|
|
|
!menu-close |
|
|
|
|
|
|
|
|
|
@menu-select-sub ( sub -- ) |
|
|
|
|
|
|
|
|
|
;get-sub JSR2 |
|
|
|
|
;menu-close JSR2 |
|
|
|
|
get-sub |
|
|
|
|
menu-close |
|
|
|
|
ORAk ROT ROT JCN2 |
|
|
|
|
|
|
|
|
|
JMP2r |
|
|
|
|
@ -106,10 +105,10 @@ BRK
|
|
|
|
|
#00 ,&id STR |
|
|
|
|
;draw-menu/manifest LDA2 |
|
|
|
|
&cat |
|
|
|
|
[ LIT &id 00 ] STHkr EQU ,&end JCN |
|
|
|
|
;skip-sub JSR2 |
|
|
|
|
[ LIT &id 00 ] STHkr EQU ?&end |
|
|
|
|
skip-sub |
|
|
|
|
,&id LDR INC ,&id STR |
|
|
|
|
LDAk ,&cat JCN |
|
|
|
|
LDAk ?&cat |
|
|
|
|
POP2 |
|
|
|
|
#0000 |
|
|
|
|
&end |
|
|
|
|
@ -120,13 +119,13 @@ JMP2r
|
|
|
|
|
@get-sub ( sub -- sub* ) |
|
|
|
|
|
|
|
|
|
STH |
|
|
|
|
;draw-menu/sel LDA ;get-cat JSR2 |
|
|
|
|
LDAk STH INC2 ;skip-str JSR2 |
|
|
|
|
;draw-menu/sel LDA get-cat |
|
|
|
|
LDAk STH INC2 skip-str |
|
|
|
|
STHr #00 |
|
|
|
|
&subcat |
|
|
|
|
DUP STHkr EQU ,&end JCN |
|
|
|
|
SWP2 #0004 ADD2 ;skip-str JSR2 SWP2 |
|
|
|
|
INC GTHk ,&subcat JCN |
|
|
|
|
DUP STHkr EQU ?&end |
|
|
|
|
SWP2 #0004 ADD2 skip-str SWP2 |
|
|
|
|
INC GTHk ?&subcat |
|
|
|
|
POP2 POP2 |
|
|
|
|
( TODO: merge tails ) |
|
|
|
|
POPr |
|
|
|
|
@ -146,11 +145,11 @@ JMP2r
|
|
|
|
|
#00 ,&id STR |
|
|
|
|
;draw-menu/manifest LDA2 |
|
|
|
|
&cat |
|
|
|
|
[ LIT &id 00 ] [ LIT &target $1 ] EQU ,&end JCN |
|
|
|
|
INC2k ;get-strw JSR2 #0008 ADD2 STH2 ADD2r |
|
|
|
|
;skip-sub JSR2 |
|
|
|
|
[ LIT &id 00 ] [ LIT &target $1 ] EQU ?&end |
|
|
|
|
INC2k get-strw #0008 ADD2 STH2 ADD2r |
|
|
|
|
skip-sub |
|
|
|
|
,&id LDR INC ,&id STR |
|
|
|
|
LDAk ,&cat JCN |
|
|
|
|
LDAk ?&cat |
|
|
|
|
POP2 |
|
|
|
|
&end |
|
|
|
|
STH2r |
|
|
|
|
@ -166,14 +165,14 @@ JMP2r
|
|
|
|
|
#00 ,&id STR |
|
|
|
|
;draw-menu/manifest LDA2 |
|
|
|
|
&cat |
|
|
|
|
INC2k ;get-strw JSR2 #0008 ADD2 STH2r ADD2 |
|
|
|
|
DUP2 [ LIT2 &target $2 ] LTH2 ,&continue JCN |
|
|
|
|
INC2k get-strw #0008 ADD2 STH2r ADD2 |
|
|
|
|
DUP2 [ LIT2 &target $2 ] LTH2 ?&continue |
|
|
|
|
POP2 POP2 [ LIT &id 00 ] JMP2r |
|
|
|
|
&continue |
|
|
|
|
STH2 |
|
|
|
|
;skip-sub JSR2 |
|
|
|
|
skip-sub |
|
|
|
|
,&id LDR INC ,&id STR |
|
|
|
|
LDAk ,&cat JCN |
|
|
|
|
LDAk ?&cat |
|
|
|
|
POP2 |
|
|
|
|
POP2r |
|
|
|
|
#ff |
|
|
|
|
@ -182,21 +181,21 @@ JMP2r
|
|
|
|
|
|
|
|
|
|
@find-modkey ( mod key -- fn* ) |
|
|
|
|
|
|
|
|
|
ORAk ,&no-null JCN JMP2r &no-null |
|
|
|
|
ORAk ?&no-null JMP2r &no-null |
|
|
|
|
( not null ) |
|
|
|
|
,&mk STR2 |
|
|
|
|
;draw-menu/manifest LDA2 |
|
|
|
|
&cat |
|
|
|
|
LDAk STH INC2 ,skip-str JSR |
|
|
|
|
LDAk STH INC2 skip-str |
|
|
|
|
STHr #00 |
|
|
|
|
&subcat |
|
|
|
|
OVR2 LDA2 [ LIT2 &mk $2 ] NEQ2 ,&continue JCN |
|
|
|
|
OVR2 LDA2 [ LIT2 &mk $2 ] NEQ2 ?&continue |
|
|
|
|
POP2 INC2 INC2 LDA2 JMP2r |
|
|
|
|
&continue |
|
|
|
|
SWP2 #0004 ADD2 ,skip-str JSR SWP2 |
|
|
|
|
INC GTHk ,&subcat JCN |
|
|
|
|
SWP2 #0004 ADD2 skip-str SWP2 |
|
|
|
|
INC GTHk ?&subcat |
|
|
|
|
POP2 |
|
|
|
|
LDAk ,&cat JCN |
|
|
|
|
LDAk ?&cat |
|
|
|
|
POP2 |
|
|
|
|
#0000 |
|
|
|
|
|
|
|
|
|
@ -204,18 +203,18 @@ JMP2r
|
|
|
|
|
|
|
|
|
|
@skip-sub ( sub* -- sub* ) |
|
|
|
|
|
|
|
|
|
LDAk STH INC2 ;skip-str JSR2 |
|
|
|
|
LDAk STH INC2 skip-str |
|
|
|
|
STHr #00 |
|
|
|
|
&subcat |
|
|
|
|
SWP2 #0004 ADD2 ,skip-str JSR SWP2 |
|
|
|
|
INC GTHk ,&subcat JCN |
|
|
|
|
SWP2 #0004 ADD2 skip-str SWP2 |
|
|
|
|
INC GTHk ?&subcat |
|
|
|
|
POP2 |
|
|
|
|
|
|
|
|
|
JMP2r |
|
|
|
|
|
|
|
|
|
@skip-str ( str* -- str* ) |
|
|
|
|
|
|
|
|
|
&skip INC2 LDAk ,&skip JCN INC2 |
|
|
|
|
&skip INC2 LDAk ?&skip INC2 |
|
|
|
|
|
|
|
|
|
JMP2r |
|
|
|
|
|
|
|
|
|
@ -227,10 +226,10 @@ JMP2r
|
|
|
|
|
[ LIT2 &manifest =manifest ] |
|
|
|
|
&cat |
|
|
|
|
( theme ) #0b03 [ LIT &sel ff ] [ LIT &id $1 ] EQU [ JMP SWP POP ] ;draw-chr/color STA |
|
|
|
|
INC2k ;draw-str JSR2 POP2 #20 ;draw-chr JSR2 |
|
|
|
|
;skip-sub JSR2 |
|
|
|
|
INC2k draw-str POP2 #20 draw-chr |
|
|
|
|
skip-sub |
|
|
|
|
,&id LDR INC ,&id STR |
|
|
|
|
LDAk ,&cat JCN |
|
|
|
|
LDAk ?&cat |
|
|
|
|
POP2 |
|
|
|
|
|
|
|
|
|
JMP2r |
|
|
|
|
@ -238,17 +237,17 @@ JMP2r
|
|
|
|
|
@draw-sub ( cat mask -- ) |
|
|
|
|
|
|
|
|
|
,&mask STR POP |
|
|
|
|
;draw-menu/sel LDA ;get-cat JSR2 |
|
|
|
|
ORAk #00 EQU ,&skip JCN |
|
|
|
|
;draw-menu/sel LDA ;get-catx JSR2 ,&anchor STR2 |
|
|
|
|
LDAk STH INC2 ;skip-str JSR2 |
|
|
|
|
;draw-menu/sel LDA get-cat |
|
|
|
|
ORAk #00 EQU ?&skip |
|
|
|
|
;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 |
|
|
|
|
[ LIT2 &anchor $2 ] .Screen/x DEO2 |
|
|
|
|
#00 OVR INC #30 SFT2 #0004 ADD2 .Screen/y DEO2 |
|
|
|
|
SWP2 ;draw-label JSR2 SWP2 |
|
|
|
|
INC GTHk ,&subcat JCN |
|
|
|
|
SWP2 draw-label SWP2 |
|
|
|
|
INC GTHk ?&subcat |
|
|
|
|
POP2 POP2 |
|
|
|
|
&skip |
|
|
|
|
POP2 |
|
|
|
|
@ -267,36 +266,36 @@ JMP2r
|
|
|
|
|
.Screen/y DEO2 |
|
|
|
|
( mod ) |
|
|
|
|
STH2k #0078 ADD2 .Screen/x DEO2 |
|
|
|
|
LDA2k ;get-modkey-str JSR2 ;draw-str-right JSR2 POP2 |
|
|
|
|
LDA2k get-modkey-str draw-str-right POP2 |
|
|
|
|
STH2r .Screen/x DEO2 |
|
|
|
|
#0004 ADD2 ;draw-str ( .. ) |
|
|
|
|
#0004 ADD2 |
|
|
|
|
|
|
|
|
|
JMP2 |
|
|
|
|
!draw-str |
|
|
|
|
|
|
|
|
|
@get-modkey-str ( mod key -- str* ) |
|
|
|
|
|
|
|
|
|
;&buf #0008 ;mclr JSR2 |
|
|
|
|
;&buf #0008 mclr |
|
|
|
|
( mod ) |
|
|
|
|
SWP STH |
|
|
|
|
#0800 |
|
|
|
|
&loop |
|
|
|
|
STHkr OVR SFT #01 AND #00 EQU ,&no-button JCN |
|
|
|
|
#00 OVR ;&buttons ADD2 LDA ;&buf ;sput JSR2 |
|
|
|
|
STHkr OVR SFT #01 AND #00 EQU ?&no-button |
|
|
|
|
#00 OVR ;&buttons ADD2 LDA ;&buf sput |
|
|
|
|
&no-button |
|
|
|
|
INC GTHk ,&loop JCN |
|
|
|
|
INC GTHk ?&loop |
|
|
|
|
POP2 |
|
|
|
|
( mix ) |
|
|
|
|
DUP #00 NEQ STHr #00 NEQ #0101 NEQ2 ,&no-mod JCN |
|
|
|
|
LIT "+ ;&buf ;sput JSR2 |
|
|
|
|
DUP #00 NEQ STHr #00 NEQ #0101 NEQ2 ?&no-mod |
|
|
|
|
LIT "+ ;&buf sput |
|
|
|
|
&no-mod |
|
|
|
|
( key ) |
|
|
|
|
DUP #08 NEQ ,&no-bsp JCN ;&bsp ,&cat JMP &no-bsp |
|
|
|
|
DUP #09 NEQ ,&no-tab JCN ;&tab ,&cat JMP &no-tab |
|
|
|
|
DUP #0d NEQ ,&no-ent JCN ;&ent ,&cat JMP &no-ent |
|
|
|
|
DUP #20 NEQ ,&no-spc JCN ;&spc ,&cat JMP &no-spc |
|
|
|
|
DUP #1b NEQ ,&no-esc JCN ;&esc ,&cat JMP &no-esc |
|
|
|
|
DUP #7f NEQ ,&no-del JCN ;&del ,&cat JMP &no-del |
|
|
|
|
DUP ;&buf ;sput JSR2 |
|
|
|
|
DUP #08 NEQ ?&no-bsp ;&bsp !&cat &no-bsp |
|
|
|
|
DUP #09 NEQ ?&no-tab ;&tab !&cat &no-tab |
|
|
|
|
DUP #0d NEQ ?&no-ent ;&ent !&cat &no-ent |
|
|
|
|
DUP #20 NEQ ?&no-spc ;&spc !&cat &no-spc |
|
|
|
|
DUP #1b NEQ ?&no-esc ;&esc !&cat &no-esc |
|
|
|
|
DUP #7f NEQ ?&no-del ;&del !&cat &no-del |
|
|
|
|
DUP ;&buf sput |
|
|
|
|
&end |
|
|
|
|
POP |
|
|
|
|
;&buf |
|
|
|
|
@ -304,13 +303,13 @@ JMP2
|
|
|
|
|
JMP2r |
|
|
|
|
&buf $8 |
|
|
|
|
&buttons "ABsSUDLR $1 |
|
|
|
|
&cat ;&buf ;scat JSR2 ,&end JMP |
|
|
|
|
&cat ;&buf scat ,&end JMP |
|
|
|
|
&bsp "bsp $1 &tab "tab $1 &ent "ent $1 &spc "spc $1 &esc "esc $1 &del "del $1 |
|
|
|
|
|
|
|
|
|
@update-cursor ( color addr* -- ) |
|
|
|
|
|
|
|
|
|
#00 .Screen/auto DEO |
|
|
|
|
#40 ,draw-cursor JSR |
|
|
|
|
#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 |
|
|
|
|
@ -331,39 +330,38 @@ JMP2r
|
|
|
|
|
|
|
|
|
|
@about |
|
|
|
|
&on-mouse ( -> ) |
|
|
|
|
.Mouse/state DEI ,&on-control JCN |
|
|
|
|
.Mouse/state DEI ?&on-control |
|
|
|
|
BRK |
|
|
|
|
&on-control ( -> ) |
|
|
|
|
,&hide JSR |
|
|
|
|
BRK |
|
|
|
|
&toggle ( -- ) |
|
|
|
|
[ LIT &active 00 ] ,&hide JCN |
|
|
|
|
[ LIT &active 00 ] ?&hide |
|
|
|
|
#01 ,&active STR |
|
|
|
|
;draw-about JSR2 |
|
|
|
|
draw-about |
|
|
|
|
;&on-mouse .Mouse/vector DEO2 |
|
|
|
|
;&on-control .Controller/vector DEO2 |
|
|
|
|
JMP2r |
|
|
|
|
&hide ( -- ) |
|
|
|
|
#00 ,&active STR |
|
|
|
|
;clear-about JSR2 |
|
|
|
|
;untrap ( .. ) |
|
|
|
|
JMP2 |
|
|
|
|
clear-about |
|
|
|
|
!untrap |
|
|
|
|
|
|
|
|
|
@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 |
|
|
|
|
#1c06 ;frame1-chr draw-frame |
|
|
|
|
( fill ) |
|
|
|
|
STH2r .Screen/y DEO2 |
|
|
|
|
STH2r .Screen/x DEO2 |
|
|
|
|
#1c #0351 ;fill-icn ;draw-fill-fast JSR2 |
|
|
|
|
#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 JSR2 |
|
|
|
|
#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 |
|
|
|
|
@ -374,14 +372,14 @@ JMP2
|
|
|
|
|
#01 .Screen/auto DEO |
|
|
|
|
.Screen/x DEI2 ,&anchor STR2 |
|
|
|
|
&w |
|
|
|
|
LDAk #20 LTH ,&no-char JCN |
|
|
|
|
LDAk ;draw-chr JSR2 |
|
|
|
|
LDAk #20 LTH ?&no-char |
|
|
|
|
LDAk draw-chr |
|
|
|
|
&no-char |
|
|
|
|
LDAk #0a NEQ ,&no-lb JCN |
|
|
|
|
LDAk #0a NEQ ?&no-lb |
|
|
|
|
[ LIT2 &anchor $2 ] .Screen/x DEO2 |
|
|
|
|
,draw-lb JSR |
|
|
|
|
draw-lb |
|
|
|
|
&no-lb |
|
|
|
|
INC2 LDAk ,&w JCN |
|
|
|
|
INC2 LDAk ?&w |
|
|
|
|
POP2 |
|
|
|
|
|
|
|
|
|
JMP2r |
|
|
|
|
@ -396,11 +394,9 @@ JMP2r
|
|
|
|
|
|
|
|
|
|
.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 |
|
|
|
|
#22 #0091 draw-fill-fast/blank |
|
|
|
|
redraw-all |
|
|
|
|
!draw-menu |
|
|
|
|
|
|
|
|
|
( |
|
|
|
|
@|theme ) |
|
|
|
|
@ -412,7 +408,7 @@ JMP2
|
|
|
|
|
;&r .File/read DEO2 |
|
|
|
|
;&g .File/read DEO2 |
|
|
|
|
;&b .File/read DEO2 |
|
|
|
|
.File/success DEI2 ORA #01 JCN JMP2r |
|
|
|
|
.File/success DEI2 ORA #01 [ JCN JMP2r ] |
|
|
|
|
LIT2 &r $2 .System/r DEO2 |
|
|
|
|
LIT2 &g $2 .System/g DEO2 |
|
|
|
|
LIT2 &b $2 .System/b DEO2 |
|
|
|
|
@ -422,7 +418,7 @@ JMP2r
|
|
|
|
|
|
|
|
|
|
( stdlib ) |
|
|
|
|
|
|
|
|
|
@scap ( str* -- end* ) LDAk #00 NEQ JMP JMP2r &w INC2 LDAk ,&w JCN JMP2r |
|
|
|
|
@scap ( str* -- end* ) LDAk #00 NEQ JMP JMP2r &w INC2 LDAk ?&w JMP2r |
|
|
|
|
@spop ( str* -- ) LDAk ,&n JCN POP2 JMP2r &n ,scap JSR #0001 SUB2 #00 ROT ROT STA JMP2r |
|
|
|
|
@sput ( chr str* -- ) ,scap JSR INC2k #00 ROT ROT STA STA JMP2r |
|
|
|
|
@slen ( str* -- len* ) DUP2 ,scap JSR SWP2 SUB2 JMP2r |
|
|
|
|
@ -432,8 +428,8 @@ JMP2r
|
|
|
|
|
|
|
|
|
|
@phex ( short* -- ) |
|
|
|
|
|
|
|
|
|
SWP ,&b JSR |
|
|
|
|
&b ( byte -- ) DUP #04 SFT ,&c JSR |
|
|
|
|
SWP phex/b |
|
|
|
|
&b ( byte -- ) DUP #04 SFT phex/b |
|
|
|
|
&c ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO |
|
|
|
|
|
|
|
|
|
JMP2r |
|
|
|
|
@ -446,9 +442,9 @@ JMP2r
|
|
|
|
|
|
|
|
|
|
( assets ) |
|
|
|
|
|
|
|
|
|
@hand-icn |
|
|
|
|
2020 20b8 7c7c 3838 |
|
|
|
|
@blank-icn |
|
|
|
|
0000 0000 0000 0000 |
|
|
|
|
@hand-icn [ |
|
|
|
|
2020 20b8 7c7c 3838 ] |
|
|
|
|
@blank-icn [ |
|
|
|
|
0000 0000 0000 0000 ] |
|
|
|
|
|
|
|
|
|
~src/assets.tal |
|
|
|
|
|