From 1245b44d2a328e2432428f2971c3978ed5af701e Mon Sep 17 00:00:00 2001 From: Devine Lu Linvega Date: Sun, 5 Mar 2023 20:49:13 -0800 Subject: [PATCH] (dvd.tal) Migrated to immediate opcodes --- projects/examples/demos/dvd.tal | 37 +++++++++++++++++---------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/projects/examples/demos/dvd.tal b/projects/examples/demos/dvd.tal index 931861a..5989dba 100644 --- a/projects/examples/demos/dvd.tal +++ b/projects/examples/demos/dvd.tal @@ -5,10 +5,10 @@ |0000 -@dvd &x $2 &y $2 &dx $1 &dy $1 + @dvd &x $2 &y $2 &dx $1 &dy $1 |0100 ( -> ) - + ( theme ) #4cfd .System/r DEO2 #4cf3 .System/g DEO2 @@ -22,34 +22,34 @@ .Screen/width DEI2 #0020 SUB2 ;on-frame/hit-hor STA2 .Screen/height DEI2 #0010 SUB2 ;on-frame/hit-ver STA2 ( drawing mode ) - #36 .Screen/auto DEO - #01 ,draw-dvd JSR - + [ LIT2 36 -Screen/auto ] DEO + #01 draw-dvd + BRK @on-frame ( -> ) - #00 ,draw-dvd JSR + #00 draw-dvd ( x ) .dvd/x LDZ2 - STH2k #0000 EQU2 ,&flip-x JCN - STH2kr [ LIT2 &hit-hor $2 ] EQU2 ,&flip-x JCN + DUP2 #0000 EQU2 ?&flip-x + DUP2 [ LIT2 &hit-hor $2 ] EQU2 ?&flip-x &no-x - STH2r [ #00 .dvd/dx LDZ ] DUP2 ADD2 ADD2 #ffff ADD2 .dvd/x STZ2 + [ LIT2 00 -dvd/dx ] LDZ DUP2 ADD2 ADD2 #ffff ADD2 .dvd/x STZ2 ( y ) .dvd/y LDZ2 - STH2k #0000 EQU2 ,&flip-y JCN - STH2kr [ LIT2 &hit-ver $2 ] EQU2 ,&flip-y JCN + DUP2 #0000 EQU2 ?&flip-y + DUP2 [ LIT2 &hit-ver $2 ] EQU2 ?&flip-y &no-y - STH2r [ #00 .dvd/dy LDZ ] DUP2 ADD2 ADD2 #ffff ADD2 .dvd/y STZ2 - #01 ,draw-dvd JSR + [ LIT2 00 -dvd/dy ] LDZ DUP2 ADD2 ADD2 #ffff ADD2 .dvd/y STZ2 + #01 draw-dvd BRK - &flip-x .dvd/dx LDZk #00 EQU SWP STZ ,&no-x JMP - &flip-y .dvd/dy LDZk #00 EQU SWP STZ ,&no-y JMP + &flip-x .dvd/dx LDZk #00 EQU SWP STZ !&no-x + &flip-y .dvd/dy LDZk #00 EQU SWP STZ !&no-y @draw-dvd ( color -- ) - + ;dvd_icn .Screen/addr DEO2 .dvd/x LDZ2 .Screen/x DEO2 .dvd/y LDZ2 .Screen/y DEO2 @@ -57,8 +57,9 @@ BRK JMP2r -@dvd_icn ( 4 x 2 ) +@dvd_icn ( 4 x 2 ) [ 001f 3f38 3838 787f 00fe fe7e 7777 e3c3 000f 1f3b 7b77 e7c7 00fc fe8f 8707 0efc 7f00 000f ff7f 0700 0301 00ff f0f8 ff00 - 8700 00ff 7f7f ff00 f000 00e0 fcfc 8000 + 8700 00ff 7f7f ff00 f000 00e0 fcfc 8000 ] +