uxn/projects/examples/devices/file.tal

79 lines
1.4 KiB
Tal
Raw Normal View History

2021-04-21 08:37:59 -04:00
( Dev/File )
2021-04-21 14:38:30 -04:00
%8+ { #0008 ADD2 }
2021-04-21 08:37:59 -04:00
%MEMORY { #1000 }
( devices )
|00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ]
|10 @Console [ &pad $8 &write $1 ]
|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ]
2021-04-26 13:52:46 -04:00
|a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ]
( variables )
|0000
2021-04-21 12:48:04 -04:00
( init )
2021-04-21 08:37:59 -04:00
2021-04-21 12:48:04 -04:00
|0100 ( -> )
2021-04-21 08:37:59 -04:00
( theme )
#0efc .System/r DEO2
#03cc .System/g DEO2
#03ac .System/b DEO2
2021-04-21 08:37:59 -04:00
( load file )
#1000 .File/length DEO2
;srcpath .File/name DEO2
MEMORY .File/load DEO2
2021-04-21 08:37:59 -04:00
.File/success DEI2 ORA ;on-success JCN2
2021-04-21 08:37:59 -04:00
;failedtxt ;print-string JSR2
2021-04-21 14:38:30 -04:00
2021-04-21 08:37:59 -04:00
BRK
@on-success ( -> )
2021-04-21 08:37:59 -04:00
;successtxt ;print-string JSR2
2021-04-21 14:38:30 -04:00
( draw image )
MEMORY .Screen/addr DEO2
2021-04-21 14:38:30 -04:00
#0000 #0080
&ver
( save ) OVR2 .Screen/y DEO2
2021-04-21 14:38:30 -04:00
#0000 #0080
&hor
( save ) OVR2 .Screen/x DEO2
( draw ) #41 .Screen/color DEO
( incr ) .Screen/addr DEI2 #0010 ADD2 .Screen/addr DEO2
2021-04-21 14:38:30 -04:00
( incr ) SWP2 8+ SWP2
2021-05-12 15:08:51 -04:00
LTH2k ,&hor JCN
2021-04-21 14:38:30 -04:00
POP2 POP2
( incr ) SWP2 8+ SWP2
2021-05-12 15:08:51 -04:00
LTH2k ,&ver JCN
2021-04-21 14:38:30 -04:00
POP2 POP2
2021-04-21 14:38:30 -04:00
( save file )
#1000 .File/length DEO2
;dstpath .File/name DEO2
MEMORY .File/save DEO2
2021-04-21 08:37:59 -04:00
BRK
2021-04-21 08:37:59 -04:00
@print-string ( ptr* -- )
LDAk DUP ,&keep-going JCN
POP POP2 JMP2r
&keep-going
.Console/write DEO
#0001 ADD2
,print-string JMP
2021-04-29 00:00:39 -04:00
@successtxt "Success! 09 $1
@failedtxt "Failed. 09 $1
2021-04-21 14:38:30 -04:00
@srcpath "projects/pictures/ako10x10.chr $1
@dstpath "bin/image-copy.chr $1