diff options
Diffstat (limited to 'src/mame/drivers/snk68.cpp')
-rw-r--r-- | src/mame/drivers/snk68.cpp | 226 |
1 files changed, 92 insertions, 134 deletions
diff --git a/src/mame/drivers/snk68.cpp b/src/mame/drivers/snk68.cpp index 29303aae434..b0ef93adad7 100644 --- a/src/mame/drivers/snk68.cpp +++ b/src/mame/drivers/snk68.cpp @@ -54,49 +54,6 @@ Notes: /******************************************************************************/ -void snk68_state::machine_start() -{ - save_item(NAME(m_invert_controls)); -} - -READ16_MEMBER(snk68_state::control_1_r) -{ - return (ioport("P1")->read() + (ioport("P2")->read() << 8)); -} - -READ16_MEMBER(snk68_state::rotary_1_r) -{ - return (( ~(1 << ioport("ROT1")->read()) )<<8)&0xff00; -} - -READ16_MEMBER(snk68_state::rotary_2_r) -{ - return (( ~(1 << ioport("ROT2")->read()) )<<8)&0xff00; -} - -READ16_MEMBER(snk68_state::rotary_lsb_r) -{ - return ((( ~(1 << ioport("ROT2")->read()) ) <<4)&0xf000) - + ((( ~(1 << ioport("ROT1")->read()) ) )&0x0f00); -} - -READ16_MEMBER(snk68_state::protcontrols_r) -{ - static const char *const portnames[] = { "P1", "P2", "SYSTEM" }; - - return ioport(portnames[offset])->read() ^ m_invert_controls; -} - -WRITE16_MEMBER(snk68_state::protection_w) -{ - /* top byte is used, meaning unknown */ - /* bottom byte is protection in ikari 3 and streetsm */ - if (ACCESSING_BITS_0_7) - { - m_invert_controls = ((data & 0xff) == 0x07) ? 0xff : 0x00; - } -} - WRITE8_MEMBER(snk68_state::sound_w) { m_soundlatch->write(data); @@ -109,40 +66,69 @@ void snk68_state::pow_map(address_map &map) { map(0x000000, 0x03ffff).rom(); map(0x040000, 0x043fff).ram(); - map(0x080000, 0x080001).r(FUNC(snk68_state::control_1_r)); + map(0x080000, 0x080000).lr8("P2_r", [this]() -> u8 { return m_p2_io->read(); }); + map(0x080001, 0x080001).lr8("P1_r", [this]() -> u8 { return m_p1_io->read(); }); map(0x080000, 0x080000).w(FUNC(snk68_state::sound_w)); map(0x0c0000, 0x0c0001).portr("SYSTEM"); - map(0x0c0000, 0x0c0001).w(FUNC(snk68_state::pow_flipscreen_w)); // + char bank + map(0x0c0001, 0x0c0001).w(FUNC(snk68_state::flipscreen_w)); // + char bank map(0x0e0000, 0x0e0001).nopr(); /* Watchdog or IRQ ack */ map(0x0e8000, 0x0e8001).nopr(); /* Watchdog or IRQ ack */ map(0x0f0000, 0x0f0001).portr("DSW1"); map(0x0f0008, 0x0f0009).portr("DSW2"); -// AM_RANGE(0x0f0008, 0x0f0009) AM_WRITENOP /* ?? */ - map(0x100000, 0x100fff).rw(FUNC(snk68_state::pow_fg_videoram_r), FUNC(snk68_state::pow_fg_videoram_w)).mirror(0x1000).share("pow_fg_videoram"); // 8-bit +// map(0x0f0008, 0x0f0009).nopw(); /* ?? */ + map(0x100000, 0x100fff).rw(FUNC(snk68_state::fg_videoram_r), FUNC(snk68_state::fg_videoram_w)).mirror(0x1000).share("fg_videoram"); // 8-bit map(0x200000, 0x207fff).rw(m_sprites, FUNC(snk68_spr_device::spriteram_r), FUNC(snk68_spr_device::spriteram_w)).share("spriteram"); // only partially populated map(0x400000, 0x400fff).ram().w("palette", FUNC(palette_device::write16)).share("palette"); } -void snk68_state::searchar_map(address_map &map) +/*******************************************************************************/ + +void searchar_state::machine_start() +{ + save_item(NAME(m_invert_controls)); +} + +READ16_MEMBER(searchar_state::rotary_1_r) +{ + return (( ~(1 << m_rotary_io[0]->read()) )<<8)&0xff00; +} + +READ16_MEMBER(searchar_state::rotary_2_r) +{ + return (( ~(1 << m_rotary_io[1]->read()) )<<8)&0xff00; +} + +READ16_MEMBER(searchar_state::rotary_lsb_r) +{ + return ((( ~(1 << m_rotary_io[1]->read()) ) <<4)&0xf000) + + ((( ~(1 << m_rotary_io[0]->read()) ) )&0x0f00); +} + +/*******************************************************************************/ + +void searchar_state::searchar_map(address_map &map) { map(0x000000, 0x03ffff).rom(); map(0x040000, 0x043fff).ram(); - map(0x080000, 0x080005).r(FUNC(snk68_state::protcontrols_r)); /* Player 1 & 2 */ - map(0x080000, 0x080000).w(FUNC(snk68_state::sound_w)); - map(0x080006, 0x080007).w(FUNC(snk68_state::protection_w)); /* top byte unknown, bottom is protection in ikari3 and streetsm */ - map(0x0c0000, 0x0c0001).w(FUNC(snk68_state::searchar_flipscreen_w)); - map(0x0c0000, 0x0c0001).r(FUNC(snk68_state::rotary_1_r)); /* Player 1 rotary */ - map(0x0c8000, 0x0c8001).r(FUNC(snk68_state::rotary_2_r)); /* Player 2 rotary */ - map(0x0d0000, 0x0d0001).r(FUNC(snk68_state::rotary_lsb_r)); /* Extra rotary bits */ + map(0x080001, 0x080001).lr8("P1_invert_r", [this]() -> u8 { return m_p1_io->read() ^ m_invert_controls; }); + map(0x080003, 0x080003).lr8("P2_invert_r", [this]() -> u8 { return m_p2_io->read() ^ m_invert_controls; }); + map(0x080005, 0x080005).lr8("SYS_invert_r", [this]() -> u8 { return m_system_io->read() ^ m_invert_controls; }); + map(0x080000, 0x080000).w(FUNC(searchar_state::sound_w)); + /* top byte unknown, bottom is protection in ikari3 and streetsm */ + map(0x080007, 0x080007).lw8("invctrl_w", [this](u8 data){ m_invert_controls = ((data & 0xff) == 0x07) ? 0xff : 0x00; } ); + map(0x0c0001, 0x0c0001).w(FUNC(searchar_state::flipscreen_w)); + map(0x0c0000, 0x0c0001).r(FUNC(searchar_state::rotary_1_r)); /* Player 1 rotary */ + map(0x0c8000, 0x0c8001).r(FUNC(searchar_state::rotary_2_r)); /* Player 2 rotary */ + map(0x0d0000, 0x0d0001).r(FUNC(searchar_state::rotary_lsb_r)); /* Extra rotary bits */ map(0x0e0000, 0x0e0001).nopr(); /* Watchdog or IRQ ack */ map(0x0e8000, 0x0e8001).nopr(); /* Watchdog or IRQ ack */ -// AM_RANGE(0x0f0000, 0x0f0001) AM_WRITENOP /* ?? */ +// map(0x0f0000, 0x0f0001).nopw(); /* ?? */ map(0x0f0000, 0x0f0001).portr("DSW1"); map(0x0f0008, 0x0f0009).portr("DSW2"); map(0x0f8000, 0x0f8000).r("soundlatch2", FUNC(generic_latch_8_device::read)); map(0x100000, 0x107fff).rw(m_sprites, FUNC(snk68_spr_device::spriteram_r), FUNC(snk68_spr_device::spriteram_w)).share("spriteram"); // only partially populated - map(0x200000, 0x200fff).ram().w(FUNC(snk68_state::searchar_fg_videoram_w)).mirror(0x1000).share("pow_fg_videoram"); /* Mirror is used by Ikari 3 */ - map(0x300000, 0x33ffff).rom().region("user1", 0); /* Extra code bank */ + map(0x200000, 0x200fff).ram().w(FUNC(searchar_state::fg_videoram_w)).mirror(0x1000).share("fg_videoram"); /* Mirror is used by Ikari 3 */ + map(0x300000, 0x33ffff).rom().region("maincpu", 0x40000); /* Extra code bank */ map(0x400000, 0x400fff).ram().w("palette", FUNC(palette_device::write16)).share("palette"); } @@ -162,18 +148,13 @@ WRITE8_MEMBER(snk68_state::D7759_write_port_0_w) m_upd7759->start_w(1); } -WRITE8_MEMBER(snk68_state::D7759_upd_reset_w) -{ - m_upd7759->reset_w(BIT(data, 7)); -} - void snk68_state::sound_io_map(address_map &map) { map.global_mask(0xff); map(0x00, 0x00).rw("ymsnd", FUNC(ym3812_device::status_port_r), FUNC(ym3812_device::control_port_w)); map(0x20, 0x20).w("ymsnd", FUNC(ym3812_device::write_port_w)); map(0x40, 0x40).w(FUNC(snk68_state::D7759_write_port_0_w)); - map(0x80, 0x80).w(FUNC(snk68_state::D7759_upd_reset_w)); + map(0x80, 0x80).lw8("upd_reset", [this](u8 data){ m_upd7759->reset_w(BIT(data, 7)); } ); } /******************************************************************************/ @@ -640,11 +621,11 @@ void snk68_state::streetsm(machine_config &config) m_sprites->set_tile_indirect_cb(FUNC(snk68_state::tile_callback_notpow), this); } -void snk68_state::searchar(machine_config &config) +void searchar_state::searchar(machine_config &config) { streetsm(config); - m_maincpu->set_addrmap(AS_PROGRAM, &snk68_state::searchar_map); - MCFG_VIDEO_START_OVERRIDE(snk68_state,searchar) + + m_maincpu->set_addrmap(AS_PROGRAM, &searchar_state::searchar_map); } @@ -754,7 +735,7 @@ ROM_START( streetsm ) ROM_END ROM_START( streetsm1 ) - ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_BYTE( "s2-1ver1.9c", 0x00000, 0x20000, CRC(b59354c5) SHA1(086c87541d422f90bdaad8d63b14d0d520c12564) ) ROM_LOAD16_BYTE( "s2-2ver1.10c", 0x00001, 0x20000, CRC(e448b68b) SHA1(08d674ab3d9bd3d3b1d50967a56fa6a002ce0b8d) ) @@ -777,12 +758,10 @@ ROM_START( streetsm1 ) ROM_REGION( 0x20000, "upd", 0 ) /* UPD7759 samples */ ROM_LOAD( "s2-6.18d", 0x000000, 0x20000, CRC(47db1605) SHA1(ae00e633eb98567f04ff97e3d63e04e049d955ec) ) - - ROM_REGION16_BE( 0x40000, "user1", ROMREGION_ERASE00 ) /* Extra code bank */ ROM_END ROM_START( streetsmw ) - ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_BYTE( "s-smart1.bin", 0x00000, 0x20000, CRC(a1f5ceab) SHA1(74f5a4288618fbce6ed3dc75b6ccfa695396193c) ) ROM_LOAD16_BYTE( "s-smart2.bin", 0x00001, 0x20000, CRC(263f615d) SHA1(4576f9d2abb31ecf747a5075716579e75613d57c) ) @@ -805,12 +784,10 @@ ROM_START( streetsmw ) ROM_REGION( 0x20000, "upd", 0 ) /* UPD7759 samples */ ROM_LOAD( "s2-6.18d", 0x000000, 0x20000, CRC(47db1605) SHA1(ae00e633eb98567f04ff97e3d63e04e049d955ec) ) - - ROM_REGION16_BE( 0x40000, "user1", ROMREGION_ERASE00 ) /* Extra code bank */ ROM_END ROM_START( streetsmj ) - ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_BYTE( "s2v1j_01.bin", 0x00000, 0x20000, CRC(f031413c) SHA1(5d7dfeac03f786736914f047c28a7a0488175176) ) ROM_LOAD16_BYTE( "s2v1j_02.bin", 0x00001, 0x20000, CRC(e403a40b) SHA1(e740848d716586737eff6e3c201fb3e3da048a09) ) @@ -833,14 +810,14 @@ ROM_START( streetsmj ) ROM_REGION( 0x20000, "upd", 0 ) /* UPD7759 samples */ ROM_LOAD( "s2-6.18d", 0x000000, 0x20000, CRC(47db1605) SHA1(ae00e633eb98567f04ff97e3d63e04e049d955ec) ) - - ROM_REGION16_BE( 0x40000, "user1", ROMREGION_ERASE00 ) /* Extra code bank */ ROM_END ROM_START( ikari3 ) - ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_BYTE( "ik3-2-ver1.c10", 0x000000, 0x20000, CRC(1bae8023) SHA1(42d590a545cbabc596f2e0d9a3d56b1bc270ec9a) ) /* 8-Way Joystick */ ROM_LOAD16_BYTE( "ik3-3-ver1.c9", 0x000001, 0x20000, CRC(10e38b66) SHA1(28cc82d868f59cd6dde1c4e4c890627012e5e978) ) /* 8-Way Joystick */ + ROM_LOAD16_BYTE( "ik3-1.c8", 0x040000, 0x10000, CRC(47e4d256) SHA1(7c6921cf2f1b8c3dae867eb1fc14e3da218cc1e0) ) + ROM_LOAD16_BYTE( "ik3-4.c12", 0x040001, 0x10000, CRC(a43af6b5) SHA1(1ad3acadbadd21642932028ecd7c282f7fd02856) ) ROM_REGION( 0x10000, "soundcpu", 0 ) /* Sound CPU */ ROM_LOAD( "ik3-5.16d", 0x000000, 0x10000, CRC(ce6706fc) SHA1(95505b90a9524abf0c8c1ec6b2c40d8f25cb1d92) ) @@ -875,16 +852,14 @@ ROM_START( ikari3 ) ROM_REGION( 0x20000, "upd", 0 ) /* UPD7759 samples */ ROM_LOAD( "ik3-6.18e", 0x000000, 0x20000, CRC(59d256a4) SHA1(1e7b33329f761c695bc9a817bbc0c5e13386d073) ) - - ROM_REGION16_BE( 0x40000, "user1", 0 ) /* Extra code bank */ - ROM_LOAD16_BYTE( "ik3-1.c8", 0x000000, 0x10000, CRC(47e4d256) SHA1(7c6921cf2f1b8c3dae867eb1fc14e3da218cc1e0) ) - ROM_LOAD16_BYTE( "ik3-4.c12", 0x000001, 0x10000, CRC(a43af6b5) SHA1(1ad3acadbadd21642932028ecd7c282f7fd02856) ) ROM_END ROM_START( ikari3w ) /* Initial boot shows Ikari III The Rescue, then the title changes to the Japanese title - No demo play - proto or test set?? */ - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD16_BYTE( "ik_2.c10", 0x000000, 0x20000, CRC(d0b690d3) SHA1(6c31b27e6b9f1438e8ddbefe41fa8ded22cdb51c) ) /* Rotary Joystick - hand written label */ - ROM_LOAD16_BYTE( "ik_3.c9", 0x000001, 0x20000, CRC(11a9e664) SHA1(bf2d8a5f3f2aeff99a45d26279c88ebf04b7f79b) ) /* Rotary Joystick - hand written label */ + ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD16_BYTE( "ik_2.c10", 0x000000, 0x20000, CRC(d0b690d3) SHA1(6c31b27e6b9f1438e8ddbefe41fa8ded22cdb51c) ) /* Rotary Joystick - hand written label */ + ROM_LOAD16_BYTE( "ik_3.c9", 0x000001, 0x20000, CRC(11a9e664) SHA1(bf2d8a5f3f2aeff99a45d26279c88ebf04b7f79b) ) /* Rotary Joystick - hand written label */ + ROM_LOAD16_BYTE( "ik3-1.c8", 0x040000, 0x10000, CRC(47e4d256) SHA1(7c6921cf2f1b8c3dae867eb1fc14e3da218cc1e0) ) + ROM_LOAD16_BYTE( "ik3-4.c12", 0x040001, 0x10000, CRC(a43af6b5) SHA1(1ad3acadbadd21642932028ecd7c282f7fd02856) ) ROM_REGION( 0x10000, "soundcpu", 0 ) /* Sound CPU */ ROM_LOAD( "ik3-5.16d", 0x000000, 0x10000, CRC(ce6706fc) SHA1(95505b90a9524abf0c8c1ec6b2c40d8f25cb1d92) ) @@ -908,10 +883,6 @@ ROM_START( ikari3w ) /* Initial boot shows Ikari III The Rescue, then the title ROM_REGION( 0x20000, "upd", 0 ) /* UPD7759 samples */ ROM_LOAD( "ik3-6.18e", 0x000000, 0x20000, CRC(59d256a4) SHA1(1e7b33329f761c695bc9a817bbc0c5e13386d073) ) - ROM_REGION16_BE( 0x40000, "user1", 0 ) /* Extra code bank */ - ROM_LOAD16_BYTE( "ik3-1.c8", 0x000000, 0x10000, CRC(47e4d256) SHA1(7c6921cf2f1b8c3dae867eb1fc14e3da218cc1e0) ) - ROM_LOAD16_BYTE( "ik3-4.c12", 0x000001, 0x10000, CRC(a43af6b5) SHA1(1ad3acadbadd21642932028ecd7c282f7fd02856) ) - /* stuff below isn't used but loaded because it was on the board .. */ ROM_REGION( 0x0600, "plds", 0 ) ROM_LOAD( "a_pal20l10a.ic1", 0x0000, 0x00cc, CRC(1cadf26d) SHA1(348a9e4727df0a15247c7b9c5cd5ee935edd9752) ) @@ -920,9 +891,11 @@ ROM_START( ikari3w ) /* Initial boot shows Ikari III The Rescue, then the title ROM_END ROM_START( ikari3u ) - ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_BYTE( "ik3-2.c10", 0x000000, 0x20000, CRC(a7b34dcd) SHA1(7c2f20ae4f7dbebd3dfa3ec5408ed714e6535b6a) ) /* Rotary Joystick */ ROM_LOAD16_BYTE( "ik3-3.c9", 0x000001, 0x20000, CRC(50f2b83d) SHA1(b1f0c554b262614dd2cff7a3857cb974d361937f) ) /* Rotary Joystick */ + ROM_LOAD16_BYTE( "ik3-1.c8", 0x040000, 0x10000, CRC(47e4d256) SHA1(7c6921cf2f1b8c3dae867eb1fc14e3da218cc1e0) ) + ROM_LOAD16_BYTE( "ik3-4.c12", 0x040001, 0x10000, CRC(a43af6b5) SHA1(1ad3acadbadd21642932028ecd7c282f7fd02856) ) ROM_REGION( 0x10000, "soundcpu", 0 ) /* Sound CPU */ ROM_LOAD( "ik3-5.15d", 0x000000, 0x10000, CRC(ce6706fc) SHA1(95505b90a9524abf0c8c1ec6b2c40d8f25cb1d92) ) @@ -957,16 +930,14 @@ ROM_START( ikari3u ) ROM_REGION( 0x20000, "upd", 0 ) /* UPD7759 samples */ ROM_LOAD( "ik3-6.18e", 0x000000, 0x20000, CRC(59d256a4) SHA1(1e7b33329f761c695bc9a817bbc0c5e13386d073) ) - - ROM_REGION16_BE( 0x40000, "user1", 0 ) /* Extra code bank */ - ROM_LOAD16_BYTE( "ik3-1.c8", 0x000000, 0x10000, CRC(47e4d256) SHA1(7c6921cf2f1b8c3dae867eb1fc14e3da218cc1e0) ) - ROM_LOAD16_BYTE( "ik3-4.c12", 0x000001, 0x10000, CRC(a43af6b5) SHA1(1ad3acadbadd21642932028ecd7c282f7fd02856) ) ROM_END ROM_START( ikari3j ) - ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_BYTE( "ik3-2-j.c10", 0x000000, 0x20000, CRC(7b1b4be4) SHA1(22b7504040da7364b811c07014a776fa5d1d5d9f) ) /* Rotary Joystick */ ROM_LOAD16_BYTE( "ik3-3-j.c9", 0x000001, 0x20000, CRC(8e6e2aa9) SHA1(e624809c42a79510b34d99d9ca152a38c7051e87) ) /* Rotary Joystick */ + ROM_LOAD16_BYTE( "ik3-1.c8", 0x040000, 0x10000, CRC(47e4d256) SHA1(7c6921cf2f1b8c3dae867eb1fc14e3da218cc1e0) ) + ROM_LOAD16_BYTE( "ik3-4.c12", 0x040001, 0x10000, CRC(a43af6b5) SHA1(1ad3acadbadd21642932028ecd7c282f7fd02856) ) ROM_REGION( 0x10000, "soundcpu", 0 ) /* Sound CPU */ ROM_LOAD( "ik3-5.16d", 0x000000, 0x10000, CRC(ce6706fc) SHA1(95505b90a9524abf0c8c1ec6b2c40d8f25cb1d92) ) @@ -1001,16 +972,14 @@ ROM_START( ikari3j ) ROM_REGION( 0x20000, "upd", 0 ) /* UPD7759 samples */ ROM_LOAD( "ik3-6.18e", 0x000000, 0x20000, CRC(59d256a4) SHA1(1e7b33329f761c695bc9a817bbc0c5e13386d073) ) - - ROM_REGION16_BE( 0x40000, "user1", 0 ) /* Extra code bank */ - ROM_LOAD16_BYTE( "ik3-1.c8", 0x000000, 0x10000, CRC(47e4d256) SHA1(7c6921cf2f1b8c3dae867eb1fc14e3da218cc1e0) ) - ROM_LOAD16_BYTE( "ik3-4.c12", 0x000001, 0x10000, CRC(a43af6b5) SHA1(1ad3acadbadd21642932028ecd7c282f7fd02856) ) ROM_END ROM_START( ikari3k ) - ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_BYTE( "ik3-2k.c10", 0x000000, 0x20000, CRC(a15d2222) SHA1(7f9702516f9c74314b093435937dfecb69495b6c) ) /* 8-Way Joystick */ ROM_LOAD16_BYTE( "ik3-3k.c9", 0x000001, 0x20000, CRC(e3fc006e) SHA1(14e8ba1064e9bd168a4f7e5b5cc2a4b1ddbc7e32) ) /* 8-Way Joystick */ + ROM_LOAD16_BYTE( "ik3-1.c8", 0x040000, 0x10000, CRC(47e4d256) SHA1(7c6921cf2f1b8c3dae867eb1fc14e3da218cc1e0) ) + ROM_LOAD16_BYTE( "ik3-4.c12", 0x040001, 0x10000, CRC(a43af6b5) SHA1(1ad3acadbadd21642932028ecd7c282f7fd02856) ) ROM_REGION( 0x10000, "soundcpu", 0 ) /* Sound CPU */ ROM_LOAD( "ik3-5.16d", 0x000000, 0x10000, CRC(ce6706fc) SHA1(95505b90a9524abf0c8c1ec6b2c40d8f25cb1d92) ) @@ -1033,16 +1002,14 @@ ROM_START( ikari3k ) ROM_REGION( 0x20000, "upd", 0 ) /* UPD7759 samples */ ROM_LOAD( "ik3-6.18e", 0x000000, 0x20000, CRC(59d256a4) SHA1(1e7b33329f761c695bc9a817bbc0c5e13386d073) ) - - ROM_REGION16_BE( 0x40000, "user1", 0 ) /* Extra code bank */ - ROM_LOAD16_BYTE( "ik3-1.c8", 0x000000, 0x10000, CRC(47e4d256) SHA1(7c6921cf2f1b8c3dae867eb1fc14e3da218cc1e0) ) - ROM_LOAD16_BYTE( "ik3-4.c12", 0x000001, 0x10000, CRC(a43af6b5) SHA1(1ad3acadbadd21642932028ecd7c282f7fd02856) ) ROM_END ROM_START( searchar ) - ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_BYTE( "bhw.2", 0x000000, 0x20000, CRC(e1430138) SHA1(eddc192524a13b2c09bd2bddcd5f8e8b771ceb21) ) ROM_LOAD16_BYTE( "bhw.3", 0x000001, 0x20000, CRC(ee1f9374) SHA1(fd41c74fd69d65713d8e1a9b8078328381119379) ) + ROM_LOAD16_BYTE( "bhw.1", 0x040000, 0x20000, CRC(62b60066) SHA1(f7e7985c8f5f8191c580e777e1b7ed29d944d23f) ) + ROM_LOAD16_BYTE( "bhw.4", 0x040001, 0x20000, CRC(16d8525c) SHA1(0098b0a7fcb23de2661bbec9a05254aa46579bb2) ) ROM_REGION( 0x10000, "soundcpu", 0 ) /* Sound CPU */ ROM_LOAD( "bh.5", 0x000000, 0x10000, CRC(53e2fa76) SHA1(cf25b1def82545a1fd013822ab3cf02483074623) ) @@ -1063,16 +1030,14 @@ ROM_START( searchar ) ROM_REGION( 0x20000, "upd", 0 ) /* UPD7759 samples */ ROM_LOAD( "bh.v1", 0x000000, 0x20000, CRC(07a6114b) SHA1(224df4616b77a56f33974d3b1793473d48ad52ca) ) - - ROM_REGION16_BE( 0x40000, "user1", 0 ) /* Extra code bank */ - ROM_LOAD16_BYTE( "bhw.1", 0x000000, 0x20000, CRC(62b60066) SHA1(f7e7985c8f5f8191c580e777e1b7ed29d944d23f) ) - ROM_LOAD16_BYTE( "bhw.4", 0x000001, 0x20000, CRC(16d8525c) SHA1(0098b0a7fcb23de2661bbec9a05254aa46579bb2) ) ROM_END ROM_START( searcharu ) - ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD16_BYTE( "bh.2", 0x000000, 0x20000, CRC(c852e2e2) SHA1(c4b1b366f452122549046a3dec9b6b375bc273af) ) ROM_LOAD16_BYTE( "bh.3", 0x000001, 0x20000, CRC(bc04a4a1) SHA1(aa91583b987248a3e99813ab5e8ee03c02dac9b9) ) + ROM_LOAD16_BYTE( "bh.1", 0x040000, 0x20000, CRC(ba9ca70b) SHA1(c46727473673554cbe4bbbc0288d66357f99a80e) ) + ROM_LOAD16_BYTE( "bh.4", 0x040001, 0x20000, CRC(eabc5ddf) SHA1(08a2a8fcdf6a08a2694e00f4232a5bfbec98fd27) ) ROM_REGION( 0x10000, "soundcpu", 0 ) /* Sound CPU */ ROM_LOAD( "bh.5", 0x000000, 0x10000, CRC(53e2fa76) SHA1(cf25b1def82545a1fd013822ab3cf02483074623) ) @@ -1093,16 +1058,14 @@ ROM_START( searcharu ) ROM_REGION( 0x20000, "upd", 0 ) /* UPD7759 samples */ ROM_LOAD( "bh.v1", 0x000000, 0x20000, CRC(07a6114b) SHA1(224df4616b77a56f33974d3b1793473d48ad52ca) ) - - ROM_REGION16_BE( 0x40000, "user1", 0 ) /* Extra code bank */ - ROM_LOAD16_BYTE( "bh.1", 0x000000, 0x20000, CRC(ba9ca70b) SHA1(c46727473673554cbe4bbbc0288d66357f99a80e) ) - ROM_LOAD16_BYTE( "bh.4", 0x000001, 0x20000, CRC(eabc5ddf) SHA1(08a2a8fcdf6a08a2694e00f4232a5bfbec98fd27) ) ROM_END ROM_START( searcharj ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD16_BYTE( "bh2ver3j.9c", 0x000000, 0x20000, CRC(7ef7b172) SHA1(85669ba72f59e4ff3a483bf611bf41c73f4e1930) ) + ROM_REGION( 0x80000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD16_BYTE( "bh2ver3j.9c", 0x000000, 0x20000, CRC(7ef7b172) SHA1(85669ba72f59e4ff3a483bf611bf41c73f4e1930) ) ROM_LOAD16_BYTE( "bh3ver3j.10c", 0x000001, 0x20000, CRC(3fdea793) SHA1(49bafb53466afb7e4486a4894e4fd6fa08ea2eb2) ) + ROM_LOAD16_BYTE( "bhw.1", 0x040000, 0x20000, CRC(62b60066) SHA1(f7e7985c8f5f8191c580e777e1b7ed29d944d23f) ) + ROM_LOAD16_BYTE( "bhw.4", 0x040001, 0x20000, CRC(16d8525c) SHA1(0098b0a7fcb23de2661bbec9a05254aa46579bb2) ) ROM_REGION( 0x10000, "soundcpu", 0 ) /* Sound CPU */ ROM_LOAD( "bh.5", 0x000000, 0x10000, CRC(53e2fa76) SHA1(cf25b1def82545a1fd013822ab3cf02483074623) ) @@ -1123,26 +1086,21 @@ ROM_START( searcharj ) ROM_REGION( 0x20000, "upd", 0 ) /* UPD7759 samples */ ROM_LOAD( "bh.v1", 0x000000, 0x20000, CRC(07a6114b) SHA1(224df4616b77a56f33974d3b1793473d48ad52ca) ) - - ROM_REGION16_BE( 0x40000, "user1", 0 ) /* Extra code bank */ - ROM_LOAD16_BYTE( "bhw.1", 0x000000, 0x20000, CRC(62b60066) SHA1(f7e7985c8f5f8191c580e777e1b7ed29d944d23f) ) - ROM_LOAD16_BYTE( "bhw.4", 0x000001, 0x20000, CRC(16d8525c) SHA1(0098b0a7fcb23de2661bbec9a05254aa46579bb2) ) ROM_END /******************************************************************************/ -GAME( 1988, pow, 0, pow, pow, snk68_state, empty_init, ROT0, "SNK", "P.O.W. - Prisoners of War (US version 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, powj, pow, pow, powj, snk68_state, empty_init, ROT0, "SNK", "Datsugoku - Prisoners of War (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, streetsm, 0, streetsm, streetsm, snk68_state, empty_init, ROT0, "SNK", "Street Smart (US version 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, streetsm1, streetsm, searchar, streetsm, snk68_state, empty_init, ROT0, "SNK", "Street Smart (US version 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, streetsmw, streetsm, searchar, streetsj, snk68_state, empty_init, ROT0, "SNK", "Street Smart (World version 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, streetsmj, streetsm, searchar, streetsj, snk68_state, empty_init, ROT0, "SNK", "Street Smart (Japan version 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, ikari3, 0, searchar, ikari3, snk68_state, empty_init, ROT0, "SNK", "Ikari III - The Rescue (World version 1, 8-Way Joystick)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, ikari3w, ikari3, searchar, ikari3, snk68_state, empty_init, ROT0, "SNK", "Ikari III - The Rescue (World, Rotary Joystick)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, ikari3u, ikari3, searchar, ikari3, snk68_state, empty_init, ROT0, "SNK", "Ikari III - The Rescue (US, Rotary Joystick)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, ikari3j, ikari3, searchar, ikari3, snk68_state, empty_init, ROT0, "SNK", "Ikari Three (Japan, Rotary Joystick)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, ikari3k, ikari3, searchar, ikari3, snk68_state, empty_init, ROT0, "SNK", "Ikari Three (Korea, 8-Way Joystick)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, searchar, 0, searchar, searchar, snk68_state, empty_init, ROT90, "SNK", "SAR - Search And Rescue (World)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, searcharu, searchar, searchar, searchar, snk68_state, empty_init, ROT90, "SNK", "SAR - Search And Rescue (US)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, searcharj, searchar, searchar, searchar, snk68_state, empty_init, ROT90, "SNK", "SAR - Search And Rescue (Japan version 3)", MACHINE_SUPPORTS_SAVE ) - +GAME( 1988, pow, 0, pow, pow, snk68_state, empty_init, ROT0, "SNK", "P.O.W. - Prisoners of War (US version 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1988, powj, pow, pow, powj, snk68_state, empty_init, ROT0, "SNK", "Datsugoku - Prisoners of War (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, streetsm, 0, streetsm, streetsm, snk68_state, empty_init, ROT0, "SNK", "Street Smart (US version 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, streetsm1, streetsm, searchar, streetsm, searchar_state, empty_init, ROT0, "SNK", "Street Smart (US version 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, streetsmw, streetsm, searchar, streetsj, searchar_state, empty_init, ROT0, "SNK", "Street Smart (World version 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, streetsmj, streetsm, searchar, streetsj, searchar_state, empty_init, ROT0, "SNK", "Street Smart (Japan version 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, ikari3, 0, searchar, ikari3, searchar_state, empty_init, ROT0, "SNK", "Ikari III - The Rescue (World version 1, 8-Way Joystick)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, ikari3w, ikari3, searchar, ikari3, searchar_state, empty_init, ROT0, "SNK", "Ikari III - The Rescue (World, Rotary Joystick)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, ikari3u, ikari3, searchar, ikari3, searchar_state, empty_init, ROT0, "SNK", "Ikari III - The Rescue (US, Rotary Joystick)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, ikari3j, ikari3, searchar, ikari3, searchar_state, empty_init, ROT0, "SNK", "Ikari Three (Japan, Rotary Joystick)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, ikari3k, ikari3, searchar, ikari3, searchar_state, empty_init, ROT0, "SNK", "Ikari Three (Korea, 8-Way Joystick)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, searchar, 0, searchar, searchar, searchar_state, empty_init, ROT90, "SNK", "SAR - Search And Rescue (World)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, searcharu, searchar, searchar, searchar, searchar_state, empty_init, ROT90, "SNK", "SAR - Search And Rescue (US)", MACHINE_SUPPORTS_SAVE ) +GAME( 1989, searcharj, searchar, searchar, searchar, searchar_state, empty_init, ROT90, "SNK", "SAR - Search And Rescue (Japan version 3)", MACHINE_SUPPORTS_SAVE ) |