summaryrefslogtreecommitdiff
path: root/video.c
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2009-02-03 15:13:51 +0100
committerSegher Boessenkool <segher@kernel.crashing.org>2009-02-03 15:13:51 +0100
commit618dd16e059fc07b4ef4bb7985fe049297458c23 (patch)
treeda9c84ea4d71b55742addf8eaef8054e6e4923a1 /video.c
parent62b7ce854ab79d51495d337defb7f463b2f5ba97 (diff)
video: Sprite depth is a 4-bit field
Diffstat (limited to 'video.c')
-rw-r--r--video.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/video.c b/video.c
index 6a3ba53..f884c66 100644
--- a/video.c
+++ b/video.c
@@ -216,7 +216,7 @@ static void blit_sprite(u32 depth, u16 *sprite)
//if (flags & 0x8000) return; // dunno
//if (flags & 0x4000) return; // dunno
- if ((u32)(flags & 0x3000) >> 12 != depth)
+ if ((u32)(flags & 0xf000) >> 12 != depth)
return;
#if 0 // XXX: Vii needs it. Some register bit?
@@ -241,9 +241,9 @@ static void blit_sprites(u32 depth)
u32 n;
for (n = 0; n < 256; n++)
if (mem[0x2c00 + 4*n]) {
- if (mem[0x2c00 + 4*n] & 0xc000)
- printf("sprite %04x %04x %04x %04x\n", mem[0x2c00 + 4*n],
- mem[0x2c01 + 4*n], mem[0x2c02 + 4*n], mem[0x2c03 + 4*n]);
+// if (mem[0x2c00 + 4*n] & 0xc000)
+// printf("sprite %04x %04x %04x %04x\n", mem[0x2c00 + 4*n],
+// mem[0x2c01 + 4*n], mem[0x2c02 + 4*n], mem[0x2c03 + 4*n]);
blit_sprite(depth, mem + 0x2c00 + 4*n);
}
}
@@ -290,4 +290,8 @@ void blit_screen(void)
if (!hide_sprites)
blit_sprites(depth);
}
+ for ( ; depth < 16; depth++) {
+ if (!hide_sprites)
+ blit_sprites(depth);
+ }
}