diff options
Diffstat (limited to 'src/mame/drivers/panicr.cpp')
-rw-r--r-- | src/mame/drivers/panicr.cpp | 67 |
1 files changed, 26 insertions, 41 deletions
diff --git a/src/mame/drivers/panicr.cpp b/src/mame/drivers/panicr.cpp index c4979335f9f..d0d0e9adc69 100644 --- a/src/mame/drivers/panicr.cpp +++ b/src/mame/drivers/panicr.cpp @@ -116,7 +116,7 @@ public: TILE_GET_INFO_MEMBER(get_infotile_info_2); TILE_GET_INFO_MEMBER(get_txttile_info); - DECLARE_DRIVER_INIT(panicr); + void init_panicr(); virtual void video_start() override; DECLARE_PALETTE_INIT(panicr); @@ -719,23 +719,17 @@ ROM_START( panicrg ) /* Distributed by TV-Tuning Videospiele GMBH */ ROM_END -DRIVER_INIT_MEMBER(panicr_state,panicr) +void panicr_state::init_panicr() { std::vector<uint8_t> buf(0x80000); - uint8_t *rom; - int size; - int i,j; - rom = memregion("gfx1")->base(); - size = memregion("gfx1")->bytes(); + uint8_t *rom = memregion("gfx1")->base(); + int size = memregion("gfx1")->bytes(); // text data lines - for (i = 0;i < size/2;i++) + for (int i = 0; i < size / 2; i++) { - int w1; - - w1 = (rom[i + 0*size/2] << 8) + rom[i + 1*size/2]; - + int w1 = (rom[i + 0*size/2] << 8) + rom[i + 1*size/2]; w1 = bitswap<16>(w1, 9,12,7,3, 8,13,6,2, 11,14,1,5, 10,15,4,0); buf[i + 0*size/2] = w1 >> 8; @@ -743,22 +737,19 @@ DRIVER_INIT_MEMBER(panicr_state,panicr) } // text address lines - for (i = 0;i < size;i++) + for (int i = 0; i < size; i++) { rom[i] = buf[bitswap<24>(i,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6, 2,3,1,0,5,4)]; } - rom = memregion("gfx2")->base(); size = memregion("gfx2")->bytes(); // tiles data lines - for (i = 0;i < size/4;i++) + for (int i = 0; i < size / 4; i++) { - int w1,w2; - - w1 = (rom[i + 0*size/4] << 8) + rom[i + 3*size/4]; - w2 = (rom[i + 1*size/4] << 8) + rom[i + 2*size/4]; + int w1 = (rom[i + 0*size/4] << 8) + rom[i + 3*size/4]; + int w2 = (rom[i + 1*size/4] << 8) + rom[i + 2*size/4]; w1 = bitswap<16>(w1, 14,12,11,9, 3,2,1,0, 10,15,13,8, 7,6,5,4); w2 = bitswap<16>(w2, 3,13,15,4, 12,2,5,11, 14,6,1,10, 8,7,9,0); @@ -770,32 +761,26 @@ DRIVER_INIT_MEMBER(panicr_state,panicr) } // tiles address lines - for (i = 0;i < size;i++) + for (int i = 0; i < size; i++) { rom[i] = buf[bitswap<24>(i,23,22,21,20,19,18,17,16,15,14,13,12, 5,4,3,2, 11,10,9,8,7,6, 0,1)]; } - rom = memregion("gfx3")->base(); size = memregion("gfx3")->bytes(); // sprites data lines - for (i = 0;i < size/2;i++) + for (int i = 0; i < size / 2; i++) { - int w1; - - w1 = (rom[i + 0*size/2] << 8) + rom[i + 1*size/2]; - - + int w1 = (rom[i + 0*size/2] << 8) + rom[i + 1*size/2]; w1 = bitswap<16>(w1, 11,5,7,12, 4,10,13,3, 6,14,9,2, 0,15,1,8); - buf[i + 0*size/2] = w1 >> 8; buf[i + 1*size/2] = w1 & 0xff; } // sprites address lines - for (i = 0;i < size;i++) + for (int i = 0; i < size; i++) { rom[i] = buf[i]; } @@ -803,30 +788,30 @@ DRIVER_INIT_MEMBER(panicr_state,panicr) //rearrange bg tilemaps a bit.... rom = memregion("user1")->base(); size = memregion("user1")->bytes(); - memcpy(&buf[0],rom, size); + memcpy(&buf[0], rom, size); - for(j=0;j<16;j++) + for (int j = 0; j < 16; j++) { - for (i = 0;i < size/16;i+=8) + for (int i = 0; i < size / 16; i += 8) { - memcpy(&rom[i+(size/16)*j],&buf[i*16+8*j],8); + memcpy(&rom[i + (size / 16) * j], &buf[i * 16 + 8 * j], 8); } } rom = memregion("user2")->base(); size = memregion("user2")->bytes(); - memcpy(&buf[0],rom, size); + memcpy(&buf[0], rom, size); - for(j=0;j<16;j++) + for (int j = 0; j < 16; j++) { - for (i = 0;i < size/16;i+=8) + for (int i = 0; i < size / 16; i += 8) { - memcpy(&rom[i+(size/16)*j],&buf[i*16+8*j],8); + memcpy(&rom[i + (size / 16) * j], &buf[i * 16 + 8 * j], 8); } } - m_tempbitmap_1 = std::make_unique<bitmap_ind16>(256,256); - m_temprender = std::make_unique<bitmap_ind16>(256,256); + m_tempbitmap_1 = std::make_unique<bitmap_ind16>(256, 256); + m_temprender = std::make_unique<bitmap_ind16>(256, 256); m_tempbitmap_clip.set(0, 256-1, 0, 256-1); m_tempbitmap_1->fill(0, m_tempbitmap_clip); @@ -834,5 +819,5 @@ DRIVER_INIT_MEMBER(panicr_state,panicr) } -GAME( 1986, panicr, 0, panicr, panicr, panicr_state, panicr, ROT270, "Seibu Kaihatsu (Taito license)", "Panic Road (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) -GAME( 1986, panicrg, panicr, panicr, panicr, panicr_state, panicr, ROT270, "Seibu Kaihatsu (Tuning license)", "Panic Road (Germany)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) +GAME( 1986, panicr, 0, panicr, panicr, panicr_state, init_panicr, ROT270, "Seibu Kaihatsu (Taito license)", "Panic Road (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) +GAME( 1986, panicrg, panicr, panicr, panicr, panicr_state, init_panicr, ROT270, "Seibu Kaihatsu (Tuning license)", "Panic Road (Germany)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) |