|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 $1 &pad $4 &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 |58 @canvas-width |1f @canvas-height (to run gui: `./run_ui.sh one_line_canvas.tal`) (to run debugger: `../uxn/bin/uxnasm one_line_canvas.tal one_line_canvas.rom && ../uxn/bin/uxnemu ../beetbug.rom ./one_line_canvas.rom`) %dbug { #01 .System/debug DEO } |0100 @on-reset setup-gui draw-canvas-bounds BRK @draw-line (change x,y to top left of canvas) LIT2 00 -canvas-width .Screen/x DEO2 LIT2 00 -canvas-height .Screen/y DEO2 &x $1 (set x to 88) #58 ,&x STR (#00 ,&i STR) &loop #00 LIT &x $1 .Screen/x DEO2 LIT &x $1 INC ,&x STRk EQUk ?&loop ( ,&top-left-x STR dbug &loop LIT -width (00 58) ADDk (00 58 58) #00 .Screen/x DEO2 (0058 00B0) #01 .Screen/pixel DEO INC2 (0059 00B0) EQUk ?&loop POP2 POP2) JMP2r @setup-gui ( -- ) (set screen height and width the 3x canvas size) LIT2 =canvas-width #0003 MUL2 .Screen/width DEO2 LIT2 =canvas-height #0003 MUL2 .Screen/height DEO2 (set basic color scheme) #f07f .System/r DEO2 #f0d6 .System/g DEO2 #f0b2 .System/b DEO2 JMP2r