summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/bingowav.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/bingowav.cpp')
-rw-r--r--src/mame/drivers/bingowav.cpp124
1 files changed, 124 insertions, 0 deletions
diff --git a/src/mame/drivers/bingowav.cpp b/src/mame/drivers/bingowav.cpp
new file mode 100644
index 00000000000..36368816683
--- /dev/null
+++ b/src/mame/drivers/bingowav.cpp
@@ -0,0 +1,124 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+/***************************************************************************
+
+ Taito Bingo Wave
+
+ Skeleton driver.
+
+***************************************************************************/
+
+#include "emu.h"
+#include "speaker.h"
+#include "cpu/m68000/m68000.h"
+#include "cpu/z80/z80.h"
+#include "machine/te7750.h"
+#include "machine/tmp68301.h"
+#include "sound/2610intf.h"
+#include "audio/taitosnd.h"
+
+class bingowav_state : public driver_device
+{
+public:
+ bingowav_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ { }
+
+protected:
+ virtual void machine_start() override;
+
+private:
+ required_device<cpu_device> m_maincpu;
+};
+
+
+void bingowav_state::machine_start()
+{
+}
+
+
+static ADDRESS_MAP_START( bingowav_main_map, AS_PROGRAM, 16, bingowav_state )
+ AM_RANGE(0x000000, 0x01ffff) AM_ROM
+ AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("maintmp", tmp68301_device, regs_r, regs_w)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( bingowav_audio_map, AS_PROGRAM, 8, bingowav_state )
+ AM_RANGE(0x0000, 0xbfff) AM_ROM
+ AM_RANGE(0xc000, 0xdfff) AM_RAM
+ AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
+ AM_RANGE(0xe200, 0xe200) AM_DEVWRITE("tc0140syt", tc0140syt_device, slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, slave_comm_r, slave_comm_w)
+ AM_RANGE(0xf200, 0xf200) AM_WRITENOP
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( bingowav_drive_map, AS_PROGRAM, 16, bingowav_state )
+ AM_RANGE(0x000000, 0x01ffff) AM_ROM
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( bingowav_control_map, AS_PROGRAM, 8, bingowav_state )
+ AM_RANGE(0x0000, 0x3fff) AM_ROM
+ AM_RANGE(0xc000, 0xdfff) AM_RAM
+ AM_RANGE(0xf000, 0xf000) AM_WRITENOP
+ADDRESS_MAP_END
+
+
+static INPUT_PORTS_START( bingowav )
+INPUT_PORTS_END
+
+
+static MACHINE_CONFIG_START( bingowav )
+ MCFG_CPU_ADD("maincpu", M68000, 12000000) // actually TMP63803F-16
+ MCFG_CPU_PROGRAM_MAP(bingowav_main_map)
+
+ MCFG_DEVICE_ADD("maintmp", TMP68301, 0) // wrong
+
+ MCFG_DEVICE_ADD("mainio1", TE7750, 0)
+
+ MCFG_DEVICE_ADD("mainio2", TE7750, 0)
+
+ MCFG_CPU_ADD("audiocpu", Z80, 4000000)
+ MCFG_CPU_PROGRAM_MAP(bingowav_audio_map)
+
+ MCFG_SPEAKER_STANDARD_MONO("mono")
+
+ MCFG_SOUND_ADD("ymsnd", YM2610, 8000000)
+ MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
+ MCFG_SOUND_ROUTE(0, "mono", 0.25)
+ MCFG_SOUND_ROUTE(1, "mono", 1.0)
+ MCFG_SOUND_ROUTE(2, "mono", 1.0)
+
+ MCFG_DEVICE_ADD("tc0140syt", TC0140SYT, 0)
+ MCFG_TC0140SYT_MASTER_CPU("maincpu")
+ MCFG_TC0140SYT_SLAVE_CPU("audiocpu")
+
+ MCFG_CPU_ADD("termcpu", M68000, 12000000) // actually TMP63803F-16
+ MCFG_CPU_PROGRAM_MAP(bingowav_drive_map)
+ MCFG_DEVICE_DISABLE()
+
+ MCFG_CPU_ADD("ctrlcpu", Z80, XTAL_16MHz / 4)
+ MCFG_CPU_PROGRAM_MAP(bingowav_control_map)
+MACHINE_CONFIG_END
+
+
+ROM_START( bingowav )
+ ROM_REGION( 0x40000, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "prg-h.ic35", 0x00000, 0x20000, CRC(0ae8c738) SHA1(c040c4f46089a07ef3c4d5067068ea3cd1546e4e) )
+ ROM_LOAD16_BYTE( "prg-l.ic42", 0x00001, 0x20000, CRC(a7742e54) SHA1(2ab75c51ced0bb37b50f5077b611cde1770e2411) )
+
+ ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_LOAD( "ic66", 0x00000, 0x10000, CRC(9fa09b9a) SHA1(e333b11129141649a18906120805842c2dcccd05) )
+
+ ROM_REGION( 0x80000, "ymsnd", 0 )
+ ROM_LOAD( "ic69", 0x00000, 0x80000, CRC(5d86d5bd) SHA1(81ebb63f984690e63e45c8b1fe4251fac8d5cf04) )
+
+ ROM_REGION( 0x40000, "termcpu", 0 )
+ ROM_LOAD16_BYTE( "prg-h.ic25", 0x00000, 0x20000, NO_DUMP )
+ ROM_LOAD16_BYTE( "prg-l.ic20", 0x00001, 0x20000, NO_DUMP )
+
+ ROM_REGION( 0x20000, "ctrlcpu", 0 )
+ ROM_LOAD( "ic1", 0x00000, 0x20000, CRC(d257bbaf) SHA1(9d1414594dc1c1fca256ab5b6039e733bff1414a) )
+ROM_END
+
+
+GAME( 1994, bingowav, 0, bingowav, bingowav, bingowav_state, 0, ROT0, "Taito", "Bingo Wave", MACHINE_IS_SKELETON )