commit 67faef3
neauoire
·
2023-11-12 18:30:25 +0000 UTC
parent 843bbb5
Added test for 1bpp
2 files changed,
+27,
-4
+18,
-0
1@@ -24,8 +24,16 @@
2 [ LIT2 36 -Screen/auto ] DEO
3 ;portrait-chr .Screen/addr DEO2
4 #81 .Screen/sprite DEOk DEOk DEOk DEO
5+ <draw-box>
6+ .Screen/y DEI2k #0060 SUB2 ROT DEO2
7+ <draw-box>
8 BRK
9
10+@<draw-box> ( -- )
11+ ;box-icn .Screen/addr DEO2
12+ #05 .Screen/sprite DEOk DEOk DEOk DEO
13+ JMP2r
14+
15 @<update-cursor> ( color addr* -- )
16 [ LIT2 00 -Screen/auto ] DEO
17 ;fill-icn .Screen/addr DEO2
18@@ -62,3 +70,13 @@
19 fffc f30f 1f1f 1f3f 9f3c f30f dfdf dfbf
20 3c80 8080 80c0 c0e0 0003 3fbf bfbf dfef ]
21
22+@box-icn [
23+ 001f 2050 4844 4241 00ff 0000 0000 0000
24+ 00ff 0000 0000 0000 00f8 040a 1222 4282
25+ 4040 4040 4040 4040 8040 2010 0804 0201
26+ 0102 0408 1020 4080 0202 0202 0202 0202
27+ 4040 4040 4040 4040 0102 0408 1020 4080
28+ 8040 2010 0804 0201 0202 0202 0202 0202
29+ 4142 4448 5020 1f00 0000 0000 0000 ff00
30+ 0000 0000 0000 ff00 8242 2212 0a04 f800 ]
31+
+9,
-4
1@@ -268,13 +268,18 @@ screen_deo(Uint8 *ram, Uint8 *d, Uint8 port)
2 x = PEEK2(port_x), dx = (move & 0x1) << 3, dxy = dx * fy;
3 y = PEEK2(port_y), dy = (move & 0x2) << 2, dyx = dy * fx;
4 addr = PEEK2(port_addr), addr_incr = (move & 0x4) << (1 + twobpp);
5- for(i = 0; i <= length; i++) {
6- if(twobpp)
7+ if(twobpp) {
8+ for(i = 0; i <= length; i++) {
9 screen_2bpp(layer, ram, addr, x + dyx * i, y + dxy * i, color, flipx, flipy);
10- else
11+ addr += addr_incr;
12+ }
13+ } else {
14+ for(i = 0; i <= length; i++) {
15 screen_1bpp(layer, ram, addr, x + dyx * i, y + dxy * i, color, flipx, flipy);
16- addr += addr_incr;
17+ addr += addr_incr;
18+ }
19 }
20+
21 screen_change(x, y, x + dyx * length + 8, y + dxy * length + 8);
22 if(move & 0x1) {
23 x = x + dx * fx;