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;