|
|
|
|
@ -17,77 +17,30 @@
|
|
|
|
|
ctrl+v - paste |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
%+ { ADD } %- { SUB } %* { MUL } %/ { DIV } |
|
|
|
|
%< { LTH } %> { GTH } %= { EQU } %! { NEQ } |
|
|
|
|
%++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 } |
|
|
|
|
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 } |
|
|
|
|
|
|
|
|
|
%2* { #10 SFT } %2/ { #01 SFT } %2** { #10 SFT2 } %2// { #01 SFT2 } |
|
|
|
|
%4* { #20 SFT } %4/ { #02 SFT } %4** { #20 SFT2 } %4// { #02 SFT2 } |
|
|
|
|
%8* { #30 SFT } %8/ { #03 SFT } %8** { #30 SFT2 } %8// { #03 SFT2 } |
|
|
|
|
%10* { #40 SFT } %10/ { #04 SFT } %10** { #40 SFT2 } %10// { #04 SFT2 } |
|
|
|
|
%20* { #50 SFT } %20/ { #05 SFT } %20** { #50 SFT2 } %20// { #05 SFT2 } |
|
|
|
|
|
|
|
|
|
%40* { #60 SFT } |
|
|
|
|
%80* { #70 SFT } |
|
|
|
|
|
|
|
|
|
%80** { #70 SFT2 } |
|
|
|
|
%100** { #80 SFT2 } |
|
|
|
|
%200** { #90 SFT2 } |
|
|
|
|
|
|
|
|
|
%2MOD { #01 AND } %2MOD2 { #0001 AND2 } |
|
|
|
|
%4MOD { #03 AND } %4MOD2 { #0003 AND2 } |
|
|
|
|
%8MOD { #07 AND } %8MOD2 { #0007 AND2 } |
|
|
|
|
%10MOD { #0f AND } %10MOD2 { #000f AND2 } |
|
|
|
|
|
|
|
|
|
%20MOD { #1f AND } |
|
|
|
|
%100MOD2 { #00ff AND2 } |
|
|
|
|
%TOS { #00 SWP } |
|
|
|
|
|
|
|
|
|
%STEP8 { #33 SFT2 } |
|
|
|
|
|
|
|
|
|
%!~ { NEQk NIP } |
|
|
|
|
|
|
|
|
|
%DEBUG { ;print-hex/byte JSR2 #0a #18 DEO } |
|
|
|
|
%DEBUG2 { ;print-hex JSR2 #0a #18 DEO } |
|
|
|
|
|
|
|
|
|
%RTN { JMP2r } |
|
|
|
|
%SFL { #40 SFT SFT } |
|
|
|
|
%GTS2 { #8000 ++ SWP2 #8000 ++ << } |
|
|
|
|
%TOGGLE { LDZk #00 = SWP STZ } |
|
|
|
|
%GET-ITER { OVR2 NIP OVR SWP } |
|
|
|
|
%BRK? { #01 JCN BRK } |
|
|
|
|
%SWP? { #01 JCN SWP } |
|
|
|
|
|
|
|
|
|
%ROL { DUP #07 SFT SWP #10 SFT + } |
|
|
|
|
%ROR { DUP #70 SFT SWP #01 SFT + } |
|
|
|
|
|
|
|
|
|
%AUTO-X { #01 .Screen/auto DEO } |
|
|
|
|
%AUTO-NONE { #00 .Screen/auto DEO } |
|
|
|
|
~src/utils.tal |
|
|
|
|
|
|
|
|
|
( defines ) |
|
|
|
|
|
|
|
|
|
%HOR { #10 } %VER { #10 } |
|
|
|
|
%LENGTH { #1000 } |
|
|
|
|
|
|
|
|
|
( |
|
|
|
|
8000-9000 : spritesheet |
|
|
|
|
9000-9100 : tile |
|
|
|
|
9100-9200 : color ) |
|
|
|
|
|
|
|
|
|
%DATA-CLIP { #6000 } |
|
|
|
|
%BANK-SPRITESHEET { #8000 } |
|
|
|
|
%BANK-NAMETABLE { #9000 } |
|
|
|
|
%BANK-COLOR { #9100 } |
|
|
|
|
|
|
|
|
|
( todo ) |
|
|
|
|
%STEP8 { #33 SFT2 } |
|
|
|
|
%80** { #70 SFT2 } |
|
|
|
|
%100** { #80 SFT2 } |
|
|
|
|
%200** { #90 SFT2 } |
|
|
|
|
|
|
|
|
|
%DATA-CLIP { #6000 } |
|
|
|
|
%100MOD2 { #00ff AND2 } |
|
|
|
|
%GET-ITER { OVR2 NIP OVR SWP } |
|
|
|
|
|
|
|
|
|
%GET-HEX-ADDR { TOS 8** ;font-hex ++ .Screen/addr DEO2 } |
|
|
|
|
%GET-COLOR { .settings/color LDZ STHk 2/ + DEI #01 STHr #01 AND - 4* SFT #0f AND } |
|
|
|
|
%GET-POSITION { .settings/focus LDZ2 BANK-SPRITESHEET -- DUP2 2// 100MOD2 SWP2 #0080 2** DIV2 8** } |
|
|
|
|
%ADD-POSITIONS { ROT2 ++ ROT2 ROT2 ++ SWP2 } |
|
|
|
|
%RELEASE-MOUSE { #00 .Mouse/state DEO } |
|
|
|
|
%RESET-SELECTION { .selection/x1 LDZ2 .selection/x2 STZ2 } |
|
|
|
|
%GET-ADDR { TOS 10** ROT TOS ++ 10** BANK-SPRITESHEET ++ } ( x y -- addr* ) |
|
|
|
|
|
|
|
|
|
@ -132,7 +85,7 @@
|
|
|
|
|
&x2 $1 &y2 $1 |
|
|
|
|
&a $1 |
|
|
|
|
@path |
|
|
|
|
&length $1 &name $20 |
|
|
|
|
&name $20 ( ext ) $4 |
|
|
|
|
@frame |
|
|
|
|
&x1 $2 &y1 $2 |
|
|
|
|
&x2 $2 &y2 $2 |
|
|
|
|
@ -211,31 +164,32 @@
|
|
|
|
|
.zoomview/x2 LDZ2 INC2 .zoomview-frame/x2 STZ2 |
|
|
|
|
.zoomview/y2 LDZ2 #0007 -- .zoomview-frame/y2 STZ2 |
|
|
|
|
|
|
|
|
|
;untitled-txt ;new-file JSR2 |
|
|
|
|
;new-file JSR2 |
|
|
|
|
;load-theme JSR2 |
|
|
|
|
|
|
|
|
|
BRK |
|
|
|
|
|
|
|
|
|
@on-console ( -- ) |
|
|
|
|
@on-console ( -> ) |
|
|
|
|
|
|
|
|
|
#00 ;draw-filepath JSR2 |
|
|
|
|
.Console/read DEI DUP |
|
|
|
|
#0a = ,&counter LDR #20 = #0000 == ,&no-end JCN |
|
|
|
|
( set length ) ,&counter LDR .path/length STZ |
|
|
|
|
( null char ) #00 .path ,&counter LDR INC + STZ |
|
|
|
|
( reset counter ) #00 ,&counter STR |
|
|
|
|
( load ) ;load-file JSR2 |
|
|
|
|
POP BRK |
|
|
|
|
&no-end |
|
|
|
|
,&counter LDR |
|
|
|
|
( length ) DUP .path/length STZ |
|
|
|
|
INC |
|
|
|
|
( inc counter ) DUP ,&counter STR |
|
|
|
|
( write ) .path + STZ |
|
|
|
|
( starting ) |
|
|
|
|
;&trap LDA ,&started JCN |
|
|
|
|
#00 ;draw-filepath JSR2 |
|
|
|
|
;path/name #0020 ;mclr JSR2 |
|
|
|
|
#01 ,&trap STR |
|
|
|
|
&started |
|
|
|
|
( append ) |
|
|
|
|
.Console/read DEI #20 < ,&validate JCN |
|
|
|
|
;path/name ;slen JSR2 #0020 == ,&validate JCN |
|
|
|
|
;path/name .Console/read DEI ;sput JSR2 |
|
|
|
|
BRK |
|
|
|
|
&validate |
|
|
|
|
( validate ) |
|
|
|
|
;load-file JSR2 |
|
|
|
|
#01 ;draw-filepath JSR2 |
|
|
|
|
#00 ,&trap STR |
|
|
|
|
|
|
|
|
|
BRK |
|
|
|
|
&counter $1 |
|
|
|
|
&trap $1 |
|
|
|
|
|
|
|
|
|
@on-frame ( -> ) |
|
|
|
|
( inactive ) |
|
|
|
|
@ -261,7 +215,7 @@ BRK
|
|
|
|
|
|
|
|
|
|
@on-button ( -> ) |
|
|
|
|
|
|
|
|
|
.Controller/key DEI .Controller/button DEI ADD BRK? |
|
|
|
|
.Controller/button DEI2 #0000 !! [ JMP BRK ] |
|
|
|
|
|
|
|
|
|
.Controller/button DEI #01 AND ;on-control JCN2 |
|
|
|
|
|
|
|
|
|
@ -344,17 +298,14 @@ BRK
|
|
|
|
|
&no-name |
|
|
|
|
DUP [ LIT 'R ] ! ,&no-rename JCN |
|
|
|
|
#00 ;draw-filepath JSR2 |
|
|
|
|
#00 .Controller/key DEO |
|
|
|
|
#00 .path/length STZ |
|
|
|
|
#0000 .path/name STZ2 |
|
|
|
|
;path/name #0020 ;mclr JSR2 |
|
|
|
|
;on-frame-trap .Screen/vector DEO2 |
|
|
|
|
;on-button-trap .Controller/vector DEO2 |
|
|
|
|
POP BRK |
|
|
|
|
&no-rename |
|
|
|
|
DUP [ LIT 'n ] ! ,&no-new JCN |
|
|
|
|
#25 ;draw-filepath JSR2 |
|
|
|
|
;untitled-txt ;new-file JSR2 |
|
|
|
|
;redraw JSR2 POP BRK &no-new |
|
|
|
|
;new-file JSR2 |
|
|
|
|
POP BRK &no-new |
|
|
|
|
DUP [ LIT 'o ] ! ,&no-open JCN |
|
|
|
|
;load-file JSR2 |
|
|
|
|
POP BRK &no-open |
|
|
|
|
@ -372,23 +323,22 @@ BRK
|
|
|
|
|
DUP ,&continue JCN |
|
|
|
|
POP BRK |
|
|
|
|
&continue |
|
|
|
|
DUP ( backspace ) #08 ! ,&no-edit-backspace JCN |
|
|
|
|
( clamp ) .path/length LDZ #00 = ,&edit-end JCN |
|
|
|
|
( backspace ) #08 !~ ,&no-edit-backspace JCN |
|
|
|
|
( clamp ) ;path/name ;slen JSR2 NIP #00 = ,&edit-end JCN |
|
|
|
|
#00 ;draw-filepath JSR2 |
|
|
|
|
.path/length LDZ #01 - STHk .path/length STZ |
|
|
|
|
#00 .path/name STHr + STZ |
|
|
|
|
#01 ;draw-filepath JSR2 POP BRK |
|
|
|
|
;path/name ;spop JSR2 |
|
|
|
|
#01 ;draw-filepath JSR2 |
|
|
|
|
POP BRK |
|
|
|
|
&no-edit-backspace |
|
|
|
|
DUP ( special ) #20 > ,&no-edit-enter JCN |
|
|
|
|
( special ) #20 >~ ,&no-edit-enter JCN |
|
|
|
|
;on-frame .Screen/vector DEO2 |
|
|
|
|
;on-button .Controller/vector DEO2 |
|
|
|
|
#00 .state/blink STZ |
|
|
|
|
#01 ;draw-filepath JSR2 POP BRK |
|
|
|
|
#01 ;draw-filepath JSR2 |
|
|
|
|
POP BRK |
|
|
|
|
&no-edit-enter |
|
|
|
|
( clamp ) .path/length LDZ #1f = ,&edit-end JCN |
|
|
|
|
DUP .path/name .path/length LDZ STHk + STZ |
|
|
|
|
STHr INC STHk .path/length STZ |
|
|
|
|
#00 .path/name STHr + STZ |
|
|
|
|
( append ) ;path/name ;slen JSR2 NIP #1f = ,&edit-end JCN |
|
|
|
|
DUP ;path/name ROT ;sput JSR2 |
|
|
|
|
#01 ;draw-filepath JSR2 |
|
|
|
|
&edit-end |
|
|
|
|
POP |
|
|
|
|
@ -423,7 +373,7 @@ BRK
|
|
|
|
|
.settings/zoom LDZ #01 = ;&zoomed JCN2 |
|
|
|
|
.settings/tool LDZ #01 = ;&select JCN2 |
|
|
|
|
|
|
|
|
|
( skip ) .Mouse/state DEI #00 ! BRK? |
|
|
|
|
( skip ) .Mouse/state DEI #00 ! [ JMP BRK ] |
|
|
|
|
|
|
|
|
|
.Mouse/x DEI2 .tileview/x1 LDZ2 -- |
|
|
|
|
.Mouse/y DEI2 .tileview/y1 LDZ2 -- |
|
|
|
|
@ -484,7 +434,7 @@ BRK
|
|
|
|
|
|
|
|
|
|
&zoomed ( -> ) |
|
|
|
|
|
|
|
|
|
( skip ) .Mouse/state DEI #00 ! BRK? |
|
|
|
|
( skip ) .Mouse/state DEI #00 ! [ JMP BRK ] |
|
|
|
|
|
|
|
|
|
.Mouse/x DEI2 .tileview/x1 LDZ2 -- |
|
|
|
|
.Mouse/y DEI2 .tileview/y1 LDZ2 -- |
|
|
|
|
@ -501,7 +451,7 @@ BRK
|
|
|
|
|
|
|
|
|
|
@on-touch-nametable ( -> ) |
|
|
|
|
|
|
|
|
|
( skip ) .Mouse/state DEI #00 ! BRK? |
|
|
|
|
( skip ) .Mouse/state DEI #00 ! [ JMP BRK ] |
|
|
|
|
|
|
|
|
|
( get touch tile ) |
|
|
|
|
.Mouse/y DEI2 .nametable/y LDZ2 -- 8// 10** |
|
|
|
|
@ -532,7 +482,7 @@ BRK
|
|
|
|
|
|
|
|
|
|
@on-touch-toolview ( -> ) |
|
|
|
|
|
|
|
|
|
( skip ) .Mouse/state DEI #00 ! BRK? |
|
|
|
|
( skip ) .Mouse/state DEI #00 ! [ JMP BRK ] |
|
|
|
|
|
|
|
|
|
.Mouse/x DEI2 .toolview/x1 LDZ2 -- 8// NIP |
|
|
|
|
DUP #1f ! ,&no-save JCN |
|
|
|
|
@ -545,9 +495,7 @@ BRK
|
|
|
|
|
POP RELEASE-MOUSE BRK |
|
|
|
|
&no-load |
|
|
|
|
DUP #1c ! ,&no-name JCN |
|
|
|
|
#00 ;draw-filepath JSR2 |
|
|
|
|
;untitled-txt ;new-file JSR2 |
|
|
|
|
;redraw JSR2 |
|
|
|
|
;new-file JSR2 |
|
|
|
|
POP RELEASE-MOUSE BRK |
|
|
|
|
&no-name |
|
|
|
|
DUP #04 ! ,&no-brush JCN |
|
|
|
|
@ -590,7 +538,7 @@ BRK
|
|
|
|
|
|
|
|
|
|
@on-touch-zoomview ( -> ) |
|
|
|
|
|
|
|
|
|
( skip ) .Mouse/state DEI #00 ! BRK? |
|
|
|
|
( skip ) .Mouse/state DEI #00 ! [ JMP BRK ] |
|
|
|
|
|
|
|
|
|
.Mouse/y DEI2 .zoomview/y1 LDZ2 -- 8// NIP #04 ! ;&no-mod JCN2 |
|
|
|
|
.Mouse/x DEI2 .zoomview/x1 LDZ2 -- 8// NIP |
|
|
|
|
@ -633,7 +581,7 @@ BRK
|
|
|
|
|
|
|
|
|
|
@on-touch-blendview ( -> ) |
|
|
|
|
|
|
|
|
|
( skip ) .Mouse/state DEI #00 ! BRK? |
|
|
|
|
( skip ) .Mouse/state DEI #00 ! [ JMP BRK ] |
|
|
|
|
|
|
|
|
|
.Mouse/x DEI2 .blendview/x1 LDZ2 -- 8// NIP |
|
|
|
|
.Mouse/y DEI2 .blendview/y1 LDZ2 -- 8// NIP 4* + |
|
|
|
|
@ -655,7 +603,7 @@ BRK
|
|
|
|
|
|
|
|
|
|
@on-touch-colorview ( -> ) |
|
|
|
|
|
|
|
|
|
( skip ) .Mouse/state DEI #00 ! BRK? |
|
|
|
|
( skip ) .Mouse/state DEI #00 ! [ JMP BRK ] |
|
|
|
|
|
|
|
|
|
.Mouse/y DEI2 .colorview/y1 LDZ2 -- 8// NIP |
|
|
|
|
|
|
|
|
|
@ -691,7 +639,7 @@ BRK
|
|
|
|
|
|
|
|
|
|
@on-touch-preview ( -> ) |
|
|
|
|
|
|
|
|
|
( skip ) .Mouse/state DEI #00 ! BRK? |
|
|
|
|
( skip ) .Mouse/state DEI #00 ! [ JMP BRK ] |
|
|
|
|
|
|
|
|
|
( y ) .Mouse/y DEI2 .preview/y1 LDZ2 -- 8// NIP |
|
|
|
|
( x ) .Mouse/x DEI2 .preview/x1 LDZ2 -- 8// NIP |
|
|
|
|
@ -875,16 +823,6 @@ RTN
|
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@clear ( addr* length* -- ) |
|
|
|
|
|
|
|
|
|
OVR2 ++ SWP2 |
|
|
|
|
&loop |
|
|
|
|
DUP2 #00 ROT ROT STA |
|
|
|
|
INC2 NEQ2k ,&loop JCN |
|
|
|
|
POP2 POP2 |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@redraw ( -- ) |
|
|
|
|
|
|
|
|
|
;draw-toolview JSR2 |
|
|
|
|
@ -1026,11 +964,11 @@ RTN
|
|
|
|
|
STH SWP2 NIP |
|
|
|
|
STHr SWP |
|
|
|
|
STH2r SFT #01 AND ,&do-set JCN |
|
|
|
|
( mask ) #01 #07 ROT 8MOD - SFL #ff EOR AND |
|
|
|
|
( mask ) #01 #07 ROT 8MOD - #40 SFT SFT #ff EOR AND |
|
|
|
|
( save ) ROT ROT STA |
|
|
|
|
RTN |
|
|
|
|
&do-set |
|
|
|
|
( mask ) #01 #07 ROT 8MOD - SFL ORA |
|
|
|
|
( mask ) #01 #07 ROT 8MOD - #40 SFT SFT ORA |
|
|
|
|
( save ) ROT ROT STA |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
@ -1282,14 +1220,21 @@ RTN
|
|
|
|
|
STH |
|
|
|
|
.toolview/x1 LDZ2 #0040 ++ .Screen/x DEO2 |
|
|
|
|
.toolview/y1 LDZ2 .Screen/y DEO2 |
|
|
|
|
AUTO-X |
|
|
|
|
;path/name |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DUP2 ;slen JSR2 #0013 >> TOS |
|
|
|
|
;path/name ;slen JSR2 #0013 -- ** ++ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
&loop |
|
|
|
|
LDAk DUP #00 ! 20* - TOS 8** ;font ++ .Screen/addr DEO2 |
|
|
|
|
LDAk #20 - TOS 8** ;font ++ .Screen/addr DEO2 |
|
|
|
|
STHkr .Screen/sprite DEO |
|
|
|
|
.Screen/x DEI2 #0008 ++ .Screen/x DEO2 |
|
|
|
|
INC2 |
|
|
|
|
LDAk #00 ! ,&loop JCN |
|
|
|
|
INC2 LDAk ,&loop JCN |
|
|
|
|
POP2 |
|
|
|
|
AUTO-NONE |
|
|
|
|
POPr |
|
|
|
|
( clear last ) |
|
|
|
|
#00 .Screen/sprite DEO |
|
|
|
|
@ -1301,7 +1246,7 @@ RTN
|
|
|
|
|
.toolview/x2 LDZ2 #0008 -- .Screen/x DEO2 |
|
|
|
|
.toolview/y1 LDZ2 .Screen/y DEO2 |
|
|
|
|
;save-icn .Screen/addr DEO2 |
|
|
|
|
#0f05 .state/changed LDZ SWP? POP .Screen/sprite DEO |
|
|
|
|
#0f05 .state/changed LDZ #01 JCN SWP POP .Screen/sprite DEO |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@ -1327,28 +1272,26 @@ RTN
|
|
|
|
|
|
|
|
|
|
( file ) |
|
|
|
|
|
|
|
|
|
@new-file ( default* -- ) |
|
|
|
|
@new-file ( -- ) |
|
|
|
|
|
|
|
|
|
BANK-SPRITESHEET LENGTH ;clear JSR2 |
|
|
|
|
BANK-NAMETABLE #0200 ;clear JSR2 |
|
|
|
|
#00 ;draw-filepath JSR2 |
|
|
|
|
|
|
|
|
|
BANK-SPRITESHEET LENGTH ;mclr JSR2 |
|
|
|
|
BANK-NAMETABLE #0200 ;mclr JSR2 |
|
|
|
|
|
|
|
|
|
( rename to untitled.txt ) |
|
|
|
|
;path/name #0020 ;mclr JSR2 |
|
|
|
|
;untitled-txt ;path/name #000c ;mcpy JSR2 |
|
|
|
|
|
|
|
|
|
STH2 |
|
|
|
|
#0c #00 |
|
|
|
|
&loop |
|
|
|
|
DUPk TOS STH2kr ++ LDA |
|
|
|
|
SWP .path/name + STZ |
|
|
|
|
INC GTHk ,&loop JCN |
|
|
|
|
( end ) #00 SWP .path/name + STZ |
|
|
|
|
.path/length STZ |
|
|
|
|
POP2r |
|
|
|
|
RESET-STATE |
|
|
|
|
;redraw JSR2 |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@load-file ( -- ) |
|
|
|
|
|
|
|
|
|
BANK-SPRITESHEET LENGTH ;clear JSR2 |
|
|
|
|
BANK-NAMETABLE #0200 ;clear JSR2 |
|
|
|
|
BANK-SPRITESHEET LENGTH ;mclr JSR2 |
|
|
|
|
BANK-NAMETABLE #0200 ;mclr JSR2 |
|
|
|
|
|
|
|
|
|
( spritesheet ) |
|
|
|
|
;path/name .File/name DEO2 |
|
|
|
|
@ -1356,9 +1299,11 @@ RTN
|
|
|
|
|
BANK-SPRITESHEET .File/load DEO2 |
|
|
|
|
|
|
|
|
|
( nametable ) |
|
|
|
|
;nametable-txt .File/name DEO2 |
|
|
|
|
( append ) ;nametable-ext ;path/name ;scap JSR2 #0004 ;mcpy JSR2 |
|
|
|
|
;path/name .File/name DEO2 |
|
|
|
|
#0200 .File/length DEO2 |
|
|
|
|
BANK-NAMETABLE .File/load DEO2 |
|
|
|
|
( remove ) ;path/name ;scap JSR2 #0004 -- #0004 ;mclr JSR2 |
|
|
|
|
|
|
|
|
|
RESET-STATE |
|
|
|
|
;redraw JSR2 |
|
|
|
|
@ -1373,9 +1318,11 @@ RTN
|
|
|
|
|
BANK-SPRITESHEET .File/save DEO2 |
|
|
|
|
|
|
|
|
|
( nametable ) |
|
|
|
|
;nametable-txt .File/name DEO2 |
|
|
|
|
( append ) ;nametable-ext ;path/name ;scap JSR2 #0004 ;mcpy JSR2 |
|
|
|
|
;path/name .File/name DEO2 |
|
|
|
|
#0200 .File/length DEO2 |
|
|
|
|
BANK-NAMETABLE .File/save DEO2 |
|
|
|
|
( remove ) ;path/name ;scap JSR2 #0004 -- #0004 ;mclr JSR2 |
|
|
|
|
|
|
|
|
|
RESET-STATE |
|
|
|
|
|
|
|
|
|
@ -1532,6 +1479,69 @@ RTN
|
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
( memory generics ) |
|
|
|
|
|
|
|
|
|
@mclr ( addr* len* -- ) |
|
|
|
|
|
|
|
|
|
OVR2 ++ SWP2 |
|
|
|
|
&loop |
|
|
|
|
STH2k #00 STH2r STA |
|
|
|
|
INC2 GTH2k ,&loop JCN |
|
|
|
|
POP2 POP2 |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@mcpy ( src* dst* len* -- ) |
|
|
|
|
|
|
|
|
|
SWP2 STH2 SWP2 STH2 |
|
|
|
|
#0000 |
|
|
|
|
&loop |
|
|
|
|
( src ) STH2kr LDA |
|
|
|
|
( dst ) OVR2r STH2r STA |
|
|
|
|
( inc ) INC2r SWP2r INC2r SWP2r |
|
|
|
|
INC2 GTH2k ,&loop JCN |
|
|
|
|
POP2 POP2 |
|
|
|
|
POP2r POP2r |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
( string generics ) |
|
|
|
|
|
|
|
|
|
@slen ( str* -- len* ) |
|
|
|
|
|
|
|
|
|
DUP2 ,scap JSR SWP2 -- |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@scap ( str* -- str-end* ) |
|
|
|
|
|
|
|
|
|
( clamp ) LDAk #00 ! JMP RTN |
|
|
|
|
&while INC2 LDAk ,&while JCN |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@sput ( str* char -- ) |
|
|
|
|
|
|
|
|
|
ROT ROT ,scap JSR STA |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@spop ( str* -- ) |
|
|
|
|
|
|
|
|
|
( clamp ) LDAk #00 ! JMP RTN |
|
|
|
|
#00 ROT ROT ,scap JSR #0001 -- STA |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@print-str ( string* -- ) |
|
|
|
|
|
|
|
|
|
#0001 SUB2 |
|
|
|
|
&while |
|
|
|
|
INC2 LDAk DUP #18 DEO ,&while JCN |
|
|
|
|
POP2 |
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@print-hex ( value* -- ) |
|
|
|
|
|
|
|
|
|
SWP ,&byte JSR |
|
|
|
|
@ -1544,8 +1554,8 @@ RTN
|
|
|
|
|
|
|
|
|
|
RTN |
|
|
|
|
|
|
|
|
|
@nametable-txt "nametable $1 |
|
|
|
|
@untitled-txt "untitled.chr $1 |
|
|
|
|
@nametable-ext ".tbl $1 |
|
|
|
|
|
|
|
|
|
@tool-brush e0d0 8844 2212 0c00 |
|
|
|
|
@tool-selector 80c0 e0f0 f8e0 1000 |
|
|
|
|
|