From b4e67abe6fd21dbd1e267b96fa15a9b7b23250fd Mon Sep 17 00:00:00 2001 From: ClawGrip Date: Mon, 6 Feb 2023 16:29:31 +0100 Subject: misc/opercoin.cpp: Dumped and added an Oper Coin slot machine. (#10874) New NOT_WORKING machine ----------------------------------------- Super Pirulo [jordigahan, ClawGrip] --- src/mame/mame.lst | 3 ++- src/mame/misc/opercoin.cpp | 59 ++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 57 insertions(+), 5 deletions(-) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 0c89dbd42c9..93249ad737b 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -30701,7 +30701,8 @@ onetwo // (c) 1997 Barko onetwoe // (c) 1997 Barko @source:misc/opercoin.cpp -multibaby // (c) 1990 oper Coin +multibaby // (c) 1990 Oper Coin +spirulo // (c) 19?? Oper Coin @source:misc/othello.cpp othello // (c) 1984 Success. diff --git a/src/mame/misc/opercoin.cpp b/src/mame/misc/opercoin.cpp index c6a114e2f1d..6e393f3945c 100644 --- a/src/mame/misc/opercoin.cpp +++ b/src/mame/misc/opercoin.cpp @@ -2,7 +2,7 @@ // copyright-holders: /* -Skeleton driver for Oper Coin "Multi Baby" slot machine. +Skeleton driver for Oper Coin "Multi Baby" slot machine and other games on similar hardware. ___________________________________________________________________ | ········ ········ ···· | | _________ _________ _________ _________ _________ | @@ -34,10 +34,13 @@ Skeleton driver for Oper Coin "Multi Baby" slot machine. */ #include "emu.h" -#include "speaker.h" + #include "cpu/z80/z80.h" #include "sound/ay8910.h" +#include "speaker.h" + + namespace { class multibaby_state : public driver_device @@ -50,6 +53,7 @@ public: } void multibaby(machine_config &config); + void spirulo(machine_config &config); private: required_device m_maincpu; @@ -75,6 +79,18 @@ static INPUT_PORTS_START( multibaby ) PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW1:4") INPUT_PORTS_END +static INPUT_PORTS_START( spirulo ) + PORT_START("DSW1") + PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW1:1") + PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW1:2") + PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW1:3") + PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW1:4") + PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW2:5") + PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW2:6") + PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW2:7") + PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW2:8") +INPUT_PORTS_END + void multibaby_state::multibaby(machine_config &config) { @@ -87,11 +103,46 @@ void multibaby_state::multibaby(machine_config &config) psg.add_route(ALL_OUTPUTS, "mono", 1.0); // Guess } +void multibaby_state::spirulo(machine_config &config) +{ + Z80(config, m_maincpu, 3.2768_MHz_XTAL); + + SPEAKER(config, "mono").front_center(); + ay8910_device &psg(AY8910(config, "psg", 3.2768_MHz_XTAL / 2)); // Divisor unknown + psg.port_a_read_callback().set_ioport("DSW1"); + psg.add_route(ALL_OUTPUTS, "mono", 1.0); // Guess +} + + ROM_START( multibaby ) ROM_REGION(0x4000, "maincpu", 0) - ROM_LOAD( "oc_multi_baby_b-1923.ic13", 0x000, 0x4000, CRC(5d1bffe2) SHA1(536492b093dd247ba0440d499920d526ee7ea439) ) + ROM_LOAD( "oc_multi_baby_b-1923.ic13", 0x0000, 0x4000, CRC(5d1bffe2) SHA1(536492b093dd247ba0440d499920d526ee7ea439) ) +ROM_END + +/* Super Pirulo (c) Oper Coin (slot machine) + Main components: + -Z80 CPU. + -27256 EPROM. + -3.2768 MHz xtal. + -9306 SEEPROM + -58274 Real Time Clock + -3.6 V battery + -1 bank of 8 dipswitches + -5564 RAM + -AY8910 + A complete manual with schematics can be downloaded from https://www.recreativas.org/manuales +*/ +ROM_START( spirulo ) + ROM_REGION(0x8000, "maincpu", 0) + ROM_LOAD( "super_pirulo_b-1785.u18", 0x0000, 0x8000, CRC(d6cafc7c) SHA1(74cd142c606a6daf10b09be1a4f7dac4da654fa0) ) + + ROM_REGION(0x104, "plds", 0) + ROM_LOAD( "16l8.u31", 0x000, 0x104, NO_DUMP ) ROM_END } // Anonymous namespace -GAME( 1990, multibaby, 0, multibaby, multibaby, multibaby_state, empty_init, ROT0, "Oper Coin", "Multi Baby", MACHINE_IS_SKELETON_MECHANICAL ) + +// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS +GAME( 1990, multibaby, 0, multibaby, multibaby, multibaby_state, empty_init, ROT0, "Oper Coin", "Multi Baby", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 1988, spirulo, 0, spirulo, spirulo, multibaby_state, empty_init, ROT0, "Oper Coin", "Super Pirulo", MACHINE_IS_SKELETON_MECHANICAL ) // Year from legal registry date -- cgit v1.2.3