diff --git a/one_line_canvas.tal b/one_line_canvas.tal index 19dbf36..fe5648a 100644 --- a/one_line_canvas.tal +++ b/one_line_canvas.tal @@ -9,64 +9,48 @@ (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 } -%PX { #01 .Screen/pixel DEO } |0100 @on-reset setup-gui - #58 #58 #1f draw-h-line - #58 #58 #1f #02 MUL draw-h-line - #1f #58 #1f draw-v-line - #1f #02 #58 MUL #1f draw-v-line + draw-canvas-bounds BRK -@draw-v-line ( l x y ) - SWP ( l y x ) - #00 ( l y x 00 ) - SWP .Screen/x DEO2 ( l y ) - ( store vars ) - !{ &y $1 &l $1 } - ,/y STR ,/l STR +@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 - ( set y ) - ,/y LDR DUP ( y y ) - #00 SWP ( y 00 y) - .Screen/y DEO2 ( y ) - ( draw pixel ) - PX - ( incrment y ) - INC ( y+1 ) - ,/y STR ( ) - ( decrement l ) - ,/l LDR #01 ( l 01 ) - SUB ( l-1 ) - ,/l STRk POP ( l ) - #00 NEQ ?&loop - JMP2r + #00 LIT &x $1 .Screen/x DEO2 + LIT &x $1 + INC + ,&x STRk -@draw-h-line ( l x y ) - #00 ( l x y 00 ) - SWP .Screen/y DEO2 ( l x ) - ( store vars ) - !{ &x $1 &l $1 } - ,/x STR ,/l STR + EQUk ?&loop + + + + + + ( + ,&top-left-x STR + dbug &loop - ( set x ) - ,/x LDR DUP ( x x ) - #00 SWP ( x 00 x) - .Screen/x DEO2 ( x ) - ( draw pixel ) - PX - ( incrment x ) - INC ( x+1 ) - ,/x STR ( ) - ( decrement l ) - ,/l LDR #01 ( l 01 ) - SUB ( l-1 ) - ,/l STRk POP ( l ) - #00 NEQ ?&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 ( -- ) diff --git a/playground.tal b/playground.tal index e84b6b8..e69de29 100644 --- a/playground.tal +++ b/playground.tal @@ -1,34 +0,0 @@ -|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 - - -|0100 -@on-reset - #02 #04 SUB - ( mem-test ) - BRK - -@mem-test ( a b c -- x) - !{ - &a $1 - &b $1 - &c $1 - } - ,/a STR - ,/b STR - ,/c STR - - ,/a LDR - ,/b LDR - ADD - ,/c LDR - ADD ( 06 ) - - STH - #00 STH - SWP2r - JMP2r - - - - ( !{ &a $1 } )