diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2009-02-03 15:13:51 +0100 |
---|---|---|
committer | Segher Boessenkool <segher@kernel.crashing.org> | 2009-02-03 15:13:51 +0100 |
commit | 618dd16e059fc07b4ef4bb7985fe049297458c23 (patch) | |
tree | da9c84ea4d71b55742addf8eaef8054e6e4923a1 /video.c | |
parent | 62b7ce854ab79d51495d337defb7f463b2f5ba97 (diff) |
video: Sprite depth is a 4-bit field
Diffstat (limited to 'video.c')
-rw-r--r-- | video.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -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); + } } |