From 0a83f32207dfd827b59df245258cf1b133537947 Mon Sep 17 00:00:00 2001 From: AJR Date: Sun, 10 Nov 2019 23:52:30 -0500 Subject: New machines marked as NOT_WORKING ---------------------------------- Spade [SpinalFeyd] --- scripts/target/mame/arcade.lua | 1 + src/mame/arcade.flt | 1 + src/mame/drivers/gsspade.cpp | 91 ++++++++++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 3 ++ 4 files changed, 96 insertions(+) create mode 100644 src/mame/drivers/gsspade.cpp diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index b4a95fae8e1..3cf0955133a 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -4758,6 +4758,7 @@ files { MAME_DIR .. "src/mame/drivers/gotcha.cpp", MAME_DIR .. "src/mame/includes/gotcha.h", MAME_DIR .. "src/mame/video/gotcha.cpp", + MAME_DIR .. "src/mame/drivers/gsspade.cpp", MAME_DIR .. "src/mame/drivers/gumbo.cpp", MAME_DIR .. "src/mame/includes/gumbo.h", MAME_DIR .. "src/mame/video/gumbo.cpp", diff --git a/src/mame/arcade.flt b/src/mame/arcade.flt index 486bcbc59d4..c5a85243dba 100644 --- a/src/mame/arcade.flt +++ b/src/mame/arcade.flt @@ -489,6 +489,7 @@ gradius3.cpp grchamp.cpp gridlee.cpp groundfx.cpp +gsspade.cpp gstream.cpp gstriker.cpp gsword.cpp diff --git a/src/mame/drivers/gsspade.cpp b/src/mame/drivers/gsspade.cpp new file mode 100644 index 00000000000..5c275de7aa9 --- /dev/null +++ b/src/mame/drivers/gsspade.cpp @@ -0,0 +1,91 @@ +// license:BSD-3-Clause +// copyright-holders:AJR +/**************************************************************************** + + Skeleton driver for "Spade" by Guan Shing. + + Whatever machine this is (likely some sort of mechanical redemption + game) clearly consists of more than the dumped sound board. The 8279 + addressed by the code is not at all to be found there. + +****************************************************************************/ + +#include "emu.h" +#include "cpu/mcs51/mcs51.h" +#include "machine/i8279.h" +#include "sound/ay8910.h" +#include "sound/ym2413.h" +#include "speaker.h" + +class gsspade_state : public driver_device +{ +public: + gsspade_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_soundcpu(*this, "soundcpu") + { + } + + void gsspade(machine_config &config); + +private: + void prog_map(address_map &map); + void ext_map(address_map &map); + + required_device m_soundcpu; +}; + + +void gsspade_state::prog_map(address_map &map) +{ + map(0x0000, 0x1fff).rom().region("soundcpu", 0); +} + +void gsspade_state::ext_map(address_map &map) +{ + map(0x9002, 0x9003).w("psg", FUNC(ay8910_device::address_data_w)); + map(0xb000, 0xb001).rw("kdc", FUNC(i8279_device::read), FUNC(i8279_device::write)); + map(0xc000, 0xc001).w("m3567", FUNC(ym2413_device::write)); +} + + +static INPUT_PORTS_START(gsspade) + PORT_START("P1") + // Inputs for testing purposes + PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("P1.0") + PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("P1.1") + PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("P1.2") + PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_NAME("P1.3") + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED) + PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_NAME("P1.6") + PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON6) PORT_NAME("P1.7") +INPUT_PORTS_END + + +void gsspade_state::gsspade(machine_config &config) +{ + I8051(config, m_soundcpu, 10.738635_MHz_XTAL); // Intel/Fujitsu P8051AH + m_soundcpu->set_addrmap(AS_PROGRAM, &gsspade_state::prog_map); + m_soundcpu->set_addrmap(AS_IO, &gsspade_state::ext_map); + m_soundcpu->port_in_cb<1>().set_ioport("P1"); + + I8279(config, "kdc", 1'789'772); // ? + + SPEAKER(config, "speaker").front_center(); + + ay8910_device &psg(AY8910(config, "psg", 1'789'772)); // File KC89C72 (clock guessed) + psg.add_route(ALL_OUTPUTS, "speaker", 0.65); + + ym2413_device &m3567(YM2413(config, "m3567", 3.579545_MHz_XTAL)); // M3567 + m3567.add_route(ALL_OUTPUTS, "speaker", 1.0); +} + + +ROM_START(gsspade) + ROM_REGION(0x2000, "soundcpu", 0) + ROM_LOAD("spade-gs-dm-5.u2", 0x0000, 0x2000, CRC(c359201b) SHA1(5e5ac815bcd50f918f9c8b7447bcf6cf9426ae74)) +ROM_END + + +GAME(199?, gsspade, 0, gsspade, gsspade, gsspade_state, empty_init, ROT0, "Guan Shing", "Spade", MACHINE_NOT_WORKING | MACHINE_MECHANICAL) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 01b61cbac6c..a25bf870ce2 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -14981,6 +14981,9 @@ gridlee // [1983 Videa] prototype - no copyright notice @source:groundfx.cpp groundfx // D51 (c) 1992 Taito Corporation +@source:gsspade.cpp +gsspade // + @source:gstream.cpp gstream // (c) 2002, Oriental Soft Japan x2222 // (c) 2000, Oriental Soft -- cgit v1.2.3