Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

misc/compucranes.cpp: Add a new crane coinop on GANCHONEW hardware #13358

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/mame/mame.lst
Original file line number Diff line number Diff line change
Expand Up @@ -29540,6 +29540,7 @@ unkct
comebaby

@source:misc/compucranes.cpp
crsauruss
mastcrane
mastcranea
mastcraneb
Expand Down
63 changes: 54 additions & 9 deletions src/mame/misc/compucranes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,23 @@
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.
"GANCHONEW" (V1) PCB has a different layout:
__________
___________| |__________________
| |_________| ||||||||||||| .|
|: ________ _______ :|
|: ____ TD62703AP HD74HC244P |
|: BUZ12 ________ _______ :|
|: TD62083AP 74HCT273N :|
| ____________ ________ _______ |
| | ROM | HD74HC373P HD74HC244P :|
| |___________| ________ _______ |
| PALCE16V8H HD74HC273P :|
| _______________ ____ _______ :|
| | TSC80C31-12CA| 24LC16B TD62083AP |
| |______________| :|
| Xtal 12MHz :|
|_______________________________________|

********************************************************************************/

Expand All @@ -65,6 +81,8 @@ class compucranes_state : public driver_device
}

void ganchonew(machine_config &config);
void ganchonew_v1(machine_config &config);
void toyshop(machine_config &config);

protected:
required_device<mcs51_cpu_device> m_maincpu;
Expand All @@ -75,11 +93,34 @@ INPUT_PORTS_END

void compucranes_state::ganchonew(machine_config &config)
{
I80C32(config, m_maincpu, 12_MHz_XTAL/2);
I80C32(config, m_maincpu, 12_MHz_XTAL);

SPEAKER(config, "mono").front_center();
}

void compucranes_state::ganchonew_v1(machine_config &config)
{
I80C31(config, m_maincpu, 12_MHz_XTAL);

SPEAKER(config, "mono").front_center();
}

void compucranes_state::toyshop(machine_config &config)
{
AT89S52(config, m_maincpu, 12_MHz_XTAL);

SPEAKER(config, "mono").front_center();
}

// "GANCHONEW" (V1) PCB. TSC80C31-12CA CPU.
ROM_START(crsauruss)
ROM_REGION(0x80000, "maincpu", 0)
ROM_LOAD("30.01.ic3", 0x00000, 0x20000, CRC(c735e024) SHA1(63dd3a71472bde7f9dead49a8dc889365fd024ef)) // 1xxxxxxxxxxxxxxxx = 0xFF

ROM_REGION(0x00117, "pld", 0)
ROM_LOAD("pal16v8.ic4", 0x00000, 0x00117, NO_DUMP) // AMD PALCE16V8H-25, may be different on V1
ROM_END

// "GANCHONEW V8" PCB with ATX PSU connector. TS80C32X2-MCA CPU.
ROM_START(mastcrane)
ROM_REGION(0x80000, "maincpu", 0)
Expand Down Expand Up @@ -117,8 +158,11 @@ ROM_START(octopussy)
ROM_END

/* Direct clone of the GANCHONEW PCB by OM Vending, silkcreened as "CPU GRUA V2 O. M. VENDING".
Atmel AT89AS52 as CPU, probably the internal ROM is not used, but should be confirmed. 12 MHz xtal. 24C16 SEEPROM. */
Atmel AT89S52 as CPU, probably the internal ROM is not used, but should be confirmed. 12 MHz xtal. 24C16 SEEPROM. */
ROM_START(toyshop)
ROM_REGION(0x10000, "internal", 0)
ROM_LOAD("89s52.ic1", 0x00000, 0x10000, NO_DUMP) // 8 KBytes internal ROM

ROM_REGION(0x80000, "maincpu", 0)
ROM_LOAD("39sf040.ic3", 0x00000, 0x80000, CRC(0d9d157d) SHA1(e70f095d3524e3a4c8d5d07857bb2692b6260cc1))

Expand All @@ -128,9 +172,10 @@ 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_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
GAME( 199?, mastcranea, mastcrane, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Compumatic", "Master Crane (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
GAME( 199?, mastcraneb, mastcrane, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Compumatic", "Master Crane (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
GAME( 2000, octopussy, mastcrane, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Covielsa", "Octopussy", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
GAME( 2012, toyshop, 0, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "OM Vending", "Toy Shop", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS
GAME( 199?, crsauruss, 0, ganchonew_v1, ganchonew, compucranes_state, empty_init, ROT0, "Recreativos Presas", "Cranesaurus Single", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
GAME( 199?, mastcrane, 0, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Compumatic", "Master Crane (set 1)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
GAME( 199?, mastcranea, mastcrane, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Compumatic", "Master Crane (set 2)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
GAME( 199?, mastcraneb, mastcrane, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Compumatic", "Master Crane (set 3)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
GAME( 2000, octopussy, mastcrane, ganchonew, ganchonew, compucranes_state, empty_init, ROT0, "Covielsa", "Octopussy", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
GAME( 2012, toyshop, 0, toyshop, ganchonew, compucranes_state, empty_init, ROT0, "OM Vending", "Toy Shop", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK )
Loading