From d03e373f28e563195543afb453a6ac04e3683d60 Mon Sep 17 00:00:00 2001 From: Nihilazo Date: Sun, 7 Nov 2021 19:54:47 +0000 Subject: [PATCH] add more test files --- apps/plugins/varvara/tests/screen-vector.rom | Bin 0 -> 306 bytes apps/plugins/varvara/tests/screen.rom | Bin 0 -> 785 bytes apps/plugins/varvara/tests/screen.tal | 177 +++++++++++++++++++ 3 files changed, 177 insertions(+) create mode 100644 apps/plugins/varvara/tests/screen-vector.rom create mode 100644 apps/plugins/varvara/tests/screen.rom create mode 100644 apps/plugins/varvara/tests/screen.tal diff --git a/apps/plugins/varvara/tests/screen-vector.rom b/apps/plugins/varvara/tests/screen-vector.rom new file mode 100644 index 0000000000000000000000000000000000000000..42aca5d3de01bc1599efc23fc797565eb315d74f GIT binary patch literal 306 zcmZ`wF$%&!5Zs&z1_{JMP$B3^EP@Ee#!F|DBArjL^b5;`1JDCrivR!s literal 0 HcmV?d00001 diff --git a/apps/plugins/varvara/tests/screen.rom b/apps/plugins/varvara/tests/screen.rom new file mode 100644 index 0000000000000000000000000000000000000000..de04425b3f171bdf52d8f1d2d3053edb9c47b17e GIT binary patch literal 785 zcmZ`$Jxc>Y5S`nN7(_`5!4yH)k3vK)mnL_y@j#2HMf?YrHUY6e^cifl5r2o^Ux=-O z*w|}ln;#&-H+vWSUhZ!1&AhksX4VB;aIqVnqRj6rrue@Ugp^#9^6#eyotBGRHo#R7SUY5S)|U(nONaV5~XcEcXnO+Z3$iJO_F zp0j6c0PNYSiF5&h?@h`1!4|`M5!5N?ekGdMnI-G>*HPd%+DKRxcBwZ{Upzu6aETG`Y0b@o`B2ap<>2|%zOYYX46;z literal 0 HcmV?d00001 diff --git a/apps/plugins/varvara/tests/screen.tal b/apps/plugins/varvara/tests/screen.tal new file mode 100644 index 0000000000..6d7ab72bde --- /dev/null +++ b/apps/plugins/varvara/tests/screen.tal @@ -0,0 +1,177 @@ +( dev/screen ) + +%RTN { JMP2r } +%2/ { #01 SFT } +%4/ { #02 SFT } + +( devices ) + +|00 @System [ &vector $2 &wst $1 &rst $1 &pad $4 &r $2 &g $2 &b $2 &debug $1 &halt $1 ] +|20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 ] + +( variables ) + +|0000 + +@count $2 +@center + &x $2 &y $2 + +( init ) + +|0100 ( -> ) + + ( vector ) + ;on-frame .Screen/vector DEO2 + + ( theme ) + #f07f .System/r DEO2 + #f0e0 .System/g DEO2 + #f0c0 .System/b DEO2 + + ( find screen center ) + .Screen/width DEI2 #01 SFT2 #0020 SUB2 .center/x STZ2 + .Screen/height DEI2 #01 SFT2 .center/y STZ2 + + ( draw ) + ;draw-table JSR2 + ;draw-sprites JSR2 + ;draw-1bpp JSR2 + ;draw-2bpp JSR2 + ;draw-pixels JSR2 + +BRK + +@on-frame ( -> ) + + .count LDZ2 INC2 [ DUP2 ] .count STZ2 + + .center/x LDZ2 #0048 ADD2 .Screen/x DEO2 + .center/y LDZ2 #0050 SUB2 .Screen/y DEO2 + + ( color ) #01 STH + + SWP + DUP #04 SFT [ #00 SWP ] #30 SFT2 ;font-hex ADD2 .Screen/addr DEO2 + ( draw ) STHkr .Screen/sprite DEO + #0f AND [ #00 SWP ] #30 SFT2 ;font-hex ADD2 .Screen/addr DEO2 + .Screen/x DEI2 #0008 ADD2 .Screen/x DEO2 + ( draw ) STHkr .Screen/sprite DEO + DUP #04 SFT [ #00 SWP ] #30 SFT2 ;font-hex ADD2 .Screen/addr DEO2 + .Screen/x DEI2 #0008 ADD2 .Screen/x DEO2 + ( draw ) STHkr .Screen/sprite DEO + #0f AND [ #00 SWP ] #30 SFT2 ;font-hex ADD2 .Screen/addr DEO2 + .Screen/x DEI2 #0008 ADD2 .Screen/x DEO2 + ( draw ) STHr .Screen/sprite DEO + +BRK + +@draw-table ( -- ) + + #10 #00 + &loop + DUP #30 SFT #00 SWP ;font-hex ADD2 .Screen/addr DEO2 + ( x-axis ) + DUP #30 SFT #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 ) + DUP #30 SFT #00 SWP + .center/y LDZ2 #0040 SUB2 ADD2 .Screen/y DEO2 + .center/x LDZ2 #0050 SUB2 .Screen/x DEO2 + ( draw ) #01 .Screen/sprite DEO + INC GTHk ,&loop JCN + POP2 + +RTN + +@draw-sprites ( -- ) + + ;preview_icn .Screen/addr DEO2 + #00 #00 + &loop + ( move ) DUP #0f AND #40 SFT 2/ #00 SWP + .center/x LDZ2 #0040 SUB2 ADD2 .Screen/x DEO2 + ( move ) DUP #f0 AND 2/ #00 SWP + .center/y LDZ2 #0040 SUB2 ADD2 .Screen/y DEO2 + ( draw ) DUP .Screen/sprite DEO + INC NEQk ,&loop JCN + POP2 + +RTN + +@draw-1bpp ( -- ) + + #10 #00 + &loop + ( color ) STHk + ( y ) DUP 4/ [ #00 SWP ] #40 SFT2 + [ .center/y LDZ2 #0040 SUB2 ADD2 ] STH2 + ( x ) DUP #03 AND [ #00 SWP ] #40 SFT2 #0040 ADD2 + [ .center/x LDZ2 #0008 ADD2 ADD2 ] + STH2r STHr #00 ;draw-circle JSR2 + INC GTHk ,&loop JCN + POP2 + +RTN + +@draw-2bpp ( -- ) + + #10 #00 + &loop + ( color ) STHk + ( y ) DUP 4/ [ #00 SWP ] #40 SFT2 + [ .center/y LDZ2 ADD2 ] STH2 + ( x ) DUP #03 AND [ #00 SWP ] #40 SFT2 #0040 ADD2 + [ .center/x LDZ2 #0008 ADD2 ADD2 ] + STH2r STHr #80 ;draw-circle JSR2 + INC GTHk ,&loop JCN + POP2 + +RTN + +@draw-circle ( x* y* color depth -- ) + + ADD STH + ;preview_icn .Screen/addr DEO2 + .Screen/y DEO2 + .Screen/x DEO2 + + #00 STHkr ADD .Screen/sprite DEO + .Screen/x DEI2 #0008 ADD2 .Screen/x DEO2 + #10 STHkr ADD .Screen/sprite DEO + .Screen/x DEI2 #0008 SUB2 .Screen/x DEO2 + .Screen/y DEI2 #0008 ADD2 .Screen/y DEO2 + #20 STHkr ADD .Screen/sprite DEO + .Screen/x DEI2 #0008 ADD2 .Screen/x DEO2 + #30 STHr ADD .Screen/sprite DEO + +RTN + +@draw-pixels ( -- ) + + .center/y LDZ2 #0040 SUB2 .Screen/y DEO2 + .center/x LDZ2 #0048 ADD2 .Screen/x DEO2 + #00 .Screen/pixel DEO + .center/x LDZ2 #0049 ADD2 .Screen/x DEO2 + #01 .Screen/pixel DEO + .center/x LDZ2 #004a ADD2 .Screen/x DEO2 + #02 .Screen/pixel DEO + .center/x LDZ2 #004b ADD2 .Screen/x DEO2 + #03 .Screen/pixel DEO + +RTN + +@preview_icn [ + 0f38 675f dfbf bfbf 0007 1820 2344 4848 + +@font-hex + 007c 8282 8282 827c 0030 1010 1010 1010 + 007c 8202 7c80 80fe 007c 8202 1c02 827c + 000c 1424 4484 fe04 00fe 8080 7c02 827c + 007c 8280 fc82 827c 007c 8202 1e02 0202 + 007c 8282 7c82 827c 007c 8282 7e02 827c + 007c 8202 7e82 827e 00fc 8282 fc82 82fc + 007c 8280 8080 827c 00fc 8282 8282 82fc + 007c 8280 f080 827c 007c 8280 f080 8080