( 54K . Loader ) |00 @System/vector $2 &expansion $2 &wst $1 &rst $1 &metadata $2 &r $2 &g $2 &b $2 &debug $1 &state $1 |10 @Console/vector $2 &read $5 &type $1 &write $1 &error $1 |20 @Screen/vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 |a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2 ( @|Enums ) |00fd @loader/entry |000 @loader/buf @src/buf |100 @on-reset ( -> ) ;src/on-console .Console/vector DEO2 BRK ( @|Src ) @src/on-console ( -> ) [ LIT2 02 -Console/type ] DEI LTH ?{ .Console/read DEI [ LIT2 00 &ptr -&buf ] INCk ,&ptr STR STZ2 BRK } loader/ BRK @str/ ( str* -- ) LDAk DUP ?{ POP POP2 JMP2r } #18 DEO INC2 !/ ( @|Loader ) @loader/ ( path* -- ) ;&on-frame .Screen/vector DEO2 JMP2r @loader/on-frame ( -> ) #0000 DUP2 .Screen/x DEO2 .Screen/y DEO2 ( | Clear screen ) [ LIT2 80 -Screen/pixel ] DEO [ LIT2 c0 -Screen/pixel ] DEO ( | Blank vectors ) #0000 #00 &l DEO2k #10 ADD DUP [ ?/l POP POP2 ] ( | Blank arguments ) [ LIT2 00 -Console/type ] DEO ( | Setup file ) ;&buf .File/name DEO2 #ff00 .File/length DEO2 ( | Copy loader ) ;&mmu .System/expansion DEO2 ( 0pg ) #00f5 .System/expansion ( buf ) #0100 .File/read ( 1pg ) #00f1 .System/expansion !/entry &mmu [ 01 000f 0000 =&rom 0000 00f1 ] &rom [ 00ff 0000 0001 0000 0000 0000 3737 37 ]