From 7c576840d6802915ce97813c310f27c8b79a26d2 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Mon, 2 May 2022 18:03:38 +0200 Subject: New machines marked as NOT_WORKING ---------------------------------- Neo Print - Popeye (Japan) (T4i 3.04) [buffi] Neo Print - European Version (World) (T4i 2.00) [buffi] Rally Point 2 [coolmod] - toaplan2.cpp: added a note about a different ROM configuration found for sstrikerk [buffi] --- scripts/target/mame/arcade.lua | 1 + src/mame/arcade.flt | 1 + src/mame/drivers/neoprint.cpp | 87 +++++++++++++++++------ src/mame/drivers/rallypnt.cpp | 156 +++++++++++++++++++++++++++++++++++++++++ src/mame/drivers/toaplan2.cpp | 5 ++ src/mame/mame.lst | 5 ++ 6 files changed, 233 insertions(+), 22 deletions(-) create mode 100644 src/mame/drivers/rallypnt.cpp diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index 0ccff7cb770..b9597f1d2bb 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -1445,6 +1445,7 @@ files { MAME_DIR .. "src/mame/drivers/bowltry.cpp", MAME_DIR .. "src/mame/drivers/ohmygod.cpp", MAME_DIR .. "src/mame/drivers/patapata.cpp", + MAME_DIR .. "src/mame/drivers/rallypnt.cpp", } createMAMEProjects(_target, _subtarget, "barcrest") diff --git a/src/mame/arcade.flt b/src/mame/arcade.flt index ab79f10c2e0..eb223edc924 100644 --- a/src/mame/arcade.flt +++ b/src/mame/arcade.flt @@ -1054,6 +1054,7 @@ radikaldarts.cpp raiden.cpp raiden2.cpp raiden_ms.cpp +rallypnt.cpp rallyx.cpp rampart.cpp ramtek.cpp diff --git a/src/mame/drivers/neoprint.cpp b/src/mame/drivers/neoprint.cpp index 6e086ae4b97..6bfd82c7449 100644 --- a/src/mame/drivers/neoprint.cpp +++ b/src/mame/drivers/neoprint.cpp @@ -21,17 +21,21 @@ *******************************************************************************************/ #include "emu.h" + #include "cpu/m68000/m68000.h" #include "cpu/z80/z80.h" #include "machine/gen_latch.h" #include "machine/nvram.h" #include "machine/upd1990a.h" #include "sound/ymopn.h" + #include "emupal.h" #include "screen.h" #include "speaker.h" +namespace { + class neoprint_state : public driver_device { public: @@ -69,10 +73,10 @@ protected: virtual void video_start() override; private: - uint8_t neoprint_calendar_r(); - void neoprint_calendar_w(uint8_t data); - uint8_t neoprint_unk_r(); - uint8_t neoprint_audio_result_r(); + uint8_t calendar_r(); + void calendar_w(uint8_t data); + uint8_t unk_r(); + uint8_t audio_result_r(); void audio_cpu_clear_nmi_w(uint8_t data); void audio_command_w(offs_t offset, uint8_t data, uint8_t mem_mask = ~0); uint8_t audio_command_r(); @@ -84,8 +88,8 @@ private: uint32_t screen_update_neoprint(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_nprsp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void neoprint_audio_io_map(address_map &map); - void neoprint_audio_map(address_map &map); + void audio_io_map(address_map &map); + void audio_map(address_map &map); void neoprint_map(address_map &map); void nprsp_map(address_map &map); @@ -180,19 +184,19 @@ uint32_t neoprint_state::screen_update_nprsp(screen_device &screen, bitmap_ind16 } -uint8_t neoprint_state::neoprint_calendar_r() +uint8_t neoprint_state::calendar_r() { return (m_upd4990a->data_out_r() << 7) | (m_upd4990a->tp_r() << 6); } -void neoprint_state::neoprint_calendar_w(uint8_t data) +void neoprint_state::calendar_w(uint8_t data) { m_upd4990a->data_in_w(data >> 0 & 1); m_upd4990a->clk_w(data >> 1 & 1); m_upd4990a->stb_w(data >> 2 & 1); } -uint8_t neoprint_state::neoprint_unk_r() +uint8_t neoprint_state::unk_r() { /* ---x ---- tested in irq routine, odd/even field number? */ /* ---- xx-- one of these two must be high */ @@ -206,7 +210,7 @@ uint8_t neoprint_state::neoprint_unk_r() return m_vblank| 4 | 3; } -uint8_t neoprint_state::neoprint_audio_result_r() +uint8_t neoprint_state::audio_result_r() { return m_audio_result; } @@ -264,12 +268,12 @@ void neoprint_state::neoprint_map(address_map &map) map(0x300000, 0x30ffff).ram().share("nvram"); map(0x400000, 0x43ffff).ram().share("npvidram"); map(0x500000, 0x51ffff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x600000, 0x600000).rw(FUNC(neoprint_state::neoprint_audio_result_r), FUNC(neoprint_state::audio_command_w)); - map(0x600002, 0x600002).rw(FUNC(neoprint_state::neoprint_calendar_r), FUNC(neoprint_state::neoprint_calendar_w)); + map(0x600000, 0x600000).rw(FUNC(neoprint_state::audio_result_r), FUNC(neoprint_state::audio_command_w)); + map(0x600002, 0x600002).rw(FUNC(neoprint_state::calendar_r), FUNC(neoprint_state::calendar_w)); map(0x600004, 0x600005).portr("SYSTEM").nopw(); map(0x600006, 0x600007).portr("IN").nopw(); map(0x600008, 0x600009).portr("DSW1"); - map(0x60000a, 0x60000a).r(FUNC(neoprint_state::neoprint_unk_r)); + map(0x60000a, 0x60000a).r(FUNC(neoprint_state::unk_r)); map(0x60000c, 0x60000d).portr("DSW2"); map(0x60000e, 0x60000f).nopw(); @@ -329,13 +333,13 @@ void neoprint_state::nprsp_map(address_map &map) { map(0x000000, 0x07ffff).rom(); map(0x080000, 0x0fffff).r(FUNC(neoprint_state::rom_window_r)); - map(0x200000, 0x200000).rw(FUNC(neoprint_state::neoprint_audio_result_r), FUNC(neoprint_state::audio_command_w)); - map(0x200002, 0x200002).rw(FUNC(neoprint_state::neoprint_calendar_r), FUNC(neoprint_state::neoprint_calendar_w)); + map(0x200000, 0x200000).rw(FUNC(neoprint_state::audio_result_r), FUNC(neoprint_state::audio_command_w)); + map(0x200002, 0x200002).rw(FUNC(neoprint_state::calendar_r), FUNC(neoprint_state::calendar_w)); map(0x200004, 0x200005).portr("SYSTEM").nopw(); map(0x200006, 0x200007).portr("IN").nopw(); map(0x200008, 0x200009).portr("DSW1"); map(0x200008, 0x200008).w(FUNC(neoprint_state::nprsp_bank_w)); - map(0x20000a, 0x20000a).r(FUNC(neoprint_state::neoprint_unk_r)); + map(0x20000a, 0x20000a).r(FUNC(neoprint_state::unk_r)); map(0x20000c, 0x20000d).portr("DSW2"); map(0x20000e, 0x20000f).nopw(); @@ -354,7 +358,7 @@ void neoprint_state::nprsp_map(address_map &map) * *************************************/ -void neoprint_state::neoprint_audio_map(address_map &map) +void neoprint_state::audio_map(address_map &map) { map(0x0000, 0x7fff).rom();//.bankr(NEOGEO_BANK_AUDIO_CPU_MAIN_BANK); // map(0x8000, 0xbfff).bankr(NEOGEO_BANK_AUDIO_CPU_CART_BANK + 3); @@ -372,7 +376,7 @@ void neoprint_state::neoprint_audio_map(address_map &map) * *************************************/ -void neoprint_state::neoprint_audio_io_map(address_map &map) +void neoprint_state::audio_io_map(address_map &map) { /*map(0x00, 0x00).mirror(0xff00).rw(FUNC(neoprint_state::audio_command_r), FUNC(neoprint_state::audio_cpu_clear_nmi_w));*/ /* may not and NMI clear */ map(0x00, 0x00).mirror(0xff00).r(FUNC(neoprint_state::audio_command_r)).nopw(); @@ -512,8 +516,8 @@ void neoprint_state::neoprint(machine_config &config) m_maincpu->set_vblank_int("screen", FUNC(neoprint_state::irq2_line_hold)); // lv1,2,3 valid? Z80(config, m_audiocpu, 4000000); - m_audiocpu->set_addrmap(AS_PROGRAM, &neoprint_state::neoprint_audio_map); - m_audiocpu->set_addrmap(AS_IO, &neoprint_state::neoprint_audio_io_map); + m_audiocpu->set_addrmap(AS_PROGRAM, &neoprint_state::audio_map); + m_audiocpu->set_addrmap(AS_IO, &neoprint_state::audio_io_map); UPD4990A(config, m_upd4990a); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -556,8 +560,8 @@ void neoprint_state::nprsp(machine_config &config) m_maincpu->set_vblank_int("screen", FUNC(neoprint_state::irq2_line_hold)); // lv1,2,3 valid? Z80(config, m_audiocpu, 4000000); - m_audiocpu->set_addrmap(AS_PROGRAM, &neoprint_state::neoprint_audio_map); - m_audiocpu->set_addrmap(AS_IO, &neoprint_state::neoprint_audio_io_map); + m_audiocpu->set_addrmap(AS_PROGRAM, &neoprint_state::audio_map); + m_audiocpu->set_addrmap(AS_IO, &neoprint_state::audio_io_map); UPD4990A(config, m_upd4990a); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -826,6 +830,40 @@ ROM_START( npcramen ) // ? string ROM_LOAD32_BYTE( "l009-c2 pstm-romc.c2", 0x000001, 0x080000, CRC(d63dea34) SHA1(cf2dbf982ed955fe5a4c737d1752cdb66ab5f84a) ) ROM_END +ROM_START( nppopeye ) // NP 1.30 19970430 string + ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD16_WORD_SWAP( "p027-ep1", 0x000000, 0x080000, CRC(f928ad2e) SHA1(a958b2d357af6daf2bde6d5b8874963c9c4130c3)) + + ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 program */ + ROM_LOAD( "pt004-m1", 0x00000, 0x20000, CRC(6d77cdaa) SHA1(f88a93b3085b18b6663b4e51fccaa41958aafae1) ) + + ROM_REGION( 0x200000, "ymsnd:adpcma", 0 ) /* Samples */ + ROM_LOAD( "pt004-v1", 0x000000, 0x200000, CRC(118a84fd) SHA1(9059297a42a329eca47a82327c301853219013bd) ) + + ROM_REGION( 0x400000, "gfx1", ROMREGION_ERASE00 ) + ROM_LOAD32_BYTE( "p027-1-c1", 0x000000, 0x80000, CRC(08663e2f) SHA1(019b37125a639e205acdc34f486d7ba8318d92d5) ) + ROM_LOAD32_BYTE( "p027-1-c2", 0x000001, 0x80000, CRC(67cec95c) SHA1(5ff33b4adaa21604f20363fad1f3930f5230a52e) ) + ROM_LOAD32_BYTE( "p027-1-c3", 0x200000, 0x80000, CRC(c299399d) SHA1(1c2ed93131cd5771ed219ec11870ada9945b3fdc) ) + ROM_LOAD32_BYTE( "p027-1-c4", 0x200001, 0x80000, CRC(a406a483) SHA1(c02c682dd964bc006baecde193bfb8d95c4795a8) ) +ROM_END + +ROM_START( npeurver ) // NP 1.30 19970430 string + ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD16_WORD_SWAP( "p016-1-ep1", 0x000000, 0x080000, CRC(941af83b) SHA1(c385164f2671e183fbcec543d738463c03f1829a) ) + + ROM_REGION( 0x20000, "audiocpu", 0 ) + ROM_LOAD( "p016-m1.bin", 0x00000, 0x20000, CRC(f40cf036) SHA1(63041318d8bec144a4688cc5f45107f8331809bf) ) + + ROM_REGION( 0x200000, "ymsnd:adpcma", 0 ) + ROM_LOAD( "p016-v1.bin", 0x000000, 0x200000, CRC(400ca9ce) SHA1(f8636a4600200ef9000a25e80cf20f252703ad37) ) + + ROM_REGION( 0x400000, "gfx1", ROMREGION_ERASE00 ) + ROM_LOAD32_BYTE( "p016-c1", 0x000000, 0x80000, CRC(10b96226) SHA1(b791b3dd43a363255033648c1be160d42a024cbe) ) + ROM_LOAD32_BYTE( "p016-c2", 0x000001, 0x80000, CRC(88df9dce) SHA1(10a8866672c1d05efb8a1f7516d7fba340f3fb0b) ) + ROM_LOAD32_BYTE( "p016-c3", 0x200001, 0x80000, CRC(c69d82f6) SHA1(4c4267a851e438c4e50af1f2bbe80220d6f1d920) ) + ROM_LOAD32_BYTE( "p016-c4", 0x200002, 0x80000, CRC(faa3d47e) SHA1(c57324e339e4c6e60000309597889d2e17f0d3bd) ) +ROM_END + /* FIXME: get rid of these two, probably something to do with irq3 and camera / printer devices */ void neoprint_state::init_npcartv1() { @@ -905,6 +943,9 @@ void neoprint_state::init_npotogib() ROM[0x3f4e/2] = 0x4e71; //ROM checksum } +} // anonymous namespace + + GAME( 1996, neoprint, 0, neoprint, neoprint, neoprint_state, init_unkneo, ROT0, "SNK", "Neo Print (Japan) (T2d)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) GAME( 1996, npcartv1, 0, neoprint, neoprint, neoprint_state, init_npcartv1, ROT0, "SNK", "Neo Print V1 (World) (E1a)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) GAME( 1996, npscv1, 0, neoprint, neoprint, neoprint_state, init_npscv1, ROT0, "SNK", "Neo Print - Senyou Cassette Ver. 1 (Japan)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) @@ -912,6 +953,8 @@ GAME( 1996, npcramen, 0, neoprint, neoprint, neoprint_state, empty_ GAME( 1997, npsprgv4, 0, neoprint, neoprint, neoprint_state, init_npsprgv4, ROT0, "SNK", "Neo Print - Spring Ver. 4 (Japan) (T4f 1.00)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) GAME( 1997, npskv, 0, neoprint, neoprint, neoprint_state, init_npskv, ROT0, "SNK", "Neo Print - Suizokukan Version (Japan) (T4i 2.00)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) GAME( 1997, npotogib, 0, neoprint, neoprint, neoprint_state, init_npotogib, ROT0, "SNK", "Neo Print - Otogibanashi (Japan) (T4i 3.00)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) +GAME( 1997, nppopeye, 0, neoprint, neoprint, neoprint_state, init_98best44, ROT0, "SNK", "Neo Print - Popeye (Japan) (T4i 3.04)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) +GAME( 1997, npeurver, 0, neoprint, neoprint, neoprint_state, init_npskv, ROT0, "SNK", "Neo Print - European Version (World) (T4i 2.00)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) GAME( 1997, npusagif, 0, neoprint, neoprint, neoprint_state, init_98best44, ROT0, "SNK", "Neo Print - Usagi Frame (Japan) (T4i 3.07)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) GAME( 1998, 98best44, 0, neoprint, neoprint, neoprint_state, init_98best44, ROT0, "SNK", "Neo Print - '98 NeoPri Best 44 (Japan) (T4i 3.07)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) GAME( 1998, npsprg98, 0, neoprint, neoprint, neoprint_state, init_npmillen, ROT0, "SNK", "Neo Print - Spring '98 (T4i 3.07)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/rallypnt.cpp b/src/mame/drivers/rallypnt.cpp new file mode 100644 index 00000000000..3849e7a0899 --- /dev/null +++ b/src/mame/drivers/rallypnt.cpp @@ -0,0 +1,156 @@ +// license:BSD-3-Clause +// copyright-holders: + +/* +Rally Point 2 (1999 I.M.S. / Atlus) + +FHPC-RP01C2 PCB with FHCP-RP02A riser board for the CPU + +Main components: + +1x H8/3337 HDS64F337F16 (9M1) main CPU with undumped internal ROM +1x YMZ280B-F sound chip with YAC516-M DAC +1x TC55257DFL-85L SRAM +1x 32.000 MHz XTAL +2x 8-dip banks +*/ + +#include "emu.h" + +#include "cpu/h8/h83337.h" +#include "sound/ymz280b.h" + +#include "speaker.h" + + +namespace { + +class rallypnt_state : public driver_device +{ +public: + rallypnt_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu") + { } + + void rallypnt(machine_config &config); + +private: + required_device m_maincpu; + + void main_map(address_map &map); +}; + + +void rallypnt_state::main_map(address_map &map) +{ + map(0x00000000, 0x00003fff).rom(); +} + + + +static INPUT_PORTS_START( rallypnt ) + PORT_START("IN0") + PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x0010, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x0020, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x0100, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x0200, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x0400, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x0800, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x1000, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x2000, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x4000, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x8000, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + + PORT_START("DSW1") + PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW1:1") + PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW1:2") + PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW1:3") + PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW1:4") + PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW1:5") + PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW1:6") + PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW1:7") + PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW1:8") + + PORT_START("DSW2") + PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW2:1") + PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW2:2") + PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW2:3") + PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW2:4") + PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW2:5") + PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW2:6") + PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW2:7") + PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW2:8") +INPUT_PORTS_END + + +void rallypnt_state::rallypnt(machine_config &config) +{ + // basic machine hardware + H83337(config, m_maincpu, 32_MHz_XTAL); + m_maincpu->set_addrmap(AS_PROGRAM, &rallypnt_state::main_map); + + // no video, only lamps + + // sound hardware + SPEAKER(config, "lspeaker").front_left(); + SPEAKER(config, "rspeaker").front_right(); + + ymz280b_device &ymz(YMZ280B(config, "ymz", 32_MHz_XTAL / 2)); // divider unknown (or 16.9344 MHz internal?) + ymz.add_route(0, "lspeaker", 1.0); + ymz.add_route(1, "rspeaker", 1.0); +} + + +ROM_START( rallypnt2 ) + ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD( "fhcpu-0001a", 0x00000, 0x4000, NO_DUMP ) // on riser board, internal ROM not dumped + + ROM_REGION( 0x200000, "ymz", ROMREGION_ERASEFF ) + ROM_LOAD( "fhep-0010.rom0.u36", 0x000000, 0x80000, CRC(5f9a123d) SHA1(96e24d9360b32227ddaa4bb655876e819f8171e3) ) + ROM_LOAD( "fhep-0011.rom1.u37", 0x080000, 0x80000, CRC(2526f2a7) SHA1(613d02eb14e0f2e773ed24ab71cdddc71dbca8eb) ) + ROM_LOAD( "fhep-0012.rom2.u39", 0x100000, 0x80000, CRC(7499a6da) SHA1(09f2bf1703dc6f394f9af1a3713b23acdda79a5c) ) + // rom3.u40 not populated +ROM_END + +} // anonymous namespace + +GAME( 1999, rallypnt2, 0, rallypnt, rallypnt, rallypnt_state, empty_init, ROT0, "Atlus", "Rally Point 2", MACHINE_IS_SKELETON_MECHANICAL ) diff --git a/src/mame/drivers/toaplan2.cpp b/src/mame/drivers/toaplan2.cpp index 1f889074732..fc3814b7a92 100644 --- a/src/mame/drivers/toaplan2.cpp +++ b/src/mame/drivers/toaplan2.cpp @@ -5176,6 +5176,11 @@ ROM_START( sstrikerk ) ROM_REGION( 0x200000, "gp9001_0", 0 ) ROM_LOAD( "ra-ma01-rom2.u2", 0x000000, 0x100000, CRC(54e2bd95) SHA1(341359dd46152615675bb90e8a184216c8feebff) ) ROM_LOAD( "ra-ma01-rom3.u1", 0x100000, 0x100000, CRC(21cd378f) SHA1(e1695bccec949d18b1c03e9c42dca384554b0d7c) ) + // also seen with 4 smaller ROMs instead of 2 + // 01.bin ra-ma01-rom2.u2 [even] IDENTICAL + // 02.bin ra-ma01-rom2.u2 [odd] IDENTICAL + // 03.bin ra-ma01-rom3.u1 [even] IDENTICAL + // 04.bin ra-ma01-rom3.u1 [odd] IDENTICAL ROM_REGION( 0x008000, "text", 0 ) ROM_LOAD( "ra-ma-01_05.u81", 0x000000, 0x008000, CRC(88b58841) SHA1(1d16b538c11a291bd1f46a510bfbd6259b45a0b5) ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index ec036773395..45f8953629e 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -33173,9 +33173,11 @@ svcpcba // 0269 (c) 2003 Playmore / Capcom - JAMMA PCB neoprint // npcartv1 // npcramen // +npeurver // npfpit // npmillen // npotogib // +nppopeye // nprsp // npscv1 // npskv // @@ -36465,6 +36467,9 @@ rainbow // 1983 DEC Rainbow 100-B rainbow100a // 1982 DEC Rainbow 100-A rainbow190 // 1985 DEC Rainbow 190 +@source:rallypnt.cpp +rallypnt2 + @source:rallyx.cpp commsega // (c) 1983 Sega cottong // bootleg -- cgit v1.2.3