Housekeeping
This commit is contained in:
parent
8d85b690f2
commit
e615104426
|
@ -1,5 +1,4 @@
|
||||||
(
|
( usage: arvelie.rom )
|
||||||
usage: arvelie.rom )
|
|
||||||
|
|
||||||
|10 @Console &vector $2 &read $1 &pad $4 &type $1 &write $1 &error $1
|
|10 @Console &vector $2 &read $1 &pad $4 &type $1 &write $1 &error $1
|
||||||
|c0 @DateTime &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1
|
|c0 @DateTime &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1
|
||||||
|
@ -37,8 +36,11 @@
|
||||||
@parse ( ztr -- )
|
@parse ( ztr -- )
|
||||||
DUP zlen #05 EQU ?&on-arvgre
|
DUP zlen #05 EQU ?&on-arvgre
|
||||||
DUP zlen #0a EQU ?&on-grearv
|
DUP zlen #0a EQU ?&on-grearv
|
||||||
( print-error ) ;&err &w LDAk #19 DEO
|
( | print-error )
|
||||||
INC2 LDAk ?&w
|
;&err
|
||||||
|
&w ( -- )
|
||||||
|
LDAk #19 DEO
|
||||||
|
INC2 LDAk ?&w
|
||||||
POP2
|
POP2
|
||||||
( err ) #010f DEO
|
( err ) #010f DEO
|
||||||
JMP2r
|
JMP2r
|
||||||
|
@ -55,7 +57,8 @@
|
||||||
( d ) STHr bytedec #0001 SUB2 doty SWP2 <emit-arv>
|
( d ) STHr bytedec #0001 SUB2 doty SWP2 <emit-arv>
|
||||||
#0a18 DEO
|
#0a18 DEO
|
||||||
( end ) #800f DEO
|
( end ) #800f DEO
|
||||||
JMP2r &err "usage: 20 "arvelie.rom 20 "YYYY-MM-DD 0a $1
|
JMP2r
|
||||||
|
&err "usage: 20 "arvelie.rom 20 "YYYY-MM-DD 0a $1
|
||||||
|
|
||||||
@<emit-gre> ( doty* year* -- )
|
@<emit-gre> ( doty* year* -- )
|
||||||
DUP2 <emit-dec2>
|
DUP2 <emit-dec2>
|
||||||
|
@ -64,10 +67,10 @@
|
||||||
STH2 #0c00
|
STH2 #0c00
|
||||||
&l ( -- )
|
&l ( -- )
|
||||||
DUP [ LIT2 &y $2 ] ROT diam #00 SWP DUP2 STH2kr GTH2 ?&>skip
|
DUP [ LIT2 &y $2 ] ROT diam #00 SWP DUP2 STH2kr GTH2 ?&>skip
|
||||||
STH2k SUB2r !&>continue
|
STH2k SUB2r !&>continue
|
||||||
&>skip
|
&>skip
|
||||||
POP2 !&end
|
POP2 !&end
|
||||||
&>continue
|
&>continue
|
||||||
POP2 INC GTHk ?&l
|
POP2 INC GTHk ?&l
|
||||||
&end ( -- )
|
&end ( -- )
|
||||||
NIP INC <emit-dec>
|
NIP INC <emit-dec>
|
||||||
|
@ -103,7 +106,7 @@
|
||||||
|
|
||||||
@diam ( year* month -- days )
|
@diam ( year* month -- days )
|
||||||
#00 OVR ;diam-lut ADD2 LDA SWP #01 NEQ ?&>no-feb
|
#00 OVR ;diam-lut ADD2 LDA SWP #01 NEQ ?&>no-feb
|
||||||
STH DUP2 is-leap-year STHr ADD &>no-feb
|
STH DUP2 is-leap-year STHr ADD &>no-feb
|
||||||
NIP NIP JMP2r
|
NIP NIP JMP2r
|
||||||
|
|
||||||
@is-leap-year ( year* -- bool )
|
@is-leap-year ( year* -- bool )
|
||||||
|
@ -133,10 +136,9 @@
|
||||||
DUP zcap SWP SUB JMP2r
|
DUP zcap SWP SUB JMP2r
|
||||||
|
|
||||||
@zcap ( ztr -- end )
|
@zcap ( ztr -- end )
|
||||||
!&>a
|
!&a
|
||||||
&w ( -- )
|
&w ( -- )
|
||||||
INC &>a
|
INC &a LDZk ?&w
|
||||||
LDZk ?&w
|
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
(
|
(
|
||||||
|
|
|
@ -3,34 +3,36 @@
|
||||||
|10 @Console &vector $2 &read $1 &pad $5 &write $1 &error $1
|
|10 @Console &vector $2 &read $1 &pad $5 &write $1 &error $1
|
||||||
|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|
|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|
||||||
|
|
||||||
|0000 @src $40 @queue $1
|
|0000
|
||||||
|
|
||||||
|0100 ( -> )
|
@src $40
|
||||||
|
@queue $1
|
||||||
|
|
||||||
|
|0100
|
||||||
|
|
||||||
|
@on-reset ( -> )
|
||||||
;await-src .Console/vector DEO2
|
;await-src .Console/vector DEO2
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
@await-src ( -> )
|
@await-src ( -> )
|
||||||
.Console/read DEI .src skey ?on-ready
|
.Console/read DEI .src skey ?on-ready
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
@on-ready ( -> )
|
@on-ready ( -> )
|
||||||
;src .File/name DEO2
|
;src .File/name DEO2
|
||||||
#0001 .File/length DEO2
|
#0001 .File/length DEO2
|
||||||
;&buf
|
;&buf
|
||||||
&stream
|
&stream ( -- )
|
||||||
DUP2 .File/read DEO2
|
DUP2 .File/read DEO2
|
||||||
.File/success DEI2 #0000 EQU2 ?&eof
|
.File/success DEI2 #0000 EQU2 ?&eof
|
||||||
LDAk append
|
LDAk append !&stream
|
||||||
!&stream &eof
|
&eof POP2
|
||||||
POP2
|
( | pad )
|
||||||
( pad )
|
.queue LDZ #00 EQU ?&>no-pad
|
||||||
.queue LDZ #00 EQU ?&no-pad
|
#00 append &>no-pad
|
||||||
#00 append
|
|
||||||
&no-pad
|
|
||||||
#0a18 DEO
|
#0a18 DEO
|
||||||
#010f DEO
|
#010f DEO
|
||||||
BRK
|
BRK &buf $1
|
||||||
&buf $1
|
|
||||||
|
|
||||||
(
|
(
|
||||||
@|core )
|
@|core )
|
||||||
|
@ -38,30 +40,34 @@ BRK
|
||||||
@append ( byte -- )
|
@append ( byte -- )
|
||||||
,&buf STR
|
,&buf STR
|
||||||
#0800
|
#0800
|
||||||
&l
|
&l ( -- )
|
||||||
[ LIT &buf $1 ] OVR #07 SWP SUB SFT #01 AND
|
( ) [ LIT &buf $1 ] OVR #07 SWP SUB SFT #01 AND
|
||||||
[ LIT &inc $1 ] INCk #06 DIVk MUL SUB ,&inc STR
|
( ) [ LIT &inc $1 ] INCk #06 DIVk MUL SUB ,&inc STR
|
||||||
( bit id -- )
|
( bit id -- ) SWP .queue LDZ ORA DUP ADD .queue STZ
|
||||||
SWP .queue LDZ ORA DUP ADD .queue STZ
|
#05 NEQ ?&>no-cap
|
||||||
#05 NEQ ?&no-cap
|
[ LIT2 00 -queue ] DUP2 LDZ #01 SFT ;MIME ADD2 LDA #18 DEO
|
||||||
[ LIT2 00 -queue ]
|
STZ &>no-cap
|
||||||
DUP2 LDZ #01 SFT ;MIME ADD2 LDA #18 DEO
|
|
||||||
STZ
|
|
||||||
&no-cap
|
|
||||||
INC GTHk ?&l
|
INC GTHk ?&l
|
||||||
POP2
|
POP2 JMP2r
|
||||||
JMP2r
|
|
||||||
|
|
||||||
@MIME [
|
@MIME
|
||||||
"ABCDEFGHIJKLMNOP
|
[ "ABCDEFGHIJKLMNOP "QRSTUVWXYZabcdef "ghijklmnopqrstuv "wxyz0123456789+/ ]
|
||||||
"QRSTUVWXYZabcdef
|
|
||||||
"ghijklmnopqrstuv
|
|
||||||
"wxyz0123456789+/ ]
|
|
||||||
|
|
||||||
(
|
(
|
||||||
@|stdlib )
|
@|stdlib )
|
||||||
|
|
||||||
@skey ( key buf -- proc ) OVR #21 LTH ?&eval #00 SWP sput #00 JMP2r &eval POP2 #01 JMP2r
|
@skey ( key buf -- proc )
|
||||||
@scap ( str* -- end* ) LDAk #00 NEQ [ JMP JMP2r ] &w INC2 LDAk ?&w JMP2r
|
OVR #21 LTH ?&eval
|
||||||
@sput ( chr str* -- ) scap INC2k #00 ROT ROT STA STA JMP2r
|
#00 SWP sput #00 JMP2r
|
||||||
|
&eval POP2 #01 JMP2r
|
||||||
|
|
||||||
|
@scap ( str* -- end* )
|
||||||
|
!&a
|
||||||
|
&w ( -- )
|
||||||
|
INC2 &a LDAk ?&w
|
||||||
|
JMP2r
|
||||||
|
|
||||||
|
@sput ( chr str* -- )
|
||||||
|
scap ROT #00 SWP2 STA2
|
||||||
|
JMP2r
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
(
|
( uxncli hx.rom file.bin )
|
||||||
uxncli hx.rom file.bin )
|
|
||||||
|
|
||||||
|10 @Console &vector $2 &read $1 &pad $4 &type $1 &write $1 &error $1
|
|10 @Console &vector $2 &read $1 &pad $4 &type $1 &write $1 &error $1
|
||||||
|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|
|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|
||||||
|
@ -11,13 +10,12 @@
|
||||||
|0100
|
|0100
|
||||||
|
|
||||||
@on-reset ( -> )
|
@on-reset ( -> )
|
||||||
.Console/type DEI ?&on-arg
|
.Console/type DEI ?&>has-arg
|
||||||
;Dict/usage <perr>
|
;Dict/usage <perr>
|
||||||
#010f DEO
|
#010f DEO
|
||||||
|
BRK &>has-arg
|
||||||
|
;await-src .Console/vector DEO2
|
||||||
BRK
|
BRK
|
||||||
&on-arg ( -> )
|
|
||||||
;await-src .Console/vector DEO2
|
|
||||||
BRK
|
|
||||||
|
|
||||||
@await-src ( -> )
|
@await-src ( -> )
|
||||||
.Console/read DEI .src skey ?on-ready
|
.Console/read DEI .src skey ?on-ready
|
||||||
|
@ -39,13 +37,12 @@
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
@<print-spacer> ( id -- )
|
@<print-spacer> ( id -- )
|
||||||
DUP #0f AND ?&no-lb
|
DUP #0f AND ?&>no-lb
|
||||||
POP #0a18 DEO
|
POP #0a18 DEO
|
||||||
|
JMP2r &>no-lb
|
||||||
|
#01 AND ?&>end
|
||||||
|
#2018 DEO &>end
|
||||||
JMP2r
|
JMP2r
|
||||||
&no-lb ( id -- )
|
|
||||||
#01 AND ?&end
|
|
||||||
#2018 DEO
|
|
||||||
&end JMP2r
|
|
||||||
|
|
||||||
(
|
(
|
||||||
@|stdlib )
|
@|stdlib )
|
||||||
|
|
|
@ -3,54 +3,69 @@
|
||||||
|10 @Console &vector $2 &read $1 &pad $5 &write $1 &error $1
|
|10 @Console &vector $2 &read $1 &pad $5 &write $1 &error $1
|
||||||
|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|
|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|
||||||
|
|
||||||
|0000 @src $40 @queue $1
|
|0000
|
||||||
|
|
||||||
|0100 ( -> )
|
@src $40
|
||||||
|
@queue $1
|
||||||
|
|
||||||
|
|0100
|
||||||
|
|
||||||
|
@on-reset ( -> )
|
||||||
;await-src .Console/vector DEO2
|
;await-src .Console/vector DEO2
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
@await-src ( -> )
|
@await-src ( -> )
|
||||||
.Console/read DEI .src skey ?on-ready
|
.Console/read DEI .src skey ?on-ready
|
||||||
BRK
|
BRK
|
||||||
|
|
||||||
@on-ready ( -> )
|
@on-ready ( -> )
|
||||||
;src .File/name DEO2
|
;src .File/name DEO2
|
||||||
#0002 .File/length DEO2
|
#0002 .File/length DEO2
|
||||||
;&buf
|
;&buf
|
||||||
&stream
|
&stream ( -- )
|
||||||
DUP2 .File/read DEO2
|
DUP2 .File/read DEO2
|
||||||
.File/success DEI2 #0000 EQU2 ?&eof
|
.File/success DEI2 #0000 EQU2 ?&eof
|
||||||
LDA2k proquint
|
LDA2k proquint !&stream
|
||||||
!&stream &eof
|
&eof POP2 #0a18 DEO
|
||||||
POP2
|
|
||||||
#0a18 DEO
|
|
||||||
#010f DEO
|
#010f DEO
|
||||||
BRK
|
BRK &buf $2
|
||||||
&buf $2
|
|
||||||
|
|
||||||
(
|
(
|
||||||
@|core )
|
@|core )
|
||||||
|
|
||||||
@proquint ( short* -- )
|
@proquint ( short* -- )
|
||||||
|
|
||||||
( c1 ) DUP2 #0c emit-con
|
( c1 ) DUP2 #0c emit-con
|
||||||
( v1 ) DUP2 #0a emit-vow
|
( v1 ) DUP2 #0a emit-vow
|
||||||
( c2 ) DUP2 #06 emit-con
|
( c2 ) DUP2 #06 emit-con
|
||||||
( v2 ) DUP2 #03 emit-vow
|
( v2 ) DUP2 #03 emit-vow
|
||||||
( c3 ) #00 emit-con
|
( c3 ) #00 emit-con #20
|
||||||
#20 &emit ( c -- ) #18 DEO
|
&emit ( c -- )
|
||||||
|
#18 DEO
|
||||||
|
JMP2r
|
||||||
|
|
||||||
JMP2r
|
@emit-con
|
||||||
|
SFT2 #000f AND2 ;&con ADD2 LDA !proquint/emit
|
||||||
|
&con [ "bdfghjklmnprstvz ]
|
||||||
|
|
||||||
@emit-con SFT2 #000f AND2 ;&con ADD2 LDA !proquint/emit
|
@emit-vow
|
||||||
&con "bdfghjklmnprstvz
|
SFT2 #0003 AND2 ;&vow ADD2 LDA !proquint/emit
|
||||||
@emit-vow SFT2 #0003 AND2 ;&vow ADD2 LDA !proquint/emit
|
&vow [ "aiou ]
|
||||||
&vow "aiou
|
|
||||||
|
|
||||||
(
|
(
|
||||||
@|stdlib )
|
@|stdlib )
|
||||||
|
|
||||||
@skey ( key buf -- proc ) OVR #21 LTH ?&eval #00 SWP sput #00 JMP2r &eval POP2 #01 JMP2r
|
@skey ( key buf -- proc )
|
||||||
@scap ( str* -- end* ) LDAk #00 NEQ [ JMP JMP2r ] &w INC2 LDAk ?&w JMP2r
|
OVR #21 LTH ?&eval
|
||||||
@sput ( chr str* -- ) scap INC2k #00 ROT ROT STA STA JMP2r
|
#00 SWP sput #00 JMP2r
|
||||||
|
&eval POP2 #01 JMP2r
|
||||||
|
|
||||||
|
@scap ( str* -- end* )
|
||||||
|
LDAk #00 NEQ [ JMP JMP2r ]
|
||||||
|
&w ( -- )
|
||||||
|
INC2 LDAk ?&w
|
||||||
|
JMP2r
|
||||||
|
|
||||||
|
@sput ( chr str* -- )
|
||||||
|
scap ROT #00 SWP2 STA2
|
||||||
|
JMP2r
|
||||||
|
|
||||||
|
|
|
@ -9,235 +9,219 @@
|
||||||
|
|
||||||
@src $40
|
@src $40
|
||||||
|
|
||||||
|0100 ( -> )
|
|0100
|
||||||
|
|
||||||
( meta )
|
@on-reset ( -> )
|
||||||
;meta #06 DEO2
|
;meta #06 DEO2
|
||||||
|
|
||||||
#960f .System/r DEO2
|
#960f .System/r DEO2
|
||||||
#a70f .System/g DEO2
|
#a70f .System/g DEO2
|
||||||
#a70f .System/b DEO2
|
#a70f .System/b DEO2
|
||||||
|
|
||||||
#0150 .Screen/width DEO2
|
#0150 .Screen/width DEO2
|
||||||
#0050 .Screen/height DEO2
|
#0050 .Screen/height DEO2
|
||||||
|
|
||||||
;await-src .Console/vector DEO2
|
;await-src .Console/vector DEO2
|
||||||
;dict/input pstr
|
;dict/input <pstr>
|
||||||
|
BRK
|
||||||
|
|
||||||
BRK
|
@meta
|
||||||
|
00
|
||||||
@meta 00
|
|
||||||
( name ) "Meta 0a
|
( name ) "Meta 0a
|
||||||
( details ) "A 20 "ROM 20 "metadata 20 "viewer 0a
|
( details ) "A 20 "ROM 20 "metadata 20 "viewer 0a
|
||||||
( author ) "By 20 "Devine 20 "Lu 20 "Linvega 0a
|
( author ) "By 20 "Devine 20 "Lu 20 "Linvega 0a
|
||||||
( date ) "Apr 20 "4, 20 "2023 00
|
( date ) "Apr 20 "4, 20 "2023 00 01
|
||||||
01
|
( icon ) 83 =appicon
|
||||||
( icon ) 83 =appicon
|
|
||||||
|
|
||||||
(
|
(
|
||||||
@|vectors )
|
@|vectors )
|
||||||
|
|
||||||
@await-src ( -> )
|
@await-src ( -> )
|
||||||
|
.Console/read DEI .src skey ?on-ready
|
||||||
.Console/read DEI .src skey
|
BRK
|
||||||
?on-ready
|
|
||||||
|
|
||||||
BRK
|
|
||||||
|
|
||||||
@on-ready ( -> )
|
@on-ready ( -> )
|
||||||
|
;src DUP2 <pstr>
|
||||||
;src
|
#0a18 DEO
|
||||||
DUP2 pstr #0a18 DEO
|
has-metadata ?&>has-metadata
|
||||||
has-metadata
|
#004c .Screen/x DEO2
|
||||||
?&on-metadata
|
#0024 .Screen/y DEO2
|
||||||
|
;dict/empty <draw-txt>
|
||||||
#004c .Screen/x DEO2
|
POP2 BRK &>has-metadata
|
||||||
#0024 .Screen/y DEO2
|
load-metadata ;metadata/body <pstr>
|
||||||
|
#0a18 DEO
|
||||||
;dict/empty draw-txt POP2
|
<draw-metadata>
|
||||||
|
BRK
|
||||||
BRK
|
|
||||||
|
|
||||||
&on-metadata ( -> )
|
|
||||||
|
|
||||||
load-metadata
|
|
||||||
;metadata/body pstr #0a18 DEO
|
|
||||||
draw-metadata
|
|
||||||
|
|
||||||
BRK
|
|
||||||
|
|
||||||
(
|
(
|
||||||
@|core )
|
@|core )
|
||||||
|
|
||||||
@has-metadata ( src* -- bool )
|
@has-metadata ( src* -- bool )
|
||||||
|
|
||||||
.File/name DEO2
|
.File/name DEO2
|
||||||
#0006 .File/length DEO2
|
#0006 .File/length DEO2
|
||||||
;metadata/header .File/read DEO2
|
;metadata/header .File/read DEO2
|
||||||
;metadata/deo LDA2 #0637 EQU2
|
;metadata/deo LDA2 #0637 EQU2 JMP2r
|
||||||
|
|
||||||
JMP2r
|
|
||||||
|
|
||||||
@load-metadata ( -- )
|
@load-metadata ( -- )
|
||||||
|
|
||||||
;metadata/start LDA2 #0100 SUB2 seek
|
;metadata/start LDA2 #0100 SUB2 seek
|
||||||
|
( | version )
|
||||||
( version )
|
|
||||||
#0001 .File/length DEO2
|
#0001 .File/length DEO2
|
||||||
;metadata/version .File/read DEO2
|
;metadata/version .File/read DEO2
|
||||||
|
( | body )
|
||||||
( body )
|
|
||||||
LIT2r =metadata/body
|
LIT2r =metadata/body
|
||||||
&s
|
&s ( -- )
|
||||||
STH2kr
|
STH2kr DUP2 .File/read DEO2
|
||||||
DUP2 .File/read DEO2
|
INC2r LDA ?&s
|
||||||
INC2r LDA ?&s
|
|
||||||
POP2r
|
POP2r
|
||||||
|
( | fields )
|
||||||
( fields )
|
;metadata/fields DUP2 .File/read DEO2
|
||||||
;metadata/fields
|
LDAk #03 MUL #00 SWP .File/length DEO2
|
||||||
DUP2 .File/read DEO2
|
INC2 .File/read DEO2
|
||||||
LDAk #03 MUL #00 SWP .File/length DEO2
|
JMP2r
|
||||||
INC2 .File/read DEO2
|
|
||||||
|
|
||||||
JMP2r
|
|
||||||
|
|
||||||
(
|
(
|
||||||
@|drawing )
|
@|drawing )
|
||||||
|
|
||||||
@draw-metadata ( -- )
|
@<draw-metadata> ( -- )
|
||||||
|
|
||||||
#004c .Screen/x DEO2
|
#004c .Screen/x DEO2
|
||||||
#0012 .Screen/y DEO2
|
#0012 .Screen/y DEO2
|
||||||
;metadata/body draw-txt POP2
|
;metadata/body <draw-txt>
|
||||||
( find picture )
|
POP2
|
||||||
;metadata/fields LDAk LITr 00 STH
|
( | find picture )
|
||||||
INC2 DUP2 STH2r ADD2 SWP2
|
;metadata/fields LDAk LITr 00 STH INC2 DUP2 STH2r ADD2 SWP2
|
||||||
&l
|
&l ( -- )
|
||||||
LDAk #83 NEQ ?&no-pict
|
LDAk #83 NEQ ?&>no-pict
|
||||||
INC2k LDA2 #0100 SUB2 draw-icon
|
INC2k LDA2 #0100 SUB2 <draw-icon> &>no-pict
|
||||||
&no-pict
|
|
||||||
INC2 GTH2k ?&l
|
INC2 GTH2k ?&l
|
||||||
POP2 POP2
|
POP2 POP2 JMP2r
|
||||||
|
|
||||||
JMP2r
|
@<draw-icon> ( location* -- )
|
||||||
|
seek #0090 .File/length DEO2
|
||||||
@draw-icon ( location* -- )
|
;metadata/icon DUP2 .File/read DEO2
|
||||||
|
.Screen/addr DEO2
|
||||||
seek
|
|
||||||
#0090 .File/length DEO2
|
|
||||||
;metadata/icon
|
|
||||||
DUP2 .File/read DEO2
|
|
||||||
.Screen/addr DEO2
|
|
||||||
[ LIT2 26 -Screen/auto ] DEO
|
[ LIT2 26 -Screen/auto ] DEO
|
||||||
#001c
|
#001c DUP2 .Screen/x DEO2
|
||||||
DUP2 .Screen/x DEO2
|
.Screen/y DEO2
|
||||||
.Screen/y DEO2
|
[ LIT2 81 -Screen/sprite ] DEOk
|
||||||
[ LIT2 81 -Screen/sprite ] DEOk DEOk DEO
|
DEOk
|
||||||
|
DEO
|
||||||
JMP2r
|
JMP2r
|
||||||
|
|
||||||
@draw-txt ( txt* -- end* )
|
|
||||||
|
|
||||||
|
@<draw-txt> ( txt* -- end* )
|
||||||
[ LIT2 01 -Screen/auto ] DEO
|
[ LIT2 01 -Screen/auto ] DEO
|
||||||
.Screen/x DEI2 ,&anchor STR2
|
.Screen/x DEI2 ,&anchor STR2
|
||||||
&w
|
&w ( -- )
|
||||||
LDAk #20 SUB #00 SWP #30 SFT2 ;font ADD2 .Screen/addr DEO2
|
LDAk #20 SUB #00 SWP #30 SFT2 ;font ADD2 .Screen/addr DEO2
|
||||||
[ LIT2 02 -Screen/sprite ] DEO
|
[ LIT2 02 -Screen/sprite ] DEO
|
||||||
LDAk #0a NEQ ?&no-lb
|
LDAk #0a NEQ ?&>no-lb
|
||||||
[ LIT2 &anchor $2 ] .Screen/x DEO2
|
[ LIT2 &anchor $2 ] .Screen/x DEO2
|
||||||
.Screen/y DEI2k #000c ADD2 ROT DEO2
|
.Screen/y DEI2k #000c ADD2 ROT DEO2 &>no-lb
|
||||||
&no-lb
|
|
||||||
INC2 LDAk ?&w
|
INC2 LDAk ?&w
|
||||||
|
JMP2r
|
||||||
JMP2r
|
|
||||||
|
|
||||||
(
|
(
|
||||||
@|stdlib )
|
@|stdlib )
|
||||||
|
|
||||||
@seek ( length* -- )
|
@seek ( length* -- )
|
||||||
|
|
||||||
.File/name DEI2k ROT DEO2
|
.File/name DEI2k ROT DEO2
|
||||||
#0000 INC2k .File/length DEO2
|
#0000 INC2k .File/length DEO2
|
||||||
&l
|
&l ( -- )
|
||||||
;&b .File/read DEO2
|
;&b .File/read DEO2
|
||||||
INC2 GTH2k ?&l
|
INC2 GTH2k ?&l
|
||||||
POP2 POP2
|
POP2 POP2 JMP2r
|
||||||
|
|
||||||
JMP2r
|
|
||||||
&b $1
|
&b $1
|
||||||
|
|
||||||
@scap ( str* -- end* ) LDAk ?&w [ JMP2r ] &w INC2 LDAk ?&w JMP2r
|
@scap ( str* -- end* )
|
||||||
@sput ( chr str* -- ) scap STA JMP2r
|
!&a
|
||||||
@skey ( key buf -- proc ) OVR #21 LTH ?&eval #00 SWP sput #00 JMP2r &eval POP2 #01 JMP2r
|
&w ( -- )
|
||||||
@pstr ( str* -- ) &w LDAk #18 DEO INC2 LDAk ?&w POP2 JMP2r
|
INC2 &a LDAk ?&w
|
||||||
|
JMP2r
|
||||||
|
|
||||||
|
@sput ( chr str* -- )
|
||||||
|
scap STA
|
||||||
|
JMP2r
|
||||||
|
|
||||||
|
@skey ( key buf -- proc )
|
||||||
|
OVR #21 LTH ?&eval
|
||||||
|
#00 SWP sput #00 JMP2r
|
||||||
|
&eval POP2 #01 JMP2r
|
||||||
|
|
||||||
|
@<pstr> ( str* -- )
|
||||||
|
&w ( -- )
|
||||||
|
LDAk #18 DEO
|
||||||
|
INC2 LDAk ?&w
|
||||||
|
POP2 JMP2r
|
||||||
|
|
||||||
(
|
(
|
||||||
@|assets )
|
@|assets )
|
||||||
|
|
||||||
@dict
|
@dict &input "Input(.tal): 20 $1
|
||||||
&input "Input(.tal): 20 $1
|
|
||||||
&empty "Metadata 20 "Missing $1
|
&empty "Metadata 20 "Missing $1
|
||||||
|
|
||||||
@appicon ( 3x3 ) [
|
@appicon ( 3x3 )
|
||||||
0000 3f20 2020 2020 ffff ffff ffff ffff 0000 ff18 0000 0000 ffff ffff ffff ffff
|
[
|
||||||
0000 fc04 0404 0404 ffff ffff ffff ffff 2020 2030 3020 2020 ffff ffff ffff ffff
|
0000 3f20 2020 2020 ffff ffff ffff ffff
|
||||||
0000 0000 0000 0000 ffff ffff ffff ffff 0404 040c 0c04 0404 ffff ffff ffff ffff
|
0000 ff18 0000 0000 ffff ffff ffff ffff
|
||||||
2020 2020 203f 0000 ffff ffff ffff ffff 0000 0000 18ff 0000 ffff ffff ffff ffff
|
0000 fc04 0404 0404 ffff ffff ffff ffff
|
||||||
0404 0404 04fc 0000 ffff ffff ffff ffff ]
|
2020 2030 3020 2020 ffff ffff ffff ffff
|
||||||
|
0000 0000 0000 0000 ffff ffff ffff ffff
|
||||||
|
0404 040c 0c04 0404 ffff ffff ffff ffff
|
||||||
|
2020 2020 203f 0000 ffff ffff ffff ffff
|
||||||
|
0000 0000 18ff 0000 ffff ffff ffff ffff
|
||||||
|
0404 0404 04fc 0000 ffff ffff ffff ffff ]
|
||||||
|
|
||||||
@font ( atari8 ) [
|
@font ( atari8 )
|
||||||
0000 0000 0000 0000 6060 6060 6000 6000
|
[
|
||||||
6666 6600 0000 0000 006c fe6c 6cfe 6c00
|
0000 0000 0000 0000 6060 6060 6000 6000
|
||||||
183e 603c 067c 1800 0066 6c18 3066 4600
|
6666 6600 0000 0000 006c fe6c 6cfe 6c00
|
||||||
386c 3870 decc 7600 6060 6000 0000 0000
|
183e 603c 067c 1800 0066 6c18 3066 4600
|
||||||
1c30 3030 3030 1c00 380c 0c0c 0c0c 3800
|
386c 3870 decc 7600 6060 6000 0000 0000
|
||||||
0066 3cff 3c66 0000 0018 187e 1818 0000
|
1c30 3030 3030 1c00 380c 0c0c 0c0c 3800
|
||||||
0000 0000 0030 3060 0000 007e 0000 0000
|
0066 3cff 3c66 0000 0018 187e 1818 0000
|
||||||
0000 0000 0018 1800 0306 0c18 3060 c000
|
0000 0000 0030 3060 0000 007e 0000 0000
|
||||||
3c66 6e76 6666 3c00 1838 1818 1818 7e00
|
0000 0000 0018 1800 0306 0c18 3060 c000
|
||||||
3c66 060c 1830 7e00 7e0c 180c 0666 3c00
|
3c66 6e76 6666 3c00 1838 1818 1818 7e00
|
||||||
0c1c 3c6c 7e0c 0c00 7e60 7c06 0666 3c00
|
3c66 060c 1830 7e00 7e0c 180c 0666 3c00
|
||||||
3c60 607c 6666 3c00 7e06 0c18 3030 3000
|
0c1c 3c6c 7e0c 0c00 7e60 7c06 0666 3c00
|
||||||
3c66 663c 6666 3c00 3c66 663e 060c 3800
|
3c60 607c 6666 3c00 7e06 0c18 3030 3000
|
||||||
0018 1800 0018 1800 0018 1800 1818 3000
|
3c66 663c 6666 3c00 3c66 663e 060c 3800
|
||||||
0c18 3060 3018 0c00 0000 7e00 007e 0000
|
0018 1800 0018 1800 0018 1800 1818 3000
|
||||||
3018 0c06 0c18 3000 3c66 060c 1800 1800
|
0c18 3060 3018 0c00 0000 7e00 007e 0000
|
||||||
3c66 6e6a 6e60 3e00 183c 6666 7e66 6600
|
3018 0c06 0c18 3000 3c66 060c 1800 1800
|
||||||
7c66 667c 6666 7c00 3c66 6060 6066 3c00
|
3c66 6e6a 6e60 3e00 183c 6666 7e66 6600
|
||||||
786c 6666 666c 7800 7e60 607c 6060 7e00
|
7c66 667c 6666 7c00 3c66 6060 6066 3c00
|
||||||
7e60 607c 6060 6000 3e60 606e 6666 3e00
|
786c 6666 666c 7800 7e60 607c 6060 7e00
|
||||||
6666 667e 6666 6600 3c18 1818 1818 3c00
|
7e60 607c 6060 6000 3e60 606e 6666 3e00
|
||||||
3e06 0606 0666 3c00 666c 7870 786c 6600
|
6666 667e 6666 6600 3c18 1818 1818 3c00
|
||||||
6060 6060 6060 7e00 c6ee fed6 c6c6 c600
|
3e06 0606 0666 3c00 666c 7870 786c 6600
|
||||||
6676 7e7e 6e66 6600 3c66 6666 6666 3c00
|
6060 6060 6060 7e00 c6ee fed6 c6c6 c600
|
||||||
7c66 667c 6060 6000 3c66 6666 766c 3600
|
6676 7e7e 6e66 6600 3c66 6666 6666 3c00
|
||||||
7c66 667c 6c66 6600 3c66 603c 0666 3c00
|
7c66 667c 6060 6000 3c66 6666 766c 3600
|
||||||
7e18 1818 1818 1800 6666 6666 6666 3e00
|
7c66 667c 6c66 6600 3c66 603c 0666 3c00
|
||||||
6666 6666 663c 1800 c6c6 c6d6 feee c600
|
7e18 1818 1818 1800 6666 6666 6666 3e00
|
||||||
6666 3c18 3c66 6600 6666 663c 1818 1800
|
6666 6666 663c 1800 c6c6 c6d6 feee c600
|
||||||
7e06 0c18 3060 7e00 3c30 3030 3030 3c00
|
6666 3c18 3c66 6600 6666 663c 1818 1800
|
||||||
c060 3018 0c06 0300 3c0c 0c0c 0c0c 3c00
|
7e06 0c18 3060 7e00 3c30 3030 3030 3c00
|
||||||
1038 6cc6 0000 0000 0000 0000 0000 fe00
|
c060 3018 0c06 0300 3c0c 0c0c 0c0c 3c00
|
||||||
0060 3018 0000 0000 0000 3c06 3e66 3e00
|
1038 6cc6 0000 0000 0000 0000 0000 fe00
|
||||||
6060 7c66 6666 7c00 0000 3c60 6060 3c00
|
0060 3018 0000 0000 0000 3c06 3e66 3e00
|
||||||
0606 3e66 6666 3e00 0000 3c66 7e60 3c00
|
6060 7c66 6666 7c00 0000 3c60 6060 3c00
|
||||||
1c30 7c30 3030 3000 0000 3e66 663e 067c
|
0606 3e66 6666 3e00 0000 3c66 7e60 3c00
|
||||||
6060 7c66 6666 6600 1800 3818 1818 3c00
|
1c30 7c30 3030 3000 0000 3e66 663e 067c
|
||||||
1800 1818 1818 1870 6060 666c 786c 6600
|
6060 7c66 6666 6600 1800 3818 1818 3c00
|
||||||
3818 1818 1818 3c00 0000 ecfe d6c6 c600
|
1800 1818 1818 1870 6060 666c 786c 6600
|
||||||
0000 7c66 6666 6600 0000 3c66 6666 3c00
|
3818 1818 1818 3c00 0000 ecfe d6c6 c600
|
||||||
0000 7c66 6666 7c60 0000 3e66 6666 3e06
|
0000 7c66 6666 6600 0000 3c66 6666 3c00
|
||||||
0000 7c66 6060 6000 0000 3e60 3c06 7c00
|
0000 7c66 6666 7c60 0000 3e66 6666 3e06
|
||||||
0018 7e18 1818 0e00 0000 6666 6666 3e00
|
0000 7c66 6060 6000 0000 3e60 3c06 7c00
|
||||||
0000 6666 663c 1800 0000 c6c6 d67c 6c00
|
0018 7e18 1818 0e00 0000 6666 6666 3e00
|
||||||
0000 663c 183c 6600 0000 6666 663e 067c
|
0000 6666 663c 1800 0000 c6c6 d67c 6c00
|
||||||
0000 7e0c 1830 7e00 1c30 3060 3030 1c00
|
0000 663c 183c 6600 0000 6666 663e 067c
|
||||||
1818 1818 1818 1818 380c 0c06 0c0c 3800
|
0000 7e0c 1830 7e00 1c30 3060 3030 1c00
|
||||||
0000 60f2 9e0c 0000 3c42 9985 8599 423c ]
|
1818 1818 1818 1818 380c 0c06 0c0c 3800
|
||||||
|
0000 60f2 9e0c 0000 3c42 9985 8599 423c ]
|
||||||
|
|
||||||
@metadata
|
@metadata &header $1
|
||||||
&header $1 &start $3 &deo $2 &version $1
|
&start $3
|
||||||
|
&deo $2
|
||||||
|
&version $1
|
||||||
&body $100
|
&body $100
|
||||||
&fields $100
|
&fields $100
|
||||||
&icon $90
|
&icon $90
|
||||||
|
|
Loading…
Reference in New Issue