From d4999d2dec21b169c2b986e87c6bd5f8897d1c88 Mon Sep 17 00:00:00 2001 From: Travis Shears Date: Sun, 29 Jun 2025 13:44:44 +0200 Subject: [PATCH] get draw-h-line working --- one_line_canvas.tal | 57 ++++++++++++++++++--------------------------- playground.tal | 34 +++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 34 deletions(-) diff --git a/one_line_canvas.tal b/one_line_canvas.tal index fe5648a..6972f5b 100644 --- a/one_line_canvas.tal +++ b/one_line_canvas.tal @@ -9,48 +9,37 @@ (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 - draw-canvas-bounds + #58 #58 #1f draw-h-line + #58 #58 #1f #02 MUL draw-h-line 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) +@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 &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) + ( 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 JMP2r @setup-gui ( -- ) diff --git a/playground.tal b/playground.tal index e69de29..e84b6b8 100644 --- a/playground.tal +++ b/playground.tal @@ -0,0 +1,34 @@ +|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 } )