From e0fa2efa7242125ffbb1d28f8130cbd204c3d8eb Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Sat, 22 Jul 2023 08:02:48 +0200 Subject: New systems marked not working ------------------------------ Dora Neco BanBan [buffi] New working clones ------------------ Fire Truck / Smokey Joe (ROM version) [Michael Aberle, H is Nice] --- src/mame/atari/firetrk.cpp | 32 +++++++++- src/mame/mame.lst | 4 ++ src/mame/misc/katosmedz80.cpp | 132 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 165 insertions(+), 3 deletions(-) create mode 100644 src/mame/misc/katosmedz80.cpp diff --git a/src/mame/atari/firetrk.cpp b/src/mame/atari/firetrk.cpp index 53aaa35ac6a..9d4002594f0 100644 --- a/src/mame/atari/firetrk.cpp +++ b/src/mame/atari/firetrk.cpp @@ -1607,6 +1607,31 @@ ROM_START( firetrk ) ROM_END +ROM_START( firetrka ) // identical data as above, just using ROMs instead of PROMs for the 0x3000 - 0x3fff range. + ROM_REGION( 0x4000, "maincpu", 0 ) + ROM_LOAD( "032823-02.c1", 0x2000, 0x800, CRC(9570bdd3) SHA1(4d26a9490d05d53da55fc59459a4dce5bca6c761) ) + ROM_LOAD( "032824-01.d1", 0x2800, 0x800, CRC(a5fc5629) SHA1(bf20510d8623eda2740ff296a7813a3e6f7ec76e) ) + ROM_LOAD( "032825-02.bin", 0x3000, 0x800, CRC(fa6f050f) SHA1(531b256d536cb4da450413d7b55bcba25ce02145) ) + ROM_LOAD( "032826-02.bin", 0x3800, 0x800, CRC(e9080179) SHA1(5c0a246578a9336f89d585278cd4683782f8e006) ) + + ROM_REGION( 0x0800, "chars", 0 ) + ROM_LOAD( "032827-01.r3", 0x000, 0x800, CRC(cca31d2b) SHA1(78235176c9cb2abd73a5778b54560b87634ca0e4) ) + + ROM_REGION( 0x0800, "tiles", 0 ) + ROM_LOAD( "032828-02.f5", 0x000, 0x800, CRC(68ef5f19) SHA1(df227d6a57bba6298ebdeb5a118878da21d889f6) ) + + ROM_REGION( 0x0400, "cars", 0 ) + ROM_LOAD( "032831-01.p7", 0x000, 0x400, CRC(bb8d144f) SHA1(9a1355ea6f88e96926c32e0e36ac0525b0243906) ) + + ROM_REGION( 0x1000, "trailer", 0 ) + ROM_LOAD( "032829-01.j5", 0x000, 0x800, CRC(e7267d71) SHA1(7132b98622e899227a378ba8c010dde39c479978) ) + ROM_LOAD( "032830-01.l5", 0x800, 0x800, CRC(e4d8b685) SHA1(30978658899c83e32dabdf554a13cf5e5235c725) ) + + ROM_REGION( 0x100, "proms", 0 ) + ROM_LOAD( "009114.prm", 0x0000, 0x100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) // sync +ROM_END + + ROM_START( superbug ) ROM_REGION( 0x2000, "maincpu", 0 ) ROM_LOAD( "009121.d1", 0x0800, 0x800, CRC(350df308) SHA1(b957c830bb95e0752ea9793e3edcfdd52235e0ab) ) @@ -1658,6 +1683,7 @@ ROM_END } // anonymous namespace -GAMEL( 1977, superbug, 0, superbug, superbug, superbug_state, empty_init, ROT270, "Atari (Kee Games)", "Super Bug", MACHINE_SUPPORTS_SAVE, layout_superbug ) -GAME( 1978, firetrk, 0, firetrk, firetrk, firetrk_state, empty_init, ROT270, "Atari", "Fire Truck / Smokey Joe", MACHINE_SUPPORTS_SAVE ) -GAME( 1979, montecar, 0, montecar, montecar, montecar_state, empty_init, ROT270, "Atari", "Monte Carlo", MACHINE_SUPPORTS_SAVE ) +GAMEL( 1977, superbug, 0, superbug, superbug, superbug_state, empty_init, ROT270, "Atari (Kee Games)", "Super Bug", MACHINE_SUPPORTS_SAVE, layout_superbug ) +GAME( 1978, firetrk, 0, firetrk, firetrk, firetrk_state, empty_init, ROT270, "Atari", "Fire Truck / Smokey Joe (PROM version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1978, firetrka, firetrk, firetrk, firetrk, firetrk_state, empty_init, ROT270, "Atari", "Fire Truck / Smokey Joe (ROM version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1979, montecar, 0, montecar, montecar, montecar_state, empty_init, ROT270, "Atari", "Monte Carlo", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index f01bacdf06f..78d7633e563 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -1742,6 +1742,7 @@ firefoxa // 136026 (c) 1984 @source:atari/firetrk.cpp firetrk // 030926 1978/06 [6808] +firetrka // 030926 1978/06 [6808] montecar // 035763-035780 1980/04 [6502] superbug // 009115-009467 1977/09 [6800] @@ -30249,6 +30250,9 @@ jungleyo @source:misc/kas89.cpp kas89 // 1989, SFC S.R.L. +@source:misc/katosmedz80.cpp +dnbanban + @source:misc/kingpin.cpp dealracl // kingpin // (c) 1983 American Communications Laboratories Inc. diff --git a/src/mame/misc/katosmedz80.cpp b/src/mame/misc/katosmedz80.cpp new file mode 100644 index 00000000000..1b2ff7aff83 --- /dev/null +++ b/src/mame/misc/katosmedz80.cpp @@ -0,0 +1,132 @@ +// license:BSD-3-Clause +// copyright-holders: + +/* +ドラネコバンバン - Dora Neco BanBan (as transliterated on the cab) +Medal game by Kato's, whack-a-mole style + +PCB is unmarked + +Main components: +Sharp LH0080B Z80B-CPU +12.000 MHz XTAL +HM6116LP-3 Static RAM +2x NEC D71055C +OKI M6295GS +4-DIP bank +*/ + +#include "emu.h" + +#include "cpu/z80/z80.h" +#include "machine/i8255.h" +#include "sound/okim6295.h" + +#include "speaker.h" + + +namespace { + +class katosmedz80_state : public driver_device +{ +public: + katosmedz80_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu (*this, "maincpu") + {} + + void dnbanban(machine_config &config) ATTR_COLD; + +private: + required_device m_maincpu; + + void program_map(address_map &map); + void io_map(address_map &map); +}; + + +void katosmedz80_state::program_map(address_map &map) +{ + map(0x0000, 0x3fff).rom(); + map(0x4000, 0x47ff).ram(); +} + +void katosmedz80_state::io_map(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x03).rw("ppi0", FUNC(i8255_device::read), FUNC(i8255_device::write)); + map(0x04, 0x07).rw("ppi1", FUNC(i8255_device::read), FUNC(i8255_device::write)); + // map(0x08, 0x08) // ?? + map(0x0c, 0x0c).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); +} + + +static INPUT_PORTS_START( dnbanban ) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("DSW") // 4-DIP bank + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN ) +INPUT_PORTS_END + + +void katosmedz80_state::dnbanban(machine_config &config) +{ + Z80(config, m_maincpu, 12_MHz_XTAL / 4); // divider unknown + m_maincpu->set_addrmap(AS_PROGRAM, &katosmedz80_state::program_map); + m_maincpu->set_addrmap(AS_IO, &katosmedz80_state::io_map); + m_maincpu->set_periodic_int(FUNC(katosmedz80_state::irq0_line_hold), attotime::from_hz(4*60)); // wrong + + I8255(config, "ppi0"); // D71055C + + I8255(config, "ppi1"); // D71055C + + // 2x LEDs + + SPEAKER(config, "mono").front_center(); + + OKIM6295(config, "oki", 1.056_MHz_XTAL, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 0.65); // resonator value and pin 7 verified +} + + +ROM_START( dnbanban ) + ROM_REGION( 0x8000, "maincpu", 0 ) + ROM_LOAD( "g25_a.ic17", 0x0000, 0x8000, CRC(ef441127) SHA1(69fea4992abb2c4905d3831b6f18e464088f0ec7) ) // MBM27C256A, 1xxxxxxxxxxxxxx = 0xFF + + ROM_REGION( 0x40000, "oki", ROMREGION_ERASE00 ) + ROM_LOAD( "g25_v.ic7", 0x00000, 0x20000, CRC(87c7d45d) SHA1(3f035d5e62fe62111cee978ed1708e902c98526a) ) // MBM27C1000 +ROM_END + +} // anonymous namespace + + +GAME( 1993, dnbanban, 0, dnbanban, dnbanban, katosmedz80_state, empty_init, ROT0, "Kato's", "Dora Neco BanBan", MACHINE_IS_SKELETON_MECHANICAL ) -- cgit v1.2.3