commit fa6d62c70a9f643814d967275c1b76c53be04f91 parent 9924af3593c304ed04430b4b9650fc2744a7978a Author: neauoire <aliceffekt@gmail.com> Date: Wed, 8 Nov 2023 09:30:49 -0800 (screen.blending) Draw foreground sprites too Diffstat:
M | projects/examples/devices/screen.blending.tal | | | 49 | ++++++++++++++++++++++++++++++++++++------------- |
1 file changed, 36 insertions(+), 13 deletions(-)
diff --git a/projects/examples/devices/screen.blending.tal b/projects/examples/devices/screen.blending.tal @@ -11,32 +11,55 @@ #f0d6 .System/g DEO2 #f0b2 .System/b DEO2 ( | size ) - #0080 .Screen/width DEO2 + #0100 .Screen/width DEO2 #010c .Screen/height DEO2 ( | background ) - #f2 .Screen/auto DEO - ;check-icn .Screen/addr DEO2 - #2200 - × ( -- ) - #02 .Screen/sprite DEO - INC GTHk ?× - POP2 + #02 <draw-strippes> + #0080 .Screen/x DEO2 + #0000 .Screen/y DEO2 + #03 <draw-strippes> ( | 1bpp ) #1000 - &l1 ( -- ) + &l1bg ( -- ) #00 OVR #03 AND #50 SFT2 #0008 ADD2 .Screen/x DEO2 #00 OVR #02 SFT #50 SFT2 #0008 ADD2 .Screen/y DEO2 DUP #80 ORA #0f AND <draw-circle> - INC GTHk ?&l1 + INC GTHk ?&l1bg + POP2 + #1000 + &l1fg ( -- ) + #00 OVR #03 AND #50 SFT2 #0088 ADD2 .Screen/x DEO2 + #00 OVR #02 SFT #50 SFT2 #0008 ADD2 .Screen/y DEO2 + DUP #c0 ORA #0f AND <draw-circle> + INC GTHk ?&l1fg POP2 ( | 2bpp ) #1000 - &l2 ( -- ) + &l2bg ( -- ) #00 OVR #03 AND #50 SFT2 #0008 ADD2 .Screen/x DEO2 #00 OVR #02 SFT #50 SFT2 #0088 ADD2 .Screen/y DEO2 DUP #80 ORA <draw-circle> - INC GTHk ?&l2 - POP2 BRK + INC GTHk ?&l2bg + POP2 + #1000 + &l2fg ( -- ) + #00 OVR #03 AND #50 SFT2 #0088 ADD2 .Screen/x DEO2 + #00 OVR #02 SFT #50 SFT2 #0088 ADD2 .Screen/y DEO2 + DUP #c0 ORA <draw-circle> + INC GTHk ?&l2fg + POP2 + BRK + +@<draw-strippes> ( color -- ) + ,&color STR + #f2 .Screen/auto DEO + ;check-icn .Screen/addr DEO2 + #2200 + × ( -- ) + [ LIT &color $1 ] .Screen/sprite DEO + INC GTHk ?× + POP2 + JMP2r @<draw-circle> ( color -- ) #01 .Screen/auto DEO