uxn

Varvara Ordinator, written in ANSI C(SDL2)
git clone https://git.eamoncaddigan.net/uxn.git
Log | Files | Refs | README | LICENSE

commit 55d0ca4a1edeca082b7a4e888890af910cac3bc7
parent de3591c07e694099c68a51a3531cf4331005359a
Author: neauoire <aliceffekt@gmail.com>
Date:   Mon,  2 Aug 2021 08:59:16 -0700

Optimized screen.tal

Diffstat:
Mprojects/examples/devices/screen.tal | 41+++++++++++++++++++----------------------
1 file changed, 19 insertions(+), 22 deletions(-)

diff --git a/projects/examples/devices/screen.tal b/projects/examples/devices/screen.tal @@ -37,21 +37,20 @@ BRK @draw-table ( -- ) - #00 #10 + #10 #00 &loop - OVR #08 MUL #00 SWP ;font-hex ADD2 .Screen/addr DEO2 + DUP #08 MUL #00 SWP ;font-hex ADD2 .Screen/addr DEO2 ( x-axis ) - OVR #08 MUL #00 SWP + DUP #08 MUL #00 SWP .center/x LDZ2 #0040 SUB2 ADD2 .Screen/x DEO2 .center/y LDZ2 #0050 SUB2 .Screen/y DEO2 ( draw ) #01 .Screen/sprite DEO ( y-axis ) - OVR #08 MUL #00 SWP + DUP #08 MUL #00 SWP .center/y LDZ2 #0040 SUB2 ADD2 .Screen/y DEO2 .center/x LDZ2 #0050 SUB2 .Screen/x DEO2 ( draw ) #01 .Screen/sprite DEO - ( incr ) SWP #01 ADD SWP - LTHk ,&loop JCN + #01 ADD GTHk ,&loop JCN POP2 RTN @@ -61,12 +60,12 @@ RTN ;preview_icn .Screen/addr DEO2 #00 #00 &loop - ( move ) OVR #0f AND #40 SFT #02 DIV #00 SWP + ( move ) DUP #0f AND #40 SFT #02 DIV #00 SWP .center/x LDZ2 #0040 SUB2 ADD2 .Screen/x DEO2 - ( move ) OVR #f0 AND #02 DIV #00 SWP + ( move ) DUP #f0 AND #02 DIV #00 SWP .center/y LDZ2 #0040 SUB2 ADD2 .Screen/y DEO2 - ( draw ) OVR .Screen/sprite DEO - ( incr ) SWP #01 ADD SWP + ( draw ) DUP .Screen/sprite DEO + ( incr ) #01 ADD NEQk ,&loop JCN POP2 @@ -74,32 +73,30 @@ RTN @draw-1bpp ( -- ) - #00 #10 + #10 #00 &loop - ( color ) OVR STH - ( y ) OVR #04 DIV [ #00 SWP ] #0010 MUL2 + ( color ) STHk + ( y ) DUP #04 DIV [ #00 SWP ] #0010 MUL2 [ .center/y LDZ2 #0040 SUB2 ADD2 ] STH2 - ( x ) OVR #03 AND [ #00 SWP ] #0010 MUL2 #0040 ADD2 + ( x ) DUP #03 AND [ #00 SWP ] #0010 MUL2 #0040 ADD2 [ .center/x LDZ2 #0008 ADD2 ADD2 ] STH2r STHr #00 ;draw-circle JSR2 - SWP #01 ADD SWP - LTHk ,&loop JCN + #01 ADD GTHk ,&loop JCN POP2 RTN @draw-2bpp ( -- ) - #00 #10 + #10 #00 &loop - ( color ) OVR STH - ( y ) OVR #04 DIV [ #00 SWP ] #0010 MUL2 + ( color ) STHk + ( y ) DUP #04 DIV [ #00 SWP ] #0010 MUL2 [ .center/y LDZ2 ADD2 ] STH2 - ( x ) OVR #03 AND [ #00 SWP ] #0010 MUL2 #0040 ADD2 + ( x ) DUP #03 AND [ #00 SWP ] #0010 MUL2 #0040 ADD2 [ .center/x LDZ2 #0008 ADD2 ADD2 ] STH2r STHr #80 ;draw-circle JSR2 - SWP #01 ADD SWP - LTHk ,&loop JCN + #01 ADD GTHk ,&loop JCN POP2 RTN