Added test for 1bpp

This commit is contained in:
neauoire 2023-11-12 10:30:25 -08:00
parent 843bbb5195
commit 67faef3e56
2 changed files with 27 additions and 4 deletions

View File

@ -24,8 +24,16 @@
[ LIT2 36 -Screen/auto ] DEO
;portrait-chr .Screen/addr DEO2
#81 .Screen/sprite DEOk DEOk DEOk DEO
<draw-box>
.Screen/y DEI2k #0060 SUB2 ROT DEO2
<draw-box>
BRK
@<draw-box> ( -- )
;box-icn .Screen/addr DEO2
#05 .Screen/sprite DEOk DEOk DEOk DEO
JMP2r
@<update-cursor> ( color addr* -- )
[ LIT2 00 -Screen/auto ] DEO
;fill-icn .Screen/addr DEO2
@ -62,3 +70,13 @@
fffc f30f 1f1f 1f3f 9f3c f30f dfdf dfbf
3c80 8080 80c0 c0e0 0003 3fbf bfbf dfef ]
@box-icn [
001f 2050 4844 4241 00ff 0000 0000 0000
00ff 0000 0000 0000 00f8 040a 1222 4282
4040 4040 4040 4040 8040 2010 0804 0201
0102 0408 1020 4080 0202 0202 0202 0202
4040 4040 4040 4040 0102 0408 1020 4080
8040 2010 0804 0201 0202 0202 0202 0202
4142 4448 5020 1f00 0000 0000 0000 ff00
0000 0000 0000 ff00 8242 2212 0a04 f800 ]

View File

@ -268,13 +268,18 @@ screen_deo(Uint8 *ram, Uint8 *d, Uint8 port)
x = PEEK2(port_x), dx = (move & 0x1) << 3, dxy = dx * fy;
y = PEEK2(port_y), dy = (move & 0x2) << 2, dyx = dy * fx;
addr = PEEK2(port_addr), addr_incr = (move & 0x4) << (1 + twobpp);
for(i = 0; i <= length; i++) {
if(twobpp)
if(twobpp) {
for(i = 0; i <= length; i++) {
screen_2bpp(layer, ram, addr, x + dyx * i, y + dxy * i, color, flipx, flipy);
else
addr += addr_incr;
}
} else {
for(i = 0; i <= length; i++) {
screen_1bpp(layer, ram, addr, x + dyx * i, y + dxy * i, color, flipx, flipy);
addr += addr_incr;
addr += addr_incr;
}
}
screen_change(x, y, x + dyx * length + 8, y + dxy * length + 8);
if(move & 0x1) {
x = x + dx * fx;