diff options
Diffstat (limited to 'trunk/src/mame/drivers/castle.c')
-rw-r--r-- | trunk/src/mame/drivers/castle.c | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/trunk/src/mame/drivers/castle.c b/trunk/src/mame/drivers/castle.c new file mode 100644 index 00000000000..0470344a2a1 --- /dev/null +++ b/trunk/src/mame/drivers/castle.c @@ -0,0 +1,117 @@ +/* Castle Mach2000 Hardware + + Mechanical Fruit Machines with DMD display + + motherboard pic: + http://mamedev.emulab.it/haze/source_refs/mach2000.jpg + + videos: + http://www.youtube.com/watch?v=jNx1OwwS58I + http://www.youtube.com/watch?v=m1QKaYh64-o + +*/ + + +/* + There are two distinctly different revisions of this PCB, which have incompatible cartridges / hardware (physical connector is very different) + + CASTLE. MACH2000 MCU BOARD VERSION 1 REVISION E (C)DJP + + CASTLE. MACH2000 MCU BOARD VERSION 2 REVISION A (C)DJP + + One significant difference is that the V1 REV E board has *2* 6303 CPUs + whereas the V2 REV A board only has a single 6303 + + CPUs PIA? SOUND CMOSRAM RTC REEL CONTROLLER + V1 rv E - 2x6303 + HD6321 + 2xAY-3-8912A + 2xTC5516 + ICM7170 + 68705 + V2 rv A - 1x6303 + HD468821P/HD68821P + 2xAY-3-8912A + TC5??4 + none? + 68705 + + In both cases the 68705 is marked the same way + 'REEL CONTROLLER V1 (C) CASTLE (1987) MACH 2000 SYSTEM' + It is not dumped + + It is said that one of these boards would go on to become the spACE system, although I don't know if that means exactly the same board + was used, or if modifications were made. Based on the CPU configuraiton it looks most likely that it was the V2 rv A board. + +*/ + +/* + Known but not dumped: + Cashbolt + +*/ + + +#include "emu.h" +#include "cpu/m6800/m6800.h" + +class castle_state : public driver_device +{ +public: + castle_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu") + { } + +protected: + + // devices + required_device<cpu_device> m_maincpu; +}; + + +static ADDRESS_MAP_START( V1rvE_mastermap, AS_PROGRAM, 8, castle_state ) + AM_RANGE(0x8000, 0xffff) AM_ROM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( V1rvE_slavemap, AS_PROGRAM, 8, castle_state ) + AM_RANGE(0x8000, 0xffff) AM_ROM +ADDRESS_MAP_END + + + +static INPUT_PORTS_START( castrev ) +INPUT_PORTS_END + + +static MACHINE_CONFIG_START( castle_V1rvE, castle_state ) + MCFG_CPU_ADD("maincpu", HD6301, 1000000) + MCFG_CPU_PROGRAM_MAP(V1rvE_mastermap) + + MCFG_CPU_ADD("slavecpu", HD6301, 1000000) + MCFG_CPU_PROGRAM_MAP(V1rvE_slavemap) +MACHINE_CONFIG_END + + + +static ADDRESS_MAP_START( V2rvA_map, AS_PROGRAM, 8, castle_state ) + AM_RANGE(0x2000, 0xffff) AM_ROM +ADDRESS_MAP_END + + +static MACHINE_CONFIG_START( castle_V2rvA, castle_state ) + MCFG_CPU_ADD("maincpu", HD6301, 1000000) + MCFG_CPU_PROGRAM_MAP(V2rvA_map) +MACHINE_CONFIG_END + + +ROM_START( castrev ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "castlerevolutionp2.bin", 0x8000, 0x8000, CRC(cb3bea7f) SHA1(0bffbf53f52ad6dbd9832cae05ed8b55d0cc11d4) ) + + ROM_REGION( 0x10000, "slavecpu", 0 ) + ROM_LOAD( "castlerevolutionp1.bin", 0x8000, 0x8000, CRC(99ecc2ff) SHA1(8d66c81da13c88dc9ed10d75d24a2eaf448d6c6d) ) +ROM_END + +ROM_START( castfpt ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "fp2.bin", 0x0000, 0x008000, CRC(c49138d1) SHA1(e7813703e57b2f356aff7a17152c03af70b00683) ) + ROM_LOAD( "fp1.bin", 0x8000, 0x008000, CRC(fb458850) SHA1(71343099c7b83db1a4e093f546e5061b9761aa3a) ) +ROM_END + + +// 4.00 JACKPOT. VERSION 1 (for revision E CPU) Written by and copyright of David John Powell - 25th February 1987 +GAME( 1987, castrev, 0, castle_V1rvE, castrev, 0, ROT0, "Castle","Revolution (Castle) (MACH2000 V1rvE)",GAME_IS_SKELETON_MECHANICAL ) + +// I'm *guessing* this is on MACH2000 V2rvA hardware, it contains strings saying 'MACH 2000 test' and is designed for a single CPU. +GAME( 198?, castfpt, 0, castle_V2rvA, castrev, 0, ROT0, "Castle","Fortune Pot (Castle) (MACH2000 V2rvA)",GAME_IS_SKELETON_MECHANICAL ) |