static DRIVER_INIT( aquarium ) { /* The BG tiles are 5bpp, this rearranges the data from the roms containing the 1bpp data so we can decode it correctly */ UINT8 *DAT2 = memory_region(machine, "gfx1")+0x080000; UINT8 *DAT = memory_region(machine, "user1"); int len = 0x0200000; for (len = 0 ; len < 0x020000 ; len ++ ) { DAT2[len*4+1] = (DAT[len] & 0x80) << 0; DAT2[len*4+1] |= (DAT[len] & 0x40) >> 3; DAT2[len*4+0] = (DAT[len] & 0x20) << 2; DAT2[len*4+0] |= (DAT[len] & 0x10) >> 1; DAT2[len*4+3] = (DAT[len] & 0x08) << 4; DAT2[len*4+3] |= (DAT[len] & 0x04) << 1; DAT2[len*4+2] = (DAT[len] & 0x02) << 6; DAT2[len*4+2] |= (DAT[len] & 0x01) << 3; } DAT2 = memory_region(machine, "gfx4")+0x080000; DAT = memory_region(machine, "user2"); for (len = 0 ; len < 0x020000 ; len ++ ) { DAT2[len*4+1] = (DAT[len] & 0x80) << 0; DAT2[len*4+1] |= (DAT[len] & 0x40) >> 3; DAT2[len*4+0] = (DAT[len] & 0x20) << 2; DAT2[len*4+0] |= (DAT[len] & 0x10) >> 1; DAT2[len*4+3] = (DAT[len] & 0x08) << 4; DAT2[len*4+3] |= (DAT[len] & 0x04) << 1; DAT2[len*4+2] = (DAT[len] & 0x02) << 6; DAT2[len*4+2] |= (DAT[len] & 0x01) << 3; } /* reset the sound bank */ aquarium_z80_bank_w(cputag_get_address_space(machine, "audiocpu", ADDRESS_SPACE_IO), 0, 0); }
static DRIVER_INIT( aquarium ) { /* The BG tiles are 5bpp, this rearranges the data from the roms containing the 1bpp data so we can decode it correctly */ data8_t *DAT2 = memory_region(REGION_GFX1)+0x080000; data8_t *DAT = memory_region(REGION_USER1); int len = 0x0200000; for (len = 0 ; len < 0x020000 ; len ++ ) { DAT2[len*4+1] = (DAT[len] & 0x80) << 0; DAT2[len*4+1] |= (DAT[len] & 0x40) >> 3; DAT2[len*4+0] = (DAT[len] & 0x20) << 2; DAT2[len*4+0] |= (DAT[len] & 0x10) >> 1; DAT2[len*4+3] = (DAT[len] & 0x08) << 4; DAT2[len*4+3] |= (DAT[len] & 0x04) << 1; DAT2[len*4+2] = (DAT[len] & 0x02) << 6; DAT2[len*4+2] |= (DAT[len] & 0x01) << 3; } DAT2 = memory_region(REGION_GFX4)+0x080000; DAT = memory_region(REGION_USER2); for (len = 0 ; len < 0x020000 ; len ++ ) { DAT2[len*4+1] = (DAT[len] & 0x80) << 0; DAT2[len*4+1] |= (DAT[len] & 0x40) >> 3; DAT2[len*4+0] = (DAT[len] & 0x20) << 2; DAT2[len*4+0] |= (DAT[len] & 0x10) >> 1; DAT2[len*4+3] = (DAT[len] & 0x08) << 4; DAT2[len*4+3] |= (DAT[len] & 0x04) << 1; DAT2[len*4+2] = (DAT[len] & 0x02) << 6; DAT2[len*4+2] |= (DAT[len] & 0x01) << 3; } /* reset the sound bank */ aquarium_z80_bank_w(0, 0); }