diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index 399b5912f25..a962a7a7c57 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -4851,6 +4851,7 @@ files { MAME_DIR .. "src/mame/drivers/coinmvga.cpp", MAME_DIR .. "src/mame/drivers/cointek.cpp", MAME_DIR .. "src/mame/drivers/comebaby.cpp", + MAME_DIR .. "src/mame/drivers/compucranes.cpp", MAME_DIR .. "src/mame/drivers/cowtipping.cpp", MAME_DIR .. "src/mame/drivers/crazybal.cpp", MAME_DIR .. "src/mame/drivers/cromptons.cpp", diff --git a/src/mame/arcade.flt b/src/mame/arcade.flt index 3e8af25776a..ad2bcbdfd35 100644 --- a/src/mame/arcade.flt +++ b/src/mame/arcade.flt @@ -256,6 +256,7 @@ combatsc.cpp comebaby.cpp commando.cpp compgolf.cpp +compucranes.cpp contra.cpp coolpool.cpp coolridr.cpp diff --git a/src/mame/drivers/compucranes.cpp b/src/mame/drivers/compucranes.cpp new file mode 100644 index 00000000000..f560a66eabe --- /dev/null +++ b/src/mame/drivers/compucranes.cpp @@ -0,0 +1,103 @@ +// license:BSD-3-Clause +// copyright-holders: +/*************************************************************************** + + Skeleton driver for MCS51-based crane coinops from Compumatic. + + Display is just a four digits 7-segments (on a small PCB called "Plumadig"). + + Different hardware revisions from Compumatic, called "GANCHONEW" PCB. + From V2 to V8 hardware with the following layout (minor changes, like the power + supply connector, moving from PC AT to PC ATX): + + COMPUMATIC "GANCHONEW V8" CPU + COUNTERS + ______________________________________ + | ______ ______ ______ ········ | + | ST8251 ST8251 ST8251 | + | __________ ____ | + | ULN2803APG LM358N | + | | + | __________ __________ __ __ _|_ + | SN74HC2 SN74HC244N | || | | | + | | || | | C | + | __________ __________ |FUSES | O | + | SN74HC737N SN74HC244N | || | | N | + | |_||_| | N | + | __________ __________ |___| + | SN74HC737N |_GAL16V8_| | + | oo| + | ________________ ____ ____ oo| + || EPROM | TL7705ACP oo| + ||_______________| ____ oo|<- ATX Power + | 24C64 oo| Supply conn + | ___________________ Xtal oo| + || 80C32 | 12MHz TEST oo| + ||__________________| SW oo| + | .... ...... .. ..... ....... | + |______________________________________| + DISPLAY SENSOR SPK SELECT JOYSTICK + +V RET + + The MCU on the older PCBs can differ between 80C32 compatible models + (found with a Winbond W78C32C-40 and with a TS80C32X2-MCA). + + "GANCHONEW" V1 PCB has a different layout. + +***************************************************************************/ + +#include "emu.h" +#include "cpu/mcs51/mcs51.h" +#include "speaker.h" + +namespace +{ + +class compucranes_state : public driver_device +{ +public: + compucranes_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") + { + } + + void ganchonew(machine_config &config); + +protected: + required_device m_maincpu; +}; + +INPUT_PORTS_START(ganchonew) +INPUT_PORTS_END + +void compucranes_state::ganchonew(machine_config &config) +{ + I80C32(config, m_maincpu, 6_MHz_XTAL); + + SPEAKER(config, "mono").front_center(); +} + +// "GANCHONEW V8" PCB with ATX PSU connector +ROM_START(mastcrane) + ROM_REGION(0x80000, "maincpu", 0) + ROM_LOAD("v8.ic3", 0x00000, 0x20000, CRC(c47d11ad) SHA1(b0e784b7f68492f2872c06674f92d582def9cd26)) // Found the same ROM on V7 and V8 PCBs + + ROM_REGION(0x00117, "pld", 0) + ROM_LOAD("gal16v8.ic4", 0x00000, 0x00117, CRC(4d665a06) SHA1(504f0107482f636cd216579e982c6162c0b120a7)) // Verified to be the same on all known PCB revisions +ROM_END + +// "GANCHONEW V2" PCB with AT PSU connector +ROM_START(mastcranea) + ROM_REGION(0x80000, "maincpu", 0) + ROM_LOAD("505.ic3", 0x00000, 0x20000, CRC(3dbb83f1) SHA1(3536762937332add0ca942283cc22ff301884a4a)) + + ROM_REGION(0x00117, "pld", 0) + ROM_LOAD("gal16v8.ic4", 0x00000, 0x00117, CRC(4d665a06) SHA1(504f0107482f636cd216579e982c6162c0b120a7)) // Verified to be the same on all known PCB revisions +ROM_END + +} // anonymous namespace + +// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS +GAME( 199?, mastcrane, 0, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Compumatic", "Master Crane (set 1)", MACHINE_IS_SKELETON_MECHANICAL ) +GAME( 199?, mastcranea, mastcrane, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Compumatic", "Master Crane (set 2)", MACHINE_IS_SKELETON_MECHANICAL ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 5bd11ec8a8d..3fbe9d9c348 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -10750,6 +10750,10 @@ compmahj // 1983 Nintendo Computer Mah-jong Yakuman @source:compucolor.cpp compclr2 // +@source:compucranes.cpp +mastcrane // (c) 199? Compumatic +mastcranea // (c) 199? Compumatic + @source:comquest.cpp comquest // Comquest Plus German