Made simple load/save examples composable

This commit is contained in:
Andrew Alderwick 2021-05-21 14:34:22 +01:00
parent 85a33c6b03
commit 9abcca773b
2 changed files with 15 additions and 8 deletions

View File

@ -12,8 +12,11 @@
( program ) ( program )
|0100 @reset ( -> ) |0100 ( -> )
;try-load JSR2
BRK
@try-load ( -- )
( load contents from file ) ( load contents from file )
#1000 .File/length DEO2 #1000 .File/length DEO2
;filename .File/name DEO2 ;filename .File/name DEO2
@ -24,7 +27,7 @@
#f0f7 .System/r DEO2 #f0f7 .System/r DEO2
#f0f7 .System/g DEO2 #f0f7 .System/g DEO2
#00f7 .System/b DEO2 #00f7 .System/b DEO2
BRK JMP2r
&success &success
( read successful: dark blue background, show contents ) ( read successful: dark blue background, show contents )
@ -32,7 +35,7 @@
#00f7 .System/g DEO2 #00f7 .System/g DEO2
#40f7 .System/b DEO2 #40f7 .System/b DEO2
;contents DUP2 .File/success DEI2 ADD2 SWP2 ;draw JSR2 ;contents DUP2 .File/success DEI2 ADD2 SWP2 ;draw JSR2
BRK JMP2r
@draw ( end-ptr* ptr* -- ) @draw ( end-ptr* ptr* -- )
EQU2k ,&end JCN EQU2k ,&end JCN

View File

@ -3,6 +3,7 @@
( devices ) ( devices )
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ] |00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ]
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ]
|a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ] |a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ]
( variables ) ( variables )
@ -11,8 +12,11 @@
( init ) ( init )
|0100 @reset ( -> ) |0100 ( -> )
;try-save JSR2
BRK
@try-save ( -- )
( save contents to file ) ( save contents to file )
;contents/end ;contents SUB2 .File/length DEO2 ;contents/end ;contents SUB2 .File/length DEO2
;filename .File/name DEO2 ;filename .File/name DEO2
@ -23,16 +27,16 @@
#f0f7 .System/r DEO2 #f0f7 .System/r DEO2
#f0f7 .System/g DEO2 #f0f7 .System/g DEO2
#00f7 .System/b DEO2 #00f7 .System/b DEO2
BRK JMP2r
&success &success
( write successful: dark blue background ) ( write successful: dark blue background )
#00f7 .System/r DEO2 #00f7 .System/r DEO2
#00f7 .System/g DEO2 #00f7 .System/g DEO2
#40f7 .System/b DEO2 #40f7 .System/b DEO2
BRK JMP2r
@filename "hello.txt 00 @filename "hello.txt 00
@contents "Hello 20 "world, 20 "how 20 "are 20 "you? 0a @contents "Hello 20 "world, 0a "how 20 "are 20 "you? 0a
&end &end