From d33d63efff14a5d621a7251540530a5a7e94447f Mon Sep 17 00:00:00 2001 From: Devin Acker Date: Sun, 14 May 2023 17:08:38 -0400 Subject: yamaha/ympcs30.cpp: Added skeletop driver for Yamaha PCS-30 (#11223) New systems marked not working -------------- Yamaha PCS-30 [Edward d-tech] --- src/mame/mame.lst | 3 +++ src/mame/yamaha/ympcs30.cpp | 66 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 src/mame/yamaha/ympcs30.cpp diff --git a/src/mame/mame.lst b/src/mame/mame.lst index c95b02c27f7..4e14a553e4e 100755 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -45356,6 +45356,9 @@ mu50 // 1995 MU-50 @source:yamaha/ymmu80.cpp mu80 // 1994 MU-80 +@source:yamaha/ympcs30.cpp +pcs30 // 1984 + @source:yamaha/ympsr16.cpp psr16 // 1988 PSR-16 psr36 // 1988 PSR-36 diff --git a/src/mame/yamaha/ympcs30.cpp b/src/mame/yamaha/ympcs30.cpp new file mode 100644 index 00000000000..ca63ee8d76d --- /dev/null +++ b/src/mame/yamaha/ympcs30.cpp @@ -0,0 +1,66 @@ +// license:BSD-3-Clause +// copyright-holders:Devin Acker + +/* + + Skeleton driver for Yamaha PortaSound PCS-30 keyboard with Playcard support + + CPU: Toshiba TMPZ84C00P (Z80 clone) + Sound: Yamaha YM2142 (GE8) + Other: Yamaha YM3514 (64 pins) + +*/ + +#include "emu.h" + +#include "cpu/z80/z80.h" +#include "speaker.h" + +namespace { + +class pcs30_state : public driver_device +{ +public: + pcs30_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") + { } + + void pcs30(machine_config &config); + +private: + void pcs30_map(address_map &map); + + required_device m_maincpu; +}; + + +void pcs30_state::pcs30_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); + map(0x8000, 0x87ff).ram(); +} + + +void pcs30_state::pcs30(machine_config &config) +{ + Z80(config, m_maincpu, 4'000'000); // TODO: verify clock + m_maincpu->set_addrmap(AS_PROGRAM, &pcs30_state::pcs30_map); + + SPEAKER(config, "speaker").front_center(); +} + + +INPUT_PORTS_START(pcs30) +INPUT_PORTS_END + + +ROM_START( pcs30 ) + ROM_REGION( 0x8000, "maincpu", 0 ) + ROM_LOAD( "pcs30.bin", 0x0000, 0x8000, CRC(d63bc611) SHA1(7ad9c200ec4ea586efe1e9e5b5ad9bc8ca03407d)) // YM2211-22712 +ROM_END + +} // anonymous namespace + +// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS +SYST( 1984, pcs30, 0, 0, pcs30, pcs30, pcs30_state, empty_init, "Yamaha", "PCS-30", MACHINE_IS_SKELETON ) -- cgit v1.2.3