diff options
author | Angelo Salese <angelosa@users.noreply.github.com> | 2011-05-07 14:42:55 +0000 |
---|---|---|
committer | Angelo Salese <angelosa@users.noreply.github.com> | 2011-05-07 14:42:55 +0000 |
commit | 396fcfc38ae74b309ca4d73d7629358b576bc655 (patch) | |
tree | d485838f7d727020a038e09655d66df0f6cb4acf | |
parent | df7401d0e2aa2358e0ed1d7c6554d8e971d003f3 (diff) |
Various Irem M92 / M107 fixes [Alex Jackson]
- Hooked up sound CPU interrupts properly, using the V35 builtin
interrupt controller, rather than generating the vectors in the
driver.
- Cleaned up ROM mirroring, using AM_REGION macros in the address
maps instead of memcpy()ing all over the place in the DRIVER_INITs.
- Converted bankswitching to use configured banks. Only configure the
banks and install the bankswitch WRITE_HANDLER in the games that
actually use it (i.e. those with a full megabyte of program ROM).
This and the previous change make the drivers a lot less confusing to
look at... I hope.
- Converted both drivers to use a scanline timer device instead of a
hand-rolled one.
- Added save state support to m92.c. Everything necessary was already
saved, I just had to add the tag. However, presumably due to the core
emu_timer breakage (MT 4330, 4331) the save states don't actually
work at the moment. I've already reported this as MT #4333
- Added GAME_MECHANICAL tag to wpksoc and clone
- "Ninja Baseball Batman" -> "Ninja Baseball Bat Man"--it's clearly
two words both on the game's title screen and even more obviously in
the flyer.
-rw-r--r-- | src/mame/drivers/m107.c | 170 | ||||
-rw-r--r-- | src/mame/drivers/m92.c | 570 | ||||
-rw-r--r-- | src/mame/includes/m107.h | 2 | ||||
-rw-r--r-- | src/mame/includes/m92.h | 5 | ||||
-rw-r--r-- | src/mame/machine/irem_cpu.c | 4 |
5 files changed, 282 insertions, 469 deletions
diff --git a/src/mame/drivers/m107.c b/src/mame/drivers/m107.c index c961aef6a77..7ec32b4e6e2 100644 --- a/src/mame/drivers/m107.c +++ b/src/mame/drivers/m107.c @@ -14,7 +14,7 @@ To Do: - Hook up EEPROM in Kick for the Goal / World PK Soccer + Hook up inputs and EEPROM in Kick for the Goal / World PK Soccer 2008-08 Dip locations have been added assuming that the layout is the same as the @@ -32,43 +32,24 @@ confirmed for m107 games as well. #include "sound/iremga20.h" -#define M107_IRQ_0 ((state->m_irq_vectorbase+0)/4) /* VBL interrupt*/ -#define M107_IRQ_1 ((state->m_irq_vectorbase+4)/4) /* ??? */ -#define M107_IRQ_2 ((state->m_irq_vectorbase+8)/4) /* Raster interrupt */ -#define M107_IRQ_3 ((state->m_irq_vectorbase+12)/4) /* ??? */ +#define M107_IRQ_0 ((state->m_irq_vectorbase+0)/4) /* VBL interrupt */ +#define M107_IRQ_1 ((state->m_irq_vectorbase+4)/4) /* ??? */ +#define M107_IRQ_2 ((state->m_irq_vectorbase+8)/4) /* Raster interrupt */ +#define M107_IRQ_3 ((state->m_irq_vectorbase+12)/4) /* Sound cpu interrupt */ - - -static TIMER_CALLBACK( m107_scanline_interrupt ); - /*****************************************************************************/ -static WRITE16_HANDLER( bankswitch_w ) -{ - if (ACCESSING_BITS_0_7) - { - UINT8 *RAM = space->machine().region("maincpu")->base(); - memory_set_bankptr(space->machine(), "bank1",&RAM[0x100000 + ((data&0x7)*0x10000)]); - } -} - static MACHINE_START( m107 ) { - m107_state *state = machine.driver_data<m107_state>(); - state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(m107_scanline_interrupt)); -} - -static MACHINE_RESET( m107 ) -{ - m107_state *state = machine.driver_data<m107_state>(); - state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(0)); + // TODO: state save registrations } /*****************************************************************************/ -static TIMER_CALLBACK( m107_scanline_interrupt ) +static TIMER_DEVICE_CALLBACK( m107_scanline_interrupt ) { + running_machine &machine = timer.machine(); m107_state *state = machine.driver_data<m107_state>(); int scanline = param; @@ -85,13 +66,9 @@ static TIMER_CALLBACK( m107_scanline_interrupt ) machine.primary_screen->update_partial(scanline); cputag_set_input_line_and_vector(machine, "maincpu", 0, HOLD_LINE, M107_IRQ_0); } - - /* adjust for next scanline */ - if (++scanline >= machine.primary_screen->height()) - scanline = 0; - state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(scanline), scanline); } +/*****************************************************************************/ static WRITE16_HANDLER( m107_coincounter_w ) { @@ -102,42 +79,23 @@ static WRITE16_HANDLER( m107_coincounter_w ) } } - - -enum { VECTOR_INIT, YM2151_ASSERT, YM2151_CLEAR, V30_ASSERT, V30_CLEAR }; - -static TIMER_CALLBACK( setvector_callback ) +static WRITE16_HANDLER( m107_bankswitch_w ) { - m107_state *state = machine.driver_data<m107_state>(); - - switch(param) + if (ACCESSING_BITS_0_7) { - case VECTOR_INIT: state->m_irqvector = 0; break; - case YM2151_ASSERT: state->m_irqvector |= 0x2; break; - case YM2151_CLEAR: state->m_irqvector &= ~0x2; break; - case V30_ASSERT: state->m_irqvector |= 0x1; break; - case V30_CLEAR: state->m_irqvector &= ~0x1; break; + memory_set_bank(space->machine(), "bank1", (data & 0x06) >> 1); + if (data & 0xf9) + logerror("%05x: bankswitch %04x\n", cpu_get_pc(&space->device()), data); } - - if (state->m_irqvector & 0x2) /* YM2151 has precedence */ - device_set_input_line_vector(machine.device("soundcpu"), 0, 0x18); - else if (state->m_irqvector & 0x1) /* V30 */ - device_set_input_line_vector(machine.device("soundcpu"), 0, 0x19); - - if (state->m_irqvector == 0) /* no IRQs pending */ - cputag_set_input_line(machine, "soundcpu", 0, CLEAR_LINE); - else /* IRQ pending */ - cputag_set_input_line(machine, "soundcpu", 0, ASSERT_LINE); } static WRITE16_HANDLER( m107_soundlatch_w ) { - space->machine().scheduler().synchronize(FUNC(setvector_callback), V30_ASSERT); + cputag_set_input_line(space->machine(), "soundcpu", NEC_INPUT_LINE_INTP1, ASSERT_LINE); soundlatch_w(space, 0, data & 0xff); // logerror("soundlatch_w %02x\n",data); } - static READ16_HANDLER( m107_sound_status_r ) { m107_state *state = space->machine().driver_data<m107_state>(); @@ -151,7 +109,7 @@ static READ16_HANDLER( m107_soundlatch_r ) static WRITE16_HANDLER( m107_sound_irq_ack_w ) { - space->machine().scheduler().synchronize(FUNC(setvector_callback), V30_CLEAR); + cputag_set_input_line(space->machine(), "soundcpu", NEC_INPUT_LINE_INTP1, CLEAR_LINE); } static WRITE16_HANDLER( m107_sound_status_w ) @@ -175,7 +133,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 ) AM_RANGE(0xe0000, 0xeffff) AM_RAM /* System ram */ AM_RANGE(0xf8000, 0xf8fff) AM_RAM AM_BASE_MEMBER(m107_state, m_spriteram) AM_RANGE(0xf9000, 0xf9fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xffff0, 0xfffff) AM_ROM + AM_RANGE(0xffff0, 0xfffff) AM_ROM AM_REGION("maincpu", 0x7fff0) ADDRESS_MAP_END static ADDRESS_MAP_START( main_portmap, AS_IO, 16 ) @@ -187,7 +145,6 @@ static ADDRESS_MAP_START( main_portmap, AS_IO, 16 ) AM_RANGE(0x00, 0x01) AM_WRITE(m107_soundlatch_w) AM_RANGE(0x02, 0x03) AM_WRITE(m107_coincounter_w) AM_RANGE(0x04, 0x05) AM_WRITENOP /* ??? 0008 */ - AM_RANGE(0x06, 0x07) AM_WRITE(bankswitch_w) AM_RANGE(0x80, 0x9f) AM_WRITE(m107_control_w) AM_RANGE(0xa0, 0xaf) AM_WRITENOP /* Written with 0's in interrupt */ AM_RANGE(0xb0, 0xb1) AM_WRITE(m107_spritebuffer_w) @@ -224,13 +181,12 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16 ) AM_RANGE(0x00000, 0x1ffff) AM_ROM - AM_RANGE(0x9ff00, 0x9ffff) AM_WRITENOP /* Irq controller? */ AM_RANGE(0xa0000, 0xa3fff) AM_RAM AM_RANGE(0xa8000, 0xa803f) AM_DEVREADWRITE8("irem", irem_ga20_r, irem_ga20_w, 0x00ff) AM_RANGE(0xa8040, 0xa8043) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff) AM_RANGE(0xa8044, 0xa8045) AM_READWRITE(m107_soundlatch_r, m107_sound_irq_ack_w) AM_RANGE(0xa8046, 0xa8047) AM_WRITE(m107_sound_status_w) - AM_RANGE(0xffff0, 0xfffff) AM_ROM + AM_RANGE(0xffff0, 0xfffff) AM_ROM AM_REGION("soundcpu", 0x1fff0) ADDRESS_MAP_END /******************************************************************************/ @@ -760,8 +716,8 @@ static const gfx_layout charlayout = RGN_FRAC(1,1), 4, { 8, 0, 24, 16 }, - { 0, 1, 2, 3, 4, 5, 6, 7 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, + { STEP8(0,1) }, + { STEP8(0,32) }, 32*8 }; @@ -771,10 +727,8 @@ static const gfx_layout spritelayout = RGN_FRAC(1,4), 4, { RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) }, - { 0, 1, 2, 3, 4, 5, 6, 7, - 16*8+0, 16*8+1, 16*8+2, 16*8+3, 16*8+4, 16*8+5, 16*8+6, 16*8+7 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, - 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 }, + { STEP8(0,1), STEP8(16*8,1) }, + { STEP16(0,8) }, 32*8 }; @@ -784,9 +738,8 @@ static const gfx_layout spritelayout2 = RGN_FRAC(1,4), 4, { RGN_FRAC(3,4), RGN_FRAC(2,4), RGN_FRAC(1,4), RGN_FRAC(0,4) }, - { 8, 9, 10, 11, 12, 13, 14, 15, 0, 1, 2, 3, 4, 5, 6, 7 }, - { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16, - 8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 }, + { STEP8(8,1), STEP8(0,1) }, + { STEP16(0,16) }, 32*8 }; @@ -804,10 +757,7 @@ GFXDECODE_END static void sound_irq(device_t *device, int state) { - if (state) - device->machine().scheduler().synchronize(FUNC(setvector_callback), YM2151_ASSERT); - else - device->machine().scheduler().synchronize(FUNC(setvector_callback), YM2151_CLEAR); + cputag_set_input_line(device->machine(), "soundcpu", NEC_INPUT_LINE_INTP0, state ? ASSERT_LINE : CLEAR_LINE); } static const ym2151_interface ym2151_config = @@ -831,7 +781,8 @@ static MACHINE_CONFIG_START( firebarr, m107_state ) MCFG_CPU_CONFIG(firebarr_config) MCFG_MACHINE_START(m107) - MCFG_MACHINE_RESET(m107) + + MCFG_TIMER_ADD_SCANLINE("scantimer", m107_scanline_interrupt, "screen", 0, 1) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -894,9 +845,9 @@ ROM_START( firebarr ) ROM_LOAD16_BYTE( "f4-a-h1-c.9e", 0x080001, 0x20000, CRC(bb7f6968) SHA1(366747672aac939454d9915cda5277b0438f063b) ) ROM_LOAD16_BYTE( "f4-a-l1-c.9h", 0x080000, 0x20000, CRC(9d57edd6) SHA1(16122829b61aa3aee88aeb6634831e8cf95eaee0) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "f4-b-sh0-b", 0x000001, 0x10000, CRC(30a8e232) SHA1(d4695aed35a1aa796b2872e58a6014e8b28bc154) ) - ROM_LOAD16_BYTE( "f4-b-sl0-b", 0x000000, 0x10000, CRC(204b5f1f) SHA1(f0386500773cd7cca93f0e8e740db29182320c70) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "f4-b-sh0-b", 0x00001, 0x10000, CRC(30a8e232) SHA1(d4695aed35a1aa796b2872e58a6014e8b28bc154) ) + ROM_LOAD16_BYTE( "f4-b-sl0-b", 0x00000, 0x10000, CRC(204b5f1f) SHA1(f0386500773cd7cca93f0e8e740db29182320c70) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* chars */ ROM_LOAD16_BYTE( "f4-c00", 0x000000, 0x80000, CRC(50cab384) SHA1(66e88a1dfa943e0d49c2e186ac2f6cbf5cfe0864) ) @@ -923,15 +874,15 @@ ROM_START( firebarr ) ROM_END ROM_START( dsoccr94 ) - ROM_REGION( 0x180000, "maincpu", 0 ) /* v30 main cpu */ + ROM_REGION( 0x100000, "maincpu", 0 ) ROM_LOAD16_BYTE( "ds_h0-c.rom", 0x000001, 0x040000, CRC(d01d3fd7) SHA1(925dff999252bf3b920bc0f427744e1464620fe8) ) ROM_LOAD16_BYTE( "ds_l0-c.rom", 0x000000, 0x040000, CRC(8af0afe2) SHA1(423c77d392a79cdaed66ad8c13039450d34d3f6d) ) - ROM_LOAD16_BYTE( "ds_h1-c.rom", 0x100001, 0x040000, CRC(6109041b) SHA1(063898a88f8a6a9f1510aa55e53a39f037b02903) ) - ROM_LOAD16_BYTE( "ds_l1-c.rom", 0x100000, 0x040000, CRC(97a01f6b) SHA1(e188e28f880f5f3f4d7b49eca639d643989b1468) ) + ROM_LOAD16_BYTE( "ds_h1-c.rom", 0x080001, 0x040000, CRC(6109041b) SHA1(063898a88f8a6a9f1510aa55e53a39f037b02903) ) + ROM_LOAD16_BYTE( "ds_l1-c.rom", 0x080000, 0x040000, CRC(97a01f6b) SHA1(e188e28f880f5f3f4d7b49eca639d643989b1468) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "ds_sh0.rom", 0x000001, 0x010000, CRC(23fe6ffc) SHA1(896377961cafc19e44d9d889f9fbfdbaedd556da) ) - ROM_LOAD16_BYTE( "ds_sl0.rom", 0x000000, 0x010000, CRC(768132e5) SHA1(1bb64516eb58d3b246f08e1c07f091e78085689f) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "ds_sh0.rom", 0x00001, 0x10000, CRC(23fe6ffc) SHA1(896377961cafc19e44d9d889f9fbfdbaedd556da) ) + ROM_LOAD16_BYTE( "ds_sl0.rom", 0x00000, 0x10000, CRC(768132e5) SHA1(1bb64516eb58d3b246f08e1c07f091e78085689f) ) ROM_REGION( 0x400000, "gfx1", 0 ) /* chars */ ROM_LOAD16_BYTE( "ds_c00.rom", 0x000000, 0x100000, CRC(2d31d418) SHA1(6cd0e362bc2e3f2b20d96ee97a04bff46ee3016a) ) @@ -950,13 +901,13 @@ ROM_START( dsoccr94 ) ROM_END ROM_START( wpksoc ) - ROM_REGION( 0x180000, "maincpu", 0 ) /* v30 main cpu */ + ROM_REGION( 0x100000, "maincpu", 0 ) ROM_LOAD16_BYTE( "pk-h0-eur-d.h0", 0x000001, 0x040000, CRC(b4917788) SHA1(673294c518eaf28354fa6a3058f9325c6d9ddde6) ) ROM_LOAD16_BYTE( "pk-l0-eur-d.l0", 0x000000, 0x040000, CRC(03816bae) SHA1(832e2ec722b41d41626fec583fc11e9ff62cdaa0) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "pk-sh0.sh0", 0x000001, 0x010000, CRC(1145998c) SHA1(cdb2a428e0f35302b81696dab02d3dd2c433f6e5) ) - ROM_LOAD16_BYTE( "pk-sl0.sl0", 0x000000, 0x010000, CRC(542ee1c7) SHA1(b934adeecbba17cf96b06a2b1dc1ceaebdf9ad10) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "pk-sh0.sh0", 0x00001, 0x10000, CRC(1145998c) SHA1(cdb2a428e0f35302b81696dab02d3dd2c433f6e5) ) + ROM_LOAD16_BYTE( "pk-sl0.sl0", 0x00000, 0x10000, CRC(542ee1c7) SHA1(b934adeecbba17cf96b06a2b1dc1ceaebdf9ad10) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* chars */ ROM_LOAD16_BYTE( "pk-c00-os.c00", 0x000000, 0x80000, CRC(42ae3d73) SHA1(e4777066155c9882695ebff0412bd879b8d6f716) ) @@ -979,13 +930,13 @@ ROM_START( wpksoc ) ROM_END ROM_START( kftgoal ) - ROM_REGION( 0x180000, "maincpu", 0 ) /* v30 main cpu */ + ROM_REGION( 0x100000, "maincpu", 0 ) ROM_LOAD16_BYTE( "pk-h0-usa-d.h0", 0x000001, 0x040000, CRC(aed4cde0) SHA1(2fe04bf93c353108b82a0b6017229e9b0f451b06) ) ROM_LOAD16_BYTE( "pk-l0-usa-d.l0", 0x000000, 0x040000, CRC(39fe30d2) SHA1(e0c117da4fe9c779dd534ee0d09685aeb5f579c6) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "pk-sh0.sh0", 0x000001, 0x010000, CRC(1145998c) SHA1(cdb2a428e0f35302b81696dab02d3dd2c433f6e5) ) - ROM_LOAD16_BYTE( "pk-sl0.sl0", 0x000000, 0x010000, CRC(542ee1c7) SHA1(b934adeecbba17cf96b06a2b1dc1ceaebdf9ad10) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "pk-sh0.sh0", 0x00001, 0x10000, CRC(1145998c) SHA1(cdb2a428e0f35302b81696dab02d3dd2c433f6e5) ) + ROM_LOAD16_BYTE( "pk-sl0.sl0", 0x00000, 0x10000, CRC(542ee1c7) SHA1(b934adeecbba17cf96b06a2b1dc1ceaebdf9ad10) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* chars */ ROM_LOAD16_BYTE( "pk-c00-os.c00", 0x000000, 0x80000, CRC(42ae3d73) SHA1(e4777066155c9882695ebff0412bd879b8d6f716) ) @@ -1006,7 +957,7 @@ ROM_START( kftgoal ) ROM_REGION( 0x100000, "irem", 0 ) /* ADPCM samples */ ROM_LOAD( "pk-da0.da0", 0x000000, 0x80000, BAD_DUMP CRC(26a34cf4) SHA1(a8a7cd91cdc6d644ee02ca16e7fdc8debf8f3a5f) ) //clearly taken from World PK Soccer, it says "World PK Soccer" at title screen - ROM_REGION( 0x2000, "user1", 0 ) /* ST M28C64C-20PI Eeprom */ + ROM_REGION( 0x2000, "eeprom", 0 ) /* ST M28C64C-20PI Eeprom */ ROM_LOAD( "st-m28c64c.eeprom", 0x000, 0x2000, CRC(8e0c8b7c) SHA1(0b57290d709e6d54ce1bb3a5c01b80590203c1dd) ) ROM_END @@ -1015,13 +966,9 @@ ROM_END static DRIVER_INIT( firebarr ) { m107_state *state = machine.driver_data<m107_state>(); - UINT8 *RAM = machine.region("maincpu")->base(); - - memcpy(RAM + 0xffff0, RAM + 0x7fff0, 0x10); /* Start vector */ - memory_set_bankptr(machine, "bank1", &RAM[0xa0000]); /* Initial bank */ + UINT8 *ROM = machine.region("maincpu")->base(); - RAM = machine.region("soundcpu")->base(); - memcpy(RAM + 0xffff0,RAM + 0x1fff0, 0x10); /* Sound cpu Start vector */ + memory_set_bankptr(machine, "bank1", &ROM[0xa0000]); state->m_irq_vectorbase = 0x20; state->m_spritesystem = 1; @@ -1030,13 +977,10 @@ static DRIVER_INIT( firebarr ) static DRIVER_INIT( dsoccr94 ) { m107_state *state = machine.driver_data<m107_state>(); - UINT8 *RAM = machine.region("maincpu")->base(); + UINT8 *ROM = machine.region("maincpu")->base(); - memcpy(RAM + 0xffff0, RAM + 0x7fff0, 0x10); /* Start vector */ - memory_set_bankptr(machine, "bank1", &RAM[0xa0000]); /* Initial bank */ - - RAM = machine.region("soundcpu")->base(); - memcpy(RAM + 0xffff0, RAM + 0x1fff0, 0x10); /* Sound cpu Start vector */ + memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x80000], 0x20000); + machine.device("maincpu")->memory().space(AS_IO)->install_legacy_write_handler(0x06, 0x07, FUNC(m107_bankswitch_w)); state->m_irq_vectorbase = 0x80; state->m_spritesystem = 0; @@ -1045,14 +989,6 @@ static DRIVER_INIT( dsoccr94 ) static DRIVER_INIT( wpksoc ) { m107_state *state = machine.driver_data<m107_state>(); - UINT8 *RAM = machine.region("maincpu")->base(); - - memcpy(RAM + 0xffff0, RAM + 0x7fff0, 0x10); /* Start vector */ - memory_set_bankptr(machine, "bank1", &RAM[0xa0000]); /* Initial bank */ - - RAM = machine.region("soundcpu")->base(); - memcpy(RAM + 0xffff0, RAM + 0x1fff0, 0x10); /* Sound cpu Start vector */ - state->m_irq_vectorbase = 0x80; state->m_spritesystem = 0; @@ -1062,6 +998,6 @@ static DRIVER_INIT( wpksoc ) GAME( 1993, firebarr, 0, firebarr, firebarr, firebarr, ROT270, "Irem", "Fire Barrel (Japan)", 0 ) // Air Assault : World version of Fire Barrel, seen on location at the London Trocadero -GAME( 1994, dsoccr94, 0, dsoccr94, dsoccr94, dsoccr94, ROT0, "Irem (Data East Corporation license)", "Dream Soccer '94 (M107 Hardware)", 0 ) -GAME( 1995, wpksoc, 0, wpksoc, wpksoc, wpksoc, ROT0, "Jaleco", "World PK Soccer", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS ) -GAME( 1994, kftgoal, wpksoc, wpksoc, wpksoc, wpksoc, ROT0, "Jaleco", "Kick for the Goal", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS ) +GAME( 1994, dsoccr94, 0, dsoccr94, dsoccr94, dsoccr94, ROT0, "Irem (Data East Corporation license)", "Dream Soccer '94 (World, M107 hardware)", 0 ) +GAME( 1995, wpksoc, 0, wpksoc, wpksoc, wpksoc, ROT0, "Jaleco", "World PK Soccer", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_MECHANICAL ) +GAME( 1994, kftgoal, wpksoc, wpksoc, wpksoc, wpksoc, ROT0, "Jaleco", "Kick for the Goal", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_MECHANICAL ) diff --git a/src/mame/drivers/m92.c b/src/mame/drivers/m92.c index 9da2a832e20..fd669cfcf37 100644 --- a/src/mame/drivers/m92.c +++ b/src/mame/drivers/m92.c @@ -52,14 +52,14 @@ Glitch list! Almost certainly a core bug. Irem Skins: - - Eeprom load/save not yet implemented - when done, MT2EEP should + - EEPROM load/save not yet implemented - when done, MT2EEP should be removed from the ROM definition. LeagueMan: Raster effects don't work properly (not even cpu time per line?). (0.141 update: at least following two seems fixed from a lot of time ... -AS) - Perfect Soliders: + Perfect Soldiers: Shortly into the fight, the sound CPU enters a tight loop, continuously writing to the status port and with interrupts disabled. I don't see how it is supposed to get out of that loop. Maybe it's not supposed to enter @@ -204,15 +204,12 @@ psoldier dip locations still need veritication. #include "sound/okim6295.h" - -#define M92_IRQ_0 ((state->m_irq_vectorbase+0)/4) /* VBL interrupt*/ +#define M92_IRQ_0 ((state->m_irq_vectorbase+0)/4) /* VBL interrupt */ #define M92_IRQ_1 ((state->m_irq_vectorbase+4)/4) /* Sprite buffer complete interrupt */ #define M92_IRQ_2 ((state->m_irq_vectorbase+8)/4) /* Raster interrupt */ #define M92_IRQ_3 ((state->m_irq_vectorbase+12)/4) /* Sound cpu interrupt */ -static TIMER_CALLBACK( m92_scanline_interrupt ); - /*****************************************************************************/ static void set_m92_bank(running_machine &machine) @@ -225,24 +222,21 @@ static void set_m92_bank(running_machine &machine) static MACHINE_START( m92 ) { m92_state *state = machine.driver_data<m92_state>(); - state->save_item(NAME(state->m_irqvector)); - state->save_item(NAME(state->m_sound_status)); - state->save_item(NAME(state->m_bankaddress)); - machine.save().register_postload(save_prepost_delegate(FUNC(set_m92_bank), &machine)); - - state->m_scanline_timer = machine.scheduler().timer_alloc(FUNC(m92_scanline_interrupt)); + state->save_item(NAME(state->m_sound_status)); } static MACHINE_RESET( m92 ) { - m92_state *state = machine.driver_data<m92_state>(); - state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(0)); + m92_state *state = machine.driver_data<m92_state>(); + + state->m_sprite_buffer_busy = 1; } /*****************************************************************************/ -static TIMER_CALLBACK( m92_scanline_interrupt ) +static TIMER_DEVICE_CALLBACK( m92_scanline_interrupt ) { + running_machine &machine = timer.machine(); m92_state *state = machine.driver_data<m92_state>(); int scanline = param; @@ -259,25 +253,20 @@ static TIMER_CALLBACK( m92_scanline_interrupt ) machine.primary_screen->update_partial(scanline); cputag_set_input_line_and_vector(machine, "maincpu", 0, HOLD_LINE, M92_IRQ_0); } - - /* adjust for next scanline */ - if (++scanline >= machine.primary_screen->height()) - scanline = 0; - state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(scanline), scanline); } /*****************************************************************************/ static READ16_HANDLER( m92_eeprom_r ) { - UINT8 *RAM = space->machine().region("user1")->base(); + UINT8 *RAM = space->machine().region("eeprom")->base(); // logerror("%05x: EEPROM RE %04x\n",cpu_get_pc(&space->device()),offset); return RAM[offset] | 0xff00; } static WRITE16_HANDLER( m92_eeprom_w ) { - UINT8 *RAM = space->machine().region("user1")->base(); + UINT8 *RAM = space->machine().region("eeprom")->base(); // logerror("%05x: EEPROM WR %04x\n",cpu_get_pc(&space->device()),offset); if (ACCESSING_BITS_0_7) RAM[offset] = data; @@ -297,11 +286,11 @@ static WRITE16_HANDLER( m92_coincounter_w ) static WRITE16_HANDLER( m92_bankswitch_w ) { - m92_state *state = space->machine().driver_data<m92_state>(); if (ACCESSING_BITS_0_7) { - state->m_bankaddress = 0x100000 + ((data & 0x7) * 0x10000); - set_m92_bank(space->machine()); + memory_set_bank(space->machine(), "bank1", (data & 0x06) >> 1); + if (data & 0xf9) + logerror("%05x: bankswitch %04x\n", cpu_get_pc(&space->device()), data); } } @@ -313,37 +302,9 @@ static CUSTOM_INPUT( m92_sprite_busy_r ) /*****************************************************************************/ -enum { VECTOR_INIT, YM2151_ASSERT, YM2151_CLEAR, V30_ASSERT, V30_CLEAR }; - -static TIMER_CALLBACK( setvector_callback ) -{ - m92_state *state = machine.driver_data<m92_state>(); - if (!machine.device("soundcpu")) - return; - - switch(param) - { - case VECTOR_INIT: state->m_irqvector = 0; break; - case YM2151_ASSERT: state->m_irqvector |= 0x2; break; - case YM2151_CLEAR: state->m_irqvector &= ~0x2; break; - case V30_ASSERT: state->m_irqvector |= 0x1; break; - case V30_CLEAR: state->m_irqvector &= ~0x1; break; - } - - if (state->m_irqvector & 0x2) /* YM2151 has precedence */ - device_set_input_line_vector(machine.device("soundcpu"), 0, 0x18); - else if (state->m_irqvector & 0x1) /* V30 */ - device_set_input_line_vector(machine.device("soundcpu"), 0, 0x19); - - if (state->m_irqvector == 0) /* no IRQs pending */ - cputag_set_input_line(machine, "soundcpu", 0, CLEAR_LINE); - else /* IRQ pending */ - cputag_set_input_line(machine, "soundcpu", 0, ASSERT_LINE); -} - static WRITE16_HANDLER( m92_soundlatch_w ) { - space->machine().scheduler().synchronize(FUNC(setvector_callback), V30_ASSERT); + cputag_set_input_line(space->machine(), "soundcpu", NEC_INPUT_LINE_INTP1, ASSERT_LINE); soundlatch_w(space, 0, data & 0xff); } @@ -361,7 +322,7 @@ static READ16_HANDLER( m92_soundlatch_r ) static WRITE16_HANDLER( m92_sound_irq_ack_w ) { - space->machine().scheduler().synchronize(FUNC(setvector_callback), V30_CLEAR); + cputag_set_input_line(space->machine(), "soundcpu", NEC_INPUT_LINE_INTP1, CLEAR_LINE); } static WRITE16_HANDLER( m92_sound_status_w ) @@ -371,7 +332,6 @@ static WRITE16_HANDLER( m92_sound_status_w ) cputag_set_input_line_and_vector(space->machine(), "maincpu", 0, HOLD_LINE, M92_IRQ_3); } - static WRITE16_HANDLER( m92_sound_reset_w ) { cputag_set_input_line(space->machine(), "soundcpu", INPUT_LINE_RESET, (data) ? CLEAR_LINE : ASSERT_LINE); @@ -394,14 +354,14 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( m92_map, AS_PROGRAM, 16 ) AM_RANGE(0x00000, 0x9ffff) AM_ROM AM_RANGE(0xa0000, 0xbffff) AM_ROMBANK("bank1") - AM_RANGE(0xc0000, 0xcffff) AM_ROMBANK("bank2") /* Mirror of rom: Used by In The Hunt as protection */ + AM_RANGE(0xc0000, 0xcffff) AM_ROM AM_REGION("maincpu", 0x00000) /* Mirror used by In The Hunt as protection */ AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE(m92_vram_w) AM_BASE_MEMBER(m92_state, m_vram_data) AM_RANGE(0xe0000, 0xeffff) AM_RAM /* System ram */ AM_RANGE(0xf8000, 0xf87ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0xf8800, 0xf8fff) AM_READWRITE(m92_paletteram_r, m92_paletteram_w) AM_RANGE(0xf9000, 0xf900f) AM_WRITE(m92_spritecontrol_w) AM_BASE_MEMBER(m92_state, m_spritecontrol) AM_RANGE(0xf9800, 0xf9801) AM_WRITE(m92_videocontrol_w) - AM_RANGE(0xffff0, 0xfffff) AM_ROM + AM_RANGE(0xffff0, 0xfffff) AM_ROM AM_REGION("maincpu", 0x7fff0) ADDRESS_MAP_END static ADDRESS_MAP_START( m92_portmap, AS_IO, 16 ) @@ -412,7 +372,6 @@ static ADDRESS_MAP_START( m92_portmap, AS_IO, 16 ) AM_RANGE(0x08, 0x09) AM_READ(m92_sound_status_r) /* answer from sound CPU */ AM_RANGE(0x00, 0x01) AM_WRITE(m92_soundlatch_w) AM_RANGE(0x02, 0x03) AM_WRITE(m92_coincounter_w) - AM_RANGE(0x20, 0x21) AM_WRITE(m92_bankswitch_w) AM_RANGE(0x40, 0x43) AM_WRITENOP /* Interrupt controller, only written to at bootup */ AM_RANGE(0x80, 0x87) AM_WRITE(m92_pf1_control_w) AM_RANGE(0x88, 0x8f) AM_WRITE(m92_pf2_control_w) @@ -425,13 +384,12 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 16 ) AM_RANGE(0x00000, 0x1ffff) AM_ROM - AM_RANGE(0x9ff00, 0x9ffff) AM_WRITENOP /* Irq controller? */ AM_RANGE(0xa0000, 0xa3fff) AM_RAM AM_RANGE(0xa8000, 0xa803f) AM_DEVREADWRITE8("irem", irem_ga20_r, irem_ga20_w, 0x00ff) AM_RANGE(0xa8040, 0xa8043) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff) AM_RANGE(0xa8044, 0xa8045) AM_READWRITE(m92_soundlatch_r, m92_sound_irq_ack_w) AM_RANGE(0xa8046, 0xa8047) AM_WRITE(m92_sound_status_w) - AM_RANGE(0xffff0, 0xfffff) AM_ROM + AM_RANGE(0xffff0, 0xfffff) AM_ROM AM_REGION("soundcpu", 0x1fff0) ADDRESS_MAP_END /******************************************************************************/ @@ -905,10 +863,7 @@ GFXDECODE_END static void sound_irq(device_t *device, int state) { - if (state) - device->machine().scheduler().synchronize(FUNC(setvector_callback), YM2151_ASSERT); - else - device->machine().scheduler().synchronize(FUNC(setvector_callback), YM2151_CLEAR); + cputag_set_input_line(device->machine(), "soundcpu", NEC_INPUT_LINE_INTP0, state ? ASSERT_LINE : CLEAR_LINE); } static const ym2151_interface ym2151_config = @@ -938,6 +893,8 @@ static MACHINE_CONFIG_START( m92, m92_state ) MCFG_MACHINE_START(m92) MCFG_MACHINE_RESET(m92) + MCFG_TIMER_ADD_SCANLINE("scantimer", m92_scanline_interrupt, "screen", 0, 1) + /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM) @@ -1023,6 +980,8 @@ static MACHINE_CONFIG_START( ppan, m92_state ) MCFG_MACHINE_START(m92) MCFG_MACHINE_RESET(m92) + MCFG_TIMER_ADD_SCANLINE("scantimer", m92_scanline_interrupt, "screen", 0, 1) + /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM) @@ -1089,7 +1048,6 @@ static MACHINE_CONFIG_DERIVED( gunforc2, m92 ) MCFG_CPU_CONFIG(gunforc2_config) MACHINE_CONFIG_END - /***************************************************************************/ ROM_START( bmaster ) /* M92-B-B PCB used for program rom locations */ @@ -1099,9 +1057,9 @@ ROM_START( bmaster ) /* M92-B-B PCB used for program rom locations */ ROM_LOAD16_BYTE( "bm_d-h1-b.5l", 0x080001, 0x10000, CRC(082b7158) SHA1(ca2cfcb3ecd1f130d3fb893f08d53521e7d443d4) ) ROM_LOAD16_BYTE( "bm_d-l1-b.5j", 0x080000, 0x10000, CRC(6ff0c04e) SHA1(7293a50445053101d22bc596d13e1a7ed67a65c6) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "bm_d-sh0.rom", 0x000001, 0x10000, CRC(9f7c075b) SHA1(1dd3fb4dc41d3adea9ca8d1b4363dadebea49bda) ) - ROM_LOAD16_BYTE( "bm_d-sl0.rom", 0x000000, 0x10000, CRC(1fa87c89) SHA1(971eae7dd2591191ed7a948a444387896735e149) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "bm_d-sh0.rom", 0x00001, 0x10000, CRC(9f7c075b) SHA1(1dd3fb4dc41d3adea9ca8d1b4363dadebea49bda) ) + ROM_LOAD16_BYTE( "bm_d-sl0.rom", 0x00000, 0x10000, CRC(1fa87c89) SHA1(971eae7dd2591191ed7a948a444387896735e149) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "bm_c0.rom", 0x000000, 0x40000, CRC(2cc966b8) SHA1(4d55954813efe975b7e644448effc61b22896e0b) ) @@ -1126,9 +1084,9 @@ ROM_START( crossbld ) /* M92-D-A PCB used for program rom locations */ ROM_LOAD16_BYTE( "bm_d-h1.3e", 0x080001, 0x10000, CRC(18da6c47) SHA1(7b8cf82cf0c94d1ec64e77e15b877b5ffd307bc3) ) ROM_LOAD16_BYTE( "bm_d-l1.5e", 0x080000, 0x10000, CRC(a65c1b42) SHA1(beb4131d045158231ba999b72f21c97c014672d0) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "bm_d-sh0.rom", 0x000001, 0x10000, CRC(9f7c075b) SHA1(1dd3fb4dc41d3adea9ca8d1b4363dadebea49bda) ) - ROM_LOAD16_BYTE( "bm_d-sl0.rom", 0x000000, 0x10000, CRC(1fa87c89) SHA1(971eae7dd2591191ed7a948a444387896735e149) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "bm_d-sh0.rom", 0x00001, 0x10000, CRC(9f7c075b) SHA1(1dd3fb4dc41d3adea9ca8d1b4363dadebea49bda) ) + ROM_LOAD16_BYTE( "bm_d-sl0.rom", 0x00000, 0x10000, CRC(1fa87c89) SHA1(971eae7dd2591191ed7a948a444387896735e149) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "bm_c0.rom", 0x000000, 0x40000, CRC(2cc966b8) SHA1(4d55954813efe975b7e644448effc61b22896e0b) ) @@ -1147,15 +1105,15 @@ ROM_START( crossbld ) /* M92-D-A PCB used for program rom locations */ ROM_END ROM_START( skingame ) - ROM_REGION( 0x180000, "maincpu", 0 ) - ROM_LOAD16_BYTE( "is-h0-d.5m", 0x000001, 0x40000, CRC(80940abb) SHA1(7af5b667383f40987cc8190d81937410ea2c0301) ) - ROM_LOAD16_BYTE( "is-l0-d.5f", 0x000000, 0x40000, CRC(b84beed6) SHA1(b026a68623d7d96545a4b01770fc6cdd2a0ed0f4) ) - ROM_LOAD16_BYTE( "is-h1.5l", 0x100001, 0x40000, CRC(9ba8e1f2) SHA1(ae86697a97223d236e2e6dd33ddb8105b9f926cb) ) - ROM_LOAD16_BYTE( "is-l1.5j", 0x100000, 0x40000, CRC(e4e00626) SHA1(e8c6c7ad6a367da4036915a155c8695ad90ae47b) ) + ROM_REGION( 0x100000, "maincpu", 0 ) + ROM_LOAD16_BYTE( "is-h0-d.5m", 0x00001, 0x40000, CRC(80940abb) SHA1(7af5b667383f40987cc8190d81937410ea2c0301) ) + ROM_LOAD16_BYTE( "is-l0-d.5f", 0x00000, 0x40000, CRC(b84beed6) SHA1(b026a68623d7d96545a4b01770fc6cdd2a0ed0f4) ) + ROM_LOAD16_BYTE( "is-h1.5l", 0x80001, 0x40000, CRC(9ba8e1f2) SHA1(ae86697a97223d236e2e6dd33ddb8105b9f926cb) ) + ROM_LOAD16_BYTE( "is-l1.5j", 0x80000, 0x40000, CRC(e4e00626) SHA1(e8c6c7ad6a367da4036915a155c8695ad90ae47b) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "mt2sh0", 0x000001, 0x10000, CRC(1ecbea43) SHA1(8d66ef419f75569f2c83a89c3985742b8a47914f) ) - ROM_LOAD16_BYTE( "mt2sl0", 0x000000, 0x10000, CRC(8fd5b531) SHA1(92cae3f6dac7f89b559063de3be2f38587536b65) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "mt2sh0", 0x00001, 0x10000, CRC(1ecbea43) SHA1(8d66ef419f75569f2c83a89c3985742b8a47914f) ) + ROM_LOAD16_BYTE( "mt2sl0", 0x00000, 0x10000, CRC(8fd5b531) SHA1(92cae3f6dac7f89b559063de3be2f38587536b65) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "c0", 0x000000, 0x40000, CRC(7e61e4b5) SHA1(d0164862937bd506e701777c51dea1ddb3e2eda4) ) @@ -1172,7 +1130,7 @@ ROM_START( skingame ) ROM_REGION( 0x80000, "irem", 0 ) ROM_LOAD( "da", 0x000000, 0x80000, CRC(713b9e9f) SHA1(91384d67d4ba9c7d926fbecb077293c661b8ec83) ) - ROM_REGION( 0x4000, "user1", 0 ) /* EEPROM */ + ROM_REGION( 0x4000, "eeprom", 0 ) /* EEPROM */ ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) ) ROM_REGION( 0x0c00, "plds", 0 ) @@ -1184,15 +1142,15 @@ ROM_START( skingame ) ROM_END ROM_START( majtitl2 ) - ROM_REGION( 0x180000, "maincpu", 0 ) - ROM_LOAD16_BYTE( "mt2-h0-b.5m", 0x000001, 0x40000, CRC(b163b12e) SHA1(cdb01a5266bd11f4cff1cb5c05cf24de13a527b2) ) - ROM_LOAD16_BYTE( "mt2-l0-b.5f", 0x000000, 0x40000, CRC(6f3b5d9d) SHA1(a39f25f29195023fb507dc9ffbfcbd57a4e6b30a) ) - ROM_LOAD16_BYTE( "is-h1.5l", 0x100001, 0x40000, CRC(9ba8e1f2) SHA1(ae86697a97223d236e2e6dd33ddb8105b9f926cb) ) - ROM_LOAD16_BYTE( "is-l1.5j", 0x100000, 0x40000, CRC(e4e00626) SHA1(e8c6c7ad6a367da4036915a155c8695ad90ae47b) ) + ROM_REGION( 0x100000, "maincpu", 0 ) + ROM_LOAD16_BYTE( "mt2-h0-b.5m", 0x00001, 0x40000, CRC(b163b12e) SHA1(cdb01a5266bd11f4cff1cb5c05cf24de13a527b2) ) + ROM_LOAD16_BYTE( "mt2-l0-b.5f", 0x00000, 0x40000, CRC(6f3b5d9d) SHA1(a39f25f29195023fb507dc9ffbfcbd57a4e6b30a) ) + ROM_LOAD16_BYTE( "is-h1.5l", 0x80001, 0x40000, CRC(9ba8e1f2) SHA1(ae86697a97223d236e2e6dd33ddb8105b9f926cb) ) + ROM_LOAD16_BYTE( "is-l1.5j", 0x80000, 0x40000, CRC(e4e00626) SHA1(e8c6c7ad6a367da4036915a155c8695ad90ae47b) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "mt2sh0", 0x000001, 0x10000, CRC(1ecbea43) SHA1(8d66ef419f75569f2c83a89c3985742b8a47914f) ) - ROM_LOAD16_BYTE( "mt2sl0", 0x000000, 0x10000, CRC(8fd5b531) SHA1(92cae3f6dac7f89b559063de3be2f38587536b65) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "mt2sh0", 0x00001, 0x10000, CRC(1ecbea43) SHA1(8d66ef419f75569f2c83a89c3985742b8a47914f) ) + ROM_LOAD16_BYTE( "mt2sl0", 0x00000, 0x10000, CRC(8fd5b531) SHA1(92cae3f6dac7f89b559063de3be2f38587536b65) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "c0", 0x000000, 0x40000, CRC(7e61e4b5) SHA1(d0164862937bd506e701777c51dea1ddb3e2eda4) ) @@ -1209,7 +1167,7 @@ ROM_START( majtitl2 ) ROM_REGION( 0x80000, "irem", 0 ) ROM_LOAD( "da", 0x000000, 0x80000, CRC(713b9e9f) SHA1(91384d67d4ba9c7d926fbecb077293c661b8ec83) ) - ROM_REGION( 0x4000, "user1", 0 ) /* EEPROM */ + ROM_REGION( 0x4000, "eeprom", 0 ) /* EEPROM */ ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) ) ROM_REGION( 0x0c00, "plds", 0 ) @@ -1221,15 +1179,15 @@ ROM_START( majtitl2 ) ROM_END ROM_START( majtitl2j ) - ROM_REGION( 0x180000, "maincpu", 0 ) - ROM_LOAD16_BYTE( "mt2-h0", 0x000001, 0x40000, CRC(8a8d71ad) SHA1(8c45d947d15eb3a2c2584c9e1cd0e42988955905) ) - ROM_LOAD16_BYTE( "mt2-l1", 0x000000, 0x40000, CRC(dd4fff51) SHA1(9281bac10fdbfa9eede9d069b70eb38d9ae612ce) ) - ROM_LOAD16_BYTE( "is-h1.5l", 0x100001, 0x40000, CRC(9ba8e1f2) SHA1(ae86697a97223d236e2e6dd33ddb8105b9f926cb) ) - ROM_LOAD16_BYTE( "is-l1.5j", 0x100000, 0x40000, CRC(e4e00626) SHA1(e8c6c7ad6a367da4036915a155c8695ad90ae47b) ) + ROM_REGION( 0x100000, "maincpu", 0 ) + ROM_LOAD16_BYTE( "mt2-h0", 0x00001, 0x40000, CRC(8a8d71ad) SHA1(8c45d947d15eb3a2c2584c9e1cd0e42988955905) ) + ROM_LOAD16_BYTE( "mt2-l1", 0x00000, 0x40000, CRC(dd4fff51) SHA1(9281bac10fdbfa9eede9d069b70eb38d9ae612ce) ) + ROM_LOAD16_BYTE( "is-h1.5l", 0x80001, 0x40000, CRC(9ba8e1f2) SHA1(ae86697a97223d236e2e6dd33ddb8105b9f926cb) ) + ROM_LOAD16_BYTE( "is-l1.5j", 0x80000, 0x40000, CRC(e4e00626) SHA1(e8c6c7ad6a367da4036915a155c8695ad90ae47b) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "mt2sh0", 0x000001, 0x10000, CRC(1ecbea43) SHA1(8d66ef419f75569f2c83a89c3985742b8a47914f) ) - ROM_LOAD16_BYTE( "mt2sl0", 0x000000, 0x10000, CRC(8fd5b531) SHA1(92cae3f6dac7f89b559063de3be2f38587536b65) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "mt2sh0", 0x00001, 0x10000, CRC(1ecbea43) SHA1(8d66ef419f75569f2c83a89c3985742b8a47914f) ) + ROM_LOAD16_BYTE( "mt2sl0", 0x00000, 0x10000, CRC(8fd5b531) SHA1(92cae3f6dac7f89b559063de3be2f38587536b65) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "c0", 0x000000, 0x40000, CRC(7e61e4b5) SHA1(d0164862937bd506e701777c51dea1ddb3e2eda4) ) @@ -1246,7 +1204,7 @@ ROM_START( majtitl2j ) ROM_REGION( 0x80000, "irem", 0 ) ROM_LOAD( "da", 0x000000, 0x80000, CRC(713b9e9f) SHA1(91384d67d4ba9c7d926fbecb077293c661b8ec83) ) - ROM_REGION( 0x4000, "user1", 0 ) /* EEPROM */ + ROM_REGION( 0x4000, "eeprom", 0 ) /* EEPROM */ ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) ) ROM_REGION( 0x0c00, "plds", 0 ) @@ -1258,15 +1216,15 @@ ROM_START( majtitl2j ) ROM_END ROM_START( skingame2 ) - ROM_REGION( 0x180000, "maincpu", 0 ) - ROM_LOAD16_BYTE( "mt2-h0-a.5m", 0x000001, 0x40000, CRC(7c6dbbc7) SHA1(6ac2df542cbcac782d733aaa0f2e4ded702ec24f) ) - ROM_LOAD16_BYTE( "mt2-l0-a.5f", 0x000000, 0x40000, CRC(9de5f689) SHA1(ea5057cab0a2f5c4586337fc5a17f1a728450cbf) ) - ROM_LOAD16_BYTE( "is-h1.5l", 0x100001, 0x40000, CRC(9ba8e1f2) SHA1(ae86697a97223d236e2e6dd33ddb8105b9f926cb) ) - ROM_LOAD16_BYTE( "is-l1.5j", 0x100000, 0x40000, CRC(e4e00626) SHA1(e8c6c7ad6a367da4036915a155c8695ad90ae47b) ) + ROM_REGION( 0x100000, "maincpu", 0 ) + ROM_LOAD16_BYTE( "mt2-h0-a.5m", 0x00001, 0x40000, CRC(7c6dbbc7) SHA1(6ac2df542cbcac782d733aaa0f2e4ded702ec24f) ) + ROM_LOAD16_BYTE( "mt2-l0-a.5f", 0x00000, 0x40000, CRC(9de5f689) SHA1(ea5057cab0a2f5c4586337fc5a17f1a728450cbf) ) + ROM_LOAD16_BYTE( "is-h1.5l", 0x80001, 0x40000, CRC(9ba8e1f2) SHA1(ae86697a97223d236e2e6dd33ddb8105b9f926cb) ) + ROM_LOAD16_BYTE( "is-l1.5j", 0x80000, 0x40000, CRC(e4e00626) SHA1(e8c6c7ad6a367da4036915a155c8695ad90ae47b) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "mt2sh0", 0x000001, 0x10000, CRC(1ecbea43) SHA1(8d66ef419f75569f2c83a89c3985742b8a47914f) ) - ROM_LOAD16_BYTE( "mt2sl0", 0x000000, 0x10000, CRC(8fd5b531) SHA1(92cae3f6dac7f89b559063de3be2f38587536b65) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "mt2sh0", 0x00001, 0x10000, CRC(1ecbea43) SHA1(8d66ef419f75569f2c83a89c3985742b8a47914f) ) + ROM_LOAD16_BYTE( "mt2sl0", 0x00000, 0x10000, CRC(8fd5b531) SHA1(92cae3f6dac7f89b559063de3be2f38587536b65) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "c0", 0x000000, 0x40000, CRC(7e61e4b5) SHA1(d0164862937bd506e701777c51dea1ddb3e2eda4) ) @@ -1283,7 +1241,7 @@ ROM_START( skingame2 ) ROM_REGION( 0x80000, "irem", 0 ) ROM_LOAD( "da", 0x000000, 0x80000, CRC(713b9e9f) SHA1(91384d67d4ba9c7d926fbecb077293c661b8ec83) ) - ROM_REGION( 0x4000, "user1", 0 ) /* EEPROM */ + ROM_REGION( 0x4000, "eeprom", 0 ) /* EEPROM */ ROM_LOAD( "mt2eep", 0x000000, 0x800, CRC(208af971) SHA1(69384cac24b7af35a031f9b60e035131a8b10cb2) ) ROM_REGION( 0x0c00, "plds", 0 ) @@ -1301,9 +1259,9 @@ ROM_START( gunforce ) ROM_LOAD16_BYTE( "gf_h1-c.5l", 0x040001, 0x20000, CRC(c84188b7) SHA1(ff710be742f610d90538db296acdd435260bef12) ) ROM_LOAD16_BYTE( "gf_l1-c.5j", 0x040000, 0x20000, CRC(b189f72a) SHA1(f17d87349a57e1a4b20c4947e41edd7c39eaca13) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "gf_sh0.rom", 0x000001, 0x010000, CRC(3f8f16e0) SHA1(a9f568c1b585c2cf13b21716954dac0a89936fc6) ) - ROM_LOAD16_BYTE( "gf_sl0.rom", 0x000000, 0x010000, CRC(db0b13a3) SHA1(6723026010610b706725a5284a7b8d70fe479dae) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "gf_sh0.rom", 0x00001, 0x10000, CRC(3f8f16e0) SHA1(a9f568c1b585c2cf13b21716954dac0a89936fc6) ) + ROM_LOAD16_BYTE( "gf_sl0.rom", 0x00000, 0x10000, CRC(db0b13a3) SHA1(6723026010610b706725a5284a7b8d70fe479dae) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "gf_c0.rom", 0x000000, 0x40000, CRC(b3b74979) SHA1(b5b4a4775e0b28c3f37273f93f69886c911af4aa) ) @@ -1328,9 +1286,9 @@ ROM_START( gunforcej ) ROM_LOAD16_BYTE( "gfb_h1-e.5l", 0x040001, 0x20000, CRC(d9744f5d) SHA1(056d6e6e9874c33dcebe2e0ec946117d5eaa5d76) ) ROM_LOAD16_BYTE( "gfb_l1-e.5j", 0x040000, 0x20000, CRC(a0f7b61b) SHA1(5fc7fc3f57e82a9ae4e1f3c3e8e3e3b0bd3ff8f5) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "gf_sh0.rom",0x000001, 0x010000, CRC(3f8f16e0) SHA1(a9f568c1b585c2cf13b21716954dac0a89936fc6) ) - ROM_LOAD16_BYTE( "gf_sl0.rom",0x000000, 0x010000, CRC(db0b13a3) SHA1(6723026010610b706725a5284a7b8d70fe479dae) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "gf_sh0.rom", 0x00001, 0x10000, CRC(3f8f16e0) SHA1(a9f568c1b585c2cf13b21716954dac0a89936fc6) ) + ROM_LOAD16_BYTE( "gf_sl0.rom", 0x00000, 0x10000, CRC(db0b13a3) SHA1(6723026010610b706725a5284a7b8d70fe479dae) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "gf_c0.rom", 0x000000, 0x40000, CRC(b3b74979) SHA1(b5b4a4775e0b28c3f37273f93f69886c911af4aa) ) @@ -1355,9 +1313,9 @@ ROM_START( gunforceu ) ROM_LOAD16_BYTE( "gf_h1-d.5l", 0x040001, 0x20000, CRC(08a3736c) SHA1(0ae904cf486a371f8b635c1f9dc5201e38a73f5a) ) ROM_LOAD16_BYTE( "gf_l1-d.5j", 0x040000, 0x20000, CRC(435f524f) SHA1(65c282ec50123747880850bc32c7ace0471ed9f2) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "gf_sh0.rom",0x000001, 0x010000, CRC(3f8f16e0) SHA1(a9f568c1b585c2cf13b21716954dac0a89936fc6) ) - ROM_LOAD16_BYTE( "gf_sl0.rom",0x000000, 0x010000, CRC(db0b13a3) SHA1(6723026010610b706725a5284a7b8d70fe479dae) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "gf_sh0.rom", 0x00001, 0x10000, CRC(3f8f16e0) SHA1(a9f568c1b585c2cf13b21716954dac0a89936fc6) ) + ROM_LOAD16_BYTE( "gf_sl0.rom", 0x00000, 0x10000, CRC(db0b13a3) SHA1(6723026010610b706725a5284a7b8d70fe479dae) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "gf_c0.rom", 0x000000, 0x40000, CRC(b3b74979) SHA1(b5b4a4775e0b28c3f37273f93f69886c911af4aa) ) @@ -1382,9 +1340,9 @@ ROM_START( inthunt ) ROM_LOAD16_BYTE( "ith-h1-b.bin", 0x080001, 0x020000, CRC(fc2899df) SHA1(f811ff5fd55655afdb25950d317db85c8091b6d6) ) ROM_LOAD16_BYTE( "ith-l1-b.bin", 0x080000, 0x020000, CRC(955a605a) SHA1(2515accc2f4a06b07418e45eb62e746d09c81720) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* Irem D8000011A1 */ - ROM_LOAD16_BYTE( "ith-sh0.rom", 0x000001, 0x010000, CRC(209c8b7f) SHA1(eaf4a6d9222fe181df65cea1f13c3f2ebff2ec5b) ) - ROM_LOAD16_BYTE( "ith-sl0.rom", 0x000000, 0x010000, CRC(18472d65) SHA1(2705e94ee350ffda272c50ea3bf605826aa19978) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) /* Irem D8000011A1 */ + ROM_LOAD16_BYTE( "ith-sh0.rom", 0x00001, 0x10000, CRC(209c8b7f) SHA1(eaf4a6d9222fe181df65cea1f13c3f2ebff2ec5b) ) + ROM_LOAD16_BYTE( "ith-sl0.rom", 0x00000, 0x10000, CRC(18472d65) SHA1(2705e94ee350ffda272c50ea3bf605826aa19978) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "ith_ic26.rom", 0x000000, 0x080000, CRC(4c1818cf) SHA1(fc8c2ae640bc3504a52736be46febb92c998fd7d) ) @@ -1409,9 +1367,9 @@ ROM_START( inthuntu ) ROM_LOAD16_BYTE( "ith-h1-a.bin", 0x080001, 0x020000, CRC(0253065f) SHA1(a11e6bf014c19b2e317b75f01a7f0d7a9a85c7d3) ) ROM_LOAD16_BYTE( "ith-l1-a.bin", 0x080000, 0x020000, CRC(a57d688d) SHA1(aa049de5c41097b6f1da31e9bf3bac132f67aa6c) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* Irem D8000011A1 */ - ROM_LOAD16_BYTE( "ith-sh0.rom", 0x000001, 0x010000, CRC(209c8b7f) SHA1(eaf4a6d9222fe181df65cea1f13c3f2ebff2ec5b) ) - ROM_LOAD16_BYTE( "ith-sl0.rom", 0x000000, 0x010000, CRC(18472d65) SHA1(2705e94ee350ffda272c50ea3bf605826aa19978) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) /* Irem D8000011A1 */ + ROM_LOAD16_BYTE( "ith-sh0.rom", 0x00001, 0x10000, CRC(209c8b7f) SHA1(eaf4a6d9222fe181df65cea1f13c3f2ebff2ec5b) ) + ROM_LOAD16_BYTE( "ith-sl0.rom", 0x00000, 0x10000, CRC(18472d65) SHA1(2705e94ee350ffda272c50ea3bf605826aa19978) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "ith_ic26.rom", 0x000000, 0x080000, CRC(4c1818cf) SHA1(fc8c2ae640bc3504a52736be46febb92c998fd7d) ) @@ -1436,9 +1394,9 @@ ROM_START( kaiteids ) ROM_LOAD16_BYTE( "ith-h1j.bin", 0x080001, 0x020000, CRC(5a7b212d) SHA1(50562d804a43aed7c34c19c8345782ac2f85caa7) ) ROM_LOAD16_BYTE( "ith-l1j.bin", 0x080000, 0x020000, CRC(4c084494) SHA1(4f32003db32f13e19dd07c66996b4328ac2a671e) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* Irem D8000011A1 */ - ROM_LOAD16_BYTE( "ith-sh0.rom", 0x000001, 0x010000, CRC(209c8b7f) SHA1(eaf4a6d9222fe181df65cea1f13c3f2ebff2ec5b) ) - ROM_LOAD16_BYTE( "ith-sl0.rom", 0x000000, 0x010000, CRC(18472d65) SHA1(2705e94ee350ffda272c50ea3bf605826aa19978) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) /* Irem D8000011A1 */ + ROM_LOAD16_BYTE( "ith-sh0.rom", 0x00001, 0x10000, CRC(209c8b7f) SHA1(eaf4a6d9222fe181df65cea1f13c3f2ebff2ec5b) ) + ROM_LOAD16_BYTE( "ith-sl0.rom", 0x00000, 0x10000, CRC(18472d65) SHA1(2705e94ee350ffda272c50ea3bf605826aa19978) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "ith_ic26.rom", 0x000000, 0x080000, CRC(4c1818cf) SHA1(fc8c2ae640bc3504a52736be46febb92c998fd7d) ) @@ -1463,9 +1421,9 @@ ROM_START( hook ) ROM_LOAD16_BYTE( "h-h1.rom", 0x080001, 0x020000, CRC(264ba1f0) SHA1(49ecf9b3e5375629607fb747abe264406065580b) ) ROM_LOAD16_BYTE( "h-l1.rom", 0x080000, 0x020000, CRC(f9913731) SHA1(be7871d6843e76f66fae6b501c5ee83ccc366463) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "h-sh0.rom", 0x000001, 0x010000, CRC(86a4e56e) SHA1(61163010e713be64368a4126f17d33cbdcf0c5ed) ) - ROM_LOAD16_BYTE( "h-sl0.rom", 0x000000, 0x010000, CRC(10fd9676) SHA1(1b51181a8f0711997e107e9a8b8f44341d08ea81) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "h-sh0.rom", 0x00001, 0x10000, CRC(86a4e56e) SHA1(61163010e713be64368a4126f17d33cbdcf0c5ed) ) + ROM_LOAD16_BYTE( "h-sl0.rom", 0x00000, 0x10000, CRC(10fd9676) SHA1(1b51181a8f0711997e107e9a8b8f44341d08ea81) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "hook-c0.rom", 0x000000, 0x040000, CRC(dec63dcf) SHA1(e9869110f832d782c460b123928b042c65fdf8bd) ) @@ -1490,9 +1448,9 @@ ROM_START( hooku ) ROM_LOAD16_BYTE( "h-h1.rom", 0x080001, 0x020000, CRC(264ba1f0) SHA1(49ecf9b3e5375629607fb747abe264406065580b) ) ROM_LOAD16_BYTE( "h-l1.rom", 0x080000, 0x020000, CRC(f9913731) SHA1(be7871d6843e76f66fae6b501c5ee83ccc366463) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "h-sh0.rom", 0x000001, 0x010000, CRC(86a4e56e) SHA1(61163010e713be64368a4126f17d33cbdcf0c5ed) ) - ROM_LOAD16_BYTE( "h-sl0.rom", 0x000000, 0x010000, CRC(10fd9676) SHA1(1b51181a8f0711997e107e9a8b8f44341d08ea81) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "h-sh0.rom", 0x00001, 0x10000, CRC(86a4e56e) SHA1(61163010e713be64368a4126f17d33cbdcf0c5ed) ) + ROM_LOAD16_BYTE( "h-sl0.rom", 0x00000, 0x10000, CRC(10fd9676) SHA1(1b51181a8f0711997e107e9a8b8f44341d08ea81) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "hook-c0.rom", 0x000000, 0x040000, CRC(dec63dcf) SHA1(e9869110f832d782c460b123928b042c65fdf8bd) ) @@ -1517,9 +1475,9 @@ ROM_START( hookj ) ROM_LOAD16_BYTE( "h-h1.rom", 0x080001, 0x020000, CRC(264ba1f0) SHA1(49ecf9b3e5375629607fb747abe264406065580b) ) ROM_LOAD16_BYTE( "h-l1.rom", 0x080000, 0x020000, CRC(f9913731) SHA1(be7871d6843e76f66fae6b501c5ee83ccc366463) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "h-sh0-a.3l", 0x000001, 0x010000, CRC(bd3d1f61) SHA1(0c884a0b5519f9c0823128872baf7b0c4078e5c4) ) - ROM_LOAD16_BYTE( "h-sl0-a.3n", 0x000000, 0x010000, CRC(76371def) SHA1(b7a86fd4eecdd8a538c32e08cd920c27bd50924b) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "h-sh0-a.3l", 0x00001, 0x10000, CRC(bd3d1f61) SHA1(0c884a0b5519f9c0823128872baf7b0c4078e5c4) ) + ROM_LOAD16_BYTE( "h-sl0-a.3n", 0x00000, 0x10000, CRC(76371def) SHA1(b7a86fd4eecdd8a538c32e08cd920c27bd50924b) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "hook-c0.rom", 0x000000, 0x040000, CRC(dec63dcf) SHA1(e9869110f832d782c460b123928b042c65fdf8bd) ) @@ -1569,9 +1527,9 @@ ROM_START( rtypeleo ) ROM_LOAD16_BYTE( "rtl-h1-d.bin", 0x080001, 0x020000, CRC(352ff444) SHA1(e302bc8dbf80abe5c1aaf02e92473fc72a796e72) ) ROM_LOAD16_BYTE( "rtl-l1-d.bin", 0x080000, 0x020000, CRC(fd34ea46) SHA1(aca12d46ebff94505d03884e45805e84bbece6a7) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "rtl-sh0a.bin", 0x000001, 0x010000, CRC(e518b4e3) SHA1(44ec1d6b27bc3e49ad967f43960398ba1a19c5e3) ) - ROM_LOAD16_BYTE( "rtl-sl0a.bin", 0x000000, 0x010000, CRC(896f0d36) SHA1(9246b1a5a8717dd823340d4cb79012a3df6fa4b7) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "rtl-sh0a.bin", 0x00001, 0x10000, CRC(e518b4e3) SHA1(44ec1d6b27bc3e49ad967f43960398ba1a19c5e3) ) + ROM_LOAD16_BYTE( "rtl-sl0a.bin", 0x00000, 0x10000, CRC(896f0d36) SHA1(9246b1a5a8717dd823340d4cb79012a3df6fa4b7) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "rtl-c0.bin", 0x000000, 0x080000, CRC(fb588d7c) SHA1(78e96db9912b22f8eff03d57e470b1ef946f7351) ) @@ -1596,9 +1554,9 @@ ROM_START( rtypeleoj ) ROM_LOAD16_BYTE( "rtl-h1-d.bin", 0x080001, 0x020000, CRC(352ff444) SHA1(e302bc8dbf80abe5c1aaf02e92473fc72a796e72) ) ROM_LOAD16_BYTE( "rtl-l1-d.bin", 0x080000, 0x020000, CRC(fd34ea46) SHA1(aca12d46ebff94505d03884e45805e84bbece6a7) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "rtl-sh0a.bin", 0x000001, 0x010000, CRC(e518b4e3) SHA1(44ec1d6b27bc3e49ad967f43960398ba1a19c5e3) ) - ROM_LOAD16_BYTE( "rtl-sl0a.bin", 0x000000, 0x010000, CRC(896f0d36) SHA1(9246b1a5a8717dd823340d4cb79012a3df6fa4b7) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "rtl-sh0a.bin", 0x00001, 0x10000, CRC(e518b4e3) SHA1(44ec1d6b27bc3e49ad967f43960398ba1a19c5e3) ) + ROM_LOAD16_BYTE( "rtl-sl0a.bin", 0x00000, 0x10000, CRC(896f0d36) SHA1(9246b1a5a8717dd823340d4cb79012a3df6fa4b7) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "rtl-c0.bin", 0x000000, 0x080000, CRC(fb588d7c) SHA1(78e96db9912b22f8eff03d57e470b1ef946f7351) ) @@ -1623,9 +1581,9 @@ ROM_START( mysticri ) ROM_LOAD16_BYTE( "mr-h1-b.bin", 0x080001, 0x010000, CRC(e17649b9) SHA1(fb09a0ccd22475d81ba667c88d1b5eb7cc64728f) ) ROM_LOAD16_BYTE( "mr-l1-b.bin", 0x080000, 0x010000, CRC(a87c62b4) SHA1(d3cae0f420faeb4556767b6ad817fc39d31b7273) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "mr-sh0.bin", 0x000001, 0x010000, CRC(50d335e4) SHA1(a1a92e95fbd6b99d904a82cea4a1ff6fd2ac8dde) ) - ROM_LOAD16_BYTE( "mr-sl0.bin", 0x000000, 0x010000, CRC(0fa32721) SHA1(1561ddd2597592060b8a78f1dff6cbb25fb7cd2e) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "mr-sh0.bin", 0x00001, 0x10000, CRC(50d335e4) SHA1(a1a92e95fbd6b99d904a82cea4a1ff6fd2ac8dde) ) + ROM_LOAD16_BYTE( "mr-sl0.bin", 0x00000, 0x10000, CRC(0fa32721) SHA1(1561ddd2597592060b8a78f1dff6cbb25fb7cd2e) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "mr-c0.bin", 0x000000, 0x040000, CRC(872a8fad) SHA1(236406e5959c81a1cffe96fef02d637c2150ce1e) ) @@ -1650,9 +1608,9 @@ ROM_START( gunhohki ) ROM_LOAD16_BYTE( "mr-h1.bin", 0x080001, 0x010000, CRC(c9532b60) SHA1(b83322ba7bb3eea4c64dd65b3c0a5cade61841d8) ) ROM_LOAD16_BYTE( "mr-l1.bin", 0x080000, 0x010000, CRC(6349b520) SHA1(406620d9c63ce3d6801105c8122e1d0bbe6152ad) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "mr-sh0.bin", 0x000001, 0x010000, CRC(50d335e4) SHA1(a1a92e95fbd6b99d904a82cea4a1ff6fd2ac8dde) ) - ROM_LOAD16_BYTE( "mr-sl0.bin", 0x000000, 0x010000, CRC(0fa32721) SHA1(1561ddd2597592060b8a78f1dff6cbb25fb7cd2e) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "mr-sh0.bin", 0x00001, 0x10000, CRC(50d335e4) SHA1(a1a92e95fbd6b99d904a82cea4a1ff6fd2ac8dde) ) + ROM_LOAD16_BYTE( "mr-sl0.bin", 0x00000, 0x10000, CRC(0fa32721) SHA1(1561ddd2597592060b8a78f1dff6cbb25fb7cd2e) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "mr-c0.bin", 0x000000, 0x040000, CRC(872a8fad) SHA1(236406e5959c81a1cffe96fef02d637c2150ce1e) ) @@ -1677,10 +1635,10 @@ ROM_START( mysticrib ) ROM_LOAD16_BYTE( "h1", 0x080001, 0x010000, CRC(4dcb085b) SHA1(7c053f5ef2978e574d3d2d9f5c12035473d13c3b) ) ROM_LOAD16_BYTE( "l1", 0x080000, 0x010000, CRC(88df4f70) SHA1(f55769a107fe3f5446d8268f66e895b02727c61e) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ + ROM_REGION( 0x20000, "soundcpu", 0 ) // older revision code? rev 3.31, doesn't work? - ROM_LOAD16_BYTE( "sh0", 0x000001, 0x010000, CRC(fc7221ee) SHA1(4e714f31ce0d1bb2f6c649a26af748f96912848e) ) - ROM_LOAD16_BYTE( "sl0", 0x000000, 0x010000, CRC(65c809e6) SHA1(45a860b250219a15aa8a2177251f4d3f2e559b9e) ) + ROM_LOAD16_BYTE( "sh0", 0x00001, 0x10000, CRC(fc7221ee) SHA1(4e714f31ce0d1bb2f6c649a26af748f96912848e) ) + ROM_LOAD16_BYTE( "sl0", 0x00000, 0x10000, CRC(65c809e6) SHA1(45a860b250219a15aa8a2177251f4d3f2e559b9e) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "mr-c0.bin", 0x000000, 0x040000, CRC(872a8fad) SHA1(236406e5959c81a1cffe96fef02d637c2150ce1e) ) @@ -1706,9 +1664,9 @@ ROM_START( uccops ) ROM_LOAD16_BYTE( "uc_h1.rom", 0x080001, 0x020000, CRC(8d29bcd6) SHA1(470b77d1b8f88824bac294bd12a205a23dad2287) ) ROM_LOAD16_BYTE( "uc_l1.rom", 0x080000, 0x020000, CRC(a8a402d8) SHA1(0b40fb69f0a3e24e6b60117d2d2fd4cc170bc621) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "uc_sh0.rom", 0x000001, 0x010000, CRC(df90b198) SHA1(6b334457f06f6b9cfb355ba3d399bebb37b5733e) ) - ROM_LOAD16_BYTE( "uc_sl0.rom", 0x000000, 0x010000, CRC(96c11aac) SHA1(16c47b4f97f0532fff30bb163f26d8cf6b923a2e) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "uc_sh0.rom", 0x00001, 0x10000, CRC(df90b198) SHA1(6b334457f06f6b9cfb355ba3d399bebb37b5733e) ) + ROM_LOAD16_BYTE( "uc_sl0.rom", 0x00000, 0x10000, CRC(96c11aac) SHA1(16c47b4f97f0532fff30bb163f26d8cf6b923a2e) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "uc_w38m.rom", 0x000000, 0x080000, CRC(130a40e5) SHA1(f70bad2fe126bb0e451a3fa6100a610928e9a502) ) @@ -1733,9 +1691,9 @@ ROM_START( uccopsu ) ROM_LOAD16_BYTE( "uc_h1-g.rom", 0x080001, 0x020000, CRC(6b8ca2de) SHA1(1096b93bbaa4c97d4900e8c083cde99195cad5ba) ) ROM_LOAD16_BYTE( "uc_l1-g.rom", 0x080000, 0x020000, CRC(2bdec7dd) SHA1(58817099e74fd5bc299b7bc14d83ee75ed200b53) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "uc_sh0.rom", 0x000001, 0x010000, CRC(df90b198) SHA1(6b334457f06f6b9cfb355ba3d399bebb37b5733e) ) - ROM_LOAD16_BYTE( "uc_sl0.rom", 0x000000, 0x010000, CRC(96c11aac) SHA1(16c47b4f97f0532fff30bb163f26d8cf6b923a2e) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "uc_sh0.rom", 0x00001, 0x10000, CRC(df90b198) SHA1(6b334457f06f6b9cfb355ba3d399bebb37b5733e) ) + ROM_LOAD16_BYTE( "uc_sl0.rom", 0x00000, 0x10000, CRC(96c11aac) SHA1(16c47b4f97f0532fff30bb163f26d8cf6b923a2e) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "uc_w38m.rom", 0x000000, 0x080000, CRC(130a40e5) SHA1(f70bad2fe126bb0e451a3fa6100a610928e9a502) ) @@ -1774,9 +1732,9 @@ ROM_START( uccopsar ) /* Alpha Renewal Version */ ROM_LOAD16_BYTE( "uc_h1.ic27", 0x080001, 0x020000, CRC(79d79742) SHA1(f9c03c4d42b5b3d0f0185462868b04f1bb679f90) ) ROM_LOAD16_BYTE( "uc_l1.ic38", 0x080000, 0x020000, CRC(37211581) SHA1(b8fdff96b2c7d5cf2975dcf81c00581ccb595c15) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "uc_sh0.ic30", 0x000001, 0x010000, CRC(f0ca1b03) SHA1(07154a2c747091f8be23587c109d91ed1672da6e) ) - ROM_LOAD16_BYTE( "uc_sl0.ic31", 0x000000, 0x010000, CRC(d1661723) SHA1(bdc00196aa2074e7b21e5949f73e9f2b93d76fd9) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "uc_sh0.ic30", 0x00001, 0x10000, CRC(f0ca1b03) SHA1(07154a2c747091f8be23587c109d91ed1672da6e) ) + ROM_LOAD16_BYTE( "uc_sl0.ic31", 0x00000, 0x10000, CRC(d1661723) SHA1(bdc00196aa2074e7b21e5949f73e9f2b93d76fd9) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "uc_c0.ic26", 0x000000, 0x080000, CRC(6a419a36) SHA1(1907d15fcc4a8bf875d19768667ee4de4702cc2a) ) @@ -1801,9 +1759,9 @@ ROM_START( uccopsj ) ROM_LOAD16_BYTE( "uc_h1_a.ic27", 0x080001, 0x020000, CRC(83f78dea) SHA1(6d197c3ea76beac31c3ea6e54a3ffea9d6c0c653) ) ROM_LOAD16_BYTE( "uc_l1_a.ic38", 0x080000, 0x020000, CRC(19628280) SHA1(e6c06cb7c37e46a7db3b4f318e836aa5a2390eda) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) /* 1MB for the audio CPU - encrypted V35 = NANAO custom D80001 (?) */ - ROM_LOAD16_BYTE( "uc_sh0.ic30", 0x000001, 0x010000, CRC(f0ca1b03) SHA1(07154a2c747091f8be23587c109d91ed1672da6e) ) - ROM_LOAD16_BYTE( "uc_sl0.ic31", 0x000000, 0x010000, CRC(d1661723) SHA1(bdc00196aa2074e7b21e5949f73e9f2b93d76fd9) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "uc_sh0.ic30", 0x00001, 0x10000, CRC(f0ca1b03) SHA1(07154a2c747091f8be23587c109d91ed1672da6e) ) + ROM_LOAD16_BYTE( "uc_sl0.ic31", 0x00000, 0x10000, CRC(d1661723) SHA1(bdc00196aa2074e7b21e5949f73e9f2b93d76fd9) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "uc_c0.ic26", 0x000000, 0x080000, CRC(6a419a36) SHA1(1907d15fcc4a8bf875d19768667ee4de4702cc2a) ) @@ -1828,9 +1786,9 @@ ROM_START( lethalth ) ROM_LOAD16_BYTE( "lt_d-h1.rom", 0x040001, 0x020000, CRC(d7dd3d48) SHA1(b848feee55159e334f711e4f661d415ffc1e3513) ) ROM_LOAD16_BYTE( "lt_d-l1.rom", 0x040000, 0x020000, CRC(b94b3bd8) SHA1(7b89d9177d8b357b09317606cb2070c14c3449a5) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "lt_d-sh0.rom",0x000001, 0x010000, CRC(af5b224f) SHA1(a07f2c6ca0e65af016d74b90342cfaab7535324e) ) - ROM_LOAD16_BYTE( "lt_d-sl0.rom",0x000000, 0x010000, CRC(cb3faac3) SHA1(e1ee32fac7ee9e97fbf68904572e90aa9d0c9460) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "lt_d-sh0.rom", 0x00001, 0x10000, CRC(af5b224f) SHA1(a07f2c6ca0e65af016d74b90342cfaab7535324e) ) + ROM_LOAD16_BYTE( "lt_d-sl0.rom", 0x00000, 0x10000, CRC(cb3faac3) SHA1(e1ee32fac7ee9e97fbf68904572e90aa9d0c9460) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "lt_7a.rom", 0x000000, 0x040000, CRC(ada0fd50) SHA1(7eeb33360cacddf8887f3acce65350af0251936d) ) @@ -1855,9 +1813,9 @@ ROM_START( thndblst ) ROM_LOAD16_BYTE( "lt_d-h1.rom", 0x040001, 0x020000, CRC(d7dd3d48) SHA1(b848feee55159e334f711e4f661d415ffc1e3513) ) ROM_LOAD16_BYTE( "lt_d-l1.rom", 0x040000, 0x020000, CRC(b94b3bd8) SHA1(7b89d9177d8b357b09317606cb2070c14c3449a5) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "lt_d-sh0.rom", 0x000001, 0x010000, CRC(af5b224f) SHA1(a07f2c6ca0e65af016d74b90342cfaab7535324e) ) - ROM_LOAD16_BYTE( "lt_d-sl0.rom", 0x000000, 0x010000, CRC(cb3faac3) SHA1(e1ee32fac7ee9e97fbf68904572e90aa9d0c9460) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "lt_d-sh0.rom", 0x00001, 0x10000, CRC(af5b224f) SHA1(a07f2c6ca0e65af016d74b90342cfaab7535324e) ) + ROM_LOAD16_BYTE( "lt_d-sl0.rom", 0x00000, 0x10000, CRC(cb3faac3) SHA1(e1ee32fac7ee9e97fbf68904572e90aa9d0c9460) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "lt_7a.rom", 0x000000, 0x040000, CRC(ada0fd50) SHA1(7eeb33360cacddf8887f3acce65350af0251936d) ) @@ -1876,15 +1834,15 @@ ROM_START( thndblst ) ROM_END ROM_START( nbbatman ) - ROM_REGION( 0x180000, "maincpu", 0 ) + ROM_REGION( 0x100000, "maincpu", 0 ) ROM_LOAD16_BYTE( "a1-h0-a.34", 0x000001, 0x040000, CRC(24a9b794) SHA1(a4867a89ea2749d60e6d1225bd84a488403b8cf3) ) ROM_LOAD16_BYTE( "a1-l0-a.31", 0x000000, 0x040000, CRC(846d7716) SHA1(28434fd74b168ef73d00779b3e5d8b36b1f3ef80) ) - ROM_LOAD16_BYTE( "a1-h1-.33", 0x100001, 0x040000, CRC(3ce2aab5) SHA1(b39f17853bcab7ab290fdfaf9f3d8e8c2d91072a) ) - ROM_LOAD16_BYTE( "a1-l1-.32", 0x100000, 0x040000, CRC(116d9bcc) SHA1(c2faf8d1c6b51ac1483757777fd55961b74501fb) ) + ROM_LOAD16_BYTE( "a1-h1-.33", 0x080001, 0x040000, CRC(3ce2aab5) SHA1(b39f17853bcab7ab290fdfaf9f3d8e8c2d91072a) ) + ROM_LOAD16_BYTE( "a1-l1-.32", 0x080000, 0x040000, CRC(116d9bcc) SHA1(c2faf8d1c6b51ac1483757777fd55961b74501fb) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "a1-sh0-.14", 0x000001, 0x010000, CRC(b7fae3e6) SHA1(ce41380d6c0f29f2facf9bf23dd4403648cd9eb4) ) - ROM_LOAD16_BYTE( "a1-sl0-.17", 0x000000, 0x010000, CRC(b26d54fc) SHA1(136e1a83da08a0dc9046faf71f3f58d8d3095fde) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "a1-sh0-.14", 0x00001, 0x10000, CRC(b7fae3e6) SHA1(ce41380d6c0f29f2facf9bf23dd4403648cd9eb4) ) + ROM_LOAD16_BYTE( "a1-sl0-.17", 0x00000, 0x10000, CRC(b26d54fc) SHA1(136e1a83da08a0dc9046faf71f3f58d8d3095fde) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "lh534k0c.9", 0x000000, 0x080000, CRC(314a0c6d) SHA1(a918ae638f10b18165f7d34ab7db54fbf258df01) ) @@ -1903,15 +1861,15 @@ ROM_START( nbbatman ) ROM_END ROM_START( leaguemn ) - ROM_REGION( 0x180000, "maincpu", 0 ) + ROM_REGION( 0x100000, "maincpu", 0 ) ROM_LOAD16_BYTE( "lma1-h0.34", 0x000001, 0x040000, CRC(47c54204) SHA1(59de4e9a75c88dba71aa1949e7ac2c4b9e98f413) ) ROM_LOAD16_BYTE( "lma1-l0.31", 0x000000, 0x040000, CRC(1d062c82) SHA1(8d5969dc0264a05334196132bc2b5a3a59fb9e3a) ) - ROM_LOAD16_BYTE( "a1-h1-.33", 0x100001, 0x040000, CRC(3ce2aab5) SHA1(b39f17853bcab7ab290fdfaf9f3d8e8c2d91072a) ) - ROM_LOAD16_BYTE( "a1-l1-.32", 0x100000, 0x040000, CRC(116d9bcc) SHA1(c2faf8d1c6b51ac1483757777fd55961b74501fb) ) + ROM_LOAD16_BYTE( "a1-h1-.33", 0x080001, 0x040000, CRC(3ce2aab5) SHA1(b39f17853bcab7ab290fdfaf9f3d8e8c2d91072a) ) + ROM_LOAD16_BYTE( "a1-l1-.32", 0x080000, 0x040000, CRC(116d9bcc) SHA1(c2faf8d1c6b51ac1483757777fd55961b74501fb) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "a1-sh0-.14", 0x000001, 0x010000, CRC(b7fae3e6) SHA1(ce41380d6c0f29f2facf9bf23dd4403648cd9eb4) ) - ROM_LOAD16_BYTE( "a1-sl0-.17", 0x000000, 0x010000, CRC(b26d54fc) SHA1(136e1a83da08a0dc9046faf71f3f58d8d3095fde) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "a1-sh0-.14", 0x00001, 0x10000, CRC(b7fae3e6) SHA1(ce41380d6c0f29f2facf9bf23dd4403648cd9eb4) ) + ROM_LOAD16_BYTE( "a1-sl0-.17", 0x00000, 0x10000, CRC(b26d54fc) SHA1(136e1a83da08a0dc9046faf71f3f58d8d3095fde) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "lh534k0c.9", 0x000000, 0x080000, CRC(314a0c6d) SHA1(a918ae638f10b18165f7d34ab7db54fbf258df01) ) @@ -1936,9 +1894,9 @@ ROM_START( ssoldier ) ROM_LOAD16_BYTE( "f3-h1-a.bin", 0x080001, 0x020000, CRC(e3d9f619) SHA1(7f450413d1fae7250d2fcbe0ff4ee13d52fa15e8) ) ROM_LOAD16_BYTE( "f3-l1-a.bin", 0x080000, 0x020000, CRC(8cb5c396) SHA1(af130632b4ffb846cf355064391130d8c7ba73ad) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "f3_sh0.sh0", 0x000001, 0x010000, CRC(90b55e5e) SHA1(cf77ccb68a10a29289bc42db348f480e21c3a558) ) - ROM_LOAD16_BYTE( "f3_sl0.sl0", 0x000000, 0x010000, CRC(77c16d57) SHA1(68c7f026b718b700f1f9162f53cdc859b65944b9) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "f3_sh0.sh0", 0x00001, 0x10000, CRC(90b55e5e) SHA1(cf77ccb68a10a29289bc42db348f480e21c3a558) ) + ROM_LOAD16_BYTE( "f3_sl0.sl0", 0x00000, 0x10000, CRC(77c16d57) SHA1(68c7f026b718b700f1f9162f53cdc859b65944b9) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "f3_w50.c0", 0x000000, 0x040000, CRC(47e788ee) SHA1(79a6624c9a36f380057c4fbda511128d62f9161e) ) @@ -1967,9 +1925,9 @@ ROM_START( psoldier ) ROM_LOAD16_BYTE( "f3_h1-.bin", 0x080001, 0x040000, CRC(c8d1947c) SHA1(832a448f117224941799aeece2ec0b25065be3e2) ) ROM_LOAD16_BYTE( "f3_l1-.bin", 0x080000, 0x040000, CRC(7b9492fc) SHA1(335166d096dec3773ec69b05dad6763505818dd6) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE( "f3_sh0.sh0", 0x000001, 0x010000, CRC(90b55e5e) SHA1(cf77ccb68a10a29289bc42db348f480e21c3a558) ) - ROM_LOAD16_BYTE( "f3_sl0.sl0", 0x000000, 0x010000, CRC(77c16d57) SHA1(68c7f026b718b700f1f9162f53cdc859b65944b9) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE( "f3_sh0.sh0", 0x00001, 0x10000, CRC(90b55e5e) SHA1(cf77ccb68a10a29289bc42db348f480e21c3a558) ) + ROM_LOAD16_BYTE( "f3_sl0.sl0", 0x00000, 0x10000, CRC(77c16d57) SHA1(68c7f026b718b700f1f9162f53cdc859b65944b9) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* Tiles */ ROM_LOAD( "f3_w50.c0", 0x000000, 0x040000, CRC(47e788ee) SHA1(79a6624c9a36f380057c4fbda511128d62f9161e) ) @@ -1992,15 +1950,15 @@ ROM_START( psoldier ) ROM_END ROM_START( dsoccr94j ) - ROM_REGION( 0x180000, "maincpu", 0 ) + ROM_REGION( 0x100000, "maincpu", 0 ) ROM_LOAD16_BYTE("a3_-h0-e.bin", 0x000001, 0x040000, CRC(8de1dbcd) SHA1(3726c7f8bc1e61a488ab7ef0b79a7a45054235c2) ) ROM_LOAD16_BYTE("a3_-l0-e.bin", 0x000000, 0x040000, CRC(d3df8bfd) SHA1(b98064579491aef8eb8ccb94195412e79674a0c1) ) - ROM_LOAD16_BYTE("ds_h1-c.rom", 0x100001, 0x040000, CRC(6109041b) SHA1(063898a88f8a6a9f1510aa55e53a39f037b02903) ) - ROM_LOAD16_BYTE("ds_l1-c.rom", 0x100000, 0x040000, CRC(97a01f6b) SHA1(e188e28f880f5f3f4d7b49eca639d643989b1468) ) + ROM_LOAD16_BYTE("ds_h1-c.rom", 0x080001, 0x040000, CRC(6109041b) SHA1(063898a88f8a6a9f1510aa55e53a39f037b02903) ) + ROM_LOAD16_BYTE("ds_l1-c.rom", 0x080000, 0x040000, CRC(97a01f6b) SHA1(e188e28f880f5f3f4d7b49eca639d643989b1468) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE("ds_sh0.rom", 0x000001, 0x010000, CRC(23fe6ffc) SHA1(896377961cafc19e44d9d889f9fbfdbaedd556da) ) - ROM_LOAD16_BYTE("ds_sl0.rom", 0x000000, 0x010000, CRC(768132e5) SHA1(1bb64516eb58d3b246f08e1c07f091e78085689f) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE("ds_sh0.rom", 0x00001, 0x10000, CRC(23fe6ffc) SHA1(896377961cafc19e44d9d889f9fbfdbaedd556da) ) + ROM_LOAD16_BYTE("ds_sl0.rom", 0x00000, 0x10000, CRC(768132e5) SHA1(1bb64516eb58d3b246f08e1c07f091e78085689f) ) ROM_REGION( 0x400000, "gfx1", 0 ) /* chars */ ROM_LOAD("c0.bin", 0x000000, 0x100000, CRC(83ea8a47) SHA1(b29c8cc50da85c8168dda92446dfa12582580f96) ) @@ -2023,15 +1981,15 @@ ROM_START( dsoccr94j ) ROM_END ROM_START( gunforc2 ) - ROM_REGION( 0x180000, "maincpu", 0 ) + ROM_REGION( 0x100000, "maincpu", 0 ) ROM_LOAD16_BYTE("a2-h0-a.6h", 0x000001, 0x040000, CRC(49965e22) SHA1(077283c66a4cc2c47221c5f3267f440223615a15) ) ROM_LOAD16_BYTE("a2-l0-a.8h", 0x000000, 0x040000, CRC(8c88b278) SHA1(0fd8e663619dcd8c81b3baa290bb0e72c185273a) ) - ROM_LOAD16_BYTE("a2-h1-a.6f", 0x100001, 0x040000, CRC(34280b88) SHA1(3fd3cdf8acfa845abacb0708fb48741ee44dbf13) ) - ROM_LOAD16_BYTE("a2-l1-a.8f", 0x100000, 0x040000, CRC(c8c13f51) SHA1(fde3fd983ebb920f79e6898aa0576da9dd9f0c15) ) + ROM_LOAD16_BYTE("a2-h1-a.6f", 0x080001, 0x040000, CRC(34280b88) SHA1(3fd3cdf8acfa845abacb0708fb48741ee44dbf13) ) + ROM_LOAD16_BYTE("a2-l1-a.8f", 0x080000, 0x040000, CRC(c8c13f51) SHA1(fde3fd983ebb920f79e6898aa0576da9dd9f0c15) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE("a2_sh0.3l", 0x000001, 0x010000, CRC(2e2d103d) SHA1(6b663948f69218308d9ecdb677557b2db1dfbf5a) ) - ROM_LOAD16_BYTE("a2_sl0.5l", 0x000000, 0x010000, CRC(2287e0b3) SHA1(755dab510915161428ed57ab18410c393e138e65) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE("a2_sh0.3l", 0x00001, 0x10000, CRC(2e2d103d) SHA1(6b663948f69218308d9ecdb677557b2db1dfbf5a) ) + ROM_LOAD16_BYTE("a2_sl0.5l", 0x00000, 0x10000, CRC(2287e0b3) SHA1(755dab510915161428ed57ab18410c393e138e65) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* chars */ ROM_LOAD("a2_c0.1a", 0x000000, 0x080000, CRC(68b8f574) SHA1(fb935947cdde43e84453f82caeea141a4ae7226d) ) @@ -2050,15 +2008,15 @@ ROM_START( gunforc2 ) ROM_END ROM_START( geostorm ) - ROM_REGION( 0x180000, "maincpu", 0 ) + ROM_REGION( 0x100000, "maincpu", 0 ) ROM_LOAD16_BYTE("geo-h0.bin", 0x000001, 0x040000, CRC(9be58d09) SHA1(ab98b91abc8129c342c59674eab9683cccc6ca35) ) ROM_LOAD16_BYTE("geo-l0.bin", 0x000000, 0x040000, CRC(59abb75d) SHA1(52b48685470ffa3f36a8259bf333448bf40caea9) ) - ROM_LOAD16_BYTE("a2-h1-a.6f", 0x100001, 0x040000, CRC(34280b88) SHA1(3fd3cdf8acfa845abacb0708fb48741ee44dbf13) ) - ROM_LOAD16_BYTE("a2-l1-a.8f", 0x100000, 0x040000, CRC(c8c13f51) SHA1(fde3fd983ebb920f79e6898aa0576da9dd9f0c15) ) + ROM_LOAD16_BYTE("a2-h1-a.6f", 0x080001, 0x040000, CRC(34280b88) SHA1(3fd3cdf8acfa845abacb0708fb48741ee44dbf13) ) + ROM_LOAD16_BYTE("a2-l1-a.8f", 0x080000, 0x040000, CRC(c8c13f51) SHA1(fde3fd983ebb920f79e6898aa0576da9dd9f0c15) ) - ROM_REGION( 0x100000, "soundcpu", 0 ) - ROM_LOAD16_BYTE("a2_sh0.3l", 0x000001, 0x010000, CRC(2e2d103d) SHA1(6b663948f69218308d9ecdb677557b2db1dfbf5a) ) - ROM_LOAD16_BYTE("a2_sl0.5l", 0x000000, 0x010000, CRC(2287e0b3) SHA1(755dab510915161428ed57ab18410c393e138e65) ) + ROM_REGION( 0x20000, "soundcpu", 0 ) + ROM_LOAD16_BYTE("a2_sh0.3l", 0x00001, 0x10000, CRC(2e2d103d) SHA1(6b663948f69218308d9ecdb677557b2db1dfbf5a) ) + ROM_LOAD16_BYTE("a2_sl0.5l", 0x00000, 0x10000, CRC(2287e0b3) SHA1(755dab510915161428ed57ab18410c393e138e65) ) ROM_REGION( 0x200000, "gfx1", 0 ) /* chars */ ROM_LOAD("a2_c0.1a", 0x000000, 0x080000, CRC(68b8f574) SHA1(fb935947cdde43e84453f82caeea141a4ae7226d) ) @@ -2076,180 +2034,104 @@ ROM_START( geostorm ) ROM_LOAD("a2_da.1l", 0x000000, 0x100000, CRC(3c8cdb6a) SHA1(d1f4186e8ddf99698443f8ee1c60a6e6bc367b09) ) ROM_END +/***************************************************************************/ -static void init_m92(running_machine &machine, int hasbanks) +static DRIVER_INIT( m92 ) { m92_state *state = machine.driver_data<m92_state>(); - UINT8 *RAM = machine.region("maincpu")->base(); - - if (hasbanks) - { - memcpy(RAM + 0xffff0, RAM + 0x7fff0, 0x10); /* Start vector */ - state->m_bankaddress = 0xa0000; /* Initial bank */ - set_m92_bank(machine); - - /* Mirror used by In The Hunt for protection */ - memcpy(RAM + 0xc0000, RAM + 0x00000, 0x10000); - memory_set_bankptr(machine, "bank2", &RAM[0xc0000]); - } + UINT8 *ROM = machine.region("maincpu")->base(); - RAM = machine.region("soundcpu")->base(); - - if (RAM) - memcpy(RAM + 0xffff0, RAM + 0x1fff0, 0x10); /* Sound cpu Start vector */ + memory_set_bankptr(machine, "bank1", &ROM[0xa0000]); state->m_game_kludge = 0; state->m_irq_vectorbase = 0x80; - state->m_sprite_buffer_busy = 1; - - setvector_callback(machine, NULL, VECTOR_INIT); -} - -static DRIVER_INIT( bmaster ) -{ - init_m92(machine, 1); -} - -static DRIVER_INIT( gunforce ) -{ - init_m92(machine, 1); -} - -static DRIVER_INIT( hook ) -{ - init_m92(machine, 1); } -static DRIVER_INIT( mysticri ) -{ - init_m92(machine, 1); -} - -static DRIVER_INIT( uccops ) -{ - init_m92(machine, 1); -} - -static DRIVER_INIT( rtypeleo ) +/* different vector base */ +static DRIVER_INIT( m92_alt ) { m92_state *state = machine.driver_data<m92_state>(); - init_m92(machine, 1); - state->m_irq_vectorbase = 0x20; -} + UINT8 *ROM = machine.region("maincpu")->base(); -static DRIVER_INIT( rtypelej ) -{ - m92_state *state = machine.driver_data<m92_state>(); - init_m92(machine, 1); - state->m_irq_vectorbase = 0x20; -} + memory_set_bankptr(machine, "bank1", &ROM[0xa0000]); -static DRIVER_INIT( majtitl2 ) -{ - m92_state *state = machine.driver_data<m92_state>(); - init_m92(machine, 1); - - /* This game has an eprom on the game board */ - machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xf0000, 0xf3fff, FUNC(m92_eeprom_r), FUNC(m92_eeprom_w)); - - state->m_game_kludge = 2; -} - -static DRIVER_INIT( kaiteids ) -{ - init_m92(machine, 1); -} - -static DRIVER_INIT( inthunt ) -{ - init_m92(machine, 1); + state->m_game_kludge = 0; + state->m_irq_vectorbase = 0x20; } - +/* different vector base, different address map (no bank1) */ static DRIVER_INIT( lethalth ) { m92_state *state = machine.driver_data<m92_state>(); - init_m92(machine, 0); - state->m_irq_vectorbase = 0x20; - /* NOP out the bankswitcher */ - machine.device("maincpu")->memory().space(AS_IO)->nop_write(0x20, 0x21); + state->m_game_kludge = 0; + state->m_irq_vectorbase = 0x20; } -static DRIVER_INIT( nbbatman ) +/* has bankswitching */ +static DRIVER_INIT( m92_bank ) { - UINT8 *RAM = machine.region("maincpu")->base(); + m92_state *state = machine.driver_data<m92_state>(); + UINT8 *ROM = machine.region("maincpu")->base(); - init_m92(machine, 1); + memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x80000], 0x20000); + machine.device("maincpu")->memory().space(AS_IO)->install_legacy_write_handler(0x20, 0x21, FUNC(m92_bankswitch_w)); - memcpy(RAM + 0x80000, RAM + 0x100000, 0x20000); + state->m_game_kludge = 0; + state->m_irq_vectorbase = 0x80; } -static DRIVER_INIT( ssoldier ) +/* has bankswitching, has eeprom, needs sprite kludge */ +static DRIVER_INIT( majtitl2 ) { m92_state *state = machine.driver_data<m92_state>(); - init_m92(machine, 1); - state->m_irq_vectorbase = 0x20; - /* main CPU expects an answer even before writing the first command */ - state->m_sound_status = 0x80; -} + UINT8 *ROM = machine.region("maincpu")->base(); -static DRIVER_INIT( psoldier ) -{ - m92_state *state = machine.driver_data<m92_state>(); - init_m92(machine, 1); - state->m_irq_vectorbase = 0x20; - /* main CPU expects an answer even before writing the first command */ - state->m_sound_status = 0x80; -} + memory_configure_bank(machine, "bank1", 0, 4, &ROM[0x80000], 0x20000); + machine.device("maincpu")->memory().space(AS_IO)->install_legacy_write_handler(0x20, 0x21, FUNC(m92_bankswitch_w)); -static DRIVER_INIT( dsoccr94j ) -{ - init_m92(machine, 1); -} + /* This game has an eeprom on the game board */ + machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0xf0000, 0xf3fff, FUNC(m92_eeprom_r), FUNC(m92_eeprom_w)); -static DRIVER_INIT( gunforc2 ) -{ - UINT8 *RAM = machine.region("maincpu")->base(); - init_m92(machine, 1); - memcpy(RAM + 0x80000, RAM + 0x100000, 0x20000); + state->m_game_kludge = 2; + state->m_irq_vectorbase = 0x80; } /***************************************************************************/ -GAME( 1991, gunforce, 0, gunforce, gunforce, gunforce, ROT0, "Irem", "Gunforce - Battle Fire Engulfed Terror Island (World)", 0 ) -GAME( 1991, gunforcej,gunforce, gunforce, gunforce, gunforce, ROT0, "Irem", "Gunforce - Battle Fire Engulfed Terror Island (Japan)", 0 ) -GAME( 1991, gunforceu,gunforce, gunforce, gunforce, gunforce, ROT0, "Irem America", "Gunforce - Battle Fire Engulfed Terror Island (US)", 0 ) -GAME( 1991, bmaster, 0, bmaster, bmaster, bmaster, ROT0, "Irem", "Blade Master (World)", 0 ) -GAME( 1991, crossbld, bmaster, bmaster, bmaster, bmaster, ROT0, "Irem", "Cross Blades! (Japan)", 0 ) -GAME( 1991, lethalth, 0, lethalth, lethalth, lethalth, ROT270, "Irem", "Lethal Thunder (World)", 0 ) -GAME( 1991, thndblst, lethalth, lethalth, lethalth, lethalth, ROT270, "Irem", "Thunder Blaster (Japan)", 0 ) -GAME( 1992, uccops, 0, uccops, uccops, uccops, ROT0, "Irem", "Undercover Cops (World)", 0 ) -GAME( 1992, uccopsu, uccops, uccops, uccops, uccops, ROT0, "Irem", "Undercover Cops (US)", 0 ) -GAME( 1992, uccopsar, uccops, uccops, uccops, uccops, ROT0, "Irem", "Undercover Cops (Alpha Renewal Version)", 0 ) -GAME( 1992, uccopsj, uccops, uccops, uccops, uccops, ROT0, "Irem", "Undercover Cops (Japan)", 0 ) -GAME( 1992, mysticri, 0, mysticri, mysticri, mysticri, ROT0, "Irem", "Mystic Riders (World)", 0 ) -GAME( 1992, gunhohki, mysticri, mysticri, mysticri, mysticri, ROT0, "Irem", "Mahou Keibitai Gun Hohki (Japan)", 0 ) +GAME( 1991, gunforce, 0, gunforce, gunforce, m92, ROT0, "Irem", "Gunforce - Battle Fire Engulfed Terror Island (World)", GAME_SUPPORTS_SAVE ) +GAME( 1991, gunforcej,gunforce, gunforce, gunforce, m92, ROT0, "Irem", "Gunforce - Battle Fire Engulfed Terror Island (Japan)", GAME_SUPPORTS_SAVE ) +GAME( 1991, gunforceu,gunforce, gunforce, gunforce, m92, ROT0, "Irem America", "Gunforce - Battle Fire Engulfed Terror Island (US)", GAME_SUPPORTS_SAVE ) +GAME( 1991, bmaster, 0, bmaster, bmaster, m92, ROT0, "Irem", "Blade Master (World)", GAME_SUPPORTS_SAVE ) +GAME( 1991, crossbld, bmaster, bmaster, bmaster, m92, ROT0, "Irem", "Cross Blades! (Japan)", GAME_SUPPORTS_SAVE ) +GAME( 1991, lethalth, 0, lethalth, lethalth, lethalth, ROT270, "Irem", "Lethal Thunder (World)", GAME_SUPPORTS_SAVE ) +GAME( 1991, thndblst, lethalth, lethalth, lethalth, lethalth, ROT270, "Irem", "Thunder Blaster (Japan)", GAME_SUPPORTS_SAVE ) +GAME( 1992, uccops, 0, uccops, uccops, m92, ROT0, "Irem", "Undercover Cops (World)", GAME_SUPPORTS_SAVE ) +GAME( 1992, uccopsu, uccops, uccops, uccops, m92, ROT0, "Irem", "Undercover Cops (US)", GAME_SUPPORTS_SAVE ) +GAME( 1992, uccopsar, uccops, uccops, uccops, m92, ROT0, "Irem", "Undercover Cops (Alpha Renewal Version)", GAME_SUPPORTS_SAVE ) +GAME( 1992, uccopsj, uccops, uccops, uccops, m92, ROT0, "Irem", "Undercover Cops (Japan)", GAME_SUPPORTS_SAVE ) +GAME( 1992, mysticri, 0, mysticri, mysticri, m92, ROT0, "Irem", "Mystic Riders (World)", GAME_SUPPORTS_SAVE ) +GAME( 1992, gunhohki, mysticri, mysticri, mysticri, m92, ROT0, "Irem", "Mahou Keibitai Gun Hohki (Japan)", GAME_SUPPORTS_SAVE ) // cheaply produced Korean board, has original chips, but lacks any proper labels // main code is also significantly different to the supported original set, so it might just be a legitimate early revision on a cheap board -GAME( 1992, mysticrib,mysticri, mysticri, mysticri, mysticri, ROT0, "Irem", "Mystic Riders (bootleg?)", 0) -GAME( 1992, majtitl2, 0, majtitl2, majtitl2, majtitl2, ROT0, "Irem", "Major Title 2 (World)", 0 ) -GAME( 1992, majtitl2j,majtitl2, majtitl2, majtitl2, majtitl2, ROT0, "Irem", "Major Title 2 (Japan)", 0 ) -GAME( 1992, skingame, majtitl2, majtitl2, majtitl2, majtitl2, ROT0, "Irem America", "The Irem Skins Game (US set 1)", 0 ) -GAME( 1992, skingame2,majtitl2, majtitl2, majtitl2, majtitl2, ROT0, "Irem America", "The Irem Skins Game (US set 2)", 0 ) -GAME( 1992, hook, 0, hook, hook, hook, ROT0, "Irem", "Hook (World)", 0 ) -GAME( 1992, hooku, hook, hook, hook, hook, ROT0, "Irem America", "Hook (US)", 0 ) -GAME( 1992, hookj, hook, hook, hook, hook, ROT0, "Irem", "Hook (Japan)", 0 ) -GAME( 1992, ppan, hook, ppan, hook, hook, ROT0, "bootleg", "Peter Pan (bootleg of Hook)", GAME_NOT_WORKING ) // PCB marked 'Peter Pan', no title screen, made in Italy? -GAME( 1992, rtypeleo, 0, rtypeleo, rtypeleo, rtypeleo, ROT0, "Irem", "R-Type Leo (World)", 0 ) -GAME( 1992, rtypeleoj,rtypeleo, rtypeleo, rtypeleo, rtypelej, ROT0, "Irem", "R-Type Leo (Japan)", 0 ) -GAME( 1993, inthunt, 0, inthunt, inthunt, inthunt, ROT0, "Irem", "In The Hunt (World)", 0 ) -GAME( 1993, inthuntu, inthunt, inthunt, inthunt, inthunt, ROT0, "Irem America", "In The Hunt (US)", 0 ) -GAME( 1993, kaiteids, inthunt, inthunt, inthunt, kaiteids, ROT0, "Irem", "Kaitei Daisensou (Japan)", 0 ) -GAME( 1993, nbbatman, 0, nbbatman, nbbatman, nbbatman, ROT0, "Irem America", "Ninja Baseball Batman (US)", GAME_IMPERFECT_GRAPHICS ) -GAME( 1993, leaguemn, nbbatman, nbbatman, nbbatman, nbbatman, ROT0, "Irem", "Yakyuu Kakutou League-Man (Japan)", GAME_IMPERFECT_GRAPHICS ) -GAME( 1993, ssoldier, 0, psoldier, psoldier, ssoldier, ROT0, "Irem America", "Superior Soldiers (US)", 0 ) -GAME( 1993, psoldier, ssoldier, psoldier, psoldier, psoldier, ROT0, "Irem", "Perfect Soldiers (Japan)", 0 ) -GAME( 1994, dsoccr94j,dsoccr94, dsoccr94j, dsoccr94j,dsoccr94j,ROT0, "Irem", "Dream Soccer '94 (Japan)", 0 ) -GAME( 1994, gunforc2, 0, gunforc2, gunforc2, gunforc2, ROT0, "Irem", "Gunforce 2 (US)", 0 ) -GAME( 1994, geostorm, gunforc2, gunforc2, gunforc2, gunforc2, ROT0, "Irem", "Geostorm (Japan)", 0 ) +GAME( 1992, mysticrib,mysticri, mysticri, mysticri, m92, ROT0, "Irem", "Mystic Riders (bootleg?)", GAME_SUPPORTS_SAVE ) +GAME( 1992, majtitl2, 0, majtitl2, majtitl2, majtitl2, ROT0, "Irem", "Major Title 2 (World)", GAME_SUPPORTS_SAVE ) +GAME( 1992, majtitl2j,majtitl2, majtitl2, majtitl2, majtitl2, ROT0, "Irem", "Major Title 2 (Japan)", GAME_SUPPORTS_SAVE ) +GAME( 1992, skingame, majtitl2, majtitl2, majtitl2, majtitl2, ROT0, "Irem America", "The Irem Skins Game (US set 1)", GAME_SUPPORTS_SAVE ) +GAME( 1992, skingame2,majtitl2, majtitl2, majtitl2, majtitl2, ROT0, "Irem America", "The Irem Skins Game (US set 2)", GAME_SUPPORTS_SAVE ) +GAME( 1992, hook, 0, hook, hook, m92, ROT0, "Irem", "Hook (World)", GAME_SUPPORTS_SAVE ) +GAME( 1992, hooku, hook, hook, hook, m92, ROT0, "Irem America", "Hook (US)", GAME_SUPPORTS_SAVE ) +GAME( 1992, hookj, hook, hook, hook, m92, ROT0, "Irem", "Hook (Japan)", GAME_SUPPORTS_SAVE ) +GAME( 1992, ppan, hook, ppan, hook, m92, ROT0, "bootleg", "Peter Pan (bootleg of Hook)", GAME_NOT_WORKING ) // PCB marked 'Peter Pan', no title screen, made in Italy? +GAME( 1992, rtypeleo, 0, rtypeleo, rtypeleo, m92_alt, ROT0, "Irem", "R-Type Leo (World)", GAME_SUPPORTS_SAVE ) +GAME( 1992, rtypeleoj,rtypeleo, rtypeleo, rtypeleo, m92_alt, ROT0, "Irem", "R-Type Leo (Japan)", GAME_SUPPORTS_SAVE ) +GAME( 1993, inthunt, 0, inthunt, inthunt, m92, ROT0, "Irem", "In The Hunt (World)", GAME_SUPPORTS_SAVE ) +GAME( 1993, inthuntu, inthunt, inthunt, inthunt, m92, ROT0, "Irem America", "In The Hunt (US)", GAME_SUPPORTS_SAVE ) +GAME( 1993, kaiteids, inthunt, inthunt, inthunt, m92, ROT0, "Irem", "Kaitei Daisensou (Japan)", GAME_SUPPORTS_SAVE ) +GAME( 1993, nbbatman, 0, nbbatman, nbbatman, m92_bank, ROT0, "Irem America", "Ninja Baseball Bat Man (US)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS ) +GAME( 1993, leaguemn, nbbatman, nbbatman, nbbatman, m92_bank, ROT0, "Irem", "Yakyuu Kakutou League-Man (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS ) +GAME( 1993, ssoldier, 0, psoldier, psoldier, m92_alt, ROT0, "Irem America", "Superior Soldiers (US)", GAME_SUPPORTS_SAVE ) +GAME( 1993, psoldier, ssoldier, psoldier, psoldier, m92_alt, ROT0, "Irem", "Perfect Soldiers (Japan)", GAME_SUPPORTS_SAVE ) +GAME( 1994, dsoccr94j,dsoccr94, dsoccr94j, dsoccr94j,m92_bank, ROT0, "Irem", "Dream Soccer '94 (Japan, M92 hardware)", GAME_SUPPORTS_SAVE ) +GAME( 1994, gunforc2, 0, gunforc2, gunforc2, m92_bank, ROT0, "Irem", "Gunforce 2 (US)", GAME_SUPPORTS_SAVE ) +GAME( 1994, geostorm, gunforc2, gunforc2, gunforc2, m92_bank, ROT0, "Irem", "Geostorm (Japan)", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/includes/m107.h b/src/mame/includes/m107.h index d32a9ac45d3..55fc37e1091 100644 --- a/src/mame/includes/m107.h +++ b/src/mame/includes/m107.h @@ -19,9 +19,7 @@ public: m107_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) { } - emu_timer *m_scanline_timer; UINT8 m_irq_vectorbase; - int m_irqvector; int m_sound_status; UINT16 *m_vram_data; UINT8 m_spritesystem; diff --git a/src/mame/includes/m92.h b/src/mame/includes/m92.h index 1263dfd9b10..f4df40ef2dd 100644 --- a/src/mame/includes/m92.h +++ b/src/mame/includes/m92.h @@ -19,10 +19,7 @@ public: m92_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) { } - UINT8 m_irqvector; UINT16 m_sound_status; - UINT32 m_bankaddress; - emu_timer *m_scanline_timer; UINT8 m_irq_vectorbase; UINT32 m_raster_irq_position; UINT16 *m_vram_data; @@ -32,7 +29,7 @@ public: pf_layer_info m_pf_layer[3]; UINT16 m_pf_master_control[4]; INT32 m_sprite_list; - int m_palette_bank; + UINT8 m_palette_bank; }; diff --git a/src/mame/machine/irem_cpu.c b/src/mame/machine/irem_cpu.c index 74189ad7939..ec2793d1f81 100644 --- a/src/mame/machine/irem_cpu.c +++ b/src/mame/machine/irem_cpu.c @@ -304,7 +304,7 @@ const UINT8 hook_decryption_table[256] = { // 0x87 (0x18) opcode is right but arguments could be swapped // 0xbb (0x2b) not sure, could be 0x1b -// rtypeleo +// rtypeleo, firebarr const UINT8 rtypeleo_decryption_table[256] = { 0x5d,xxxx,0xc6,xxxx,xxxx,xxxx,0x2a,0x3a,xxxx,xxxx,xxxx,0x86,xxxx,0x22,xxxx,0xf3, /* 00 */ xxxx,xxxx,xxxx,xxxx,xxxx,0x38,0xf7,0x42,0x04,xxxx,xxxx,0x1f,0x4b,xxxx,xxxx,0x58, /* 10 */ @@ -498,7 +498,7 @@ clc ret */ -// leagueman +// leagueman, wpksoc const UINT8 leagueman_decryption_table[256] = { xxxx,xxxx,xxxx,0x55,0xbb,xxxx,0x23,0x79, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,0x38,xxxx, /* 00 */ 0x01,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, 0x3d,xxxx,xxxx,xxxx,0xba,xxxx,0x1e,xxxx, /* 10 */ |