diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index 2e2ce1f22fa..a49dca5dbea 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -1261,6 +1261,7 @@ files { MAME_DIR .. "src/mame/drivers/gauntlet.cpp", MAME_DIR .. "src/mame/includes/gauntlet.h", MAME_DIR .. "src/mame/video/gauntlet.cpp", + MAME_DIR .. "src/mame/drivers/gumrally.cpp", MAME_DIR .. "src/mame/drivers/harddriv.cpp", MAME_DIR .. "src/mame/includes/harddriv.h", MAME_DIR .. "src/mame/machine/harddriv.cpp", diff --git a/src/mame/arcade.flt b/src/mame/arcade.flt index 2f53b69ea65..59703f91d63 100644 --- a/src/mame/arcade.flt +++ b/src/mame/arcade.flt @@ -531,6 +531,7 @@ gts80a.cpp gts80b.cpp guab.cpp gumbo.cpp +gumrally.cpp gunbustr.cpp gundealr.cpp gunpey.cpp diff --git a/src/mame/drivers/gumrally.cpp b/src/mame/drivers/gumrally.cpp new file mode 100644 index 00000000000..b63f3e6a5e4 --- /dev/null +++ b/src/mame/drivers/gumrally.cpp @@ -0,0 +1,138 @@ +// license:BSD-3-Clause +// copyright-holders: + +/* + Gumball Rally (c) 1990(?) Atari + + Electromechanical redemption game + Video: https://www.youtube.com/watch?v=Q7NljgN72qE + _____________________________________________________________________________________________________________________________ + | | + |.. _ o o o | + |.. LED->(_) o o o | + |.. __________ __________ o o o | + |.. |ULN_2003A| |_TL084CN_| o o o | + |.. __________ __________ ___________ | + |.. SN74LS257BN SN74LS257BN |SN74LS273N| ____ ____ o o o | + |.. LM358AN LM358AN o o o | + |.. ___________ SWITCH ____________ o o o | + |.. |SN74LS273N| SELF TEST |VLSI 9012AV| __________ o o o | + |.. |___________| SN74LS166AN | + |.. ___________ __________ __________ __________ __________ __________ ______________ | + | GAL16V8A-25LP |SN74LS138N |SN74LS138N SN74LS163AN SN74LS163AN |SN74LS393N | YM2149F | | + | ____________ _ |_____________| | + | |KM28C16-20 | (_)<-LED __________ | + |.. |___________| __________ __________ __________ |_74LS04N_| | + |.. ____________ ____________ |_74LS08N_| |_74LS197N| |74LS163AN| ______________ _____ | + |.. |HY6264LP-85| |HY6264LP-85| __________ __________ __________ | EEPROM | | OKI | Xtal | + |.. |___________| |___________| |SN74LS163AN GAL16V8A-25LP SN74LS74AN |_____________| |M6295| 14.318 | + |.. ____________ ____________ __________ __________ __________ ______________ |_____| __________ | + |.. | EEPROM | | EEPROM | |_74LS04N_| SN74LS374AN |SN74LS86N| | EEPROM | |_7408N___| | + |.. |___________| |___________| __________ __________ __________ |_____________| __________ __________ | + |.. ___________________________ |SN74LS32N| |SN74LS273N SN74LS163AN ______________ |_GD74LS00| |_7406N___| ____ | + |.. | Motorola 68000 | __________ __________ __________ | EEPROM | __________ __________ LM358AN | + |.. | | |_74LS20N_| SN74LS163AN SN74LS163AN |_____________| |SN74LS32N| |SN74LS74AN | + |.. |__________________________| __________ __________ ______________ __________ | + |.. |SN74LS273N SN74LS163AN | EEPROM | |SN74LS74AN | + | |_____________| | + |_____________________________________________________________________________________________________________________________| + + Main PCB marked Atari Games Gumball Rally Main (possibly hinting at a missing second PCB) + Main components: + 1 x M68000 or compatible (exact type unknown as it's covered by a sticker) + 2 x M27512FI main CPU ROMs + 4 x TMS 27C512 OKI ROMs + 2 x HY6264LP RAMs + 2 x GAL16V8A + 1 x KM28C16 EEPROM + 1 x VLSI VGC7205A0672 ATARI 137304-2002 + 1 x YM2149F + 1 x OKI M6295 + 1 x 14.318MHz Osc (near sound chips) + 1 x selftest switch + no dips + + TODO: + - everything. +*/ + +#include "emu.h" + +#include "cpu/m68000/m68000.h" +#include "machine/eeprompar.h" +#include "sound/ay8910.h" +#include "sound/okim6295.h" + +#include "screen.h" +#include "speaker.h" + + +namespace { + +class gumrally_state : public driver_device +{ +public: + gumrally_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu") + { } + + void gumrally(machine_config &config); + +private: + required_device m_maincpu; + + void prg_map(address_map &map); +}; + + +void gumrally_state::prg_map(address_map &map) +{ + map(0x000000, 0x01ffff).rom().region("maincpu", 0); +} + + +static INPUT_PORTS_START( gumrally ) +INPUT_PORTS_END + + +void gumrally_state::gumrally(machine_config &config) +{ + // basic machine hardware + M68000(config, m_maincpu, 14'318'000); // clock not verified + m_maincpu->set_addrmap(AS_PROGRAM, &gumrally_state::prg_map); + + EEPROM_2816(config, "eeprom"); + + // video hardware + // TODO + + // sound hardware + SPEAKER(config, "mono").front_center(); + + YM2149(config, "ym", 14'318'000 / 12).add_route(ALL_OUTPUTS, "mono", 0.3); // clock not verified + + OKIM6295(config, "oki", 14'318'000 / 12, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.5); // clock and pin not verified +} + + +ROM_START( gumrally ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD16_BYTE( "gum_4002.c10", 0x00000, 0x10000, CRC(d02a6149) SHA1(80d5242f6469e406523aba07e3b8f08ec01b4275) ) // 1xxxxxxxxxxxxxxx = 0x00 + ROM_LOAD16_BYTE( "gum_4008.c8", 0x00001, 0x10000, CRC(1dd18740) SHA1(692c96e979be906d90852bd1fbe85973ddd0c74f) ) // 1xxxxxxxxxxxxxxx = 0x00 + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "061490_1990_atari_136080_1004_cs_52b2.a4", 0x00000, 0x10000, CRC(4a7b5633) SHA1(c08a5557136565317a42e718ec869e8439e117ec) ) + ROM_LOAD( "061490_1990_atari_136080_1005_cs_f7a2.b4", 0x10000, 0x10000, CRC(f0d72b71) SHA1(f92e5ad2255b97e630b3bdbc599f062c84a208f9) ) + ROM_LOAD( "061490_1990_atari_136080_1006_cs_ffda.d4", 0x20000, 0x10000, CRC(e4854f24) SHA1(f1f4ef6b11eb7f4ece8cac8af1076b97517b70de) ) + ROM_LOAD( "061490_1990_atari_136080_1007_cs_b0b4.e4", 0x30000, 0x10000, CRC(1dee18e3) SHA1(aeb1e762d2e6bece68a1135fd36ae24c5acb3a5e) ) + + ROM_REGION( 0x400, "plds", 0 ) + ROM_LOAD( "36080-1000_gal16v8a.10h", 0x000, 0x117, CRC(1fcb654c) SHA1(17f2b812e8049134ebfc63d1564ccc975eec9f21) ) + ROM_LOAD( "36080-1001_gal16v8a.6e", 0x200, 0x117, CRC(46345b41) SHA1(22864ad5bf99fad514d774dd2934b9cf3249b5c7) ) +ROM_END + +} // Anonymous namespace + + +GAME( 1990, gumrally, 0, gumrally, gumrally, gumrally_state, empty_init, ROT0, "Atari Games", "Gumball Rally", MACHINE_IS_SKELETON_MECHANICAL ) // year taken from labels on OKI ROMs diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 55c16b76337..1e6dc950942 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -16158,6 +16158,9 @@ mspuzzlea // (c) 1994 Min Corp. mspuzzleb // (c) 1994 Min Corp. mspuzzleg // (c) 1994 Min Corp. +@source:gumrally.cpp +gumrally // Atari Games + @source:gunbustr.cpp gunbustr // D27 (c) 1992 Taito Corporation Japan (World) gunbustrj // D27 (c) 1992 Taito Corporation (Japan)