ROM_END static DRIVER_INIT( opwolf ) { UINT16* rom=(UINT16*)memory_region(REGION_CPU1); opwolf_cchip_init(); // World & US version have different gun offsets, presumably slightly different gun hardware opwolf_gun_xoffs = 0xec - (rom[0x1ffd8]&0xff); opwolf_gun_yoffs = 0x1c - (rom[0x1ffd7]&0xff); memory_configure_bank(10, 0, 4, memory_region(REGION_CPU2) + 0x10000, 0x4000); }
ROM_END static DRIVER_INIT( opwolf ) { UINT16* rom=(UINT16*)memory_region(machine, "maincpu"); opwolf_region = rom[0x03fffe / 2] & 0xff; opwolf_cchip_init(machine); // World & US version have different gun offsets, presumably slightly different gun hardware opwolf_gun_xoffs = 0xec - (rom[0x03ffb0 / 2] & 0xff); opwolf_gun_yoffs = 0x1c - (rom[0x03ffae / 2] & 0xff); memory_configure_bank(machine, 10, 0, 4, memory_region(machine, "audiocpu") + 0x10000, 0x4000); }
ROM_END DRIVER_INIT_MEMBER(opwolf_state,opwolf) { UINT16* rom = (UINT16*)memregion("maincpu")->base(); m_opwolf_region = rom[0x03fffe / 2] & 0xff; opwolf_cchip_init(machine()); // World & US version have different gun offsets, presumably slightly different gun hardware m_opwolf_gun_xoffs = 0xec - (rom[0x03ffb0 / 2] & 0xff); m_opwolf_gun_yoffs = 0x1c - (rom[0x03ffae / 2] & 0xff); membank("bank10")->configure_entries(0, 4, memregion("audiocpu")->base() + 0x10000, 0x4000); }
ROM_END static DRIVER_INIT( opwolf ) { opwolf_state *state = machine.driver_data<opwolf_state>(); UINT16* rom = (UINT16*)state->memregion("maincpu")->base(); state->m_opwolf_region = rom[0x03fffe / 2] & 0xff; opwolf_cchip_init(machine); // World & US version have different gun offsets, presumably slightly different gun hardware state->m_opwolf_gun_xoffs = 0xec - (rom[0x03ffb0 / 2] & 0xff); state->m_opwolf_gun_yoffs = 0x1c - (rom[0x03ffae / 2] & 0xff); state->membank("bank10")->configure_entries(0, 4, state->memregion("audiocpu")->base() + 0x10000, 0x4000); }