uxn

Varvara Ordinator, written in ANSI C(SDL2)
git clone https://git.eamoncaddigan.net/uxn.git
Log | Files | Refs | README | LICENSE

commit fe5aa44816840fc967ea3332d3375cb21816574c
parent 88fb08c2b22eaf407d251bcd48372f4d33fb5480
Author: Andrew Alderwick <andrew@alderwick.co.uk>
Date:   Tue, 23 Mar 2021 20:10:35 +0000

Add example for enhanced file device.

Diffstat:
Aprojects/examples/dev.file.usm | 67+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+), 0 deletions(-)

diff --git a/projects/examples/dev.file.usm b/projects/examples/dev.file.usm @@ -0,0 +1,67 @@ +( hello world ) + +%RTN { JMP2r } + +( devices ) + +|0100 ;Console { pad 8 char 1 byte 1 short 2 } +|0160 ;File { offset 2 append 1 pad 5 name 2 length 2 load 2 save 2 } +|01F0 .RESET .FRAME .ERROR ( vectors ) +|01F8 [ 13fd 1ef3 1bf2 ] ( palette ) + +( program ) + +|0200 @RESET + + #11 + $loop + ,text1 ,print-label JSR2 + ,scramble JSR2 + #01 SUB DUP ,$loop ROT JMP2? + +BRK + +@print-label ( text ) + + $loop NOP + ( send ) DUP2 LDR =Console.char + ( incr ) #0001 ADD2 + ( loop ) DUP2 LDR #00 NEQ ^$loop MUL JMP + POP2 + +RTN + +@scramble + + ,filename =File.name + + #00 =File.append + #0000 =File.offset + #0003 =File.length + ,text1 #000d ADD2 =File.save + + #01 =File.append + #0003 =File.offset + #000d =File.length + ,text1 =File.save + + #0000 =File.offset + #0004 =File.length + ,text1 =File.load + + #0004 =File.offset + #0008 =File.length + ,text1 #0008 ADD2 =File.load + + #000c =File.offset + #0004 =File.length + ,text1 #0004 ADD2 =File.load + +RTN + + +@text1 [ Welcome 20 to 20 UxnVM 0a00 ] +@filename [ textio.bit ] + +@FRAME BRK +@ERROR BRK