From 468ba897f61de19ebc9098492a21f4da1d5f300d Mon Sep 17 00:00:00 2001 From: David Haywood <28625134+DavidHaywood@users.noreply.github.com> Date: Wed, 15 Jun 2022 07:35:16 +0100 Subject: [PATCH] MPU4 refactoring, reverse engineering, notes etc. (#9893) * Moved protection simulation to devices, and got more games to boot. * Corrected lamp output mapping for most games. * Correctly identified more games, and removed bad dumps. * Organised sets better, and cleaned up some of the implementation. --- scripts/target/mame/arcade.lua | 12 +- src/mame/drivers/mpu4.cpp | 5328 +++++++------ src/mame/drivers/mpu4avan.cpp | 51 +- src/mame/drivers/mpu4bwb.cpp | 963 ++- src/mame/drivers/mpu4concept.cpp | 26 +- src/mame/drivers/mpu4crystal.cpp | 245 +- src/mame/drivers/mpu4dealem.cpp | 4 - src/mame/drivers/mpu4empire.cpp | 210 +- src/mame/drivers/mpu4mdm.cpp | 124 +- src/mame/drivers/mpu4misc.cpp | 102 +- src/mame/drivers/mpu4mod2sw.cpp | 1028 +-- .../drivers/{mpu4sw.cpp => mpu4mod4oki.cpp} | 6753 ++++++++++------- src/mame/drivers/mpu4mod4yam.cpp | 1424 +++- src/mame/drivers/mpu4plasma.cpp | 18 +- src/mame/drivers/mpu4union.cpp | 93 +- src/mame/drivers/mpu4unsorted.cpp | 2439 ++++++ src/mame/drivers/mpu4vid.cpp | 540 +- src/mame/includes/mpu4.h | 342 +- src/mame/layout/m4addr.lay | 456 +- src/mame/layout/mpu4.lay | 288 +- src/mame/machine/mpu4.cpp | 3200 -------- .../machine/mpu4_characteriser_bootleg.cpp | 78 + src/mame/machine/mpu4_characteriser_bootleg.h | 81 + src/mame/machine/mpu4_characteriser_pal.cpp | 288 + src/mame/machine/mpu4_characteriser_pal.h | 1432 ++++ .../machine/mpu4_characteriser_pal_bwb.cpp | 134 + src/mame/machine/mpu4_characteriser_pal_bwb.h | 51 + src/mame/mame.lst | 1000 ++- 28 files changed, 15540 insertions(+), 11170 deletions(-) rename src/mame/drivers/{mpu4sw.cpp => mpu4mod4oki.cpp} (63%) create mode 100644 src/mame/drivers/mpu4unsorted.cpp delete mode 100644 src/mame/machine/mpu4.cpp create mode 100644 src/mame/machine/mpu4_characteriser_bootleg.cpp create mode 100644 src/mame/machine/mpu4_characteriser_bootleg.h create mode 100644 src/mame/machine/mpu4_characteriser_pal.cpp create mode 100644 src/mame/machine/mpu4_characteriser_pal.h create mode 100644 src/mame/machine/mpu4_characteriser_pal_bwb.cpp create mode 100644 src/mame/machine/mpu4_characteriser_pal_bwb.h diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index bbbbc34fe9b..243de5fca66 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -1458,9 +1458,9 @@ createMAMEProjects(_target, _subtarget, "barcrest") files { MAME_DIR .. "src/mame/drivers/mpu2.cpp", MAME_DIR .. "src/mame/drivers/mpu3.cpp", - MAME_DIR .. "src/mame/machine/mpu4.cpp", - MAME_DIR .. "src/mame/includes/mpu4.h", MAME_DIR .. "src/mame/drivers/mpu4.cpp", + MAME_DIR .. "src/mame/includes/mpu4.h", + MAME_DIR .. "src/mame/drivers/mpu4unsorted.cpp", MAME_DIR .. "src/mame/drivers/mpu4avan.cpp", MAME_DIR .. "src/mame/drivers/mpu4bwb.cpp", MAME_DIR .. "src/mame/drivers/mpu4concept.cpp", @@ -1470,11 +1470,17 @@ files { MAME_DIR .. "src/mame/drivers/mpu4mdm.cpp", MAME_DIR .. "src/mame/drivers/mpu4misc.cpp", MAME_DIR .. "src/mame/drivers/mpu4mod2sw.cpp", + MAME_DIR .. "src/mame/drivers/mpu4mod4oki.cpp", MAME_DIR .. "src/mame/drivers/mpu4mod4yam.cpp", MAME_DIR .. "src/mame/drivers/mpu4plasma.cpp", - MAME_DIR .. "src/mame/drivers/mpu4sw.cpp", MAME_DIR .. "src/mame/drivers/mpu4union.cpp", MAME_DIR .. "src/mame/drivers/mpu4vid.cpp", + MAME_DIR .. "src/mame/machine/mpu4_characteriser_pal.cpp", + MAME_DIR .. "src/mame/machine/mpu4_characteriser_pal.h", + MAME_DIR .. "src/mame/machine/mpu4_characteriser_pal_bwb.cpp", + MAME_DIR .. "src/mame/machine/mpu4_characteriser_pal_bwb.h", + MAME_DIR .. "src/mame/machine/mpu4_characteriser_bootleg.cpp", + MAME_DIR .. "src/mame/machine/mpu4_characteriser_bootleg.h", MAME_DIR .. "src/mame/includes/mpu5.h", MAME_DIR .. "src/mame/drivers/mpu5.cpp", MAME_DIR .. "src/mame/drivers/mpu5sw.cpp", diff --git a/src/mame/drivers/mpu4.cpp b/src/mame/drivers/mpu4.cpp index a727a4820f6..dd61303fc78 100644 --- a/src/mame/drivers/mpu4.cpp +++ b/src/mame/drivers/mpu4.cpp @@ -1,2861 +1,2695 @@ // license:BSD-3-Clause -// copyright-holders:David Haywood -// these are the MPU4 set listings / set specific code, for hardware emulation see machine/mpu4.cpp +// copyright-holders:David Haywood, James Wallace +// thanks-to:Chris Wren, Tony Friery, MFME -/* todo: driver inits (basic hw reel, protection configs etc.) should probably be moved here - once the actual code for them is cleaned up and can be put into neater structures - like bfm_sc4 +/* + mpu4.cpp - MPU4 hardware emulation - due to the vast number of sets here this might be further split up by manufacturer + this file contains emulation of the hardware only */ + +/* + +--- Board Setup --- + +The MPU4 BOARD is the driver board, originally designed to run Fruit Machines made by the Barcrest Group, but later +licensed to other firms as a general purpose unit (even some old Photo-Me booths used the unit). + +This board uses a ~1.72 Mhz 6809B CPU, and a number of PIA6821 chips for multiplexing inputs and the like. + +To some extent, the hardware feels like a revision of the MPU3 design, integrating into the base unit features that were +previously added through expansion ports. However, there is no backwards compatibility, and the entire memory map has been +reworked. + +Like MPU3, a 6840PTM is used for internal timing, and other miscellaneous control functions, including as a crude analogue sound device +(a square wave from the PTM being used as the alarm sound generator). However, the main sound functionality is provided by +dedicated hardware (an AY8913). + +A MPU4 GAME CARD (cartridge) plugs into the MPU4 board containing the game, and a protection PAL (the 'characteriser'). +This PAL, as well as protecting the games, also controlled some of the lamp address matrix for many games, and acted as +an anti-tampering device which helped to prevent the hacking of certain titles in a manner which broke UK gaming laws. + +Like MPU3, over the years developers have added more capabilities through the spare inputs and outputs provided. These provided +support for more reels, lamps and LEDs through daughtercards. +Several solutions were released depending on the manufacturer of the machine, all are emulated here. + +In later revisions of the main board (MOD4 onwards), the AY8913 was removed entirely, as two official alternatives for sound had been produced. +In one, a YM2413 is built into the gameboard, and in the other an OKI MSM6376 is interfaced with a PIA and PTM to allow sophisticated +sampled sound. + +The lamping and input handling side of the machine rely entirely on a column by column 'strobe' system, with lights and LEDs selected in turn. +In the inputs there are two orange connectors (sampled every 8ms) and two black ones (sampled every 16ms), giving 32 multiplexed inputs. + +In addition there are two auxiliary ports that can be accessed separately to these and are bidirectional + +--- Preliminary MPU4 Memorymap --- + +(NV) indicates an item which is not present on the video version, which has a Comms card instead. + + hex |r/w| D D D D D D D D | + location | | 7 6 5 4 3 2 1 0 | function +-----------+---+-----------------+-------------------------------------------------------------------------- + 0000-07FF |R/W| D D D D D D D D | 2k RAM +-----------+---+-----------------+-------------------------------------------------------------------------- + 0800 |R/W| | Characteriser (Security PAL) (NV) +-----------+---+-----------------+-------------------------------------------------------------------------- + 0850 ? | W | ??????????????? | page latch (NV) +-----------+---+-----------------+-------------------------------------------------------------------------- + 0880 |R/W| D D D D D D D D | PIA6821 on soundboard (Oki MSM6376 clocked by 6840 (8C0)) + | | | port A = ?? + | | | port B (882) + | | | b7 = NAR + | | | b6 = 0 if OKI busy, 1 if OKI ready + | | | b5 = volume control clock + | | | b4 = volume control direction (0= up, 1 = down) + | | | b3 = ?? + | | | b2 = ?? + | | | b1 = 2ch + | | | b0 = ST +-----------+---+-----------------+-------------------------------------------------------------------------- + 08C0 | | | MC6840 on sound board +-----------+---+-----------------+-------------------------------------------------------------------------- + 0900- |R/W| D D D D D D D D | MC6840 PTM IC2 + + + Clock1 <-------------------------------------- + | | + V | + Output1 ---> Clock2 | + | + Output2 --+-> Clock3 | + | | + | Output3 ---> 'to audio amp' ?? + | + +--------> CA1 IC3 ( + +IRQ line connected to CPU + +-----------+---+-----------------+-------------------------------------------------------------------------- + 0A00-0A03 |R/W| D D D D D D D D | PIA6821 IC3 port A Lamp Drives 1,2,3,4,6,7,8,9 (sic)(IC14) + | | | + | | | CA1 <= output2 from PTM6840 (IC2) + | | | CA2 => alpha data + | | | + | | | port B Lamp Drives 10,11,12,13,14,15,16,17 (sic)(IC13) + | | | + | | | CB2 => alpha reset (clock on Dutch systems) + | | | +-----------+---+-----------------+-------------------------------------------------------------------------- + 0B00-0B03 |R/W| D D D D D D D D | PIA6821 IC4 port A = data for 7seg leds (pins 10 - 17, via IC32) + | | | + | | | CA1 INPUT, 50 Hz input (used to generate IRQ) + | | | CA2 OUTPUT, connected to pin2 74LS138 CE for multiplexer + | | | (B on LED strobe multiplexer) + | | | IRQA connected to IRQ of CPU + | | | port B + | | | PB7 = INPUT, serial port Receive data (Rx) + | | | PB6 = INPUT, reel A sensor + | | | PB5 = INPUT, reel B sensor + | | | PB4 = INPUT, reel C sensor + | | | PB3 = INPUT, reel D sensor + | | | PB2 = INPUT, Connected to CA1 (50Hz signal) + | | | PB1 = INPUT, undercurrent sense + | | | PB0 = INPUT, overcurrent sense + | | | + | | | CB1 INPUT, used to generate IRQ on edge of serial input line + | | | CB2 OUTPUT, enable signal for reel optics + | | | IRQB connected to IRQ of CPU + | | | +-----------+---+-----------------+-------------------------------------------------------------------------- + 0C00-0C03 |R/W| D D D D D D D D | PIA6821 IC5 port A + | | | + | | | PA0-PA7, INPUT AUX1 connector + | | | + | | | CA2 OUTPUT, serial port Transmit line (Tx) + | | | CA1 not connected + | | | IRQA connected to IRQ of CPU + | | | + | | | port B + | | | + | | | PB0-PB7 INPUT, AUX2 connector + | | | + | | | CB1 INPUT, connected to PB7 (Aux2 connector pin 4) + | | | + | | | CB2 OUTPUT, AY8913 chip select line + | | | IRQB connected to IRQ of CPU + | | | +-----------+---+-----------------+-------------------------------------------------------------------------- + 0D00-0D03 |R/W| D D D D D D D D | PIA6821 IC6 + | | | + | | | port A + | | | + | | | PA0 - PA7 (INPUT/OUTPUT) data port AY8913 sound chip + | | | + | | | CA1 INPUT, not connected + | | | CA2 OUTPUT, BC1 pin AY8913 sound chip + | | | IRQA , connected to IRQ CPU + | | | + | | | port B + | | | + | | | PB0-PB3 OUTPUT, reel A + | | | PB4-PB7 OUTPUT, reel B + | | | + | | | CB1 INPUT, not connected + | | | CB2 OUTPUT, B01R pin AY8913 sound chip + | | | IRQB , connected to IRQ CPU + | | | +-----------+---+-----------------+-------------------------------------------------------------------------- + 0E00-0E03 |R/W| D D D D D D D D | PIA6821 IC7 + | | | + | | | port A + | | | + | | | PA0-PA3 OUTPUT, reel C + | | | PA4-PA7 OUTPUT, reel D + | | | CA1 INPUT, not connected + | | | CA2 OUTPUT, A on LED strobe multiplexer + | | | IRQA , connected to IRQ CPU + | | | + | | | port B + | | | + | | | PB0-PB6 OUTPUT mech meter 1-7 or reel E + F + | | | PB7 Voltage drop sensor + | | | CB1 INPUT, not connected + | | | CB2 OUTPUT,mech meter 8 + | | | IRQB , connected to IRQ CPU + | | | +-----------+---+-----------------+-------------------------------------------------------------------------- + 0F00-0F03 |R/W| D D D D D D D D | PIA6821 IC8 + | | | + | | | port A + | | | + | | | PA0-PA7 INPUT multiplexed inputs data + | | | + | | | CA1 INPUT, not connected + | | | CA2 OUTPUT, C on LED strobe multiplexer + | | | IRQA connected to IRQ CPU + | | | + | | | port B + | | | + | | | PB0-PB7 OUTPUT triacs outputs connector PL6 + | | | used for slides / hoppers + | | | + | | | CB1 INPUT, not connected + | | | CB2 OUTPUT, pin1 alpha display PL7 (clock signal) + | | | IRQB connected to IRQ CPU + | | | +-----------+---+-----------------+-------------------------------------------------------------------------- + 1000-FFFF | R | D D D D D D D D | ROM (can be bank switched by 0x850 in 8 banks of 64 k ) (NV) +-----------+---+-----------------+-------------------------------------------------------------------------- + +Additional Notes: + +Games from around the era of Road Hog and Chase Invaders had sufficient additional space to store three sets of reel +start/stop sounds. + +To change between them, follow these instructions: + +1) Load the game. +2) Open the cashbox door and insert the refill key. +3) Use Hi/Lo to adjust volume +4) Use Hold 1/2/3 to choose between "Default", "Standard" and "Alternative" sound sets +5) Use Cancel/collect to test the sounds. +6) To return to the game, remove the refill key and close the door + +***********************************************************************************************************/ #include "emu.h" #include "includes/mpu4.h" -INPUT_PORTS_EXTERN( mpu4 ); -INPUT_PORTS_EXTERN( mpu4_cw ); -INPUT_PORTS_EXTERN( mpu4jackpot8tkn ); -INPUT_PORTS_EXTERN( mpu4jackpot8per ); -INPUT_PORTS_EXTERN( grtecp ); +#include "video/awpvid.h" //Fruit Machines Only -#include "m4aao.lh" +#include "machine/rescap.h" +#include "speaker.h" -ROM_START( m4tst2 ) - ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) - ROM_LOAD( "ut2.p1", 0xE000, 0x2000, CRC(f7fb6575) SHA1(f7961cbd0801b9561d8cd2d23081043d733e1902)) -ROM_END +#include "mpu4.lh" +#include "mpu4ext.lh" -ROM_START( m4clr ) - ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) - ROM_LOAD( "meter-zero.p1", 0x8000, 0x8000, CRC(e74297e5) SHA1(49a2cc85eda14199975ec37a794b685c839d3ab9)) -ROM_END - -ROM_START( m4rltst ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "rtv.p1", 0x08000, 0x08000, CRC(7b78f3f2) SHA1(07ef8e6a08fd70ee48e4463672a1230ecc669532) ) -ROM_END - - - - - -ROM_START( m4addrd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dal12.bin", 0x0000, 0x010000, CRC(4affa79a) SHA1(68bceab42b3616641a34a64a83306175ffc1ce32) ) -ROM_END - - - - - - - -ROM_START( m4amhiwy ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dah20", 0x0000, 0x010000, CRC(e3f92f00) SHA1(122c8a429a1f75dac80b90c4f218bd311813daf5) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "sdr6_1.snd", 0x000000, 0x080000, CRC(63ad952d) SHA1(acc0ac3898fcc281e2d7ba19ada52d727885fe06) ) - ROM_LOAD( "sdr6_2.snd", 0x080000, 0x080000, CRC(48d2ace5) SHA1(ada0180cc60266c0a6d981a019d66bbedbced21a) ) -ROM_END - - - - - - - - - -ROM_START( m4blkwhd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dbw11.bin", 0x0000, 0x010000, CRC(337aaa2c) SHA1(26b12ea3ada9668293c6b44d62458590e5b4ac8f) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "bwsnd.bin", 0x0000, 0x080000, CRC(f247ba83) SHA1(9b173503e63a4a861d1380b2ab1fe14af1a189bd) ) -ROM_END - - - -ROM_START( m4blkbul ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cbb08.epr", 0x0000, 0x010000, CRC(09376df6) SHA1(ba3b101accb6bbfbf75b9d22621dbda4efcb7769) ) -ROM_END - -ROM_START( m4blkcat ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dbl14.bin", 0x0000, 0x010000, CRC(c5db9532) SHA1(309b5122b4a1cb33bbccfb97faf4fa996d29432e) ) - - ROM_REGION( 0x080000, "msm6376", 0 ) - ROM_LOAD( "dblcsnd.bin", 0x0000, 0x080000, CRC(c90fa8ad) SHA1(a98f03d4b6f5892333279bff7537d4d6d887da62) ) - - ROM_REGION( 0x200000, "msm6376_alt", 0 ) // bad dump of some sound rom? - ROM_LOAD( "sdbl_1.snd", 0x0000, 0x18008e, CRC(e36f71ae) SHA1(ebb643cfa02d28550f2bef135ceefc902baf0df6) ) -ROM_END - - - - - - - -ROM_START( m4bluedm ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dbd10.bin", 0x0000, 0x010000, CRC(b75e319d) SHA1(8b81e852e318cfde1f5ff2123e1ef7076b208253) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "bdsnd.bin", 0x0000, 0x080000, CRC(8ac4aae6) SHA1(70dba43b398010a8bd0d82cf91553d3f5e0921f0) ) -ROM_END - - - - -ROM_START( m4brook ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "brkl10.epr", 0x0000, 0x010000, CRC(857255b3) SHA1(cfd77918a19b2532a02b8bb3fa8e2716db31fb0e) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "brkl_snd.epr", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) -ROM_END - - - -ROM_START( m4bucks ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "bufd.p1", 0x0000, 0x010000, CRC(02c575d3) SHA1(92dc7a0c298e4d2d19bf754a5c82cc15e4e6456c) ) - ROM_LOAD( "bufs.p1", 0x0000, 0x010000, CRC(e394ae40) SHA1(911077053c47cebba1bed9d359cd38bd676a46f1) ) -ROM_END - - -ROM_START( m4calicl ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ca2s.p1", 0x0000, 0x010000, CRC(fad153fd) SHA1(bd1f1a5c73624df45d01cb4853d87e998e434d7a) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "ca2s.chr", 0x0000, 0x000048, CRC(97618d38) SHA1(7958e99684d50b9bdb56c97f7fcfe161f0824578) ) -ROM_END - -ROM_START( m4calicla ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ca2d.p1", 0x0000, 0x010000, CRC(75eb8c6f) SHA1(1bb923d06dcfa24eaf9533c083f68f4bd840834f) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "ca2s.chr", 0x0000, 0x000048, CRC(97618d38) SHA1(7958e99684d50b9bdb56c97f7fcfe161f0824578) ) -ROM_END - -ROM_START( m4caliclb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ca2f.p1", 0x0000, 0x010000, CRC(6c53cf29) SHA1(2e58453891ab4faa17ef58a81c5f3c0618d046a5) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "ca2s.chr", 0x0000, 0x000048, CRC(97618d38) SHA1(7958e99684d50b9bdb56c97f7fcfe161f0824578) ) -ROM_END - -ROM_START( m4caliclc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cald.p1", 0x0000, 0x010000, CRC(296fdeeb) SHA1(7782c0c7d8f44e2c0d48cc24c13015241e47b9ec) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "ca2s.chr", 0x0000, 0x000048, CRC(97618d38) SHA1(7958e99684d50b9bdb56c97f7fcfe161f0824578) ) -ROM_END - -ROM_START( m4calicld ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cals.p1", 0x0000, 0x010000, CRC(28a1c5fe) SHA1(e8474df609ea7f3517780b54d6f493987aad3650) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "ca2s.chr", 0x0000, 0x000048, CRC(97618d38) SHA1(7958e99684d50b9bdb56c97f7fcfe161f0824578) ) -ROM_END - - - - - -ROM_START( m4casmul ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "casinomultiplay.bin", 0x0000, 0x010000, CRC(2ebd1800) SHA1(d15e2593d17d8db9c6946af3366cf429ad291f76) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "casinomultiplaysnd.bin", 0x0000, 0x080000, CRC(be293e95) SHA1(bf0d419c898920a7546b542d8b205e25004ef04f) ) -ROM_END - -ROM_START( m4oldtmr ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dot11.bin", 0x00000, 0x10000, CRC(da095666) SHA1(bc7654dc9da1f830a43f925db8079f27e18bb61e)) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "m470.chr", 0x0000, 0x000048, CRC(10d302d4) SHA1(5858e550470a25dcd64efe004c79e6e9783bce07) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "sdot01.bin", 0x0000, 0x080000, CRC(f247ba83) SHA1(9b173503e63a4a861d1380b2ab1fe14af1a189bd) ) -ROM_END - -ROM_START( m4casot ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "casrom.bin", 0x00000, 0x10000, CRC(da095666) SHA1(bc7654dc9da1f830a43f925db8079f27e18bb61e) ) // == old timer (aka b&wrom.bin) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "caschar.chr", 0x0000, 0x000048, CRC(10d302d4) SHA1(5858e550470a25dcd64efe004c79e6e9783bce07) ) // ( aka b&wchrt.chr ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "cassound.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) // ( aka b&wsound.bin ) -ROM_END - - - -ROM_START( m4jpmcla ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "jcv2.epr", 0x00000, 0x10000, CRC(da095666) SHA1(bc7654dc9da1f830a43f925db8079f27e18bb61e) ) // == old timer - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "jcchr.chr", 0x0000, 0x000048, CRC(e370e271) SHA1(2b712dd3590c31356e8b0b62ffc64ff8ce444f73) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "sjcv2.snd", 0x0000, 0x080000, CRC(f247ba83) SHA1(9b173503e63a4a861d1380b2ab1fe14af1a189bd) ) -ROM_END - - -ROM_START( m4ceptr ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dce10.bin", 0x0000, 0x010000, CRC(c94d41ef) SHA1(58fdff2de8dd3ead3980f6f34362183d084ce917) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "cepsnd.p1", 0x000000, 0x080000, CRC(3a91784a) SHA1(7297ccec3264aa9f1e7b3a2841f5f8a1e4ca6c54) ) - ROM_LOAD( "cepsnd.p2", 0x080000, 0x080000, CRC(a82f0096) SHA1(45b6b5a2ae06b45add9cdbb9f5e6f834687b4902) ) -ROM_END - - -#define M4CHASEI_EXTRAS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "chaseinvaders.chr", 0x0000, 0x000048, CRC(d7703dcd) SHA1(16fd998d1b44f35c10e5486882aa7f2d018dc82b) ) \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "cha.s1", 0x000000, 0x080000, CRC(8200b6bc) SHA1(bcc4ffbddcdcc1dd994fe29e9b24e83272f59442) ) \ - ROM_LOAD( "cha.s2", 0x080000, 0x080000, CRC(542863fa) SHA1(501d66b2badb5036bb5dd8bac3cdb681f630a982) ) - -ROM_START( m4chasei ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ci2c.p1", 0x0000, 0x010000, CRC(fc49a2e1) SHA1(f4f02e168cd9bf0245c2b7340fe151da66f09c5c) ) - M4CHASEI_EXTRAS -ROM_END - -ROM_START( m4chaseia ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ch20p8pn.rom", 0x0000, 0x010000, CRC(712bd2e7) SHA1(0e83fa077f42a051aaa07a7e13196955b0ac840d) ) - M4CHASEI_EXTRAS -ROM_END - -ROM_START( m4chaseib ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "chin2010l", 0x0000, 0x010000, CRC(7fe97181) SHA1(1ccf65ff108bdaa46efcb3f831fccc953297b9ac) ) - M4CHASEI_EXTRAS -ROM_END - -ROM_START( m4chaseic ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ci2k.p1", 0x0000, 0x010000, CRC(8d715b8a) SHA1(5dd6f8d3d6710b0741df37af8792d942f41062d2) ) - M4CHASEI_EXTRAS -ROM_END - -ROM_START( m4chaseid ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ci2s.p1", 0x0000, 0x010000, CRC(8175e1e3) SHA1(9a4b0a0288508e7900ceac8bc3b245ac1f898b19) ) - M4CHASEI_EXTRAS -ROM_END - -ROM_START( m4chaseie ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ci2y.p1", 0x0000, 0x010000, CRC(80410946) SHA1(60a4f73eb9a35e5c246d8ef7b25bcf25b28bf8ed) ) - M4CHASEI_EXTRAS -ROM_END - -ROM_START( m4chaseif ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "chase invaders 8.bin", 0x0000, 0x010000, BAD_DUMP CRC(0bf6a8a0) SHA1(cea5ea40d71484a455615e14f6708b1bc06bbbe8) ) // bad prg (no vectors?) - M4CHASEI_EXTRAS -ROM_END - -ROM_START( m4chaseig ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ci_20.10", 0x0000, 0x010000, CRC(80a4bfb3) SHA1(b3c11bd621457d190eeab423bc15895b0c7cf6da) ) // found in cash inferno set. - M4CHASEI_EXTRAS -ROM_END - - - - - - -ROM_START( m4c9c ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cncs.p1", 0x0000, 0x010000, CRC(10f15e2a) SHA1(c17ab13764d74302246984245485cb7692913b44) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) // should this set have an OKI? -ROM_END - - - - - - - - - - - -#define M4CLBVEG_EXTRAS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "cvegas.chr", 0x0000, 0x000048, CRC(a6c341b0) SHA1(c8c838c9bb1ced52889504b9cea8d88f1e7fa79f) ) \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "cvegass1.hex", 0x0000, 0x080000, CRC(13a8c857) SHA1(c66e10bca1ad54f467b9c5eacd502c54397c09b2) ) \ - ROM_LOAD( "cvegass2.hex", 0x0000, 0x080000, CRC(88b37145) SHA1(1c6c9ad2010e1688d3370d1f2a5ae83dc683b500) ) - -ROM_START( m4clbveg ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "clas.p1", 0x0000, 0x010000, CRC(6aad03f0) SHA1(2f611cc6f020e334dc4b87d2d907727ba15ff7ff) ) - M4CLBVEG_EXTRAS -ROM_END - -ROM_START( m4clbvega ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "claf.p1", 0x0000, 0x010000, CRC(79b83184) SHA1(7319a405b2b0b274e03f5cd1465436f8548065e4) ) - M4CLBVEG_EXTRAS -ROM_END - -ROM_START( m4clbvegb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "clal.p1", 0x0000, 0x010000, CRC(db0bb5a2) SHA1(2735e02642fb92bb824e3b1f415a1a3ef13a856d) ) - M4CLBVEG_EXTRAS -ROM_END - -ROM_START( m4clbvegc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "clad.p1", 0x0000, 0x010000, CRC(4fa45cce) SHA1(58a5d6cc8608eb1aa453429e26eacea589afa524) ) - M4CLBVEG_EXTRAS -ROM_END - -#define M4CLBX_EXTRAS \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "cxs1.hex", 0x000000, 0x080000, CRC(4ce005f1) SHA1(ee0f59a9c7e0222dd63fa63ccff8f194abd01ddb) ) \ - ROM_LOAD( "cxs2.hex", 0x080000, 0x080000, CRC(495e0730) SHA1(7ba8150fbcf974ac494a82fd373ff02185543e35) ) - -ROM_START( m4clbx ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "clx12s.p1", 0x0000, 0x020000, CRC(6798c153) SHA1(e621e341a0fed1cb35637edb0769ae1cca72a663) ) - M4CLBX_EXTRAS -ROM_END - -ROM_START( m4clbxa ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "clx12d.p1", 0x0000, 0x020000, CRC(43e797ba) SHA1(fb2fc843176fe50c1039214d48815d6e9871ae27) ) - M4CLBX_EXTRAS -ROM_END - -ROM_START( m4clbxb ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "clx12f.p1", 0x0000, 0x020000, CRC(3e6a82fe) SHA1(01ef9a15a3cf9b1191c573b36fb5758e79c3adc1) ) - M4CLBX_EXTRAS -ROM_END - - - - -ROM_START( m4crzjk ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "crjok2.04.bin", 0x0000, 0x010000, CRC(838336d6) SHA1(6f36de20c930cbbff479af2667c11152c6adb43e) ) -ROM_END - -#define M4CRZJWL_EXTRAS \ - ROM_REGION( 0x180000, "msm6376", 0 ) \ - ROM_LOAD( "cjsound1.bin", 0x000000, 0x080000, CRC(b023f6b9) SHA1(04c362c6511442d3ab775a5ff2051bfe26d5e624) ) \ - ROM_LOAD( "cjsound2.bin", 0x080000, 0x080000, CRC(02563a43) SHA1(dfcee4e0fdf81c726c8e13278e7950459bcaab18) ) \ - ROM_LOAD( "cjsound3.bin", 0x100000, 0x080000, CRC(e722e438) SHA1(070f3772920fa64d5214843c313b27a5b2a4c105) ) - -ROM_START( m4crzjwl ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "cj11bin", 0x0000, 0x020000, CRC(208fda73) SHA1(8b15c197693ea7749bc961fe4e5e36b317f9f6f8) ) // crown jewels (german) - M4CRZJWL_EXTRAS -ROM_END - -ROM_START( m4crzjwla ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "cjexlow", 0x0000, 0x020000, CRC(07c227c1) SHA1(286341ed44ef7cd08ca411f2b3e6936b5e83a5f3) ) // crown jewels (german) - M4CRZJWL_EXTRAS -ROM_END - -ROM_START( m4crzjwlb ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "cjgerman", 0x0000, 0x020000, CRC(b090e690) SHA1(bdbe4041085c995761306280c15f782ea3bdc110) ) - M4CRZJWL_EXTRAS -ROM_END - -ROM_START( m4crzjwlc ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "cjj54.bin", 0x0000, 0x020000, CRC(16dc92e7) SHA1(b791535054d5864c7053243408a54accfa014bd1) ) - M4CRZJWL_EXTRAS -ROM_END - -ROM_START( m4crzjwld ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "gcn11", 0x0000, 0x020000, CRC(51493500) SHA1(901e60c1a7e9e628d723e199579fc82cf2e433e6) ) - M4CRZJWL_EXTRAS -ROM_END - -ROM_START( m4crzjwle ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "gcn111", 0x0000, 0x020000, CRC(b1152ce6) SHA1(1d236bad57ad38b11215efe44008bb8e4014939e) ) - M4CRZJWL_EXTRAS -ROM_END - -ROM_START( m4crzjwlf ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "gjv4", 0x0000, 0x020000, CRC(df63105d) SHA1(56e28adef9ec8921da7ab8045859e834731196c5) ) - M4CRZJWL_EXTRAS -ROM_END - -ROM_START( m4crzjwlg ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "gjv5", 0x0000, 0x020000, CRC(e4f0bab2) SHA1(1a13d97ff2c4fbae39327f2a5a8b110f2617857e) ) - M4CRZJWL_EXTRAS -ROM_END - -ROM_START( m4crzjwlh ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "cjg.p1", 0x0000, 0x020000, CRC(1f4743bf) SHA1(f9a0da2ed9cad5e6685c8a6d1d09e5d4bbcfacec) ) // Crown Jewels Deluxe (german) - M4CRZJWL_EXTRAS -ROM_END - - -#define M4CRJWL_EXTRAS \ - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ - /* Missing? or in above set? */ - -ROM_START( m4crjwl ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cjcf.p1", 0x0000, 0x010000, CRC(7feccc74) SHA1(4d1c7c6d2085492ee4205a7383ad7dc1de4e8d60) ) - M4CRJWL_EXTRAS -ROM_END - -ROM_START( m4crjwla ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cjcd.p1", 0x0000, 0x010000, CRC(cb83f226) SHA1(f09996436b3db3c8f0fe237884d9125be2b7855e) ) - M4CRJWL_EXTRAS -ROM_END - -ROM_START( m4crjwlb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cjcs.p1", 0x0000, 0x010000, CRC(1054e02d) SHA1(067705f20862f6cfc4334c74e0fab1a1016d427c) ) - M4CRJWL_EXTRAS -ROM_END - -ROM_START( m4crjwlc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cjn02.p1", 0x0000, 0x010000, CRC(a3d50e20) SHA1(15698e74a37d5f95a5634d48ae2a9a5d19faa2b6) ) - M4CRJWL_EXTRAS -ROM_END - -#define M4CRJWL2_EXTRAS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "chr.chr", 0x0000, 0x000048, CRC(c5812913) SHA1(d167b1f512c183cf01a1f4e1c1588ea0ae21331b) ) \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "cjcs1.hex", 0x000000, 0x080000, CRC(2ac3ba9f) SHA1(3332f29f81918c34aeec3da6f7d001dc9922840d) ) \ - ROM_LOAD( "cjcs2.hex", 0x080000, 0x080000, CRC(89838a9d) SHA1(502243cc0a14e63882b537f05c4cc0eb852e4a0c) ) - -ROM_START( m4crjwl2 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cj214f.p1", 0x0000, 0x010000, CRC(7ee4d30c) SHA1(2bf702bc925c473f7e9eaeb5b3ae0b00e124161a) ) - M4CRJWL2_EXTRAS -ROM_END - -ROM_START( m4crjwl2a ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cj214d.p1", 0x0000, 0x010000, CRC(359e2a73) SHA1(c85eeebafca14e6f975953f5daf2772a62693051) ) - M4CRJWL2_EXTRAS -ROM_END - -ROM_START( m4crjwl2b ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cj214s.hex", 0x0000, 0x010000, CRC(296aa885) SHA1(045b02848b37e8a04d950d54301dc6888d6178ad) ) - M4CRJWL2_EXTRAS -ROM_END - - - -#define M4DRAC_EXTRAS \ - ROM_REGION( 0x200000, "msm6376", 0 ) \ - ROM_LOAD( "drasnd.p1", 0x000000, 0x080000, CRC(54c3821c) SHA1(1fcc62e2b127dd7f1d5d27a3afdf56dc27f122f8) ) \ - ROM_LOAD( "drasnd.p2", 0x080000, 0x080000, CRC(9096d2bc) SHA1(1b4c530b7b0fde869980d519255e2585c5461e13) ) \ - ROM_LOAD( "drasnd.p3", 0x100000, 0x080000, CRC(a07f412b) SHA1(cca8f5cfe620ece45ca40bf801f0643cd76547e9) ) \ - ROM_LOAD( "drasnd.p4", 0x180000, 0x080000, CRC(018ed789) SHA1(64202da2c542f5ef208faeb04945eb1a758d4746) ) - -ROM_START( m4drac ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "dra21.bin", 0x0000, 0x020000, CRC(23be387e) SHA1(08a78f4b8ddef46069d1c75113300b21e52338c1) ) - M4DRAC_EXTRAS -ROM_END - -ROM_START( m4draca ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "dra24.bin", 0x0000, 0x020000, CRC(3db112ae) SHA1(b5303e2a65476931d4769327ca62afd0f6a9eda7) ) - M4DRAC_EXTRAS -ROM_END - -ROM_START( m4dracb ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "dra27.p1", 0x0000, 0x020000, CRC(8a095175) SHA1(41006e298f1688499ce6820ec28196c7578684b9) ) - M4DRAC_EXTRAS -ROM_END - - - - - - -ROM_START( m4exgam ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "czep30.bin", 0x0000, 0x010000, CRC(4614e6f6) SHA1(5602a68e9b47394cb31bbcd49a9920e19af6242f) ) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "ceg.chr", 0x0000, 0x000048, CRC(f694224e) SHA1(936ab5e349fa59accbb37959cce9519fd97f3978) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "sczep.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) -ROM_END - - - -#define M4FORTCB_EXTRAS \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "cfosnd.p1", 0x000000, 0x080000, CRC(74bbf913) SHA1(52ddc89ab34b11ede2c0e9b9b27e119b0c1eb2d9) ) \ - ROM_LOAD( "cfosnd.p2", 0x080000, 0x080000, CRC(1b2bb79a) SHA1(5f19ea000f34bb404ed6c8ea5ec7b809ccb1ae36) ) -ROM_START( m4fortcb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cfod.p1", 0x0000, 0x010000, CRC(9d0e2b63) SHA1(cce871d2bbe486793de5de9fadfbddf67c382e5c) ) - M4FORTCB_EXTRAS -ROM_END - -ROM_START( m4fortcba ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cfof.p1", 0x0000, 0x010000, CRC(010b3c1f) SHA1(b44c22c21d22603b277138eabf803e6d46ad4aae) ) - M4FORTCB_EXTRAS -ROM_END - -ROM_START( m4fortcbb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cfos.p1", 0x0000, 0x010000, CRC(f3b47df4) SHA1(3ad674864ba3a24283af14caaf2c999d4fde11fc) ) - M4FORTCB_EXTRAS -ROM_END - - - - - - -ROM_START( m4frtgm ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "fruit.bin", 0x0000, 0x010000, CRC(dbe44316) SHA1(15cd49dd2e6166f7a7668663f7fea802d6cbb12f) ) - - ROM_REGION( 0x800000, "msm6376", 0 ) // this isn't OKI, or is corrupt (bad size) - ROM_LOAD( "fruitsnd.bin", 0x0000, 0x010000, CRC(86547dc7) SHA1(4bf64f22e84c0ee82d961b0ba64932b8bf6a521f) ) // matches 'Replay' on SC1 hardware, probably just belongs there.. or this is eurocoin with different sound hw here? -ROM_END - - - - - - - - - - - -ROM_START( m4gldgat ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dgg22.bin", 0x0000, 0x010000, CRC(ef8498df) SHA1(6bf164ef18445e83e4510a000bc924cbe916ad99) ) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "m450.chr", 0x0000, 0x000048, CRC(fb7b2a45) SHA1(b6d5537bde9c05a3e79221a5577b8ae77bace9e6) ) -ROM_END - -ROM_START( m4gldjok ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dgj12.bin", 0x0000, 0x010000, CRC(93ee0c35) SHA1(5ae67b14f7f3d8528fa106519a8a27437c997a70) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "sdgj.snd", 0x0000, 0x080000, CRC(b6cd118b) SHA1(51c5d694ed0dfde8d3fd682f2471d83eec236736) ) -ROM_END - - - - - - -ROM_START( m4gnsmk ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dgu16", 0x0000, 0x010000, CRC(6aa23345) SHA1(45e129ec95b1a796f334bedd08469f2ab47a18f8) ) - - ROM_REGION( 0x200000, "msm6376", 0 ) - ROM_LOAD( "sdgu01.s1", 0x000000, 0x080000, CRC(bfb284a2) SHA1(860b98d54a3180fbb00b7b03feae049fb4cf9d7f) ) - ROM_LOAD( "sdgu01.s2", 0x080000, 0x080000, CRC(1a46ba28) SHA1(d7154e5f92be8631207620eb313b28990c6a1c7f) ) - ROM_LOAD( "sdgu01.s3", 0x100000, 0x080000, CRC(88bffcf4) SHA1(1da853193f6a22889edff5aafd9440c676a82ea6) ) - ROM_LOAD( "sdgu01.s4", 0x180000, 0x080000, CRC(a6160bef) SHA1(807f7d470728a479a55c782fca3df1eacd0b594c) ) - ROM_END - -ROM_START( m4blkbuld ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dgu16", 0x0000, 0x010000, CRC(6aa23345) SHA1(45e129ec95b1a796f334bedd08469f2ab47a18f8) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "dbbsnd.p1", 0x000000, 0x080000, CRC(a913ad0d) SHA1(5f39b661912da903ce8d6658b7848081b191ea56) ) - ROM_LOAD( "dbbsnd.p2", 0x080000, 0x080000, CRC(6a22b39f) SHA1(0e0dbeac4310e03490b665fff514392481ad265f) ) -ROM_END - - -ROM_START( m4hpyjok ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dhj12", 0x0000, 0x010000, CRC(982439d7) SHA1(8d27fcecf7a6a7fd774678580074f945675758f4) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "dhjsnd", 0x0000, 0x080000, CRC(8ac4aae6) SHA1(70dba43b398010a8bd0d82cf91553d3f5e0921f0) ) -ROM_END - -ROM_START( m4hirise ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "hiix.p1", 0x0000, 0x010000, CRC(c68c816c) SHA1(2ec89d83f3b658700433fc165358290ce58eba64) ) -ROM_END - -ROM_START( m4hirisea ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "hirs.p1", 0x0000, 0x010000, CRC(a38f771e) SHA1(c1502200671389a1fe6dcb9c043d22583d5991dc) ) -ROM_END - -ROM_START( m4hiriseb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "hirs20dd", 0x0000, 0x010000, CRC(89941670) SHA1(28859adfa79dce53c348c63b46f6f5a068f2b2de) ) -ROM_END - -ROM_START( m4hirisec ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "hirx.p1", 0x0000, 0x010000, CRC(4280a16b) SHA1(c9179ec17404a6f084679ad5f04e53a50f00af98) ) -ROM_END - -ROM_START( m4hirised ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "hirxc.p1", 0x0000, 0x010000, CRC(1ad1d942) SHA1(91d02212606e22b280be9640433e013bc50e5ea8) ) -ROM_END - -ROM_START( m4hirisee ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "hrise206", 0x0000, 0x010000, CRC(58b4bbdd) SHA1(0b76d27147fbadba97328eb9d2dc81cff9d576e0) ) -ROM_END - - - - - -ROM_START( m4holdtm ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dht10.hex", 0x0000, 0x010000, CRC(217d382b) SHA1(a27dd107c554d4787967633dff998d3962ee0ea5) ) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "ht01.chr", 0x0000, 0x000048, CRC(0fc2bb52) SHA1(0d0e47938f6e00166e7352732ddfb7c610f44db2) ) - ROM_LOAD( "m400.chr", 0x0000, 0x000048, CRC(8f00f720) SHA1(ea59fa2a3b016a7ae83be3caf863de87ce7aeffa) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "sun01.hex", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) -ROM_END - - - - - - -ROM_START( m4jok300 ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "cjo", 0x0000, 0x020000, CRC(386e99db) SHA1(5bb0b513ef63ffaedd98b8e9e7206658fe784fda) ) - - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASEFF ) - // missing? -ROM_END - -ROM_START( m4jokmil ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "cjm03.epr", 0x0000, 0x020000, CRC(e5e4986e) SHA1(149b950a739ad308f7759927c344de8193ce67c5) ) - - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASEFF ) - // missing? -ROM_END - - - - - - - -ROM_START( m4joljokh ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "jollyjokerhungarian.bin", 0x0000, 0x010000, CRC(85b6a406) SHA1(e277f9d3b62faead04d65efbc06de7f4a50ae38d) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "jollyjokerhungariansnd.bin", 0x0000, 0x080000, CRC(93460383) SHA1(2b179a1dde09ebdfe8c84641899df7be87d443e5) ) -ROM_END - - - - - - - - - -ROM_START( m4lineup ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "lineup5p1.bin", 0xc000, 0x004000, CRC(9ba9edbd) SHA1(385e01816b5631b6896e85343ae96b3c36f9647a) ) - ROM_LOAD( "lineup5p2.bin", 0x8000, 0x004000, CRC(e9e4dfb0) SHA1(46a0efa84770036366c7a6a33ef1d42c7b2b782b) ) - ROM_LOAD( "lineup5p3.bin", 0x6000, 0x002000, CRC(86623376) SHA1(e29442bfcd401361287852b87673368322e946b5) ) -ROM_END - -ROM_START( m4lineupa ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "lu2_10p1.bin", 0xc000, 0x004000, CRC(2fb89062) SHA1(55e86de8fd0d36cca9aab8ad5aae7b4f5a62b940) ) - ROM_LOAD( "lu2_10p2.bin", 0x8000, 0x004000, CRC(9d820af2) SHA1(63d27df91f80e47eb8c9685fcd2c3eff902a2ef8) ) - ROM_LOAD( "lu2_10p3.bin", 0x6000, 0x002000, CRC(8c8a210c) SHA1(2599d979f1a62e9ef6acc70d0ad5c9b4a65d712a) ) -ROM_END - - -ROM_START( m4luck7 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dl716.bin", 0x0000, 0x010000, CRC(141b23a9) SHA1(3bfb82ea0ee4104bd8739b545aba617f84bef770) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "dl7snd.bin", 0x0000, 0x080000, CRC(c90fa8ad) SHA1(a98f03d4b6f5892333279bff7537d4d6d887da62) ) -ROM_END - -ROM_START( m4luckdv ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cld_16.bin", 0x0000, 0x010000, CRC(89f63938) SHA1(8d3a5628e2c0bf39784afe2f00a007d40ea35423) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "cld_snd1.snd", 0x000000, 0x080000, CRC(f247ba83) SHA1(9b173503e63a4a861d1380b2ab1fe14af1a189bd) ) - ROM_LOAD( "cld_snd2.snd", 0x080000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) -ROM_END - -ROM_START( m4luckdvd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dld13", 0x0000, 0x010000, CRC(b8ceb29b) SHA1(84b6ebad300214610635fb8141d18de2b7065435) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "sdld01.snd", 0x000000, 0x080000, CRC(9b035fa6) SHA1(51b7e5bc3abdf4f1beba2347146a91a2b3f4de35) ) -ROM_END - - -#define M4LUCKWB_EXTRAS \ - ROM_REGION( 0x100000, "msm6376", 0 ) /* these are all different sound roms... */ \ - ROM_LOAD( "lwbs3.bin", 0x0000, 0x07dc89, CRC(ee102376) SHA1(3fed581a4654acf285dd430fbfbac33cd67411b8) ) \ - ROM_LOAD( "lwbs7.bin", 0x0000, 0x080000, CRC(5d4177c7) SHA1(e13f145885bb719b0021ae4ce289261a3eaa2e18) ) \ - ROM_LOAD( "lwbs8.bin", 0x0000, 0x080000, CRC(187cdf5b) SHA1(87ec189af27c95f278a7531ec13df53a08889af8) ) \ - ROM_LOAD( "lwbs9.bin", 0x0000, 0x080000, CRC(2e02b617) SHA1(2502a1d2cff155a7fc5148e23a4723d4d60e9d42) ) - -ROM_START( m4luckwb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "lwb10.bin", 0x0000, 0x010000, CRC(6d43a14e) SHA1(267aba1a01bfd5f0eaa7683d041d5fcb2d301934) ) - M4LUCKWB_EXTRAS -ROM_END - -ROM_START( m4luckwba ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "lwb15.bin", 0x0000, 0x010000, CRC(b5af8cb2) SHA1(474975b83803627ad3ac4217d8cecb2d2db16fec) ) - M4LUCKWB_EXTRAS -ROM_END - -ROM_START( m4luckwbb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "lwb21.bin", 0x0000, 0x010000, CRC(6c570733) SHA1(7488318ca9689371e4f80be0a0fddd8ad141733e) ) - M4LUCKWB_EXTRAS -ROM_END - -ROM_START( m4luckwbc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "lwb22.bin", 0x0000, 0x010000, CRC(05b952a7) SHA1(952e328b280a18c1ffe253b6a56f2b5e893b1b72) ) - M4LUCKWB_EXTRAS -ROM_END - -ROM_START( m4luckwbd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "lwb27.bin", 0x0000, 0x010000, CRC(9d6b6637) SHA1(65bad12cd08de128ca31c9488e32e3cebfb8eedb) ) - M4LUCKWB_EXTRAS -ROM_END - -ROM_START( m4luckwbe ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "lwb6.bin", 0x0000, 0x010000, CRC(8e7d4594) SHA1(4824a9a4628585a170c41e00f7b3fcb8a2330c02) ) - M4LUCKWB_EXTRAS -ROM_END - -ROM_START( m4luckwbf ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "lwb7.bin", 0x0000, 0x010000, CRC(8e651705) SHA1(bd4d09d586d14759a17d4d7d4016c427f3eef015) ) - M4LUCKWB_EXTRAS -ROM_END - - - - -ROM_START( m4magdrg ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dmd10.bin", 0x0000, 0x010000, CRC(9cc4f2f8) SHA1(46a90ffa18d35ad2b06542f91120c02bc34f0c40) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "mdsnd.bin", 0x000000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) -ROM_END - -ROM_START( m4maglin ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dma21.bin", 0x0000, 0x010000, CRC(836a25e6) SHA1(5f83bb8a2c77dd3b02724c076d6b37d2c1c93b93) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "mlsound1.p1", 0x000000, 0x080000, CRC(ff8749ff) SHA1(509b53f09cdfe5ee865e60ab42fd578586ac53ea) ) - ROM_LOAD( "mlsound2.p2", 0x080000, 0x080000, CRC(c8165b6c) SHA1(7c5059ee8630da31fc3ad50d84a4730297757d46) ) -ROM_END - -ROM_START( m4magrep ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dmr13.bin", 0x0000, 0x010000, CRC(c3015da3) SHA1(23cd505eedf666c012e4064a5fcf5a983f098e83) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "mrdsound.bin", 0x000000, 0x080000, CRC(9b035fa6) SHA1(51b7e5bc3abdf4f1beba2347146a91a2b3f4de35) ) -ROM_END - - - - - - - - - - - -ROM_START( m4nspot ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ns2s.p1", 0x0000, 0x010000, CRC(ba0f5a81) SHA1(7015176d4528636cb8a753249c824c37941e8eae) ) -ROM_END - -ROM_START( m4nspota ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ns2d.p1", 0x0000, 0x010000, CRC(5e66b7e0) SHA1(e82044e3c1e5cf3a2baf1fde7b7ab8b6e221d360) ) -ROM_END - -ROM_START( m4nspotb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "nits.p1", 0x0000, 0x010000, CRC(47c965e6) SHA1(41a337a9a367c4e704a60e32d56b262d03f97b59) ) -ROM_END - -ROM_START( m4nile ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "gjn08.p1", 0x0000, 0x020000, CRC(2bafac0c) SHA1(363d08f798b5bea409510b1a9415098a69f19ee0) ) - - ROM_REGION( 0x200000, "msm6376", 0 ) - ROM_LOAD( "gjnsnd.p1", 0x000000, 0x080000, CRC(1d839591) SHA1(2e4ba74f96e7c0592b85409a3f50ec81e00e064c) ) - ROM_LOAD( "gjnsnd.p2", 0x080000, 0x080000, CRC(e2829c42) SHA1(2139c1625ad163cce99a522c2cf02ee47a8f9007) ) - ROM_LOAD( "gjnsnd.p3", 0x100000, 0x080000, CRC(db084eb4) SHA1(9b46a3cb16974942b0edd25b1b080d30fc60c3df) ) - ROM_LOAD( "gjnsnd.p4", 0x180000, 0x080000, CRC(da785b0a) SHA1(63358ab197eb1de8e489a9fd6ffbc2039efc9536) ) -ROM_END - - - - -ROM_START( m4nudshf ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "nusx.p1", 0x0000, 0x010000, CRC(87caab84) SHA1(e2492ad0d25ded4d760c4cbe05e9b51ca1a10544) ) -ROM_END - -ROM_START( m4nudshfa ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "nus6", 0x0000, 0x010000, CRC(017c5354) SHA1(07491e4b03ab62ad923f8479300c1af4633e3e8c) ) -ROM_END - -ROM_START( m4nudshfb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "nuss.bin", 0x0000, 0x010000, CRC(d3b860ee) SHA1(d5d1262c715e4684748b0cae708eeed31b1dc50f) ) -ROM_END - -ROM_START( m4nudshfc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "nusxc.p1", 0x0000, 0x010000, CRC(e2557b45) SHA1(a9d1514d4fe3897f6fcef22a5039d6bdff8126ff) ) -ROM_END - - - -ROM_START( m4ordmnd ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "rab01.p1", 0x0000, 0x020000, CRC(99964fe7) SHA1(3745d09e7a4f417c8e85270d3ffec3e37ee1344d) ) - - ROM_REGION( 0x200000, "msm6376", 0 ) - ROM_LOAD( "odsnd1.bin", 0x000000, 0x080000, CRC(d746bae4) SHA1(293e1dc9edf88a183cc23dbb4576cefbc8f9d028) ) - ROM_LOAD( "odsnd2.bin", 0x080000, 0x080000, CRC(84ace1f4) SHA1(9cc70e59e9d26006870ea1cc522de33e71b71692) ) - ROM_LOAD( "odsnd3.bin", 0x100000, 0x080000, CRC(b1b12def) SHA1(d8debf8cfb3af2157d5d1571927588dc1c8d07b6) ) -ROM_END - - -ROM_START( m4ptblkc ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "potblackcasinoprg.bin", 0x0000, 0x020000, CRC(29190084) SHA1(c7a778331369c0fac796ef3e306e12c98605f365) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "potblackcasinosnd.p1", 0x000000, 0x080000, CRC(72a3331d) SHA1(b7475ba0ad86a6277e3d4f7b4311a98f3fc29802) ) - ROM_LOAD( "potblackcasinosnd.p2", 0x080000, 0x080000, CRC(c2460eec) SHA1(7c62fbc69ffaa788bf3839e37a75a812a7b8caef) ) -ROM_END - - - - - -ROM_START( m4prem ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dpm14.bin", 0x0000, 0x010000, CRC(de344759) SHA1(d3e7514da83bbf1eba63661fb0675a6230af93cd) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "dpms.bin", 0x0000, 0x080000, CRC(93fd4253) SHA1(69feda7ffc56defd515c9cd1ce204af3d9731a3f) ) -ROM_END - - - - - - - - - - - - - - - - - - - -ROM_START( m4rdht ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "drh12", 0x0000, 0x010000, CRC(b26cd308) SHA1(4e29f6cce773232a1c43cd2fb3ce9b844c446bb8) ) // aka gdjb - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "drh_1.snd", 0x0000, 0x080000, CRC(f652cd0c) SHA1(9ce986bc12bcf22a57e065329e82671d19cc96d7) ) // aka gn.snd -ROM_END - - - - - - - -ROM_START( m4rwb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "drw14.bin", 0x0000, 0x010000, CRC(22c30ebe) SHA1(479f66732aac56dae60c80d11f05c084865f9389) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "rwb_1.snd", 0x000000, 0x080000, CRC(e0a6def5) SHA1(e3867b83e588fd6a9039b8d45186480a9d0433ea) ) - ROM_LOAD( "rwb_2.snd", 0x080000, 0x080000, CRC(54a2b2fd) SHA1(25875ff873bf22df510e7a4c56c336fbabcbdedb) ) -ROM_END - - - - - - -ROM_START( m4magtbo ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "crmtb14.epr", 0x0000, 0x010000, CRC(79e1746c) SHA1(794317f3aba7b1a7994cde89d81abc2b687d0821) ) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "ctp.chr", 0x0000, 0x000048, CRC(ead61793) SHA1(f38a38601a67804111b8f8cf0a05d35ed79b7ed1) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "scrmtb.snd", 0x000000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) -ROM_END - - - - - - - -ROM_START( m4reeltm ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "real.bin", 0x0000, 0x010000, CRC(5bd54924) SHA1(23fcf13c52ee7b9b39f30f999a9102171fffd642) ) // == m4wildtm - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "charter.chr", 0x0000, 0x000048, CRC(4ff4eda2) SHA1(092435e34d79775910316a7bed0f90c4f086e5c4) ) - - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - -ROM_END - -ROM_START( m4ringfr ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "rof03s.p1", 0x0000, 0x020000, CRC(4b4703fe) SHA1(853ce1f5932e09af2b5f3b5314709f13aa35cf19) ) - - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - // missing? -ROM_END - - - - - - -ROM_START( m4roadrn ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dro19", 0x0000, 0x010000, CRC(8b591766) SHA1(df156390b427e31cdda64826a6c1d2457c915f25) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "dro_1.snd", 0x000000, 0x080000, CRC(895cfe63) SHA1(02134e149cef3526bbdb6cb93ef3efa283b9d6a2) ) - ROM_LOAD( "dro_2.snd", 0x080000, 0x080000, CRC(1d5c8d4f) SHA1(15c18ae7286807cdc0feb825b958eae808445690) ) -ROM_END - - - - -ROM_START( m4royjwl ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "rj.bin", 0x0000, 0x020000, CRC(3ffbe4a8) SHA1(47a0309cc9ff315ad9f64e6855863409443e94e2) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "rj_sound1.bin", 0x000000, 0x080000, CRC(443c4901) SHA1(7b3c6737b47dfe04c072f0e157d83c09340c3f9b) ) - ROM_LOAD( "rj_sound2.bin", 0x080000, 0x080000, CRC(9456523e) SHA1(ea1b6bf16b7d1015c188ad83760336d9851de391) ) -ROM_END - - - -ROM_START( m4salsa ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dsa15.epr", 0x0000, 0x010000, CRC(22b60b0b) SHA1(4ad184d1557bfd01650684ea9d8ad794fded65f7) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "dsa_1@97c2.snd", 0x0000, 0x080000, CRC(0281a6dd) SHA1(a35a8cd0da32c51f77856ea3eeff7c58fd032333) ) -ROM_END - - - - - - -ROM_START( m4showtm ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dsh13.bin", 0x0000, 0x010000, CRC(4ce40ff1) SHA1(f145d6c8e926ca4368d43dacda0fa38615988d84) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "sdsh01s1.snd", 0x0000, 0x080000, CRC(f247ba83) SHA1(9b173503e63a4a861d1380b2ab1fe14af1a189bd) ) -ROM_END - - - - - - - - - - - - - - - - - - - - - - - - - - - -ROM_START( m4steptm ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dst11.bin", 0x0000, 0x010000, CRC(3960f210) SHA1(c7c4fe74cb9a53eaa9114a84240de3bce4ffe75e) ) - - ROM_REGION( 0x080000, "msm6376", 0 ) - ROM_LOAD( "sdun01.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) -ROM_END - - - - - - - -#define M4SUPBJC_EXTRAS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "sbj.chr", 0x0000, 0x000048, CRC(cc4b7911) SHA1(9f8a96a1f8b0f9b33b852e93483ce5c684703349) ) \ - ROM_REGION( 0x100000, "altmsm6376", 0 ) \ - ROM_LOAD( "sbjsnd1.hex", 0x000000, 0x080000, CRC(70388bec) SHA1(256fa01b57049d73e88b0bb270fccb555b12dfb7) ) \ - ROM_LOAD( "sbjsnd2.hex", 0x080000, 0x080000, CRC(1d588554) SHA1(48c092ce83d2f881fc217a3d566e896718ad6f24) ) \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "sbj.s1", 0x000000, 0x080000, CRC(9bcba966) SHA1(5ced282aca9d39ebf0828aa19357026d5298e955) ) \ - ROM_LOAD( "sbj.s2", 0x080000, 0x080000, CRC(1d588554) SHA1(48c092ce83d2f881fc217a3d566e896718ad6f24) ) - - -ROM_START( m4supbjc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sbjs.p1", 0x0000, 0x010000, CRC(f7fb2b99) SHA1(c860d3f95ee3fde02bf00b2e20eeee0ebaf01912) ) - M4SUPBJC_EXTRAS -ROM_END - -ROM_START( m4supbjca ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sbjd.p1", 0x0000, 0x010000, CRC(555361f4) SHA1(f5327b811ab3421307dc59d209a216798cd54393) ) - M4SUPBJC_EXTRAS -ROM_END - -ROM_START( m4supbjcb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sbjf.p1", 0x0000, 0x010000, CRC(7966deff) SHA1(5cdb6c80ef56b27878eb1fffd6fdf31060e56291) ) - M4SUPBJC_EXTRAS -ROM_END - -ROM_START( m4supbjcc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sbjl.p1", 0x0000, 0x010000, CRC(fc47ed74) SHA1(f29b2caac8168410e534e2f224c98dd4bbb9a7f7) ) - M4SUPBJC_EXTRAS -ROM_END - -ROM_START( m4supbjcd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "superbjclub.bin", 0x0000, 0x010000, CRC(68d11d27) SHA1(a0303f845fb5f5b396a7be3ca17a9eaf1a7baef4) ) - M4SUPBJC_EXTRAS -ROM_END - - -ROM_START( m4supbf ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sbff.p1", 0x0000, 0x010000, CRC(f27feba0) SHA1(157bf28e2d5fc2fa58bed11b3285cf56ae18abb8) ) -ROM_END - -ROM_START( m4supbfa ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sbfs.p1", 0x0000, 0x010000, CRC(c8c52d5e) SHA1(d53513b9faabc307623a7c2f5be0225fb812beeb) ) -ROM_END - - - - - - - -ROM_START( m4take5 ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "take5.bin", 0x0000, 0x020000, CRC(24beb7d6) SHA1(746beccaf57fd0c54c8cf8d742b8ef50563a40fd) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "tfive1.hex", 0x000000, 0x080000, CRC(70f16892) SHA1(e6448831d3ce7fa251b40023bc7d5d6dee9d6793) ) - ROM_LOAD( "tfive2.hex", 0x080000, 0x080000, CRC(5fc888b0) SHA1(8d50ee4f36bd36aed5d0e7a77f76bd6caffc6376) ) -ROM_END - - - - -#define M4TECHNO_EXTRAS \ - ROM_REGION( 0x080000, "msm6376", 0 ) \ - ROM_LOAD( "techno.bin", 0x0000, 0x080000, CRC(3e80f8bd) SHA1(2e3a195b49448da11cc0c089a8a9b462894c766b) ) - -ROM_START( m4techno ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dte13.bin", 0x0000, 0x010000, CRC(cf661d06) SHA1(316b2c42e7253a03b2c12b713821045d9f95a8a7) ) - M4TECHNO_EXTRAS -ROM_END - -ROM_START( m4technoa ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dte13hack.bin", 0x0000, 0x010000, CRC(8b8eafe3) SHA1(93a7714eb4c749b7b19f4f844cf88da9443b0bb7) ) - M4TECHNO_EXTRAS -ROM_END - - - - - - - - -ROM_START( m4toma ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dtk23.bin", 0x0000, 0x010000, CRC(ffba2b96) SHA1(c7635023ac5181e661e808c6b44ac1add58f4f56) ) -ROM_END - - - - -ROM_START( m4topdk ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dtd26pj.bin", 0x0000, 0x010000, CRC(1f84d995) SHA1(7412632cf79008b980e48f14aea89c3f8d742ed2) ) -ROM_END - - -ROM_START( m4toprn ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "toprun_v1_1.bin", 0xc000, 0x004000, CRC(9b924324) SHA1(7b155467f30cc22f7cda301ae770fb2a889c9c66) ) - ROM_LOAD( "toprun_v1_2.bin", 0x8000, 0x004000, CRC(940fafa9) SHA1(2a8b669c51c8df50710bd8b552ab30a5d1a136ab) ) -ROM_END - - - -#define M4TOPTIM_EXTRAS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "ttimer.chr", 0x0000, 0x000048, CRC(f694224e) SHA1(936ab5e349fa59accbb37959cce9519fd97f3978) ) \ - ROM_REGION( 0x080000, "msm6376", 0 ) \ - ROM_LOAD( "toptimer-snd.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) - -ROM_START( m4toptim ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "toptimer.bin", 0x0000, 0x010000, CRC(74804012) SHA1(0d9460ba6b1d359d358483c4e8bfd5518f364518) ) - M4TOPTIM_EXTRAS -ROM_END - - -ROM_START( m4toptima ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dtt2-1.bin", 0x0000, 0x010000, CRC(f9c84a34) SHA1(ad654442f580d6a49658f0e4e39bacbd9d0d0018) ) - M4TOPTIM_EXTRAS -ROM_END - - - - - -#define M4TROPCL_EXTRAS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tro20.chr", 0x0000, 0x000048, CRC(97618d38) SHA1(7958e99684d50b9bdb56c97f7fcfe161f0824578) ) - -ROM_START( m4tropcl ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "tros.p1", 0x0000, 0x010000, CRC(5e86c3fc) SHA1(ce2419991559839a8875060c1afe0f030190010a) ) - M4TROPCL_EXTRAS -ROM_END - -ROM_START( m4tropcla ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "tr2d.p1", 0x0000, 0x010000, CRC(0cc23f89) SHA1(a66c8c28073f53381c43e3e597f15f81c5c61479) ) - M4TROPCL_EXTRAS -ROM_END - -ROM_START( m4tropclb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "tr2f.p1", 0x0000, 0x010000, CRC(fbdcd06f) SHA1(27ccdc83e60a62227d33d8cf3d516fc43908ab99) ) - M4TROPCL_EXTRAS -ROM_END - -ROM_START( m4tropclc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "tr2s.p1", 0x0000, 0x010000, CRC(6d43375c) SHA1(5be1dc85374c6a1235e0b137b46ebd7a2d7d922a) ) - M4TROPCL_EXTRAS -ROM_END - -ROM_START( m4tropcld ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "trod.p1", 0x0000, 0x010000, CRC(60c84612) SHA1(84dc8b34e41436331832c1a32ddac0fce269488a) ) - M4TROPCL_EXTRAS -ROM_END - - -#define M4TBPLAY_EXTRAS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "dtpchr.chr", 0x0000, 0x000048, CRC(7743df66) SHA1(69b1943837ccf8671861ac8ef690138b41de0e5b) ) \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "dtps10_1", 0x000000, 0x080000, CRC(d1d2c981) SHA1(6a4940248b0bc8df0a9de0d60e98cfebf1962504) ) \ - ROM_LOAD( "dtps20_1", 0x080000, 0x080000, CRC(f77c4f39) SHA1(dc0e056f4d8c00824b3e672a02da64613bbf204e) ) - -ROM_START( m4tbplay ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dtp13", 0x0000, 0x010000, CRC(de424bc3) SHA1(c82dd56a0b3ccea78325cd90ed8e72ed68a1af77) ) - M4TBPLAY_EXTRAS -ROM_END - -ROM_START( m4tbplaya ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "rmtp4b", 0x0000, 0x010000, CRC(33a1764e) SHA1(7475f460dee015a2cd78fc3e0d1d14fd96fdbb9c) ) - M4TBPLAY_EXTRAS -ROM_END - -ROM_START( m4tbplayb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "trmyid", 0x0000, 0x010000, CRC(e7af5944) SHA1(64559c97375a3536f7929d7f4d8d19c30527a3ec) ) - M4TBPLAY_EXTRAS -ROM_END - - - - - - - - - - - - - -ROM_START( m4twintm ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "d2t11.bin", 0x0000, 0x010000, CRC(6a76ac6f) SHA1(824912ff1fc3155d11d32b597be53481532fdf5e) ) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "m533.chr", 0x0000, 0x000048, CRC(b1d7e29b) SHA1(e8ef07f85780e24b5f406478de50287b740379d9) ) - - ROM_REGION( 0x080000, "msm6376", 0 ) - ROM_LOAD( "sdun01.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) -ROM_END - - -ROM_START( m4twist ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "twist_again_mk29-6", 0x8000, 0x008000, CRC(cb331bee) SHA1(a88099a3f35caf02925f1a3f548fbf65c11e3ec9) ) -ROM_END - -ROM_START( m4twista ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "twistagain-98-mkii.bin", 0x8000, 0x008000, CRC(1cbc7b58) SHA1(eda998a64272fe6796243c2db48ef988b9668c35) ) -ROM_END - -ROM_START( m4twistb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "twistagain-mki-27.bin", 0x8000, 0x008000, CRC(357f7072) SHA1(8a23509fff79a83a819b27eff8de8db08c679e3f) ) -ROM_END - - - - -ROM_START( m4univ ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dun20", 0x0000, 0x010000, CRC(6a845d4d) SHA1(82bfc3f3a0ede76a4d482efc71b0390610db7acf) ) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "dunchr.chr", 0x0000, 0x000048, CRC(f694224e) SHA1(936ab5e349fa59accbb37959cce9519fd97f3978) ) - - ROM_REGION( 0x080000, "msm6376", 0 ) - ROM_LOAD( "sdun01.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) -ROM_END - - - - -ROM_START( m4vegastg ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "vs.p1", 0x0000, 0x020000, CRC(4099d572) SHA1(91a7c1575013e61c754b2c2cb841e7687b76d7f9) ) - - ROM_REGION( 0x200000, "msm6376", 0 ) - ROM_LOAD( "vssound.bin", 0x0000, 0x16ee37, CRC(456da6be) SHA1(f0e293f0a383878b581326f869c2e49bec61d0c5) ) -ROM_END - - - - - - -ROM_START( m4vivalvd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "dlv11.bin", 0x0000, 0x010000, CRC(a890184c) SHA1(26d9952bf2eb4b55d21cdb934ffc73ff1a1cfbac) ) - - ROM_REGION( 0x080000, "msm6376", 0 ) - ROM_LOAD( "vegssnd.bin", 0x0000, 0x080000, CRC(93fd4253) SHA1(69feda7ffc56defd515c9cd1ce204af3d9731a3f) ) -ROM_END - - - - - - - - - - - - - - -ROM_START( m4wildtm ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "wildtimer.bin", 0x0000, 0x010000, CRC(5bd54924) SHA1(23fcf13c52ee7b9b39f30f999a9102171fffd642) ) // == m4reeltm - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "charter.chr", 0x0000, 0x000048, CRC(4ff4eda2) SHA1(092435e34d79775910316a7bed0f90c4f086e5c4) ) - - ROM_REGION( 0x080000, "msm6376", 0 ) - ROM_LOAD( "wildtimer-snd.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) -ROM_END - - - -ROM_START( m4ch30 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ch301s", 0x0000, 0x010000, CRC(d31c9081) SHA1(21d1f4cc3de2343d830e3ee02e3a53abd12b6b9d) ) - - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - // missing -ROM_END - - - - - - - - - - - - - - - - - - -ROM_START( m4czne ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "czone 6.bin", 0x0000, 0x010000, CRC(e5b2b64e) SHA1(b73a2aed7b04184bc7c5c3d0a11d44e624a47428) ) -ROM_END - -ROM_START( m4fourmr ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "frmr5p26.bin", 0x8000, 0x008000, CRC(f0c5bd8a) SHA1(39026459008ed5b5bd3a10841799227fef70e5b5) ) -ROM_END - -ROM_START( m4holywd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "hollywood 5p.bin", 0x0000, 0x010000, CRC(fb4ebb6e) SHA1(1ccfa81c173011ce70640097c85b532fd44f5a6e) ) -ROM_END - - - - - - -#define M4LAZY_EXTRAS \ - ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \ - /* missing? */ - -ROM_START( m4lazy ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "lb_sj___.1_0", 0x0000, 0x020000, CRC(8628dcf1) SHA1(80cb9348e2704d0f72a44b4aa74b24fe03e279bc) ) - M4LAZY_EXTRAS -ROM_END - -ROM_START( m4lazya ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "lb_sj___.1_2", 0x0000, 0x020000, CRC(2b906f52) SHA1(802bcf6b3679e135308026752a55e55f00f21e85) ) - M4LAZY_EXTRAS -ROM_END - -ROM_START( m4lazyb ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "lb_sj_d_.1_2", 0x0000, 0x020000, CRC(a7691bad) SHA1(6cda3f3c18c13c04dbe0e4c1e4c817eedc34aa92) ) - M4LAZY_EXTRAS -ROM_END - - - - - - - - - - - - - - - - - - -ROM_START( m4specu ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "speculator.bin", 0x8000, 0x008000, CRC(4035d20c) SHA1(4a534294c5c7332eacd09ca44f351d6a6850cc29) ) -ROM_END - - - - - - - - - -ROM_START( m4sunclb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sucxe__0.2", 0x0000, 0x010000, CRC(fd702a6f) SHA1(0f6d553fcb096ca4874bb971425dabfbe18db31d) ) -ROM_END - -ROM_START( m4sunclba ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sucxed_0.2", 0x0000, 0x010000, CRC(70802bc3) SHA1(69b36f716cb608931f933cb58e47232b18064f9d) ) -ROM_END - - - -ROM_START( m4sunscl ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sc_xe___.3_3", 0x0000, 0x010000, CRC(e3732cc6) SHA1(77f0368bb29ad00030f83af794a52df92fe97e5d) ) -ROM_END - -ROM_START( m4sunscla ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sc_xe_d_.3_3", 0x0000, 0x010000, CRC(b8627c4a) SHA1(ad616d38773cbd82376b518aa15dc3d7027237c5) ) -ROM_END - -ROM_START( m4sunsclb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sc_xef__.3_3", 0x0000, 0x010000, CRC(8e7e1100) SHA1(7648ea860a546081388a213845e27312730f46d9) ) -ROM_END - - - - -/* Vifico MPU4 games. - Escalera Tobogan use the "Barcrest Sampled Sound" game PCB: - - BARCREST SAMPLED SOUND - _________________________ - | · | - | · | - | · | - | · |_____________ - | · _________ _________ |_| - | SN74LS139N |_A880440| |_| - | _____________________ |_| - | | ST EF68B21P | |_| - | |____________________| |_| - | _______ _______________ |_| - | | OKI | | PROG EPROM | |_| - | | M6376 | |_______________| |_| - | |_______| ______________ |_| - | | ST EF68B40P | |_| - | _______________ |______________| |_| - | | SOUND 2 | __ ___________|_| - | |______________| | | | - | _______________ | | | - | | SOUND 1 | | |<-PAL16L8D - | |______________| |_| | - |________________________| - -Just one different byte between the three "Escalera y Tobogan" sets, at address 00001401: - 1268: 0xF4 - 1269: 0xF5 - 1270: 0xF6 -May be the game serial number hard-encoded on the EPROM? -*/ -ROM_START( m4esctbg ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "ma-15_b-1925-94_esc_1.6a_n-1270.rom1", 0x0000, 0x10000, CRC(6fa2a0ef) SHA1(3b60b545e417a45e61e3babbe27758a053ced926) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "escsnd_0.2_p1.rom2", 0x000000, 0x080000, CRC(2f6517bc) SHA1(b39a4fa17d3e373b7a89663668529d752e595641) ) - ROM_LOAD( "escsnd_0.2_p2.rom3", 0x080000, 0x080000, CRC(3b0b9fed) SHA1(5a03be7f3a7f40252cfec5f719a845d175e3995c) ) - - ROM_REGION( 0x48, "chr", 0 ) - ROM_LOAD( "m578.chr", 0x0000, 0x0048, NO_DUMP ) - - ROM_REGION( 0x104, "pld", 0 ) - ROM_LOAD( "pal16l8d-2pc.ic7", 0x000, 0x104, CRC(e8e7ccde) SHA1(b1ece0d51003c794f00655a8c52e5f7fd843b4c5) ) -ROM_END - -ROM_START( m4esctbga ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "ma-15_b-1925-94_esc_1.6a_n-1269.rom1", 0x0000, 0x10000, CRC(8c3f1cf3) SHA1(0e7961bacc4ba701efbbd1ee99b2a72422f96b07) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "escsnd_0.2_p1.rom2", 0x000000, 0x080000, CRC(2f6517bc) SHA1(b39a4fa17d3e373b7a89663668529d752e595641) ) - ROM_LOAD( "escsnd_0.2_p2.rom3", 0x080000, 0x080000, CRC(3b0b9fed) SHA1(5a03be7f3a7f40252cfec5f719a845d175e3995c) ) - - ROM_REGION( 0x48, "chr", 0 ) - ROM_LOAD( "m578.chr", 0x0000, 0x0048, NO_DUMP ) - - ROM_REGION( 0x104, "pld", 0 ) - ROM_LOAD( "pal16l8d-2pc.ic7", 0x000, 0x104, CRC(e8e7ccde) SHA1(b1ece0d51003c794f00655a8c52e5f7fd843b4c5) ) -ROM_END - -ROM_START( m4esctbgb ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "ma-15_b-1925-94_esc_1.6a_n-1268.rom1", 0x0000, 0x10000, CRC(d2b47707) SHA1(65096835d94242a5c07b266b8561a9e0d9f95e36) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "escsnd_0.2_p1.rom2", 0x000000, 0x080000, CRC(2f6517bc) SHA1(b39a4fa17d3e373b7a89663668529d752e595641) ) - ROM_LOAD( "escsnd_0.2_p2.rom3", 0x080000, 0x080000, CRC(3b0b9fed) SHA1(5a03be7f3a7f40252cfec5f719a845d175e3995c) ) - - ROM_REGION( 0x48, "chr", 0 ) - ROM_LOAD( "m578.chr", 0x0000, 0x0048, NO_DUMP ) - - ROM_REGION( 0x104, "pld", 0 ) - ROM_LOAD( "pal16l8d-2pc.ic7", 0x000, 0x104, CRC(e8e7ccde) SHA1(b1ece0d51003c794f00655a8c52e5f7fd843b4c5) ) -ROM_END - - - - - - -void mpu4_state::init_m4aao() -{ - //Derived from Against_All_Odds_(Eurotek)_[C01_800_15jp].gam - init_m4default(); - init_m4_hopper_duart_a(); - init_m4default_reels(); - //PCKEY =9 - //STKEY =0 - //JPKEY =0 - //JPSET =0 - //DIP1_0=true - //DIP1_1=true - //DIP1_2=true - //DIP1_3=true - //DIP1_4=true - //DIP1_5=false - //DIP1_6=false - //DIP1_7=false - //DIP2_0=false - //DIP2_1=false - //DIP2_2=false - //DIP2_3=false - //DIP2_4=false - //DIP2_5=false - //DIP2_6=false - //DIP2_7=false - //Sound barcrest1 - //Standard - //Volume 0 Stereo= 0 - //Sample rate 16000 - //Front door code 255 Cash door code 255 -} - -ROM_START( m4aao ) - ROM_REGION( 0x010000, "maincpu", 0 ) - ROM_LOAD( "aao2_8.bin", 0x0000, 0x010000, CRC(94ce4016) SHA1(2aecb6dbe798b7bbfb3d27f4d115b6611c7d990f) ) - - ROM_REGION( 0x080000, "msm6376", 0 ) - ROM_LOAD( "aaosnd.bin", 0x0000, 0x080000, CRC(7bf30b96) SHA1(f0086ae239b1d973018a3ea04e816a87f8f20bad) ) -ROM_END - - - -ROM_START( m4bandgd ) - ROM_REGION( 0x020000, "maincpu", 0 ) - ROM_LOAD( "bog.bin", 0x0000, 0x020000, CRC(21186fb9) SHA1(3d536098c7541cbdf02d68a18a38cae71155d7ff) ) - - ROM_REGION( 0x080000, "msm6376", 0 ) - ROM_LOAD( "bandsofgoldsnd.bin", 0x0000, 0x080000, CRC(95c6235f) SHA1(a13afa048b73fabfad229b5c2f8ef5ee9948d9fb) ) -ROM_END - - - -ROM_START( m4bigben ) - ROM_REGION( 0x010000, "maincpu", 0 ) - ROM_LOAD( "b_bv2_7.bin", 0x0000, 0x010000, CRC(9f3a7638) SHA1(b7169dc26a6e136d6daaf8d012f4c3d017e99e4a) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "big-bensnd1.bin", 0x000000, 0x080000, CRC(e41c3ec1) SHA1(a0c09f51229afcd14f09bb9080d4f3bb198b2050) ) - ROM_LOAD( "big-bensnd2.bin", 0x080000, 0x080000, CRC(ed71dbe1) SHA1(e67ca3c178caacb99118bacfcd7612e699f40455) ) -ROM_END - -ROM_START( m4bigbena ) - ROM_REGION( 0x010000, "maincpu", 0 ) - ROM_LOAD( "b_bv2_9.bin", 0x0000, 0x010000, CRC(86a745ee) SHA1(2347e8e38c743ea4d00faee6a56bb77e05c9c94d) ) // aka bb2_9.bin - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "big-bensnd1.bin", 0x000000, 0x080000, CRC(e41c3ec1) SHA1(a0c09f51229afcd14f09bb9080d4f3bb198b2050) ) - ROM_LOAD( "big-bensnd2.bin", 0x080000, 0x080000, CRC(ed71dbe1) SHA1(e67ca3c178caacb99118bacfcd7612e699f40455) ) -ROM_END - -ROM_START( m4bigbenb ) - ROM_REGION( 0x010000, "maincpu", 0 ) - ROM_LOAD( "bb1_9p.bin", 0x0000, 0x010000, CRC(c76c5a09) SHA1(b0e3b38998428f535841ab5373d57cb0d5b21ed3) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "big-bensnd1.bin", 0x000000, 0x080000, CRC(e41c3ec1) SHA1(a0c09f51229afcd14f09bb9080d4f3bb198b2050) ) - ROM_LOAD( "big-bensnd2.bin", 0x080000, 0x080000, CRC(ed71dbe1) SHA1(e67ca3c178caacb99118bacfcd7612e699f40455) ) -ROM_END - - - -ROM_START( m4bigbend ) - ROM_REGION( 0x010000, "maincpu", 0 ) - ROM_LOAD( "bb_2_1.bin", 0x0000, 0x010000, CRC(d3511805) SHA1(c86756998d36e729874c71a5d6442785069c57e9) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "big-bensnd1.bin", 0x000000, 0x080000, CRC(e41c3ec1) SHA1(a0c09f51229afcd14f09bb9080d4f3bb198b2050) ) - ROM_LOAD( "big-bensnd2.bin", 0x080000, 0x080000, CRC(ed71dbe1) SHA1(e67ca3c178caacb99118bacfcd7612e699f40455) ) -ROM_END - -ROM_START( m4bigbene ) - ROM_REGION( 0x010000, "maincpu", 0 ) - ROM_LOAD( "bbs_2_9p.bin", 0x0000, 0x010000, CRC(0107608d) SHA1(9e5def90e77f65c366aea2a9ac24d5f17c4d0ae8) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "big-bensnd1.bin", 0x000000, 0x080000, CRC(e41c3ec1) SHA1(a0c09f51229afcd14f09bb9080d4f3bb198b2050) ) - ROM_LOAD( "big-bensnd2.bin", 0x080000, 0x080000, CRC(ed71dbe1) SHA1(e67ca3c178caacb99118bacfcd7612e699f40455) ) -ROM_END - - - - - -ROM_START( m4boltbl ) - ROM_REGION( 0x010000, "maincpu", 0 ) - ROM_LOAD( "bfb.bin", 0x8000, 0x008000, CRC(63058a6b) SHA1(ebccc647a937c36ffc6c7cfc01389f04f829999c) ) -ROM_END - -ROM_START( m4boltbla ) - ROM_REGION( 0x010000, "maincpu", 0 ) - ROM_LOAD( "bfb1.1.bin", 0x8000, 0x008000, CRC(7a91122d) SHA1(28229e86feb4411978e556f7f7bd85bfd996b8aa) ) -ROM_END - -ROM_START( m4boltblb ) - ROM_REGION( 0x010000, "maincpu", 0 ) - ROM_LOAD( "bfb9 5p cash.bin", 0x8000, 0x008000, CRC(792bff34) SHA1(6996e87f22df6bac7bbe9908534b7e0480f03ede) ) -ROM_END - -ROM_START( m4boltblc ) - ROM_REGION( 0x010000, "maincpu", 0 ) - ROM_LOAD( "bolt-gilwern.bin", 0x8000, 0x008000, CRC(74e2c821) SHA1(1dcdc58585d1dcfc93e2aeb3df0cd41705cde196) ) -ROM_END - -ROM_START( m4dblchn ) - ROM_REGION( 0x010000, "maincpu", 0 ) - ROM_LOAD( "doublechance.bin", 0x0000, 0x010000, CRC(6feeeb7d) SHA1(40fe67d854fbf48959e08fdb5743e14d340c16e7) ) - - ROM_REGION( 0x080000, "msm6376", 0 ) - ROM_LOAD( "doublechancesnd.bin", 0x0000, 0x080000, CRC(3e80f8bd) SHA1(2e3a195b49448da11cc0c089a8a9b462894c766b) ) -ROM_END - - -ROM_START( m4kqclub ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "kingsque.p1", 0x8000, 0x008000, CRC(6501e501) SHA1(e289a9418c640415967fafda43f20877b38e3671) ) -ROM_END - -ROM_START( m4snookr ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "snooker.ts2", 0x8000, 0x004000, CRC(a6906eb3) SHA1(43b91e88f909b758f880d83df4f889f15aa17eb3) ) - ROM_LOAD( "snooker.ts1", 0xc000, 0x004000, CRC(3e3072dd) SHA1(9ea8b270044b48767a2e6c19e8ed257d5491c1d0) ) -ROM_END - - - -ROM_START( m4stakex ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "stakex.bin", 0x0000, 0x010000, CRC(098c7117) SHA1(27f04cfb88ef870fc30afd055cf32ffe448275ea) ) - - ROM_REGION( 0x080000, "msm6376", 0 ) - ROM_LOAD( "stakexsnd.bin", 0x0000, 0x080000, CRC(baf17991) SHA1(282e0ac9d18299e9f7a0fecaf9edf0cb4205ef0e) ) -ROM_END - -ROM_START( m4stakexa ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "stakex2.bin", 0x0000, 0x010000, CRC(77ae3f63) SHA1(c5f1cfd5bffcf3156f584757de57ef6530214511) ) - - ROM_REGION( 0x080000, "msm6376", 0 ) - ROM_LOAD( "stakexsnd.bin", 0x0000, 0x080000, CRC(baf17991) SHA1(282e0ac9d18299e9f7a0fecaf9edf0cb4205ef0e) ) -ROM_END - - -ROM_START( m4stand2 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "stand 2 del 8.bin", 0x08000, 0x08000, CRC(a9a5edc7) SHA1(035d3f3b3373cec475753f1b0de2f4db48d6d288) ) -ROM_END - - - - - - - - - - -ROM_START( m4bigban ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "big04.p1", 0x0000, 0x020000, CRC(f7ead9c6) SHA1(46c10abb892cb6d427ad508aae96752c14b4cb83) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - // Missing? -ROM_END - -ROM_START( m4crzcsn ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "crz03.bin", 0x0000, 0x020000, CRC(48610c4f) SHA1(a62ac8b3ee704ee4e98f9d56bfc723d4cbb25b54) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - // Missing? -ROM_END - -ROM_START( m4crzcav ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "gcv05.p1", 0x0000, 0x020000, CRC(b9ba46f6) SHA1(78b745d85b36444c39747982987088a772b20a7e) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - // Missing? -ROM_END - -ROM_START( m4dragon ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "dgl01.p1", 0x0000, 0x020000, CRC(d7d39c9b) SHA1(5350c9db549edee30815516b1ce74a018390ff3d) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - // Missing? -ROM_END - -ROM_START( m4hilonv ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "hnc02.p1", 0x0000, 0x020000, CRC(33a8022b) SHA1(5168b8f32630aa2cb56f30c941695f1728e4fb7a) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - // Missing? -ROM_END - -ROM_START( m4octo ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "oct03.p1", 0x0000, 0x020000, CRC(8df66e94) SHA1(e1ab93982846d83becae36b5814ebbd515b9078e) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - // Missing? -ROM_END - -ROM_START( m4sctagt ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "gse3_0.p1", 0x0000, 0x010000, CRC(eff705ff) SHA1(6bf96872ef4bcc8f8041c5384d892f072c72be2b) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - // Missing? -ROM_END - - - - - - - - - - -ROM_START( m4cld02 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cru0_2.bin", 0x0000, 0x010000, CRC(e3c01944) SHA1(33a2b2c05686f53811349b2980e590fdc4b72756) ) - ROM_REGION( 0x080000, "msm6376", ROMREGION_ERASE00 ) - // missing -ROM_END - -ROM_START( m4barcrz ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "barcrazy.bin", 0x0000, 0x010000, CRC(917ad749) SHA1(cb0a3f6737b8f183d2efb0a3f8adbf86d40a38ff) ) - - ROM_REGION( 0x080000, "msm6376", 0 ) - ROM_LOAD( "barcrazysnd.bin", 0x0000, 0x080000, CRC(0e155193) SHA1(7583e9f3e3624f82f2329565bdcbdaa5a5b03ee0) ) -ROM_END - -ROM_START( m4bonzbn ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "bingo-bonanza_v1.bin", 0x0000, 0x010000, CRC(3d137ddf) SHA1(1ce23db111448e44a166554dd8853dc379e787da) ) - - ROM_REGION( 0x100000, "msm6376", 0 ) - ROM_LOAD( "bingo-bonanzasnd1.bin", 0x000000, 0x080000, CRC(e0eb2a92) SHA1(cbc0b3bba7857d87535d1c2a7459aed60709734a) ) - ROM_LOAD( "bingo-bonanzasnd2.bin", 0x080000, 0x080000, CRC(7db27b28) SHA1(98c5fa4bf8c7f67fae90a1ca98b74057f5ed9b6b) ) -ROM_END - -ROM_START( m4dnj ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "d.n.j 1-02", 0x0000, 0x010000, CRC(5750843d) SHA1(b87923e84071ea4a1af7566a7f413f8e30e208e9) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) // should this set have an OKI? -ROM_END - -ROM_START( m4dnja ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "d.n.j 1-03", 0x0000, 0x010000, CRC(7b805255) SHA1(f62765bfa66e2422ac0a71ebaff27f1ccd470fe2) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) // should this set have an OKI? -ROM_END - -ROM_START( m4dnjb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "d.n.j 1-06", 0x0000, 0x010000, CRC(aab770c7) SHA1(f24fff8346915017bc43fef9fac356a067676d86) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) // should this set have an OKI? -ROM_END - - -ROM_START( m4matdr ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "matador.bin", 0x0000, 0x020000, CRC(367788a4) SHA1(3c9b077a64f993cb60107558efdfcbee0fe5c958) ) - - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - // missing -ROM_END - - - -ROM_START( m4hslo ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "hot30", 0x0000, 0x010000, CRC(62f2c420) SHA1(5ae89a1b585738255e8d9ae153c3c63b4a2893e4) ) -ROM_END - -#define M4SBX_EXTRAS \ - ROM_REGION( 0x40000, "upd", 0 ) /* not oki at least... */ \ - ROM_LOAD( "sbsnd", 0x0000, 0x040000, CRC(27fd9fe6) SHA1(856fdc95a833affde0ada7041c68a4b6b729b715) ) - -ROM_START( m4sbx ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sbx-2.1-cash.bin", 0x8000, 0x008000, CRC(2dca703e) SHA1(aef398f4ed38ba34f28009058c9486a570f64e0f) ) - M4SBX_EXTRAS -ROM_END - -ROM_START( m4sbxa ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "b_sbx23.bin", 0x8000, 0x008000, CRC(8188e94f) SHA1(dfbfc549d12c8f7c7db6c12ba766c28f1cf0873f) ) - M4SBX_EXTRAS -ROM_END - -ROM_START( m4sbxb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "s bears v1-4 20p po.bin", 0x8000, 0x008000, CRC(03486714) SHA1(91c237956bbec58cc08a3e92543488d8e2daa673) ) - M4SBX_EXTRAS -ROM_END - -ROM_START( m4sbxc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "s bears v2-4 10p 8.bin", 0x8000, 0x008000, CRC(9b94f8d0) SHA1(9808386def14c8a058730e90135a4d6506e6ed3d) ) - M4SBX_EXTRAS -ROM_END - -ROM_START( m4sbxd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "s bears v2-4 20p po.bin", 0x8000, 0x008000, CRC(ad8f8d9d) SHA1(abd808f95b587a84e8b3aad1af9fe1cb613c9821) ) - M4SBX_EXTRAS -ROM_END - -ROM_START( m4sbxe ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "superbea.10p", 0x8000, 0x008000, CRC(70020466) SHA1(473c9feb9ce0024b870612af19ec8a47a7798506) ) - M4SBX_EXTRAS -ROM_END - - - -ROM_START( m4bclimb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "bc8pv4.bin", 0x8000, 0x008000, CRC(229a7607) SHA1(b20b2c9f9d19ccd6146affdf519fa4bc0322c971) ) - - ROM_REGION( 0x40000, "upd", 0 ) // not oki at least... - ROM_LOAD( "sbsnd", 0x0000, 0x040000, CRC(27fd9fe6) SHA1(856fdc95a833affde0ada7041c68a4b6b729b715) ) -ROM_END - -ROM_START( m4captb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "c_bear21.rom", 0x8000, 0x008000, CRC(2e9a42e9) SHA1(0c3f33311f1543daf2ff5c0443dc8c000d49c26d) ) - - ROM_REGION( 0x40000, "upd", ROMREGION_ERASE00 ) // not oki at least... -// ROM_LOAD( "sbsnd", 0x0000, 0x040000, CRC(27fd9fe6) SHA1(856fdc95a833affde0ada7041c68a4b6b729b715) ) -ROM_END - -#define M4JUNGJ_EXTRAS \ - ROM_REGION( 0x40000, "upd", ROMREGION_ERASE00 ) \ - /* missing? */ -ROM_START( m4jungj ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "jj2410p.bin", 0x8000, 0x008000, CRC(490838c6) SHA1(a1e9963df9a429ae594592312e977f22f96c6073) ) - M4JUNGJ_EXTRAS -ROM_END - -ROM_START( m4jungja ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "jj2420p.bin", 0x8000, 0x008000, CRC(39329ccf) SHA1(6b79e4fc553bad935ec9989ad5ef3e186e720633) ) - M4JUNGJ_EXTRAS -ROM_END - -ROM_START( m4jungjb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "jjv2_4p.bin", 0x8000, 0x008000, CRC(125a8138) SHA1(18c62df5b331bd09d6dcda6280351e94b7b816fd) ) - M4JUNGJ_EXTRAS -ROM_END - -ROM_START( m4jungjc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "jjv4.bin", 0x8000, 0x008000, CRC(bf583156) SHA1(084c5ed3d96c92f265ad08cc7aed7fe6092217a5) ) - M4JUNGJ_EXTRAS -ROM_END - - -#define M4FSX_EXTRAS \ - ROM_REGION( 0x40000, "upd", ROMREGION_ERASE00 ) \ - /* missing? */ - -ROM_START( m4fsx ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("funspotx.10p", 0x8000, 0x008000, CRC(55199f36) SHA1(7af376781e381582b06972725a2022cc28ba60b3) ) - M4FSX_EXTRAS -ROM_END - -ROM_START( m4fsxa ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "funspotx.20p", 0x8000, 0x008000, CRC(08d1eb6e) SHA1(7c7c02d9c34696d75490df8596ffe64fba93dcc4) ) - M4FSX_EXTRAS -ROM_END - -ROM_START( m4fsxb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "b_fsv1.bin", 0x8000, 0x008000, CRC(b077f944) SHA1(97d96594b8d2d7232bad087cc55912dec02d7484) ) - M4FSX_EXTRAS -ROM_END /* -Coinworld data +LED Segments related to pins (5 is not connected): +Unlike the controllers emulated in the layout code, each +segment of an MPU4 LED can be set individually, even +being used as individual lamps. However, we can get away +with settings like this in the majority of cases. + _9_ + | | + 3 8 + | | + _2_ + | | + 4 7 + |_ _| + 6 1 -Error Number Cause of alarm Comments -11 1 GBP coin in These alarms go off when a coin is jammed in the mech, or if the Mars anti-strimming alarm is activated. -12 50p coin in The machine will lock up for a short amount of time, whilst sounding as alarm tone. -13 20p coin in Error 15 can be caused by having DIL switch 6 in the wrong position for your coin mech loom. -14 10p coin in -15 5p coin in -16 2 GBP coin in -21 Reel 1 alarm The faulty reel will flash. Nothing more will happen until the machine is reset -22 Reel 2 alarm -23 Reel 3 alarm -42 Ram Cleared The RAM is cleared when the machine is turned on for the first time, or when the price of play is changed. The alarm - clears after a short time -51 Checksum error The machine will lock up completely if the eprom has failed, or if the security chip is missing or has failed -54 Security chip fail -61 Cash in meter failure The machine will not run if the cash in, or cash out meters are not connected properly. -62 Cash out meter failure -71 Datapack error If the machine is in protocol mode, and a datapack is not connected, then the machine alarms. It will reset after a - time, and have another go at transmitting the data -72 Sound card fail If the sound card is missing, or the wrong sound eprom is fitted, the machine alarms on power on. The machine will then - operate in silence. -99 Payout tubes empty If one of the tubes runs dry, the machine will attempt to compensate by paying from the other tube. If this runs dry - as well, the machine will lock up, requiring a refill before games can continue. The alarm tone is a softer, more friendly one. +8 display enables (pins 10 - 17) */ -#define M4CCOP_EXTRAS \ - ROM_REGION( 0x100000, "alt1msm6376", ROMREGION_ERASE00 ) \ - ROM_LOAD( "cash-copssnd1-de.bin", 0x000000, 0x080000, CRC(cd03f7f7) SHA1(4c09a86bcdf9a9eb224b19b932b75c9db3784fad) ) \ - ROM_LOAD( "cash-copssnd2-de.bin", 0x080000, 0x080000, CRC(107816a2) SHA1(f5d4a0390b85a665a3536da4689ec91b1a2da3ae) ) \ - ROM_REGION( 0x100000, "alt2msm6376", ROMREGION_ERASE00 ) \ - ROM_LOAD( "cash-copssnd1.bin", 0x000000, 0x080000, CRC(776a303d) SHA1(a5a282674674f25bc6ca169eeebee7309239871f) ) \ - ROM_LOAD( "cash-copssnd2.bin", 0x080000, 0x080000, CRC(107816a2) SHA1(f5d4a0390b85a665a3536da4689ec91b1a2da3ae) ) \ - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ - ROM_LOAD( "cashcops.p1", 0x000000, 0x080000, CRC(9a59a3a1) SHA1(72cfc99b22ec5fb89714c6d2d66760d86dc19f2f) ) \ - ROM_LOAD( "cashcops.p2", 0x080000, 0x080000, CRC(deb3e755) SHA1(01f92881c451919be549a1c58afa1fa4630bf171) ) - -ROM_START( m4ccop ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cashcop9.bin", 0x0000, 0x010000, CRC(5f993207) SHA1(ab0614e6a1355d275158b1a32f65086e40c2f890) ) - M4CCOP_EXTRAS -ROM_END - -ROM_START( m4ccopa ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cash-cops_v4-de.bin", 0x0000, 0x010000, CRC(df3da824) SHA1(c275a33e4a89f1b9ecbae80cb7b62007b29b9fd2) ) - M4CCOP_EXTRAS -ROM_END - -ROM_START( m4ccopb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cashcop8.bin", 0x0000, 0x010000, CRC(165603df) SHA1(d301696a340ed136a43c5753c8bf73283a925fd7) ) - M4CCOP_EXTRAS -ROM_END +void mpu4_state::lamp_extend_small(int data) +{ + int lamp_ext_data,column,i; + column = data & 0x07; + + lamp_ext_data = 0x1f - ((data & 0xf8) >> 3);//remove the mux lines from the data + + if (m_lamp_strobe_ext_persistence == 0) + { + //One write to reset the drive lines, one with the data, one to clear the lines, so only the 2nd write does anything + //TODO: PWM + for (i = 0; i < 5; i++) + { + m_lamps[(8*column)+i+128] = BIT(lamp_ext_data, i); + } + } + m_lamp_strobe_ext_persistence ++; + if ((m_lamp_strobe_ext_persistence == 3)||(m_lamp_strobe_ext!=column)) + { + m_lamp_strobe_ext_persistence = 0; + m_lamp_strobe_ext=column; + } +} + +void mpu4_state::lamp_extend_large(int data,int column,int active) +{ + int lampbase,i,bit7; + + m_lamp_sense = 0; + bit7 = data & 0x80; + if ( bit7 != m_last_b7 ) + { + m_card_live = 1; + //depending on bit 7, we can access one of two 'blocks' of 64 lamps + lampbase = bit7 ? 64 : 0; + if ( data & 0x3f ) + { + m_lamp_sense = 1; + } + if ( active ) + { + if (m_lamp_strobe_ext != column) + { + for (i = 0; i < 8; i++) + {//CHECK, this includes bit 7, which seems wrong + m_lamps[(8*column)+i+128+lampbase] = BIT(data, i); + } + m_lamp_strobe_ext = column; + } + } + m_last_b7 = bit7; + } + else + { + m_card_live = 0; + } +} + +void mpu4_state::led_write_extender(int latch, int data, int starting_column) +{ + int diff,i,j, ext_strobe; + + diff = (latch ^ m_last_latch) & latch; + ext_strobe = (7 - starting_column) * 8; + + data = ~data;//invert drive lines + for (i=0; i<5; i++) + { + if (diff & (1<update(((data >> 4) & 0x0f)); + data = (data & 0x0F); //Strip reel data from meter drives, leaving active elements + awp_draw_reel(machine(),"reel5", *m_reel[4]); + break; + + case FIVE_REEL_8TO5: + m_reel[4]->update((((data & 0x01) + ((data & 0x08) >> 2) + ((data & 0x20) >> 3) + ((data & 0x80) >> 4)) & 0x0f)) ; + data = 0x00; //Strip all reel data from meter drives, nothing is connected + awp_draw_reel(machine(),"reel5", *m_reel[4]); + break; + + case FIVE_REEL_3TO6: + m_reel[4]->update(((data >> 2) & 0x0f)); + data = 0x00; //Strip all reel data from meter drives + awp_draw_reel(machine(),"reel5", *m_reel[4]); + break; + + case SIX_REEL_1TO8: + m_reel[4]->update( data & 0x0f); + m_reel[5]->update((data >> 4) & 0x0f); + data = 0x00; //Strip all reel data from meter drives + awp_draw_reel(machine(),"reel5", *m_reel[4]); + awp_draw_reel(machine(),"reel6", *m_reel[5]); + break; + + case SIX_REEL_5TO8: + m_reel[4]->update(((data >> 4) & 0x0f)); + data = 0x00; //Strip all reel data from meter drives + awp_draw_reel(machine(),"reel5", *m_reel[4]); + break; + + case SEVEN_REEL: + m_reel[0]->update((((data & 0x01) + ((data & 0x08) >> 2) + ((data & 0x20) >> 3) + ((data & 0x80) >> 4)) & 0x0f)) ; + data = 0x00; //Strip all reel data from meter drives + awp_draw_reel(machine(),"reel1", *m_reel[0]); + break; + + case FLUTTERBOX: //The backbox fan assembly fits in a reel unit sized box, wired to the remote meter pin, so we can handle it here + output().set_value("flutterbox", data & 0x80); + data &= ~0x80; //Strip flutterbox data from meter drives + break; + } + + m_meters->update(7, (data & 0x80)); + + for (meter = 0; meter < 4; meter ++) + { + m_meters->update(meter, (data & (1 << meter))); + } + + if (m_reel_mux == STANDARD_REEL) + { + for (meter = 4; meter < 7; meter ++) + { + m_meters->update(meter, (data & (1 << meter))); + } + } +} + +/* called if board is reset */ +MACHINE_RESET_MEMBER(mpu4_state,mpu4) +{ + m_vfd->reset(); + + m_lamp_strobe = 0; + m_lamp_strobe2 = 0; + m_led_strobe = 0; + m_mmtr_data = 0; + m_remote_meter = 0; + + m_IC23GC = 0; + m_IC23GB = 0; + m_IC23GA = 0; + m_IC23G1 = 1; + m_IC23G2A = 0; + m_IC23G2B = 0; + + // Bwb Orlando, which uses the bwb_bank address for banking requires the default bank to be 0! + if (m_numbanks) + m_bank1->set_entry(m_default_to_low_bank ? 0 : m_numbanks); + + m_maincpu->reset(); +} + + +/* 6809 IRQ handler */ +WRITE_LINE_MEMBER(mpu4_state::cpu0_irq) +{ + /* The PIA and PTM IRQ lines are all connected to a common PCB track, leading directly to the 6809 IRQ line. */ + int combined_state = m_pia3->irq_a_state() | m_pia3->irq_b_state() | + m_pia4->irq_a_state() | m_pia4->irq_b_state() | + m_pia5->irq_a_state() | m_pia5->irq_b_state() | + m_pia6->irq_a_state() | m_pia6->irq_b_state() | + m_pia7->irq_a_state() | m_pia7->irq_b_state() | + m_pia8->irq_a_state() | m_pia8->irq_b_state() | + m_6840ptm->irq_state(); + + if (!m_link7a_connected) //7B = IRQ, 7A = FIRQ, both = NMI + { + m_maincpu->set_input_line(M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE); + LOG(("6809 int%d \n", combined_state)); + } + else + { + m_maincpu->set_input_line(M6809_FIRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE); + LOG(("6809 fint%d \n", combined_state)); + } +} + +/* Bankswitching +The MOD 4 ROM cards are set up to handle 8 separate ROM pages, arranged as 2 sets of 4. +The bankswitch selects which of the 4 pages in the set is active, while the bankset +switches between the sets. +It appears that the cards were originally intended to be used in a 'half' page setup, +where the two halves of the ROM space could be mixed and matched as appropriate. +However, there is no evidence to suggest this was ever implemented. +The controls for it exist however, in the form of the Soundboard PIA CB2 pin, which is +used in some cabinets instead of the main control. +*/ +void mpu4_state::bankswitch_w(uint8_t data) +{ + m_pageval = (data & 0x03); + m_bank1->set_entry((m_pageval + (m_pageset ? 4 : 0)) & m_numbanks); +} + + +uint8_t mpu4_state::bankswitch_r() +{ + return m_bank1->entry(); +} + + +void mpu4_state::bankset_w(uint8_t data) +{ + //logerror("bankset_w %02x\n", data); + + m_pageval = (data - 2);//writes 2 and 3, to represent 0 and 1 - a hangover from the half page design? + m_bank1->set_entry((m_pageval + (m_pageset ? 4 : 0)) & m_numbanks); +} + + +/* IC2 6840 PTM handler */ +WRITE_LINE_MEMBER(mpu4_state::ic2_o1_callback) +{ + m_6840ptm->set_c2(state); /* copy output value to IC2 c2 + this output is the clock for timer2 */ + /* 1200Hz System interrupt timer */ +} + + +WRITE_LINE_MEMBER(mpu4_state::ic2_o2_callback) +{ + m_pia3->ca1_w(state); /* copy output value to IC3 ca1 */ + /* the output from timer2 is the input clock for timer3 */ + /* miscellaneous interrupts generated here */ + m_6840ptm->set_c3(state); +} + + +WRITE_LINE_MEMBER(mpu4_state::ic2_o3_callback) +{ + /* the output from timer3 is used as a square wave for the alarm output + and as an external clock source for timer 1! */ + /* also runs lamp fade */ + m_6840ptm->set_c1(state); +} + +/* 6821 PIA handlers */ +/* IC3, lamp data lines + alpha numeric display */ +void mpu4_state::pia_ic3_porta_w(uint8_t data) +{ + int i; + LOG_IC3(("%s: IC3 PIA Port A Set to %2x (lamp strobes 1 - 9)\n", machine().describe_context(),data)); + + if(m_ic23_active) + { + if (m_lamp_strobe != m_input_strobe) + { + // Because of the nature of the lamping circuit, there is an element of persistance + // As a consequence, the lamp column data can change before the input strobe without + // causing the relevant lamps to black out. + + for (i = 0; i < 8; i++) + { + m_lamps[(8*m_input_strobe)+i] = BIT(data, i); + } + m_lamp_strobe = m_input_strobe; + } + } +} + +void mpu4_state::pia_ic3_portb_w(uint8_t data) +{ + int i; + LOG_IC3(("%s: IC3 PIA Port B Set to %2x (lamp strobes 10 - 17)\n", machine().describe_context(),data)); + + if(m_ic23_active) + { + if (m_lamp_strobe2 != m_input_strobe) + { + for (i = 0; i < 8; i++) + { + m_lamps[(8*m_input_strobe)+i+64] = BIT(data, i); + } + m_lamp_strobe2 = m_input_strobe; + } + + if (m_led_lamp) + { + /* Some games (like Connect 4) use 'programmable' LED displays, built from light display lines in section 2. */ + /* These are mostly low-tech machines, where such wiring proved cheaper than an extender card */ + uint8_t pled_segs[2] = {0,0}; + + static const int lamps1[8] = { 106, 107, 108, 109, 104, 105, 110, 111 }; + static const int lamps2[8] = { 114, 115, 116, 117, 112, 113, 118, 119 }; + + for (i = 0; i < 8; i++) + { + if (m_lamps[lamps1[i]]) pled_segs[0] |= (1 << i); + if (m_lamps[lamps2[i]]) pled_segs[1] |= (1 << i); + } + + m_digits[8] = pled_segs[0]; + m_digits[9] = pled_segs[1]; + } + } +} + +WRITE_LINE_MEMBER(mpu4_state::pia_ic3_ca2_w) +{ + LOG_IC3(("%s: IC3 PIA Write CA2 (alpha data), %02X\n", machine().describe_context(),state)); + m_vfd->data(state); +} + + +WRITE_LINE_MEMBER(mpu4_state::pia_ic3_cb2_w) +{ + LOG_IC3(("%s: IC3 PIA Write CB (alpha reset), %02X\n",machine().describe_context(),state)); +// DM Data pin A + m_vfd->por(state); +} + + +/* +IC23 emulation + +IC23 is a 74LS138 1-of-8 Decoder + +It is used as a multiplexer for the LEDs, lamp selects and inputs.*/ + +void mpu4_state::ic23_update() +{ + if (!m_IC23G2A) + { + if (!m_IC23G2B) + { + if (m_IC23G1) + { + if ( m_IC23GA ) m_input_strobe |= 0x01; + else m_input_strobe &= ~0x01; + + if ( m_IC23GB ) m_input_strobe |= 0x02; + else m_input_strobe &= ~0x02; + + if ( m_IC23GC ) m_input_strobe |= 0x04; + else m_input_strobe &= ~0x04; + } + } + } + else + if ((m_IC23G2A)||(m_IC23G2B)) + { + m_input_strobe = 0x00; + } +} + + +/* +IC24 emulation + +IC24 is a 74LS122 pulse generator + +CLEAR and B2 are tied high and A1 and A2 tied low, meaning any pulse +on B1 will give a low pulse on the output pin. +*/ +void mpu4_state::ic24_output(int data) +{ + m_IC23G2A = data; + ic23_update(); +} + + +void mpu4_state::ic24_setup() +{ + if (m_IC23GA) + { + double duration = TIME_OF_74LS123((220*1000),(0.1*0.000001)); + { + m_ic23_active=1; + ic24_output(0); + m_ic24_timer->adjust(attotime::from_double(duration)); + } + } +} + + +TIMER_CALLBACK_MEMBER(mpu4_state::update_ic24) +{ + m_ic23_active=0; + ic24_output(1); +} + + +WRITE_LINE_MEMBER(mpu4_state::dataport_rxd) +{ + m_serial_data = state; + m_pia4->cb1_w(state); + LOG_IC3(("Dataport RX %x\n",state)); +} + +/* IC4, 7 seg leds, 50Hz timer reel sensors, current sensors */ +void mpu4_state::pia_ic4_porta_w(uint8_t data) +{ + if(m_ic23_active) + { + if (((m_lamp_extender == NO_EXTENDER) || (m_lamp_extender == SMALL_CARD) || (m_lamp_extender == LARGE_CARD_C)) && (m_led_extender == NO_EXTENDER)) + { + if(m_led_strobe != m_input_strobe) + { + for(int i=0; i<8; i++) + { + m_mpu4leds[((7 - m_input_strobe) << 3) | i] = BIT(data, i); + } + m_digits[7 - m_input_strobe] = data; + } + m_led_strobe = m_input_strobe; + } + } +} + +void mpu4_state::pia_ic4_portb_w(uint8_t data) +{ + if (m_reel_mux) + { + /* A write here connects one reel (and only one) + to the optic test circuit. This allows 8 reels + to be supported instead of 4. */ + if (m_reel_mux == SEVEN_REEL) + { + m_active_reel = reel_mux_table7[(data >> 4) & 0x07]; + } + else + { + m_active_reel = reel_mux_table[(data >> 4) & 0x07]; + } + } +} + +uint8_t mpu4_state::pia_ic4_portb_r() +{ + if ( m_serial_data ) + { + m_ic4_input_b |= 0x80; + } + else + { + m_ic4_input_b &= ~0x80; + } + + if (!m_reel_mux) + { + if ( m_optic_pattern & 0x01 ) m_ic4_input_b |= 0x40; /* reel A tab */ + else m_ic4_input_b &= ~0x40; + + if ( m_optic_pattern & 0x02 ) m_ic4_input_b |= 0x20; /* reel B tab */ + else m_ic4_input_b &= ~0x20; + + if ( m_optic_pattern & 0x04 ) m_ic4_input_b |= 0x10; /* reel C tab */ + else m_ic4_input_b &= ~0x10; + + if ( m_optic_pattern & 0x08 ) m_ic4_input_b |= 0x08; /* reel D tab */ + else m_ic4_input_b &= ~0x08; + + } + else + { + if (m_optic_pattern & (1<read() | m_aux1_input; + return tempinput; +} + + +void mpu4_state::pia_ic5_porta_w(uint8_t data) +{ + int i; + if (m_hopper == HOPPER_NONDUART_A) + { + //opto line + //hopper1_drive_sensor(data&0x10); + } + + switch (m_lamp_extender) + { + case NO_EXTENDER: + if (m_led_extender == CARD_B) + { + led_write_extender(data & 0x1f, m_pia4->a_output(),m_input_strobe); + } + else if ((m_led_extender != CARD_A) && (m_led_extender != NO_EXTENDER)) + { + for(i=0; i<8; i++) + { + m_mpu4leds[((m_input_strobe | 8) << 3) | i] = BIT(data, i); + } + m_digits[m_input_strobe | 8] = data; + } + break; + + case SMALL_CARD: + if(m_ic23_active) + { + lamp_extend_small(data); + } + break; + + case LARGE_CARD_A: + lamp_extend_large(data,m_input_strobe,m_ic23_active); + break; + + case LARGE_CARD_B: + lamp_extend_large(data,m_input_strobe,m_ic23_active); + if ((m_ic23_active) && m_card_live) + { + for(i=0; i<8; i++) + { + m_mpu4leds[((m_last_b7 >> 7) << 6) | (m_input_strobe << 3) | i] = BIT(~data, i); + } + m_digits[((m_last_b7 >> 7) << 3) | m_input_strobe] = ~data; + } + break; + + case LARGE_CARD_C: + lamp_extend_large(data,m_input_strobe,m_ic23_active); + break; + } + + + if (m_reel_mux == SIX_REEL_5TO8) + { + m_reel[4]->update( data &0x0F); + m_reel[5]->update((data >> 4)&0x0F); + awp_draw_reel(machine(),"reel5", *m_reel[4]); + awp_draw_reel(machine(),"reel6", *m_reel[5]); + } + else if (m_reel_mux == SEVEN_REEL) + { + m_reel[1]->update( data &0x0F); + m_reel[2]->update((data >> 4)&0x0F); + awp_draw_reel(machine(),"reel2", *m_reel[1]); + awp_draw_reel(machine(),"reel3", *m_reel[2]); + } +} + + +void mpu4_state::pia_ic5_portb_w(uint8_t data) +{ + if (m_hopper == HOPPER_NONDUART_B) + { + //hopper1_drive_motor(data &0x01) motor + //hopper1_drive_sensor(data &0x08) opto + } + if (m_led_extender == CARD_A) + { + led_write_extender(data & 0x07, m_pia4->a_output(),m_input_strobe); + } + else if (m_led_extender == SIMPLE_CARD) + { + if(m_led_strobe != m_input_strobe) + { + for(int i=0; i<8; i++) + { + m_mpu4leds[( ( (7 - m_input_strobe) + 8) << 3) | i] = BIT(m_pia4->a_output(), i); + } + m_digits[(7 - m_input_strobe) + 8] = m_pia4->a_output(); + } + m_led_strobe = m_input_strobe; + } +} + +uint8_t mpu4_state::pia_ic5_portb_r() +{ + if (m_hopper == HOPPER_NONDUART_B) + {/* + if (hopper1_active) + { + m_aux2_input |= 0x08; + } + else + { + m_aux2_input &= ~0x08; + }*/ + } + + LOG(("%s: IC5 PIA Read of Port B (coin input AUX2)\n",machine().describe_context())); + machine().bookkeeping().coin_lockout_w(0, (m_pia5->b_output() & 0x01) ); + machine().bookkeeping().coin_lockout_w(1, (m_pia5->b_output() & 0x02) ); + machine().bookkeeping().coin_lockout_w(2, (m_pia5->b_output() & 0x04) ); + machine().bookkeeping().coin_lockout_w(3, (m_pia5->b_output() & 0x08) ); + + uint8_t tempinput = m_aux2_port->read() | m_aux2_input; + return tempinput; +} + + +WRITE_LINE_MEMBER(mpu4_state::pia_ic5_ca2_w) +{ + LOG(("%s: IC5 PIA Write CA2 (Serial Tx) %2x\n",machine().describe_context(),state)); + m_dataport->write_txd(state); +} + + +/* --------------------------------------- + AY Chip sound function selection - + --------------------------------------- +The databus of the AY sound chip is connected to IC6 Port A. +Data is read from/written to the AY chip through this port. + +If this sounds familiar, Amstrad did something very similar with their home computers. + +The PSG function, defined by the BC1,BC2 and BDIR signals, is controlled by CA2 and CB2 of IC6. + +PSG function selection: +----------------------- +BDIR = IC6 CB2 and BC1 = IC6 CA2 + +Pin | PSG Function +BDIR BC1 | +0 0 | Inactive +0 1 | Read from selected PSG register. When function is set, the PSG will make the register data available to Port A. +1 0 | Write to selected PSG register. When set, the PSG will take the data at Port A and write it into the selected PSG register. +1 1 | Select PSG register. When set, the PSG will take the data at Port A and select a register. +*/ + +/* PSG function selected */ +void mpu4_state::update_ay(device_t *device) +{ + if (!m_ay8913) return; + + pia6821_device *pia = downcast(device); + if (!pia->cb2_output()) + { + switch (m_ay8913_address) + { + case 0x00: + /* Inactive */ + break; + + case 0x01: + /* CA2 = 1 CB2 = 0? : Read from selected PSG register and make the register data available to Port A */ + LOG(("AY8913 address = %d \n",m_pia6->a_output()&0x0f)); + break; + + case 0x02: + /* CA2 = 0 CB2 = 1? : Write to selected PSG register and write data to Port A */ + m_ay8913->data_w(m_pia6->a_output()); + LOG(("AY Chip Write \n")); + break; + + case 0x03: + /* CA2 = 1 CB2 = 1? : The register will now be selected and the user can read from or write to it. + The register will remain selected until another is chosen.*/ + m_ay8913->address_w(m_pia6->a_output()); + LOG(("AY Chip Select \n")); + break; + + default: + LOG(("AY Chip error \n")); + break; + } + } +} + + +WRITE_LINE_MEMBER(mpu4_state::pia_ic5_cb2_w) +{ + update_ay(m_pia5); +} + + +/* IC6, Reel A and B and AY registers (MODs below 4 only) */ +void mpu4_state::pia_ic6_portb_w(uint8_t data) +{ + LOG(("%s: IC6 PIA Port B Set to %2x (Reel A and B)\n", machine().describe_context(),data)); + + if (m_reel_mux == SEVEN_REEL) + { + m_reel[3]->update( data &0x0F); + m_reel[4]->update((data >> 4)&0x0F); + awp_draw_reel(machine(),"reel4", *m_reel[3]); + awp_draw_reel(machine(),"reel5", *m_reel[4]); + } + else if (m_reels) + { + m_reel[0]->update( data &0x0F); + m_reel[1]->update((data >> 4)&0x0F); + awp_draw_reel(machine(),"reel1", *m_reel[0]); + awp_draw_reel(machine(),"reel2", *m_reel[1]); + } +} + + +void mpu4_state::pia_ic6_porta_w(uint8_t data) +{ + LOG(("%s: IC6 PIA Write A %2x\n", machine().describe_context(),data)); + if (m_mod_number <4) + { + m_ay_data = data; + update_ay(m_pia6); + } +} + + +WRITE_LINE_MEMBER(mpu4_state::pia_ic6_ca2_w) +{ + LOG(("%s: IC6 PIA write CA2 %2x (AY8913 BC1)\n", machine().describe_context(),state)); + if (m_mod_number <4) + { + if ( state ) m_ay8913_address |= 0x01; + else m_ay8913_address &= ~0x01; + update_ay(m_pia6); + } +} + + +WRITE_LINE_MEMBER(mpu4_state::pia_ic6_cb2_w) +{ + LOG(("%s: IC6 PIA write CB2 %2x (AY8913 BCDIR)\n", machine().describe_context(),state)); + if (m_mod_number <4) + { + if ( state ) m_ay8913_address |= 0x02; + else m_ay8913_address &= ~0x02; + update_ay(m_pia6); + } +} + + +/* IC7 Reel C and D, mechanical meters/Reel E and F, input strobe bit A */ +void mpu4_state::pia_ic7_porta_w(uint8_t data) +{ + LOG(("%s: IC7 PIA Port A Set to %2x (Reel C and D)\n", machine().describe_context(),data)); + if (m_reel_mux == SEVEN_REEL) + { + m_reel[5]->update( data &0x0F); + m_reel[6]->update((data >> 4)&0x0F); + awp_draw_reel(machine(),"reel6", *m_reel[5]); + awp_draw_reel(machine(),"reel7", *m_reel[7]); + } + else if (m_reels) + { + m_reel[2]->update( data &0x0F); + m_reel[3]->update((data >> 4)&0x0F); + awp_draw_reel(machine(),"reel3", *m_reel[2]); + awp_draw_reel(machine(),"reel4", *m_reel[3]); + } +} + +void mpu4_state::pia_ic7_portb_w(uint8_t data) +{ + if (m_hopper == HOPPER_DUART_A) + { + //duart write data + } + else if (m_hopper == HOPPER_NONDUART_A) + { + //hoppr1_drive_motor(data & 0x10); + } + + m_mmtr_data = data; +} + +uint8_t mpu4_state::pia_ic7_portb_r() +{ +/* The meters are connected to a voltage drop sensor, where current +flowing through them also passes through pin B7, meaning that when +any meter is activated, pin B7 goes high. +As for why they connected this to an output port rather than using +CB1, no idea, although it proved of benefit when the reel multiplexer was designed +as it allows a separate meter to be used when the rest of the port is blocked. +This appears to have confounded the schematic drawer, who has assumed that +all eight meters are driven from this port, giving the 8 line driver chip +9 connections in total. */ + + //This may be overkill, but the meter sensing is VERY picky + + int combined_meter = m_meters->get_activity(0) | m_meters->get_activity(1) | + m_meters->get_activity(2) | m_meters->get_activity(3) | + m_meters->get_activity(4) | m_meters->get_activity(5) | + m_meters->get_activity(6) | m_meters->get_activity(7); + + if(combined_meter) + { + return 0x80; + } + else + { + return 0x00; + } +} + +WRITE_LINE_MEMBER(mpu4_state::pia_ic7_ca2_w) +{ + LOG(("%s: IC7 PIA write CA2 %2x (input strobe bit 0 / LED A)\n", machine().describe_context(),state)); + + m_IC23GA = state; + ic24_setup(); + ic23_update(); +} + +WRITE_LINE_MEMBER(mpu4_state::pia_ic7_cb2_w) +{ + m_remote_meter = state?0x80:0x00; +} + + +/* IC8, Inputs, TRIACS, alpha clock */ +uint8_t mpu4_state::pia_ic8_porta_r() +{ + LOG_IC8(("%s: IC8 PIA Read of Port A (MUX input data)\n", machine().describe_context())); + /* The orange inputs are polled twice as often as the black ones, for reasons of efficiency. + This is achieved via connecting every input line to an AND gate, thus allowing two strobes + to represent each orange input bank (strobes are active low). */ + m_pia5->cb1_w(m_aux2_port->read() & 0x80); + + return (m_port_mux[m_input_strobe])->read(); +} + + +void mpu4_state::pia_ic8_portb_w(uint8_t data) +{ + if (m_hopper == HOPPER_DUART_B) + { +// duart.drive_sensor(data & 0x04, data & 0x01, 0, 0); + } + else if (m_hopper == HOPPER_DUART_C) + { +// duart.drive_sensor(data & 0x04, data & 0x01, data & 0x04, data & 0x02); + } + LOG_IC8(("%s: IC8 PIA Port B Set to %2x (OUTPUT PORT, TRIACS)\n", machine().describe_context(),data)); + for (int i = 0; i < 8; i++) + { + m_triacs[i] = BIT(data, i); + } +} + +WRITE_LINE_MEMBER(mpu4_state::pia_ic8_ca2_w) +{ + LOG_IC8(("%s: IC8 PIA write CA2 (input_strobe bit 2 / LED C) %02X\n", machine().describe_context(), state & 0xFF)); + + m_IC23GC = state; + ic23_update(); +} + + +WRITE_LINE_MEMBER(mpu4_state::pia_ic8_cb2_w) +{ + LOG_IC8(("%s: IC8 PIA write CB2 (alpha clock) %02X\n", machine().describe_context(), state & 0xFF)); + + // DM Data pin B + + m_vfd->sclk(!state); +} + +// universal sampled sound program card PCB 683077 +// Sampled sound card, using a PIA and PTM for timing and data handling +void mpu4_state::pia_gb_porta_w(uint8_t data) +{ + LOG_SS(("%s: GAMEBOARD: PIA Port A Set to %2x\n", machine().describe_context(),data)); + m_msm6376->write(data); +} + +void mpu4_state::pia_gb_portb_w(uint8_t data) +{ + int changed = m_expansion_latch^data; + + LOG_SS(("%s: GAMEBOARD: PIA Port B Set to %2x\n", machine().describe_context(),data)); + + if ( changed & 0x20) + { // digital volume clock line changed + if ( !(data & 0x20) ) + { // changed from high to low, + if ( !(data & 0x10) )//down + { + if ( m_global_volume < 32 ) m_global_volume++; //steps unknown + } + else + {//up + if ( m_global_volume > 0 ) m_global_volume--; + } + + { + LOG_SS(("%s: GAMEBOARD: Volume Set to %2x\n", machine().describe_context(),data)); + float percent = (32-m_global_volume)/32.0; + m_msm6376->set_output_gain(0, percent); + m_msm6376->set_output_gain(1, percent); + } + } + } + m_msm6376->ch2_w(data&0x02); + m_msm6376->st_w(data&0x01); +} +uint8_t mpu4_state::pia_gb_portb_r() +{ + LOG_SS(("%s: GAMEBOARD: PIA Read of Port B\n",machine().describe_context())); + int data=0; + // b7 NAR - we can load another address into Channel 1 + // b6, 1 = OKI ready, 0 = OKI busy + // b5, vol clock + // b4, 1 = Vol down, 0 = Vol up + // + + if ( m_msm6376->nar_r() ) data |= 0x80; + else data &= ~0x80; + + if ( m_msm6376->busy_r() ) data |= 0x40; + else data &= ~0x40; + + return ( data | m_expansion_latch ); +} + +WRITE_LINE_MEMBER(mpu4_state::pia_gb_ca2_w) +{ + LOG_SS(("%s: GAMEBOARD: OKI RESET data = %02X\n", machine().describe_context(), state)); +// reset line +} + +WRITE_LINE_MEMBER(mpu4_state::pia_gb_cb2_w) +{ + // Some BWB games use this to drive the bankswitching + // should the regular bankswitch still work in these cases? + if (m_bwb_bank) + { + m_pageval = state; + m_bank1->set_entry((m_pageval + (m_pageset ? 4 : 0)) & m_numbanks); + } +} + +//Sampled sound timer +/* +The MSM6376 sound chip is configured in a slightly strange way, to enable dynamic +sample rate changes (8Khz, 10.6 Khz, 16 KHz) by varying the clock. +According to the BwB programmer's guide, the formula is: +MSM6376 clock frequency:- +freq = (1720000/((t3L+1)(t3H+1)))*[(t3H(T3L+1)+1)/(2(t1+1))] +where [] means rounded up integer, +t3L is the LSB of Clock 3, +t3H is the MSB of Clock 3, +and t1 is the initial value in clock 1. +*/ + +//O3 -> G1 O1 -> c2 o2 -> c1 + +/* This is a bit of a cheat - since we don't clock into the OKI chip directly, we need to +calculate the oscillation frequency in advance. We're running the timer for interrupt +purposes, but the frequency calculation is done by plucking the values out as they are written.*/ +void mpu4_state::ic3ss_w(offs_t offset, uint8_t data) +{ + m_ptm_ic3ss->write(offset,data); + + if (offset == 3) + { + m_t1 = data; + } + if (offset == 6) + { + m_t3h = data; + } + if (offset == 7) + { + m_t3l = data; + } + + float num = (1720000/((m_t3l + 1)*(m_t3h + 1))); + float denom1 = ((m_t3h *(m_t3l + 1)+ 1)/(2*(m_t1 + 1))); + + int denom2 = denom1 + 0.5f;//need to round up, this gives same precision as chip + int freq=num*denom2; + + if (freq) + { + m_msm6376->set_unscaled_clock(freq); + } +} + +/* input ports for MPU4 board */ +INPUT_PORTS_START( mpu4 ) + PORT_START("ORANGE1") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("00")// 20p level + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("01")// 100p level + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("02")// Token 1 level + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("03")// Token 2 level + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("04") + PORT_CONFNAME( 0xe0, 0x00, "Stake Key" ) + PORT_CONFSETTING( 0x00, "Not fitted / 5p" ) + PORT_CONFSETTING( 0x20, "10p" ) + PORT_CONFSETTING( 0x40, "20p" ) + PORT_CONFSETTING( 0x60, "25p" ) + PORT_CONFSETTING( 0x80, "30p" ) + PORT_CONFSETTING( 0xa0, "40p" ) + PORT_CONFSETTING( 0xc0, "50p" ) + PORT_CONFSETTING( 0xe0, "1 GBP" ) + + PORT_START("ORANGE2") + PORT_CONFNAME( 0x0f, 0x00, "Jackpot / Prize Key" ) + PORT_CONFSETTING( 0x00, "Not fitted" ) + PORT_CONFSETTING( 0x01, "3 GBP" ) + PORT_CONFSETTING( 0x02, "4 GBP" ) + PORT_CONFSETTING( 0x08, "5 GBP" ) + PORT_CONFSETTING( 0x03, "6 GBP" ) + PORT_CONFSETTING( 0x04, "6 GBP Token" ) + PORT_CONFSETTING( 0x05, "8 GBP" ) + PORT_CONFSETTING( 0x06, "8 GBP Token" ) + PORT_CONFSETTING( 0x07, "10 GBP" ) + PORT_CONFSETTING( 0x09, "15 GBP" ) + PORT_CONFSETTING( 0x0a, "25 GBP" ) + PORT_CONFSETTING( 0x0b, "25 GBP (Licensed Betting Office Profile)" ) + PORT_CONFSETTING( 0x0c, "35 GBP" ) + PORT_CONFSETTING( 0x0d, "70 GBP" ) + PORT_CONFSETTING( 0x0e, "Reserved" ) + PORT_CONFSETTING( 0x0f, "Reserved" ) + + PORT_CONFNAME( 0xf0, 0x00, "Percentage Key" ) + PORT_CONFSETTING( 0x00, "Not fitted / 68% (Invalid for UK Games)" ) + PORT_CONFSETTING( 0x10, "70" ) + PORT_CONFSETTING( 0x20, "72" ) + PORT_CONFSETTING( 0x30, "74" ) + PORT_CONFSETTING( 0x40, "76" ) + PORT_CONFSETTING( 0x50, "78" ) + PORT_CONFSETTING( 0x60, "80" ) + PORT_CONFSETTING( 0x70, "82" ) + PORT_CONFSETTING( 0x80, "84" ) + PORT_CONFSETTING( 0x90, "86" ) + PORT_CONFSETTING( 0xa0, "88" ) + PORT_CONFSETTING( 0xb0, "90" ) + PORT_CONFSETTING( 0xc0, "92" ) + PORT_CONFSETTING( 0xd0, "94" ) + PORT_CONFSETTING( 0xe0, "96" ) + PORT_CONFSETTING( 0xf0, "98" ) + + PORT_START("BLACK1") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Hi") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Lo") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("18") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("19") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("20") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Test Button") PORT_CODE(KEYCODE_W) + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Refill Key") PORT_CODE(KEYCODE_R) PORT_TOGGLE + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_INTERLOCK) PORT_NAME("Cashbox (Back) Door") PORT_CODE(KEYCODE_Q) PORT_TOGGLE + + PORT_START("BLACK2") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("24") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("25") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Cancel") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("Hold 1") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_NAME("Hold 2") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_NAME("Hold 3") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_BUTTON7) PORT_NAME("Hold 4") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_START1) + + PORT_START("DIL1") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:01") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x01, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:02") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x02, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:03") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x04, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:04") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x08, DEF_STR( On ) ) + PORT_DIPNAME( 0xf0, 0x00, "Target Percentage (if key not fitted)" )PORT_DIPLOCATION("DIL1:05,06,07,08") + PORT_DIPSETTING( 0x00, "Unset (Program Optimum)" ) + PORT_DIPSETTING( 0x10, "70" ) + PORT_DIPSETTING( 0x20, "72" ) + PORT_DIPSETTING( 0x30, "74" ) + PORT_DIPSETTING( 0x40, "76" ) + PORT_DIPSETTING( 0x50, "78" ) + PORT_DIPSETTING( 0x60, "80" ) + PORT_DIPSETTING( 0x70, "82" ) + PORT_DIPSETTING( 0x80, "84" ) + PORT_DIPSETTING( 0x90, "86" ) + PORT_DIPSETTING( 0xa0, "88" ) + PORT_DIPSETTING( 0xb0, "90" ) + PORT_DIPSETTING( 0xc0, "92" ) + PORT_DIPSETTING( 0xd0, "94" ) + PORT_DIPSETTING( 0xe0, "96" ) + PORT_DIPSETTING( 0xf0, "98" ) + + PORT_START("DIL2") + PORT_DIPNAME( 0x01, 0x00, "Token Lockout when full" ) PORT_DIPLOCATION("DIL2:01") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x01, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused )) PORT_DIPLOCATION("DIL2:02") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x02, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x00, "Scottish Coin Handling" ) PORT_DIPLOCATION("DIL2:03")//20p payout + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x04, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x00, "Out of Credit Display Inhibit" ) PORT_DIPLOCATION("DIL2:04") // many games need this 'OFF' to display attract cycles + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x08, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x00, "OCD Audio Enable" ) PORT_DIPLOCATION("DIL2:05") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x10, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x00, "Coin Alarm Inhibit" ) PORT_DIPLOCATION("DIL2:06") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x20, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x00, "Token Refill Level Inhibit" ) PORT_DIPLOCATION("DIL2:07") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x40, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x00, "Single Credit Entry" ) PORT_DIPLOCATION("DIL2:08") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x80, DEF_STR( On ) ) + + PORT_START("AUX1") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_0") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_1") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_2") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_3") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_4") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_5") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_6") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_7") + + PORT_START("AUX2") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_CUSTOM) //Lockouts, in same order as below + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_CUSTOM) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_CUSTOM) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_CUSTOM) + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_COIN1) + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_COIN2) + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_COIN3) + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_COIN4) +INPUT_PORTS_END + +INPUT_PORTS_START( mpu4_impcoin ) + PORT_INCLUDE( mpu4 ) + + PORT_MODIFY("AUX2") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_COIN1) PORT_IMPULSE(4) + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_COIN2) PORT_IMPULSE(4) + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_COIN3) PORT_IMPULSE(4) + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_COIN4) PORT_IMPULSE(4) +INPUT_PORTS_END + +INPUT_PORTS_START( mpu4_invcoin ) + PORT_INCLUDE( mpu4 ) + + PORT_MODIFY("AUX2") + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_COIN1) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_COIN2) + PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_COIN3) + PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_COIN4) +INPUT_PORTS_END + +INPUT_PORTS_START( mpu4_invimpcoin ) + PORT_INCLUDE( mpu4 ) + + PORT_MODIFY("AUX2") + PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_COIN1) PORT_IMPULSE(5) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_COIN2) PORT_IMPULSE(5) + PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_COIN3) PORT_IMPULSE(5) + PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_COIN4) PORT_IMPULSE(5) +INPUT_PORTS_END + +INPUT_PORTS_START( mpu4_cw ) +//Inputs for CoinWorld games + PORT_INCLUDE( mpu4 ) + PORT_MODIFY("DIL1") + PORT_DIPNAME( 0x01, 0x00, "Profile Type" ) PORT_DIPLOCATION("DIL1:01") + PORT_DIPSETTING( 0x00, "Bingo Profile" ) + PORT_DIPSETTING( 0x01, "Arcade" ) + PORT_DIPNAME( 0x02, 0x00, "Accept 2 GBP Coin?" ) PORT_DIPLOCATION("DIL1:02") + PORT_DIPSETTING( 0x00, DEF_STR( No ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x0C, 0x00, "Jackpot" ) PORT_DIPLOCATION("DIL1:03,04") + PORT_DIPSETTING( 0x04, "15 GBP" ) + PORT_DIPSETTING( 0x00, "10 GBP" ) + PORT_DIPSETTING( 0x08, "5 GBP" ) + PORT_DIPNAME( 0x10, 0x00, "Hold Mode" ) PORT_DIPLOCATION("DIL1:05") + PORT_DIPSETTING( 0x00, "Show Hints" ) + PORT_DIPSETTING( 0x10, "Auto Hold" ) + PORT_DIPNAME( 0x20, 0x00, "Coin Mech Type" ) PORT_DIPLOCATION("DIL1:05") + PORT_DIPSETTING( 0x00, "6 Coin" ) + PORT_DIPSETTING( 0x20, "5 Coin" ) + PORT_DIPNAME( 0x40, 0x00, "Reel Motor Type" ) PORT_DIPLOCATION("DIL1:05") + PORT_DIPSETTING( 0x00, "Slim motor" ) + PORT_DIPSETTING( 0x40, "Fat motor" ) + PORT_DIPNAME( 0x80, 0x00, "Payout Tube" ) PORT_DIPLOCATION("DIL1:05") + PORT_DIPSETTING( 0x00, "20p" ) + PORT_DIPSETTING( 0x80, "10p" ) + + PORT_MODIFY("DIL2") + PORT_DIPNAME( 0x07, 0x00, "Stake Setting" ) + PORT_DIPSETTING( 0x00, "Not fitted / 5p" ) + PORT_DIPSETTING( 0x01, "10p" ) + PORT_DIPSETTING( 0x02, "20p" ) + PORT_DIPSETTING( 0x03, "25p" ) + PORT_DIPSETTING( 0x04, "30p" ) + PORT_BIT(0xE0, IP_ACTIVE_HIGH, IPT_UNUSED) +INPUT_PORTS_END + +INPUT_PORTS_START( mpu420p ) + PORT_INCLUDE( mpu4 ) + + PORT_MODIFY("ORANGE1") + PORT_CONFNAME( 0xe0, 0x40, "Stake Key" ) + PORT_CONFSETTING( 0x00, "Not fitted / 5p" ) + PORT_CONFSETTING( 0x20, "10p" ) + PORT_CONFSETTING( 0x40, "20p" ) + PORT_CONFSETTING( 0x60, "25p" ) + PORT_CONFSETTING( 0x80, "30p" ) + PORT_CONFSETTING( 0xa0, "40p" ) + PORT_CONFSETTING( 0xc0, "50p" ) + PORT_CONFSETTING( 0xe0, "1 GBP" ) +INPUT_PORTS_END + + +INPUT_PORTS_START( mpu4jackpot8tkn ) + PORT_INCLUDE( mpu4 ) + + PORT_MODIFY("ORANGE2") + PORT_CONFNAME( 0x0F, 0x06, "Jackpot / Prize Key" ) + PORT_CONFSETTING( 0x00, "Not fitted" ) + PORT_CONFSETTING( 0x01, "3 GBP" ) + PORT_CONFSETTING( 0x02, "4 GBP" ) + PORT_CONFSETTING( 0x08, "5 GBP" ) + PORT_CONFSETTING( 0x03, "6 GBP" ) + PORT_CONFSETTING( 0x04, "6 GBP Token" ) + PORT_CONFSETTING( 0x05, "8 GBP" ) + PORT_CONFSETTING( 0x06, "8 GBP Token" ) + PORT_CONFSETTING( 0x07, "10 GBP" ) + PORT_CONFSETTING( 0x09, "15 GBP" ) + PORT_CONFSETTING( 0x0A, "25 GBP" ) + PORT_CONFSETTING( 0x0B, "25 GBP (Licensed Betting Office Profile)" ) + PORT_CONFSETTING( 0x0C, "35 GBP" ) + PORT_CONFSETTING( 0x0D, "70 GBP" ) + PORT_CONFSETTING( 0x0E, "Reserved" ) + PORT_CONFSETTING( 0x0F, "Reserved" ) +INPUT_PORTS_END + +INPUT_PORTS_START( mpu4jackpot8tkn20p ) + PORT_INCLUDE( mpu4jackpot8tkn ) + + PORT_MODIFY("ORANGE1") + PORT_CONFNAME( 0xe0, 0x40, "Stake Key" ) + PORT_CONFSETTING( 0x00, "Not fitted / 5p" ) + PORT_CONFSETTING( 0x20, "10p" ) + PORT_CONFSETTING( 0x40, "20p" ) + PORT_CONFSETTING( 0x60, "25p" ) + PORT_CONFSETTING( 0x80, "30p" ) + PORT_CONFSETTING( 0xa0, "40p" ) + PORT_CONFSETTING( 0xc0, "50p" ) + PORT_CONFSETTING( 0xe0, "1 GBP" ) +INPUT_PORTS_END + +INPUT_PORTS_START( mpu4jackpot8tkn20p90pc ) + + PORT_INCLUDE( mpu4jackpot8tkn20p ) + + PORT_MODIFY("ORANGE2") + PORT_CONFNAME( 0xf0, 0xb0, "Percentage Key" ) + PORT_CONFSETTING( 0x00, "Not fitted / 68% (Invalid for UK Games)" ) + PORT_CONFSETTING( 0x10, "70" ) + PORT_CONFSETTING( 0x20, "72" ) + PORT_CONFSETTING( 0x30, "74" ) + PORT_CONFSETTING( 0x40, "76" ) + PORT_CONFSETTING( 0x50, "78" ) + PORT_CONFSETTING( 0x60, "80" ) + PORT_CONFSETTING( 0x70, "82" ) + PORT_CONFSETTING( 0x80, "84" ) + PORT_CONFSETTING( 0x90, "86" ) + PORT_CONFSETTING( 0xa0, "88" ) + PORT_CONFSETTING( 0xb0, "90" ) + PORT_CONFSETTING( 0xc0, "92" ) + PORT_CONFSETTING( 0xd0, "94" ) + PORT_CONFSETTING( 0xe0, "96" ) + PORT_CONFSETTING( 0xf0, "98" ) +INPUT_PORTS_END + +INPUT_PORTS_START( mpu4jackpot8per ) + PORT_INCLUDE( mpu4 ) + + PORT_MODIFY("ORANGE2") + PORT_CONFNAME( 0x0f, 0x06, "Jackpot / Prize Key" ) + PORT_CONFSETTING( 0x00, "Not fitted" ) + PORT_CONFSETTING( 0x01, "3 GBP" ) + PORT_CONFSETTING( 0x02, "4 GBP" ) + PORT_CONFSETTING( 0x08, "5 GBP" ) + PORT_CONFSETTING( 0x03, "6 GBP" ) + PORT_CONFSETTING( 0x04, "6 GBP Token" ) + PORT_CONFSETTING( 0x05, "8 GBP" ) + PORT_CONFSETTING( 0x06, "8 GBP Token" ) + PORT_CONFSETTING( 0x07, "10 GBP" ) + PORT_CONFSETTING( 0x09, "15 GBP" ) + PORT_CONFSETTING( 0x0a, "25 GBP" ) + PORT_CONFSETTING( 0x0b, "25 GBP (Licensed Betting Office Profile)" ) + PORT_CONFSETTING( 0x0c, "35 GBP" ) + PORT_CONFSETTING( 0x0d, "70 GBP" ) + PORT_CONFSETTING( 0x0e, "Reserved" ) + PORT_CONFSETTING( 0x0f, "Reserved" ) + + PORT_CONFNAME( 0xf0, 0x10, "Percentage Key" ) + PORT_CONFSETTING( 0x00, "Not fitted / 68% (Invalid for UK Games)" ) + PORT_CONFSETTING( 0x10, "70" ) + PORT_CONFSETTING( 0x20, "72" ) + PORT_CONFSETTING( 0x30, "74" ) + PORT_CONFSETTING( 0x40, "76" ) + PORT_CONFSETTING( 0x50, "78" ) + PORT_CONFSETTING( 0x60, "80" ) + PORT_CONFSETTING( 0x70, "82" ) + PORT_CONFSETTING( 0x80, "84" ) + PORT_CONFSETTING( 0x90, "86" ) + PORT_CONFSETTING( 0xa0, "88" ) + PORT_CONFSETTING( 0xb0, "90" ) + PORT_CONFSETTING( 0xc0, "92" ) + PORT_CONFSETTING( 0xd0, "94" ) + PORT_CONFSETTING( 0xe0, "96" ) + PORT_CONFSETTING( 0xf0, "98" ) +INPUT_PORTS_END + + + + +INPUT_PORTS_START( grtecp ) + PORT_START("ORANGE1") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("00")// 20p level + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("01")// 100p level + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("02")// Token 1 level + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("03")// Token 2 level + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("04") + PORT_CONFNAME( 0xe0, 0x00, "Stake Key" ) + PORT_CONFSETTING( 0x00, "Not fitted / 5p" ) + PORT_CONFSETTING( 0x20, "10p" ) + PORT_CONFSETTING( 0x40, "20p" ) + PORT_CONFSETTING( 0x60, "25p" ) + PORT_CONFSETTING( 0x80, "30p" ) + PORT_CONFSETTING( 0xa0, "40p" ) + PORT_CONFSETTING( 0xc0, "50p" ) + PORT_CONFSETTING( 0xe0, "1 GBP" ) + + PORT_START("ORANGE2") + PORT_CONFNAME( 0x0f, 0x00, "Jackpot / Prize Key" ) + PORT_CONFSETTING( 0x00, "Not fitted" ) + PORT_CONFSETTING( 0x01, "3 GBP" ) + PORT_CONFSETTING( 0x02, "4 GBP" ) + PORT_CONFSETTING( 0x08, "5 GBP" ) + PORT_CONFSETTING( 0x03, "6 GBP" ) + PORT_CONFSETTING( 0x04, "6 GBP Token" ) + PORT_CONFSETTING( 0x05, "8 GBP" ) + PORT_CONFSETTING( 0x06, "8 GBP Token" ) + PORT_CONFSETTING( 0x07, "10 GBP" ) + PORT_CONFSETTING( 0x09, "15 GBP" ) + PORT_CONFSETTING( 0x0a, "25 GBP" ) + PORT_CONFSETTING( 0x0b, "25 GBP (Licensed Betting Office Profile)" ) + PORT_CONFSETTING( 0x0c, "35 GBP" ) + PORT_CONFSETTING( 0x0d, "70 GBP" ) + PORT_CONFSETTING( 0x0e, "Reserved" ) + PORT_CONFSETTING( 0x0f, "Reserved" ) + + PORT_CONFNAME( 0xf0, 0x00, "Percentage Key" ) + PORT_CONFSETTING( 0x00, "As Option Switches" ) + PORT_CONFSETTING( 0x10, "70" ) + PORT_CONFSETTING( 0x20, "72" ) + PORT_CONFSETTING( 0x30, "74" ) + PORT_CONFSETTING( 0x40, "76" ) + PORT_CONFSETTING( 0x50, "78" ) + PORT_CONFSETTING( 0x60, "80" ) + PORT_CONFSETTING( 0x70, "82" ) + PORT_CONFSETTING( 0x80, "84" ) + PORT_CONFSETTING( 0x90, "86" ) + PORT_CONFSETTING( 0xa0, "88" ) + PORT_CONFSETTING( 0xb0, "90" ) + PORT_CONFSETTING( 0xc0, "92" ) + PORT_CONFSETTING( 0xd0, "94" ) + PORT_CONFSETTING( 0xe0, "96" ) + PORT_CONFSETTING( 0xf0, "98" ) + + PORT_START("BLACK1") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Test Button") PORT_CODE(KEYCODE_W) + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Refill Key") PORT_CODE(KEYCODE_R) PORT_TOGGLE + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_INTERLOCK) PORT_NAME("Cashbox (Back) Door") PORT_CODE(KEYCODE_Q) PORT_TOGGLE + + PORT_START("BLACK2") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Collect/Cancel") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Hold 1") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Hold 2") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("Hold 3") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_NAME("Hi") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_NAME("Lo") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_BUTTON7) PORT_NAME("Exchange") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_START1) + + PORT_START("DIL1") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:01") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x01, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:02") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x02, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:03") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x04, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:04") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x08, DEF_STR( On ) ) + PORT_DIPNAME( 0xf0, 0x00, "Target Percentage (if key not fitted)" )PORT_DIPLOCATION("DIL1:05,06,07,08") + PORT_DIPSETTING( 0x00, "Unset (Program Optimum)" ) + PORT_DIPSETTING( 0x10, "70" ) + PORT_DIPSETTING( 0x20, "72" ) + PORT_DIPSETTING( 0x30, "74" ) + PORT_DIPSETTING( 0x40, "76" ) + PORT_DIPSETTING( 0x50, "78" ) + PORT_DIPSETTING( 0x60, "80" ) + PORT_DIPSETTING( 0x70, "82" ) + PORT_DIPSETTING( 0x80, "84" ) + PORT_DIPSETTING( 0x90, "86" ) + PORT_DIPSETTING( 0xa0, "88" ) + PORT_DIPSETTING( 0xb0, "90" ) + PORT_DIPSETTING( 0xc0, "92" ) + PORT_DIPSETTING( 0xd0, "94" ) + PORT_DIPSETTING( 0xe0, "96" ) + PORT_DIPSETTING( 0xf0, "98" ) + + PORT_START("DIL2") + PORT_DIPNAME( 0x01, 0x00, "Token Lockout when full" ) PORT_DIPLOCATION("DIL2:01") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x01, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused )) PORT_DIPLOCATION("DIL2:02") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x02, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x00, "Scottish Coin Handling" ) PORT_DIPLOCATION("DIL2:03")//20p payout + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x04, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x00, "Out of Credit Display Inhibit" ) PORT_DIPLOCATION("DIL2:04") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x08, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x00, "OCD Audio Enable" ) PORT_DIPLOCATION("DIL2:05") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x10, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x00, "Coin Alarm Inhibit" ) PORT_DIPLOCATION("DIL2:06") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x20, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x00, "Token Refill Level Inhibit" ) PORT_DIPLOCATION("DIL2:07") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x40, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x00, "Single Credit Entry" ) PORT_DIPLOCATION("DIL2:08") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x80, DEF_STR( On ) ) + + PORT_START("AUX1") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("0") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("1") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("2") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("3") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("4") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("5") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("6") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("7") + + PORT_START("AUX2") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_CUSTOM) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_CUSTOM) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_CUSTOM) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_CUSTOM) + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_COIN1) PORT_NAME("10p")//PORT_IMPULSE(5) + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_COIN2) PORT_NAME("20p")//PORT_IMPULSE(5) + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_COIN3) PORT_NAME("50p")//PORT_IMPULSE(5) + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_COIN4) PORT_NAME("100p")//PORT_IMPULSE(5) +INPUT_PORTS_END + + + +/* Common configurations */ + +void mpu4_state::mpu4_ym2413_w(offs_t offset, uint8_t data) +{ + if (m_ym2413) m_ym2413->write(offset,data); +} + +uint8_t mpu4_state::mpu4_ym2413_r(offs_t offset) +{ +// if (m_ym2413) return m_ym2413->read(offset); + return 0xff; +} + + +void mpu4_state::mpu4_install_mod4yam_space(address_space &space) +{ + space.install_read_handler(0x0880, 0x0882, read8sm_delegate(*this, FUNC(mpu4_state::mpu4_ym2413_r))); + space.install_write_handler(0x0880, 0x0881, write8sm_delegate(*this, FUNC(mpu4_state::mpu4_ym2413_w))); +} + +void mpu4_state::mpu4_install_mod4oki_space(address_space &space) +{ + pia6821_device *const pia_ic4ss = subdevice("pia_ic4ss"); + + space.install_readwrite_handler(0x0880, 0x0883, read8sm_delegate(*pia_ic4ss, FUNC(pia6821_device::read)), write8sm_delegate(*pia_ic4ss, FUNC(pia6821_device::write))); + space.install_read_handler(0x08c0, 0x08c7, read8sm_delegate(*m_ptm_ic3ss, FUNC(ptm6840_device::read))); + space.install_write_handler(0x08c0, 0x08c7, write8sm_delegate(*this, FUNC(mpu4_state::ic3ss_w))); +} + +void mpu4_state::mpu4_install_mod4bwb_space(address_space &space) +{ +// space.install_readwrite_handler(0x0810, 0x0810, read8sm_delegate(*this, FUNC(mpu4_state::bwb_characteriser_r)), write8sm_delegate(*this, FUNC(mpu4_state::bwb_characteriser_w))); + mpu4_install_mod4oki_space(space); +} + + +void mpu4_state::mpu4_config_common() +{ + m_lamps.resolve(); + m_mpu4leds.resolve(); + m_digits.resolve(); + m_triacs.resolve(); + + m_ic24_timer = timer_alloc(FUNC(mpu4_state::update_ic24), this); + m_lamp_strobe_ext_persistence = 0; +} + +MACHINE_START_MEMBER(mpu4_state,mod2) +{ + mpu4_config_common(); + + m_link7a_connected=0; + m_mod_number=2; +} + +MACHINE_START_MEMBER(mpu4_state,mpu4yam) +{ + address_space &space = m_maincpu->space(AS_PROGRAM); + mpu4_config_common(); + + m_link7a_connected=0; + m_mod_number=4; + mpu4_install_mod4yam_space(space); +} + +MACHINE_START_MEMBER(mpu4_state,mpu4oki) +{ + address_space &space = m_maincpu->space(AS_PROGRAM); + mpu4_config_common(); + + m_link7a_connected=0; + m_mod_number=4; + mpu4_install_mod4oki_space(space); +} + +MACHINE_START_MEMBER(mpu4_state,mpu4bwb) +{ + address_space &space = m_maincpu->space(AS_PROGRAM); + mpu4_config_common(); + + m_link7a_connected=0; + m_mod_number=4; + mpu4_install_mod4bwb_space(space); +} + +MACHINE_START_MEMBER(mpu4_state,mpu4cry) +{ + mpu4_config_common(); + + m_link7a_connected=0; + m_mod_number=4; +} + + + +void mpu4_state::init_m4_low_volt_alt() +{ + //Some games can't use the 50Hz circuit to check voltage issues, handle it here + m_low_volt_detect_disable = 1; +} + +void mpu4_state::init_m4_small_extender() +{ + m_lamp_extender = SMALL_CARD; +} + + + +void mpu4_state::init_m4_large_extender_b() +{ + m_lamp_extender = LARGE_CARD_B; +} + +void mpu4_state::init_m4_large_extender_c() +{ + m_lamp_extender = LARGE_CARD_C; +} + +void mpu4_state::init_m4_hopper_tubes() +{ + m_hopper = TUBES; +} + +void mpu4_state::init_m4_hopper_duart_a() +{ + m_hopper = HOPPER_DUART_A; +} + +void mpu4_state::init_m4_hopper_duart_b() +{ + m_hopper = HOPPER_DUART_B; +} + +void mpu4_state::init_m4_hopper_duart_c() +{ + m_hopper = HOPPER_DUART_C; +} + +void mpu4_state::init_m4_hopper_nonduart_a() +{ + m_hopper = HOPPER_NONDUART_A; +} + +void mpu4_state::init_m4_hopper_nonduart_b() +{ + m_hopper = HOPPER_NONDUART_B; +} + +void mpu4_state::init_m4_led_a() +{ + m_led_extender = CARD_A; +} + +void mpu4_state::init_m4_led_b() +{ + m_led_extender = CARD_B; +} + +void mpu4_state::init_m4_led_c() +{ + m_led_extender = CARD_C; +} + +void mpu4_state::init_m4_led_simple() +{ + m_led_extender = SIMPLE_CARD; +} + +//TODO: Replace with standard six reels once sets are sorted out - is really six_reel_std +void mpu4_state::init_m4altreels() +{ + m_reel_mux = SIX_REEL_1TO8; + m_reels = 6; + init_m4default_banks(); +} + +void mpu4_state::init_m4altreels_big() +{ + init_m4default_big(); + m_reel_mux = SIX_REEL_1TO8; + m_reels = 6; +} + +void mpu4_state::init_m4default_reels() +{ + m_reel_mux = STANDARD_REEL; + m_reels = 4; +} + +void mpu4_state::init_m4_five_reel_std() +{ + m_reel_mux = FIVE_REEL_5TO8; + m_reels = 5; +} + +void mpu4_state::init_m4_five_reel_rev() +{ + m_reel_mux = FIVE_REEL_8TO5; + m_reels = 5; +} + +void mpu4_state::init_m4_five_reel_alt() +{ + m_reel_mux = FIVE_REEL_3TO6; + m_reels = 5; +} + +void mpu4_state::init_m4_six_reel_std() +{ + m_reel_mux = SIX_REEL_1TO8; + m_reels = 6; +} + +void mpu4_state::init_m4_six_reel_alt() +{ + m_reel_mux = SIX_REEL_5TO8; + m_reels = 6; +} + +void mpu4_state::init_m4_seven_reel() +{ + m_reel_mux = SEVEN_REEL; + m_reels = 7; +} + + +void mpu4_state::init_m4_andycp10c() +{ + init_m4default(); + init_m4_small_extender(); +} + +void mpu4_state::init_m_oldtmr() +{ + init_m4_six_reel_std(); + init_m4default_banks(); +} + + + + +void mpu4_state::init_m_blsbys() +{ + init_m4default_big(); + init_m4_five_reel_std(); +} + +void mpu4_state::init_big_extenda() +{ + init_m4default_big(); + m_lamp_extender = LARGE_CARD_A; +} + +void mpu4_state::init_m4default_big_low() +{ + init_m4default_big(); + m_default_to_low_bank = true; +} + + +void mpu4_state::init_m4default_banks() +{ + //Initialise paging for non-extended ROM space + uint8_t *rom = memregion("maincpu")->base(); + membank("bank1")->configure_entries(0, 4, &rom[0x01000], 0x10000); + membank("bank1")->set_entry(0); +} + +void mpu4_state::init_m4default_alt() +{ + m_reel_mux = STANDARD_REEL; + m_reels = 8; + init_m4default_banks(); + + m_bwb_bank=0; +} + +void mpu4_state::init_m4default() +{ + init_m4default_reels(); + m_bwb_bank = 0; + init_m4default_banks(); +} + + +void mpu4_state::init_m4default_big() +{ + init_m4default_reels(); + + int size = memregion("maincpu")->bytes(); + if (size <= 0x10000) + { + fatalerror("Error: Extended banking selected on set <=0x10000 in size\n"); + } + + address_space &space = m_maincpu->space(AS_PROGRAM); + + m_bwb_bank = 1; + space.install_write_handler(0x0858, 0x0858, write8smo_delegate(*this, FUNC(mpu4_state::bankswitch_w))); + space.install_write_handler(0x0878, 0x0878, write8smo_delegate(*this, FUNC(mpu4_state::bankset_w))); + uint8_t *rom = memregion("maincpu")->base(); + + m_numbanks = size / 0x10000; + m_bank1->configure_entries(0, m_numbanks, &rom[0x01000], 0x10000); + m_numbanks--; + + // some Bwb games must default to the last bank, does anything not like this + // behavior? + // some Bwb games don't work anyway tho, they seem to dislike something else + // about the way the regular banking behaves, not related to the CB2 stuff + m_bank1->set_entry(m_numbanks); + +} + +uint8_t mpu4_state::crystal_sound_r() +{ + return machine().rand(); +} +//this may be a YMZ280B +void mpu4_state::crystal_sound_w(uint8_t data) +{ + logerror("crystal_sound_w %02x\n",data); +} + +void mpu4_state::init_m_frkstn() +{ + address_space &space = m_maincpu->space(AS_PROGRAM); + init_m4default(); + space.install_read_handler(0x0880, 0x0880, read8smo_delegate(*this, FUNC(mpu4_state::crystal_sound_r))); + space.install_write_handler(0x0881, 0x0881, write8smo_delegate(*this, FUNC(mpu4_state::crystal_sound_w))); +} + +// thanks to Project Amber for descramble information +static void descramble_crystal( uint8_t* region, int start, int end, uint8_t extra_xor) +{ + for (int i=start;i( x^0xca , 3,2,1,0,7,4,6,5 ); break; + case 0x10: x = bitswap<8>( x^0x30 , 3,0,4,6,1,5,7,2 ); break; + case 0x18: x = bitswap<8>( x^0x89 , 4,1,2,5,7,0,6,3 ); break; + case 0x40: x = bitswap<8>( x^0x14 , 6,1,4,3,2,5,0,7 ); break; + case 0x48: x = bitswap<8>( x^0x40 , 1,0,3,2,5,4,7,6 ); break; + case 0x50: x = bitswap<8>( x^0xcb , 3,2,1,0,7,6,5,4 ); break; + case 0x58: x = bitswap<8>( x^0xc0 , 2,3,6,0,5,1,7,4 ); break; + } + region[i] = x ^ extra_xor; + } +} + + +void mpu4_state::init_crystal() +{ + init_m_frkstn(); + descramble_crystal(memregion( "maincpu" )->base(), 0x0000, 0x10000, 0x00); +} + +void mpu4_state::init_crystali() +{ + init_m_frkstn(); + descramble_crystal(memregion( "maincpu" )->base(), 0x0000, 0x10000, 0xff); // invert after decrypt?! +} + +/* generate a 50 Hz signal (based on an RC time) */ +TIMER_DEVICE_CALLBACK_MEMBER(mpu4_state::gen_50hz) +{ + if (!m_low_volt_detect_disable) + { + /* Although reported as a '50Hz' signal, the fact that both rising and + falling edges of the pulse are used means the timer actually gives a 100Hz + oscillating signal.*/ + m_signal_50hz = m_signal_50hz?0:1; + m_pia4->ca1_w(m_signal_50hz); /* signal is connected to IC4 CA1 */ + } + update_meters();//run at 100Hz to sync with PIAs +} + + +void mpu4_state::mpu4_memmap(address_map &map) +{ + map(0x0000, 0x07ff).ram().share("nvram"); +// map(0x0800, 0x081f) // optional protection device lives here, see other maps + map(0x0850, 0x0850).rw(FUNC(mpu4_state::bankswitch_r), FUNC(mpu4_state::bankswitch_w)); /* write bank (rom page select) */ + map(0x08e0, 0x08ef).rw(m_duart68681, FUNC(mc68681_device::read), FUNC(mc68681_device::write)); //Runs hoppers + map(0x08ed, 0x08ed).r(FUNC(mpu4_state::hack_duart_r)); // hack until the hopper is hooked up to the duart in games wanting that setup (eg m4ready) + map(0x0900, 0x0907).rw(m_6840ptm, FUNC(ptm6840_device::read), FUNC(ptm6840_device::write));/* PTM6840 IC2 */ + map(0x0a00, 0x0a03).rw(m_pia3, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); /* PIA6821 IC3 */ + map(0x0b00, 0x0b03).rw(m_pia4, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); /* PIA6821 IC4 */ + map(0x0c00, 0x0c03).rw(m_pia5, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); /* PIA6821 IC5 */ + map(0x0d00, 0x0d03).rw(m_pia6, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); /* PIA6821 IC6 */ + map(0x0e00, 0x0e03).rw(m_pia7, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); /* PIA6821 IC7 */ + map(0x0f00, 0x0f03).rw(m_pia8, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); /* PIA6821 IC8 */ + map(0x1000, 0xffff).bankr("bank1"); /* 64k paged ROM (4 pages) */ +} + +void mpu4_state::mpu4_memmap_characteriser(address_map &map) +{ + mpu4_memmap(map); + map(0x0800, 0x0810).rw(m_characteriser, FUNC(mpu4_characteriser_pal::read), FUNC(mpu4_characteriser_pal::write)); +} + +void mpu4_state::mpu4_memmap_bootleg_characteriser(address_map &map) +{ + mpu4_memmap(map); + map(0x0800, 0x087f).rw(m_characteriser_bl, FUNC(mpu4_characteriser_bl::read), FUNC(mpu4_characteriser_bl::write)); +} + +void mpu4_state::mpu4_memmap_bl_characteriser_blastbank(address_map &map) +{ + mpu4_memmap(map); + map(0x0800, 0x081f).rw(m_characteriser_blastbank, FUNC(mpu4_characteriser_bl_blastbank::read), FUNC(mpu4_characteriser_bl_blastbank::write)); +} + +void mpu4_state::mpu4_memmap_characteriser_bwb(address_map &map) +{ + mpu4_memmap(map); + map(0x0800, 0x083f).rw(m_characteriser_bwb, FUNC(mpu4_characteriser_pal_bwb::read), FUNC(mpu4_characteriser_pal_bwb::write)); +} + + + +template +void mpu4_state::mpu4_add_reel(machine_config &config) +{ + switch (Type) + { + default: + case 0x00: REEL(config, m_reel[ReelNo], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); break; + case 0x01: REEL(config, m_reel[ReelNo], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); break; + case 0x02: REEL(config, m_reel[ReelNo], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); break; + case 0x03: REEL(config, m_reel[ReelNo], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); break; + case 0x04: REEL(config, m_reel[ReelNo], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); break; // BWB + } + + if (m_reel[ReelNo]) + m_reel[ReelNo]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb)); +} + +template +void mpu4_state::mpu4_reels(machine_config &config) +{ + if (NumberOfReels>0) mpu4_add_reel<0, Type>(config); + if (NumberOfReels>1) mpu4_add_reel<1, Type>(config); + if (NumberOfReels>2) mpu4_add_reel<2, Type>(config); + if (NumberOfReels>3) mpu4_add_reel<3, Type>(config); + if (NumberOfReels>4) mpu4_add_reel<4, Type>(config); + if (NumberOfReels>5) mpu4_add_reel<5, Type>(config); + if (NumberOfReels>6) mpu4_add_reel<6, Type>(config); + if (NumberOfReels>7) mpu4_add_reel<7, Type>(config); +} + +void mpu4_state::mpu4_common(machine_config &config) +{ + TIMER(config, "50hz").configure_periodic(FUNC(mpu4_state::gen_50hz), attotime::from_hz(100)); + + MSC1937(config, m_vfd); + /* 6840 PTM */ + PTM6840(config, m_6840ptm, MPU4_MASTER_CLOCK / 4); + m_6840ptm->set_external_clocks(0, 0, 0); + m_6840ptm->o1_callback().set(FUNC(mpu4_state::ic2_o1_callback)); + m_6840ptm->o2_callback().set(FUNC(mpu4_state::ic2_o2_callback)); + m_6840ptm->o3_callback().set(FUNC(mpu4_state::ic2_o3_callback)); + m_6840ptm->irq_callback().set(FUNC(mpu4_state::cpu0_irq)); + + PIA6821(config, m_pia3, 0); + m_pia3->writepa_handler().set(FUNC(mpu4_state::pia_ic3_porta_w)); + m_pia3->writepb_handler().set(FUNC(mpu4_state::pia_ic3_portb_w)); + m_pia3->ca2_handler().set(FUNC(mpu4_state::pia_ic3_ca2_w)); + m_pia3->cb2_handler().set(FUNC(mpu4_state::pia_ic3_cb2_w)); + m_pia3->irqa_handler().set(FUNC(mpu4_state::cpu0_irq)); + m_pia3->irqb_handler().set(FUNC(mpu4_state::cpu0_irq)); + + PIA6821(config, m_pia4, 0); + m_pia4->readpb_handler().set(FUNC(mpu4_state::pia_ic4_portb_r)); + m_pia4->writepa_handler().set(FUNC(mpu4_state::pia_ic4_porta_w)); + m_pia4->writepb_handler().set(FUNC(mpu4_state::pia_ic4_portb_w)); + m_pia4->ca2_handler().set(FUNC(mpu4_state::pia_ic4_ca2_w)); + m_pia4->cb2_handler().set(FUNC(mpu4_state::pia_ic4_cb2_w)); + m_pia4->irqa_handler().set(FUNC(mpu4_state::cpu0_irq)); + m_pia4->irqb_handler().set(FUNC(mpu4_state::cpu0_irq)); + + PIA6821(config, m_pia5, 0); + m_pia5->readpa_handler().set(FUNC(mpu4_state::pia_ic5_porta_r)); + m_pia5->readpb_handler().set(FUNC(mpu4_state::pia_ic5_portb_r)); + m_pia5->writepa_handler().set(FUNC(mpu4_state::pia_ic5_porta_w)); + m_pia5->writepb_handler().set(FUNC(mpu4_state::pia_ic5_portb_w)); + m_pia5->ca2_handler().set(FUNC(mpu4_state::pia_ic5_ca2_w)); + m_pia5->cb2_handler().set(FUNC(mpu4_state::pia_ic5_cb2_w)); + m_pia5->irqa_handler().set(FUNC(mpu4_state::cpu0_irq)); + m_pia5->irqb_handler().set(FUNC(mpu4_state::cpu0_irq)); + + PIA6821(config, m_pia6, 0); + m_pia6->writepa_handler().set(FUNC(mpu4_state::pia_ic6_porta_w)); + m_pia6->writepb_handler().set(FUNC(mpu4_state::pia_ic6_portb_w)); + m_pia6->ca2_handler().set(FUNC(mpu4_state::pia_ic6_ca2_w)); + m_pia6->cb2_handler().set(FUNC(mpu4_state::pia_ic6_cb2_w)); + m_pia6->irqa_handler().set(FUNC(mpu4_state::cpu0_irq)); + m_pia6->irqb_handler().set(FUNC(mpu4_state::cpu0_irq)); + + PIA6821(config, m_pia7, 0); + m_pia7->readpb_handler().set(FUNC(mpu4_state::pia_ic7_portb_r)); + m_pia7->writepa_handler().set(FUNC(mpu4_state::pia_ic7_porta_w)); + m_pia7->writepb_handler().set(FUNC(mpu4_state::pia_ic7_portb_w)); + m_pia7->ca2_handler().set(FUNC(mpu4_state::pia_ic7_ca2_w)); + m_pia7->cb2_handler().set(FUNC(mpu4_state::pia_ic7_cb2_w)); + m_pia7->irqa_handler().set(FUNC(mpu4_state::cpu0_irq)); + m_pia7->irqb_handler().set(FUNC(mpu4_state::cpu0_irq)); + + PIA6821(config, m_pia8, 0); + m_pia8->readpa_handler().set(FUNC(mpu4_state::pia_ic8_porta_r)); + m_pia8->writepb_handler().set(FUNC(mpu4_state::pia_ic8_portb_w)); + m_pia8->ca2_handler().set(FUNC(mpu4_state::pia_ic8_ca2_w)); + m_pia8->cb2_handler().set(FUNC(mpu4_state::pia_ic8_cb2_w)); + m_pia8->irqa_handler().set(FUNC(mpu4_state::cpu0_irq)); + m_pia8->irqb_handler().set(FUNC(mpu4_state::cpu0_irq)); + + METERS(config, m_meters, 0).set_number(8); + + BACTA_DATALOGGER(config, m_dataport, 0); + m_dataport->rxd_handler().set(FUNC(mpu4_state::dataport_rxd)); +} + +void mpu4_state::mpu4_common2(machine_config &config) +{ + PTM6840(config, m_ptm_ic3ss, MPU4_MASTER_CLOCK / 4); + m_ptm_ic3ss->set_external_clocks(0, 0, 0); + m_ptm_ic3ss->o1_callback().set("ptm_ic3ss", FUNC(ptm6840_device::set_c2)); + m_ptm_ic3ss->o2_callback().set("ptm_ic3ss", FUNC(ptm6840_device::set_c1)); + m_ptm_ic3ss->o3_callback().set("ptm_ic3ss", FUNC(ptm6840_device::set_g1)); + + PIA6821(config, m_pia_ic4ss, 0); + m_pia_ic4ss->readpb_handler().set(FUNC(mpu4_state::pia_gb_portb_r)); + m_pia_ic4ss->writepa_handler().set(FUNC(mpu4_state::pia_gb_porta_w)); + m_pia_ic4ss->writepb_handler().set(FUNC(mpu4_state::pia_gb_portb_w)); + m_pia_ic4ss->ca2_handler().set(FUNC(mpu4_state::pia_gb_ca2_w)); + m_pia_ic4ss->cb2_handler().set(FUNC(mpu4_state::pia_gb_cb2_w)); +} + +/*********************************************************************************************** + + Base config with no sound + +***********************************************************************************************/ + +void mpu4_state::mpu4base(machine_config &config) +{ + MCFG_MACHINE_START_OVERRIDE(mpu4_state,mod2) + MCFG_MACHINE_RESET_OVERRIDE(mpu4_state,mpu4) + MC6809(config, m_maincpu, MPU4_MASTER_CLOCK); // MC68B09P + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap); + + mpu4_common(config); + + SPEAKER(config, "lspeaker").front_left(); + SPEAKER(config, "rspeaker").front_right(); + + NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); + + MC68681(config, m_duart68681, MPU4_MASTER_CLOCK); // ? + + config.set_default_layout(layout_mpu4); +} + +/*********************************************************************************************** + + Configs for Mod2 + + TODO: mod2 should eventually become a subclass -ROM_START( m4ccc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ccc12.bin", 0x8000, 0x008000, CRC(570cc766) SHA1(036c95ff6428ab38cceb0537dcc990be78fb331a) ) +***********************************************************************************************/ - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - ROM_LOAD( "criss cross crazy sound,27c2001", 0x0000, 0x040000, CRC(1994c509) SHA1(2bbe91a43aa9953b7776faf67e81e30a4f7b7cb2) ) -ROM_END +void mpu4_state::mod2(machine_config &config) +{ + mpu4base(config); + AY8913(config, m_ay8913, MPU4_MASTER_CLOCK/4); + m_ay8913->set_flags(AY8910_SINGLE_OUTPUT); + m_ay8913->set_resistors_load(820, 0, 0); + m_ay8913->add_route(ALL_OUTPUTS, "lspeaker", 1.0); + m_ay8913->add_route(ALL_OUTPUTS, "rspeaker", 1.0); + mpu4_reels<0, 6>(config); +} +void mpu4_state::mod2_cheatchr_table(machine_config &config, const uint8_t* table) +{ + mod2(config); -ROM_START( m4treel ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "trgv1.1s", 0x0000, 0x010000, CRC(a9c76b08) SHA1(a5b3bc980eb58e346cb02d8ca43401f304e5b6de) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) -ROM_END + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); -ROM_START( m4treela ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "trgv1.1b", 0x0000, 0x020000, CRC(7eaebef6) SHA1(5ab86329041e7df09cc2e3ce8d5afd44d88c246c) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) -ROM_END + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("maincpu"); + m_characteriser->set_allow_6809_cheat(true); + m_characteriser->set_lamp_table(table); +} +void mpu4_state::mod2_chr(machine_config &config) +{ + mod2(config); + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); -ROM_START( m4unkjok ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "joker 10p 3.bin", 0x0000, 0x010000, CRC(009823ac) SHA1(5ab25da5876c87a8d8701f84446bb3d377e4c1ca) ) -ROM_END + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); +} -ROM_START( m4unkjoka ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "joker 10p 6.bin", 0x0000, 0x010000, CRC(f25f0704) SHA1(35298b49f79c5029277f4777fe88d5e4344c115f) ) -ROM_END +void mpu4_state::mod2_cheatchr(machine_config &config) +{ + mod2_cheatchr_table(config, nullptr); +} -ROM_START( m4unkjokb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "joker 20p 3 or 6.bin", 0x0000, 0x010000, CRC(cae4397e) SHA1(53b61fd41c97a6ed29ce6a7b555e061ecf2b0ae2) ) -ROM_END -ROM_START( m4unkjokc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "joker new 20p 6 or 3.bin", 0x0000, 0x010000, CRC(b8d77b97) SHA1(54f69823bb3fd9c2cca014dc7c51913b2d6c8058) ) -ROM_END +void mpu4_state::mod2_chr_blastbnk(machine_config &config) +{ + mod2(config); -ROM_START( m4remag ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "remagv2", 0x0000, 0x010000, CRC(80d9c1c2) SHA1(c77d443d92084c324ef75575acca66ffbd9beef3) ) -ROM_END + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_bl_characteriser_blastbank); -ROM_START( m4rmg ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "rmgicdd", 0x0000, 0x010000, CRC(bd64be0d) SHA1(772b80619c7d514a7a253f35137896d6a73bf4c6) ) -ROM_END + MPU4_CHARACTERISER_BL_BLASTBANK(config, m_characteriser_blastbank, 0); +} -ROM_START( m4wnud ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "wnudge.bin", 0x8000, 0x008000, CRC(1d935575) SHA1(c4177c41473c0fb511e0ee035961f55ad43be14d) ) -ROM_END +void mpu4_state::mod2_chr_copcash(machine_config &config) +{ + mod2(config); -ROM_START( m4t266 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "t2 66.bin", 0x0000, 0x010000, CRC(5c99c6bb) SHA1(7b74e0e5207c00b31cb1859e0cc458c0412a1a07) ) -ROM_END + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_bl_characteriser_blastbank); -ROM_START( m4brnze ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "bv25", 0x0000, 0x010000, CRC(5c66f460) SHA1(c7587a6e992549ad8814f77c65b33a17a3641431) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) -ROM_END + MPU4_CHARACTERISER_BL_BLASTBANK(config, m_characteriser_blastbank, 0); + m_characteriser_blastbank->set_retxor(0x03); -ROM_START( m4brnzea ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "bv25v2", 0x0000, 0x010000, CRC(a675edb3) SHA1(a3c6ee6a0bfb301fed72b45ee8e363d77b8b8dbb) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) -ROM_END +} -ROM_START( m4brnzeb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "bv55", 0x0000, 0x010000, CRC(93905bc9) SHA1(e8d3cd125dced43fc2cf23cbccc59110561d2a40) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) -ROM_END -ROM_START( m4riotrp ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "drt10.bin", 0x0000, 0x010000, CRC(a1badb8a) SHA1(871786ea4e65ecbf61c9a776100321253922d11e) ) +// alt reel setup - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) - ROM_LOAD( "dblcsnd.bin", 0x0000, 0x080000, CRC(c90fa8ad) SHA1(a98f03d4b6f5892333279bff7537d4d6d887da62) ) -ROM_END +void mpu4_state::mod2_alt(machine_config &config) +{ + mpu4base(config); + AY8913(config, m_ay8913, MPU4_MASTER_CLOCK/4); + m_ay8913->set_flags(AY8910_SINGLE_OUTPUT); + m_ay8913->set_resistors_load(820, 0, 0); + m_ay8913->add_route(ALL_OUTPUTS, "lspeaker", 1.0); + m_ay8913->add_route(ALL_OUTPUTS, "rspeaker", 1.0); + mpu4_reels<1, 6>(config); +} +void mpu4_state::mod2_alt_cheatchr_table(machine_config &config, const uint8_t* table) +{ + mod2_alt(config); + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("maincpu"); + m_characteriser->set_allow_6809_cheat(true); + m_characteriser->set_lamp_table(table); +} +void mpu4_state::mod2_alt_cheatchr(machine_config &config) +{ + mod2_alt_cheatchr_table(config, nullptr); +} +/*********************************************************************************************** + Configs for Mod4 with YM + TODO: mod4yam should eventually become a subclass +***********************************************************************************************/ +void mpu4_state::mod4yam(machine_config &config) +{ + mpu4base(config); + MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4yam) + mpu4_reels<0, 6>(config); + YM2413(config, m_ym2413, MPU4_MASTER_CLOCK/4); + m_ym2413->add_route(ALL_OUTPUTS, "lspeaker", 1.0); + m_ym2413->add_route(ALL_OUTPUTS, "rspeaker", 1.0); +} +void mpu4_state::mod4yam_chr(machine_config &config) +{ + mod4yam(config); + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); +} -#define M4SURF_EXTRAS \ - ROM_REGION( 0x200000, "msm6376", 0 ) \ - ROM_LOAD( "s_surf.sn1", 0x000000, 0x080000, CRC(f20a7d69) SHA1(7887230613b497dc71a60125dd1e265ebbc8eb23) ) \ - ROM_LOAD( "s_surf.sn2", 0x080000, 0x080000, CRC(6c4a9074) SHA1(3b993120156677de893e5dc1e0c5d6e0285c5570) ) +void mpu4_state::mod4yam_cheatchr_table(machine_config& config, const uint8_t* table) +{ + mod4yam(config); -ROM_START( m4surf ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "s_surfin._pound5", 0x0000, 0x020000, CRC(5f800636) SHA1(5b1789890eea44e5275e13f360876374d862935f) ) - M4SURF_EXTRAS -ROM_END + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); -ROM_START( m4surfa ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "s_surfin.upd", 0x0000, 0x020000, CRC(d0bef9cd) SHA1(9d53bfe8d928b190202bf747c0d7bb4cc0ae0efd) ) - M4SURF_EXTRAS -ROM_END + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("maincpu"); + m_characteriser->set_allow_6809_cheat(true); + m_characteriser->set_lamp_table(table); +} -ROM_START( m4surfb ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "s_surfin._pound15", 0x0000, 0x020000, CRC(eabce7fd) SHA1(4bb2bbcc7d2917eca72385a21ab85d2d94a882ec) ) - M4SURF_EXTRAS -ROM_END +void mpu4_state::mod4yam_cheatchr(machine_config &config) +{ + mod4yam_cheatchr_table(config, nullptr); +} -ROM_START( m4wife ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "moy_wife.p1", 0x0000, 0x020000, CRC(293d35a6) SHA1(980a28ca5e9ec3ca2e1a5b34f658b622dca4cf50) ) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) - // missing? -ROM_END - -#define M4BLKGD_EXTRAS \ - ROM_REGION( 0x200000, "msm6376", 0 ) \ - ROM_LOAD( "blackgoldsnd1.bin", 0x000000, 0x080000, CRC(d251b59e) SHA1(960b81b87f0fb5000028c863892a273362cb897f) ) \ - ROM_LOAD( "blackgoldsnd2.bin", 0x080000, 0x080000, CRC(87cbcd1e) SHA1(a6cd186af7c5682e216f549b77735b9bf1b985ae) ) \ - ROM_LOAD( "blackgoldsnd3.bin", 0x100000, 0x080000, CRC(258f7b83) SHA1(a6df577d98ade8c5c5ff68ef891667e65e83ac17) ) -ROM_START( m4blkgd ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "blackgoldprg.bin", 0x0000, 0x080000, CRC(a04736b2) SHA1(9e060cc79e7922b38115f1412ed76f8c76deb917) ) - M4BLKGD_EXTRAS -ROM_END +/*********************************************************************************************** -//Early rom banks empty? May need different loading -ROM_START( m4blkgda ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "blackgoldversion2.4.bin", 0x0000, 0x040000, CRC(fad4e360) SHA1(23c6a13e8d1ca307b0ef22edffed536675985aca) ) - M4BLKGD_EXTRAS -ROM_END + Configs for Mod4 with OKI -#define M4ZILL_EXTRAS \ - ROM_REGION( 0x200000, "msm6376", 0 ) \ - ROM_LOAD( "zillsnd.bin", 0x0000, 0x080000, CRC(171ed677) SHA1(25d63f4d9c64f13bec4feffa265c5b0c5f6be4ec) ) + TODO: mod4oki should eventually become a subclass -ROM_START( m4zill ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "zillprgh.bin", 0x0000, 0x080000, CRC(6f831f6d) SHA1(6ab6d7f1752d27bc216bc11533b90178ce188715) ) - M4ZILL_EXTRAS -ROM_END +***********************************************************************************************/ -ROM_START( m4zilla ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "zillprog.bin", 0x0000, 0x080000, CRC(0f730bab) SHA1(3ea82c8f7d62c70897a5c132273820c9f192cd72) ) - M4ZILL_EXTRAS -ROM_END +// standard reel setup +void mpu4_state::mod4oki(machine_config &config) +{ + mpu4base(config); + MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki) -#define M4HSTR_EXTRAS \ - ROM_REGION( 0x200000, "altmsm6376", 0 ) \ - ROM_LOAD( "happystreak.p1", 0x0000, 0x080000, CRC(b1f328ff) SHA1(2bc6605965cb5743a2f8b813d68cf1646a4bcac1) ) \ - ROM_REGION( 0x200000, "msm6376", 0 ) \ - ROM_LOAD( "happystreaksnd.p1", 0x0000, 0x080000, CRC(76cda195) SHA1(21a985cd6cf1f63f4aa799563099a0527a7c0ea2) ) \ - ROM_LOAD( "happystreaksnd.p2", 0x080000, 0x080000, CRC(f3b4c763) SHA1(7fd6230c13b66a16daad9d45935c7803a5a4c35c) ) + mpu4_common2(config); + mpu4_reels<0, 6>(config); -ROM_START( m4hstr ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "h_s_v1_2.bin", 0x0000, 0x010000, CRC(ef3d3461) SHA1(aa5b1934ab1c6739f36ac7b55d3fda2c640fe4f4) ) - M4HSTR_EXTRAS -ROM_END + OKIM6376(config, m_msm6376, 128000); //Adjusted by IC3, default to 16KHz sample. Can also be 85430 at 10.5KHz and 64000 at 8KHz + m_msm6376->add_route(ALL_OUTPUTS, "lspeaker", 1.0); + m_msm6376->add_route(ALL_OUTPUTS, "rspeaker", 1.0); +} -ROM_START( m4hstra ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "hs2_5.bin", 0x0000, 0x010000, CRC(f669a4c9) SHA1(46813ba7104c97eaa851b50019af9b80046d03b3) ) - M4HSTR_EXTRAS -ROM_END +void mpu4_state::mod4oki_chr(machine_config &config) +{ + mod4oki(config); -ROM_START( m4hstrb ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "hs2_5p.bin", 0x0000, 0x010000, CRC(71c981aa) SHA1(5effe7487e7216078127d3dc4a0a7ad02ad84390) ) - M4HSTR_EXTRAS -ROM_END + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); +} -ROM_START( m4hstrcs ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "chs3_6.bin", 0x0000, 0x010000, CRC(d097ae0c) SHA1(bd78c14e7f057f173859bcb1db5e6a142d0c4062) ) - M4HSTR_EXTRAS -ROM_END - -ROM_START( m4hstrcsa ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "chs3_6p.bin", 0x0000, 0x010000, CRC(57378b6f) SHA1(cf1cf528b9790c1013d87ccf63dcbf59f365067f) ) - M4HSTR_EXTRAS -ROM_END - -ROM_START( m4hstrcsb ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "chs3_6pk.bin", 0x0000, 0x010000, CRC(f95f1afe) SHA1(fffa409e8c7148a840d5dedf490fd9f6975e9476) ) - M4HSTR_EXTRAS -ROM_END - -ROM_START( m4hstrcsc ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "chs3_6k.bin", 0x0000, 0x010000, CRC(7eff3f9d) SHA1(31dedb0d9476633e8eb947a687c7b8a94b0e182c) ) - M4HSTR_EXTRAS -ROM_END - -ROM_START( m4hstrcsd ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "chs_4_2.bin", 0x0000, 0x010000, CRC(ec148b65) SHA1(2d6252ce68719281f5597955227a1f662743f006) ) - M4HSTR_EXTRAS -ROM_END +void mpu4_state::mod4oki_cheatchr_table(machine_config &config, const uint8_t* table) +{ + mod4oki(config); -#define M4DDB_EXTRAS \ - ROM_REGION( 0x200000, "msm6376", 0 ) \ - ROM_LOAD( "ddbsound1", 0x000000, 0x080000, CRC(47c87bd5) SHA1(c1578ae553c38e93235cea2142cb139170de2a7e) ) \ - ROM_LOAD( "ddbsound2", 0x080000, 0x080000, CRC(9c733ab1) SHA1(a83c3ebe99703bb016370a8caf76bdeaff5f2f40) ) -ROM_START( m4ddb ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "ddb3_1.bin", 0x0000, 0x010000, CRC(3b2da727) SHA1(8a677be3b82464d1bf1e97d22adad3b27374079f) ) - M4DDB_EXTRAS -ROM_END + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); -ROM_START( m4ddba ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "ddb3_1p.bin", 0x0000, 0x010000, CRC(bc8d8244) SHA1(9b8e0706b3add42e5e4a8b6c6a2f80a333a2f49e) ) - M4DDB_EXTRAS -ROM_END + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("maincpu"); + m_characteriser->set_allow_6809_cheat(true); + m_characteriser->set_lamp_table(table); +} +void mpu4_state::mod4oki_cheatchr(machine_config &config) +{ + mod4oki_cheatchr_table(config, nullptr); +} -ROM_START( m4hapfrt ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "hf1_1.bin", 0x0000, 0x010000, CRC(6c16cb05) SHA1(421b164c8410629956177355e505859757c97a6b) ) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) -ROM_END -ROM_START( m4hapfrta ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "hf1_1p.bin", 0x0000, 0x010000, CRC(ebb6ee66) SHA1(1f9b67260e5becd013d95358cc89acb1099d655d) ) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) -ROM_END -ROM_START( m4hapfrtb ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "hf1_4pk.bin", 0x0000, 0x010000, CRC(0944b3c6) SHA1(00cdb75dda4f8984f77806047ad79fe9a1a8760a) ) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) -ROM_END +// alt reel setup +void mpu4_state::mod4oki_alt(machine_config &config) +{ + mpu4base(config); + MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki) + mpu4_common2(config); + mpu4_reels<1, 6>(config); + OKIM6376(config, m_msm6376, 128000); //Adjusted by IC3, default to 16KHz sample. Can also be 85430 at 10.5KHz and 64000 at 8KHz + m_msm6376->add_route(ALL_OUTPUTS, "lspeaker", 1.0); + m_msm6376->add_route(ALL_OUTPUTS, "rspeaker", 1.0); +} +void mpu4_state::mod4oki_alt_cheatchr_table(machine_config& config, const uint8_t* table) +{ + mod4oki_alt(config); + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); -ROM_START( m4sunday ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "sunday_sport_v11", 0x0000, 0x010000, CRC(14147d59) SHA1(03b14f4f83a545b3252702267ac012b3be76013d) ) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) -ROM_END + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("maincpu"); + m_characteriser->set_allow_6809_cheat(true); + m_characteriser->set_lamp_table(table); +} -ROM_START( m4jp777 ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "jpot71", 0x0000, 0x010000, CRC(f4564a05) SHA1(97d21e2268e5d99e6e51cb12c45e09445cff1f50) ) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) -ROM_END +void mpu4_state::mod4oki_alt_cheatchr(machine_config &config) +{ + mod4oki_alt_cheatchr_table(config, nullptr); +} -ROM_START( m4booze ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "boozecruise10_v10.bin", 0x0000, 0x010000, CRC(b37f752b) SHA1(166f7d17694689bd9d51d859c13ddafa1c6e5e7f) ) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) -ROM_END -ROM_START( m4cbing ) - ROM_REGION( 0x80000, "maincpu", 0 ) - ROM_LOAD( "cherrybingoprg.bin", 0x0000, 0x010000, CRC(00c1d4f3) SHA1(626df7f2f597ed13c32ce0fa8846f2e27ca68eae) ) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) // not oki! - ROM_LOAD( "cherrybingosnd.p1", 0x000000, 0x100000, CRC(11bed9f9) SHA1(63ed45122dda8e412bb1eaeb967d8a0f925d4bde) ) - ROM_LOAD( "cherrybingosnd.p2", 0x100000, 0x100000, CRC(b2a7ec28) SHA1(307f19ffb46f4a2e8e93923ddb666e50de43a00e) ) -ROM_END +// 5 reel setup +void mpu4_state::mod4oki_5r(machine_config &config) +{ + mpu4base(config); + MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki) + mpu4_common2(config); + mpu4_reels<0, 5>(config); -ROM_START( m4nod ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "nod.bin", 0x0000, 0x010000, CRC(bc738af5) SHA1(8df436139554ccfb48c4db0a32e3333dbf3c4f46) ) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) //region was called "upd" but machine is mod4oki? Which one is correct? - ROM_LOAD( "nodsnd.bin", 0x0000, 0x080000, CRC(2134494a) SHA1(3b665bf79567a71195b20e76c50b02707d15b78d) ) -ROM_END + OKIM6376(config, m_msm6376, 128000); //Adjusted by IC3, default to 16KHz sample. Can also be 85430 at 10.5KHz and 64000 at 8KHz + m_msm6376->add_route(ALL_OUTPUTS, "lspeaker", 1.0); + m_msm6376->add_route(ALL_OUTPUTS, "rspeaker", 1.0); +} +void mpu4_state::mod4oki_5r_chr(machine_config &config) +{ + mod4oki_5r(config); + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); +} +void mpu4_state::mod4oki_5r_cheatchr_table(machine_config &config, const uint8_t* table) +{ + mod4oki_5r(config); -ROM_START( m4aliz ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "70000000.bin", 0x0000, 0x040000, CRC(56f64dd9) SHA1(11f990c9a6864a969dc9a4146e1ac2c963e3eb9b) ) + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) - ROM_LOAD( "alizsnd.hi", 0x0000, 0x080000, CRC(c7bd937a) SHA1(cc4d85a3d4cdf57fa96c812a4cd78b599c7052ff) ) - ROM_LOAD( "alizsnd.lo", 0x080000, 0x04e15e, CRC(111cc111) SHA1(413efedbc9e85240df833c10d680b0e907da10b3) ) + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("maincpu"); + m_characteriser->set_allow_6809_cheat(true); + m_characteriser->set_lamp_table(table); +} - ROM_REGION( 0x200000, "misc", ROMREGION_ERASE00 ) // i think this is just the sound roms as intelhex - ROM_LOAD( "71000000.hi", 0x0000, 0x0bbe9c, CRC(867058c1) SHA1(bd980cb0bb3075854cc2e9b829c31f3742f4f1c2) ) - ROM_LOAD( "71000000.lo", 0x0000, 0x134084, CRC(53046751) SHA1(b8f9eca933315b497732c895f4311f62103344fc) ) -ROM_END +void mpu4_state::mod4oki_5r_cheatchr(machine_config &config) +{ + mod4oki_5r_cheatchr_table(config, nullptr); +} +/*********************************************************************************************** + Other configs +***********************************************************************************************/ -ROM_START( m4c2 ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "ci2-0601.bin", 0x0000, 0x010000, CRC(84cc8aca) SHA1(1471e3ad9c9ba957b6cc99c204fe588cc55fbc50) ) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) -ROM_END +void mpu4_state::bwboki(machine_config &config) +{ + mpu4base(config); + MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4bwb) + mpu4_common2(config); + mpu4_reels<4, 5>(config); -ROM_START( m4coney ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "70000060.bin", 0x0000, 0x010000, CRC(fda208e4) SHA1(b1a243b2681faa03add4ab6e4df98814f9c52fc5) ) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) -ROM_END + OKIM6376(config, m_msm6376, 128000); //Adjusted by IC3, default to 16KHz sample. Can also be 85430 at 10.5KHz and 64000 at 8KHz + m_msm6376->add_route(ALL_OUTPUTS, "lspeaker", 1.0); + m_msm6376->add_route(ALL_OUTPUTS, "rspeaker", 1.0); +} +void mpu4_state::bwboki_chr(machine_config &config) +{ + bwboki(config); + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser_bwb); + MPU4_CHARACTERISER_PAL_BWB(config, m_characteriser_bwb, 0); +} -ROM_START( m4goldnn ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "goldenyears10.bin", 0x0000, 0x020000, CRC(1074bac6) SHA1(967ee64f267a80017fc95bbc6c5a38354e9cab65) ) +void mpu4_state::mpu4crys(machine_config &config) +{ + mod2(config); + MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4cry) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) - ROM_LOAD( "tgyosnd.p1", 0x000000, 0x080000, CRC(bda49b46) SHA1(fac143003641824bf0db4ac6841292e509fa00da) ) - ROM_LOAD( "tgyosnd.p2", 0x080000, 0x080000, CRC(43d28a0a) SHA1(5863e493e84641e4fabcd69e6402e3bcca87dde2) ) - ROM_LOAD( "tgyosnd.p3", 0x100000, 0x080000, CRC(b5b9eb68) SHA1(8d5a0a687dd7096da8dfd2a59c6fe96f4b1949f9) ) -ROM_END + upd7759_device &upd(UPD7759(config, "upd")); + upd.add_route(ALL_OUTPUTS, "lspeaker", 1.0); + upd.add_route(ALL_OUTPUTS, "rspeaker", 1.0); +} +/*********************************************************************************************** + Inits +***********************************************************************************************/ +// TODO: move this to mpu4_characteriser_bootleg.cpp, it's for a single game that requires +// a different 'fixed' value depending on the address +uint8_t mpu4_state::bootleg806_r(address_space &space, offs_t offset) +{ + return 0x6a; +} - -ROM_START( m4mgpn ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "mgp15.p1", 0x0000, 0x010000, CRC(ec76233f) SHA1(aa8595c639c83026d7fe5c3a161f8b08ff9a8b46) ) - - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) - ROM_LOAD( "mgpsnd.p1", 0x000000, 0x080000, CRC(d5f0b845) SHA1(6d97d0d4d07407bb0a51e1d62da95c664418a9e9) ) - ROM_LOAD( "mgpsnd.p2", 0x080000, 0x080000, CRC(cefeea06) SHA1(45142ca1bab898dc6f3c32e382ee9157132810a6) ) - ROM_LOAD( "mgpsnd.p3", 0x100000, 0x080000, CRC(be4b3bd0) SHA1(f14c08dc770a24db8bbd00a65d3edf6ee9895ca3) ) - ROM_LOAD( "mgpsnd.p4", 0x180000, 0x080000, CRC(d74b4b03) SHA1(a35c99040a72485a6c2d4a4fdfc203634f6a9ad0) ) -ROM_END - - - - - - - - -ROM_START( m4spotln ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "gsp01.p1", 0x0000, 0x020000, CRC(54c56a07) SHA1(27f21872a7ffe0c497983fa5bbb59e967bf48974) ) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) -ROM_END - - - - - - -ROM_START( m4vivan ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "vlv.bin", 0x0000, 0x010000, CRC(f20c4858) SHA1(94bf19cfa79a1f5347ab61a80cbbce06942187a2) ) - - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) - ROM_LOAD( "vlvsound1.bin", 0x0000, 0x080000, CRC(ce4da47a) SHA1(7407f8053ee482db4d8d0732fdd7229aa531b405) ) - ROM_LOAD( "vlvsound2.bin", 0x0000, 0x080000, CRC(571c00d1) SHA1(5e7be40d3caae88dc3a580415f8ab796f6efd67f) ) -ROM_END - - - - - - - -ROM_START( m4sunseta ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "b2512s.p1", 0x0000, 0x010000, CRC(8c509538) SHA1(eab6a1e44e77cb48cf490616facc74932acc93c5) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) -ROM_END - -ROM_START( m4sunsetb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "b2512y.p1", 0x0000, 0x010000, CRC(65fa2cd9) SHA1(d2ab1ae25d5425a0788f86535a20d3ebe4a9db2b) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) -ROM_END - -ROM_START( m4sunsetc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sunboul-5p3.bin", 0x0000, 0x010000, CRC(5ccbf062) SHA1(cf587018511d1a06624d271f2fde4e40f16ec87c) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) -ROM_END - -ROM_START( m4funh ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "funhouse.bin", 0x00000, 0x10000, CRC(4e342025) SHA1(288125ff5e3da7249d89dfcc3cd0915f791f7d43) ) - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) // no idea if it uses an OKI -ROM_END - - -#define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) - - -/* Barcrest */ -GAME( 198?, m4tst2, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","MPU4 Unit Test (Program 2)",MACHINE_MECHANICAL ) -GAME( 198?, m4clr, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","MPU4 Meter Clear ROM",MACHINE_MECHANICAL ) -GAME( 198?, m4rltst, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","MPU4 Reel Test (3.0)",MACHINE_MECHANICAL ) - - - -// other issues -GAME(199?, m4casmul, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Casino Multiplay (Barcrest) (MPU4)",GAME_FLAGS ) - - - -// barcrest, to split -GAME(199?, m4c9c, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Cloud Nine Club (Barcrest) (MPU4) (CNC 2.1)",GAME_FLAGS ) // doesn't boot -GAME(199?, m4ch30, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","unknown MPU4 'CH3 0.1' (Barcrest) (MPU4)",GAME_FLAGS ) - -// corrupt vfd (bwb?) -GAME(199?, m4clbx, 0, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0, "Barcrest","Club X (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4clbxa, m4clbx, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0, "Barcrest","Club X (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4clbxb, m4clbx, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0, "Barcrest","Club X (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) - -GAME(199?, m4ringfr, 0, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0, "Barcrest","Ring Of Fire (Barcrest) (MPU4)",GAME_FLAGS ) -GAME(199?, m4royjwl, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Royal Jewels (Barcrest) (MPU4)",GAME_FLAGS ) - -// play but behavior isn't like barcrest -GAME(199?, m4crjwl, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Crown Jewels Club (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4crjwla, m4crjwl, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Crown Jewels Club (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4crjwlb, m4crjwl, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Crown Jewels Club (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4crjwlc, m4crjwl, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Crown Jewels Club (Barcrest) (MPU4) (set 4)",GAME_FLAGS ) - -GAME(199?, m4crjwl2, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Crown Jewels Mk II Club (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4crjwl2a, m4crjwl2, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Crown Jewels Mk II Club (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4crjwl2b, m4crjwl2, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Crown Jewels Mk II Club (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) - -GAME(199?, m4supbjc, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Super Blackjack Club (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) // set stake -GAME(199?, m4supbjca, m4supbjc, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Super Blackjack Club (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) // set stake -GAME(199?, m4supbjcb, m4supbjc, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Super Blackjack Club (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) // set stake -GAME(199?, m4supbjcc, m4supbjc, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Super Blackjack Club (Barcrest) (MPU4) (set 4)",GAME_FLAGS ) // set stake -GAME(199?, m4supbjcd, m4supbjc, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Super Blackjack Club (Barcrest) (MPU4) (set 5)",GAME_FLAGS ) // set stake - - - -// corrupt VFD (many XX) -GAME(199?, m4luckwb, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Lucky Wild Boar (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4luckwba, m4luckwb, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Lucky Wild Boar (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4luckwbb, m4luckwb, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Lucky Wild Boar (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4luckwbc, m4luckwb, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Lucky Wild Boar (Barcrest) (MPU4) (set 4)",GAME_FLAGS ) -GAME(199?, m4luckwbd, m4luckwb, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Lucky Wild Boar (Barcrest) (MPU4) (set 5)",GAME_FLAGS ) -GAME(199?, m4luckwbe, m4luckwb, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Lucky Wild Boar (Barcrest) (MPU4) (set 6)",GAME_FLAGS ) -GAME(199?, m4luckwbf, m4luckwb, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Lucky Wild Boar (Barcrest) (MPU4) (set 7)",GAME_FLAGS ) - - -// won't boot with current reel setup, not even in test mode -GAME(199?, m4maglin, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Magic Liner (Barcrest) (MPU4) (DMA2.1)",GAME_FLAGS ) - -GAME(199?, m4magdrg, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Magic Dragon (Barcrest) (MPU4) (DMD1.0)",GAME_FLAGS ) - -GAME(199?, m4clbveg, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Club Vegas (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4clbvega, m4clbveg, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Club Vegas (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4clbvegb, m4clbveg, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Club Vegas (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4clbvegc, m4clbveg, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Club Vegas (Barcrest) (MPU4) (set 4)",GAME_FLAGS ) - -GAME(199?, m4chasei, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4chaseia, m4chasei, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4chaseib, m4chasei, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4chaseic, m4chasei, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4) (set 4)",GAME_FLAGS ) -GAME(199?, m4chaseid, m4chasei, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4) (set 5)",GAME_FLAGS ) -GAME(199?, m4chaseie, m4chasei, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4) (set 6)",GAME_FLAGS ) -GAME(199?, m4chaseif, m4chasei, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4) (set 7)",GAME_FLAGS ) -GAME(199?, m4chaseig, m4chasei, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "hack", "Chase Invaders (Barcrest) (MPU4) (set 8)",GAME_FLAGS ) // copyright removed - -GAME(199?, m4bluedm, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Blue Diamond (Barcrest) (MPU4) (DBD1.0)",GAME_FLAGS ) -GAME(199?, m4amhiwy, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","American Highway (Barcrest) (MPU4) (DAH)",GAME_FLAGS ) -GAME(199?, m4addrd, m4addr, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Adders & Ladders (Barcrest) (DAL, Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4nudshf, 0, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Nudge Shuffle (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4nudshfa, m4nudshf, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Nudge Shuffle (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4nudshfb, m4nudshf, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Nudge Shuffle (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4nudshfc, m4nudshf, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Nudge Shuffle (Barcrest) (MPU4) (set 4)",GAME_FLAGS ) - -GAME(199?, m4prem, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Premier (Barcrest) (MPU4) (DPM)",GAME_FLAGS ) -GAME(199?, m4rdht, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Red Heat (Golden Nugget?) (Barcrest) (MPU4) (DRH 1.2)",GAME_FLAGS ) -GAME(199?, m4rwb, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Red White & Blue (Barcrest) (MPU4) (DRW)",GAME_FLAGS ) -GAME(199?, m4salsa, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Salsa (Barcrest) (MPU4) (DSA)",GAME_FLAGS ) -GAME(199?, m4techno, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Techno Reel (Barcrest) (MPU4) (DTE) (set 1)",GAME_FLAGS ) -GAME(199?, m4technoa, m4techno, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Techno Reel (Barcrest) (MPU4) (DTE) (set 2)",GAME_FLAGS ) -GAME(199?, m4twintm, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Twin Timer (Barcrest) (MPU4) (D2T 1.1)",GAME_FLAGS ) -GAME(199?, m4blkbul, 0, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Super Play (Black Bull?) (Czech) (Barcrest) [XSP] (MPU4)",GAME_FLAGS ) // complains about coin dip -GAME(199?, m4calicl, 0, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","California Club (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4calicla, m4calicl, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","California Club (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4caliclb, m4calicl, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","California Club (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4caliclc, m4calicl, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","California Club (Barcrest) (MPU4) (set 4)",GAME_FLAGS ) -GAME(199?, m4calicld, m4calicl, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","California Club (Barcrest) (MPU4) (set 5)",GAME_FLAGS ) - -GAME(199?, m4bucks, 0, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Bucks Fizz Club (Barcrest) (MPU4)",GAME_FLAGS ) - -GAME(199?, m4gldgat, 0, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Golden Gate (Barcrest) [DGG, Dutch] (MPU4)",GAME_FLAGS ) -GAME(199?, m4hirise, 0, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","High Rise (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4hirisea, m4hirise, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","High Rise (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4hiriseb, m4hirise, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","High Rise (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4hirisec, m4hirise, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","High Rise (Barcrest) (MPU4) (set 4)",GAME_FLAGS ) -GAME(199?, m4hirised, m4hirise, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","High Rise (Barcrest) (MPU4) (set 5)",GAME_FLAGS ) -GAME(199?, m4hirisee, m4hirise, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","High Rise (Barcrest) (MPU4) (set 6)",GAME_FLAGS ) - -GAME(199?, m4nspot, 0, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Night Spot Club (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4nspota, m4nspot, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Night Spot Club (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4nspotb, m4nspot, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Night Spot Club (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) - -GAME(199?, m4supbf, 0, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Super Bucks Fizz Club (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4supbfa, m4supbf, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Super Bucks Fizz Club (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) - -GAME(199?, m4toma, 0, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Tomahawk (Barcrest) (MPU4)",GAME_FLAGS ) -GAME(199?, m4tropcl, 0, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Tropicana Club (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4tropcla, m4tropcl, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Tropicana Club (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4tropclb, m4tropcl, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Tropicana Club (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4tropclc, m4tropcl, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Tropicana Club (Barcrest) (MPU4) (set 4)",GAME_FLAGS ) -GAME(199?, m4tropcld, m4tropcl, mod2_alt, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Tropicana Club (Barcrest) (MPU4) (set 5)",GAME_FLAGS ) - - -// these all seem quite close to Old Timer (unsurprising, many are called XX timer), the 'altreels' is just the same as the oldtimer init, but with the 'guess' CHR emulation -GAME(199?, m4holdtm, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Hold Timer (Barcrest) (Dutch) (MPU4) (DHT)",GAME_FLAGS ) -GAME(199?, m4exgam, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Extra Game (Fairplay - Barcrest) (MPU4)",GAME_FLAGS ) -GAME(199?, m4brook, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Brooklyn (Barcrest) (MPU4) (PFT 1.8)",GAME_FLAGS ) -GAME(199?, m4roadrn, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Road Runner (Barcrest) (Dutch) (MPU4) (DRO1.9)",GAME_FLAGS ) -GAME(199?, m4showtm, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Show Timer (Barcrest) (Dutch) (MPU4) (DSH1.3)",GAME_FLAGS ) -GAME(199?, m4steptm, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Step Timer (Barcrest) (Dutch) (MPU4) (DST 1.1)",GAME_FLAGS ) -GAME(199?, m4toptim, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Top Timer (Barcrest) (Dutch) (MPU4) (DTT) (set 1)",GAME_FLAGS ) -GAME(199?, m4toptima, m4toptim, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Top Timer (Barcrest) (Dutch) (MPU4) (DTT) (set 2)",GAME_FLAGS ) - -GAME(199?, m4univ, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Universe (Barcrest) (Dutch) (MPU4) (DUN)",GAME_FLAGS ) -GAME(199?, m4wildtm, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Wild Timer (Barcrest) (Dutch) (MPU4) (DWT 1.3)",GAME_FLAGS ) - - -GAME(199?, m4frtgm, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Fruit Game (Barcrest) (MPU4)",GAME_FLAGS ) // SAMPLE EEPROM ALARM (and has a weird sample rom..) -GAME(199?, m4reeltm, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Reel Timer (Barcrest) (MPU4) (DWT)",GAME_FLAGS ) // SAMPLE EEPROM ALARM -GAME(199?, m4fortcb, 0, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Fortune Club (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) // INVALID ALARM -GAME(199?, m4fortcba, m4fortcb, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Fortune Club (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) // INVALID ALARM -GAME(199?, m4fortcbb, m4fortcb, mod4oki_alt,mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Fortune Club (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) // INVALID ALARM - - - -// GEEN TUBES (even in test mode) -GAME(199?, m4topdk, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Top Deck (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) - -// non-english sets -GAME(199?, m4magrep, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Magic Replay (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4nile, 0, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Nile Jewels (Barcrest) (German) (MPU4) (GJN0.8)",GAME_FLAGS ) // DM1 SW ALM -GAME(199?, m4jokmil, 0, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Jokers Millennium (Barcrest) (German) (MPU4)",GAME_FLAGS ) // DM1 SW ALM -GAME(199?, m4drac, 0, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Dracula (Barcrest - Nova) (German) (MPU4) (set 1)",GAME_FLAGS ) // DM1 SW ALM -GAME(199?, m4draca, m4drac, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Dracula (Barcrest - Nova) (German) (MPU4) (set 2)",GAME_FLAGS ) // DM1 SW ALM -GAME(199?, m4dracb, m4drac, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Dracula (Barcrest - Nova) (German) (MPU4) (set 3)",GAME_FLAGS ) // DM1 SW ALM -GAME(199?, m4crzjwl, 0, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (set 1)",GAME_FLAGS ) // DM1 SW ALM -GAME(199?, m4crzjwla, m4crzjwl, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (set 2)",GAME_FLAGS ) // DM1 SW ALM -GAME(199?, m4crzjwlb, m4crzjwl, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (set 3)",GAME_FLAGS ) // DM1 SW ALM -GAME(199?, m4crzjwlc, m4crzjwl, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (set 4)",GAME_FLAGS ) // DM1 SW ALM -GAME(199?, m4crzjwld, m4crzjwl, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (set 5)",GAME_FLAGS ) // DM1 SW ALM -GAME(199?, m4crzjwle, m4crzjwl, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (set 6)",GAME_FLAGS ) // DM1 SW ALM -GAME(199?, m4crzjwlf, m4crzjwl, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (set 7)",GAME_FLAGS ) // DM1 SW ALM -GAME(199?, m4crzjwlg, m4crzjwl, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (set 8)",GAME_FLAGS ) // DM1 SW ALM -GAME(199?, m4crzjwlh, m4crzjwl, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (set 9)",GAME_FLAGS ) // DM1 SW ALM - -GAME(199?, m4vegastg, m4vegast, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Vegas Strip (Barcrest) [German] (MPU4)",GAME_FLAGS ) // 1 DM SW ALM -GAME(199?, m4jok300, 0, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Jokers 300 (Barcrest) (German?) (MPU4)",GAME_FLAGS ) // also contains crystal maze stuff?? -GAME(199?, m4luckdv, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Lucky Devil (Barcrest) [Czech] (MPU4)",GAME_FLAGS ) // AUX2 locked -GAME(199?, m4luckdvd, m4luckdv, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Lucky Devil (Barcrest) [Dutch] (MPU4) (DLD)",GAME_FLAGS ) -GAME(199?, m4luck7, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Lucky 7 (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) // '1,2' error -GAME(199?, m4joljokh, m4joljok, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Jolly Joker (Barcrest) [Hungarian] (MPU4) (HJJ)",GAME_FLAGS ) -GAME(199?, m4hpyjok, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Happy Joker (Barcrest) (Dutch) (MPU4) (DHJ1.2)",GAME_FLAGS ) -GAME(199?, m4gldjok, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Golden Joker (Barcrest) (Dutch) (MPU4) (DGJ 1.2)",GAME_FLAGS ) -GAME(199?, m4ceptr, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Ceptor (Barcrest) (Dutch) (MPU4) (DCE 1.0)",GAME_FLAGS ) -GAME(199?, m4blkcat, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Black Cat (Barcrest) (Dutch) (MPU4) (DBL 1.4)",GAME_FLAGS ) -GAME(199?, m4gnsmk, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Gun Smoke (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4blkbuld, m4blkbul, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Gun Smoke (Barcrest) (Dutch, alt sound roms) (MPU4)",GAME_FLAGS ) // not sure either set of sound roms is right -GAME(199?, m4blkwhd, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Black & White (Barcrest) [Dutch] (MPU4) (DBW 1.1)",GAME_FLAGS ) -GAME(199?, m4oldtmr, 0, mod4oki_alt,mpu4, mpu4_state, init_m_oldtmr, ROT0, "Barcrest","Old Timer (Barcrest) (Dutch) (MPU4) (DOT1.1)",GAME_FLAGS ) -GAME(199?, m4casot, m4oldtmr, mod4oki_alt,mpu4, mpu4_state, init_m_oldtmr, ROT0, "Barcrest","Old Timer (Barcrest) (Dutch, alt 'Black and White' sound roms) (DOT1.1)",GAME_FLAGS ) // uses the same program??? -GAME(199?, m4jpmcla, m4oldtmr, mod4oki_alt,mpu4, mpu4_state, init_m_oldtmr, ROT0, "Barcrest","Old Timer (Barcrest) (Dutch, alt 'JPM Classic' sound roms) (DOT1.1)",GAME_FLAGS ) // uses the same program??? -GAME(199?, m4tbplay, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Turbo Play (Barcrest) (Dutch) (MPU4) (DTP) (set 1)",GAME_FLAGS ) -GAME(199?, m4tbplaya, m4tbplay, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Turbo Play (Barcrest) (Dutch) (MPU4) (DTP) (set 2)",GAME_FLAGS ) -GAME(199?, m4tbplayb, m4tbplay, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Turbo Play (Barcrest) (Dutch) (MPU4) (DTP) (set 3)",GAME_FLAGS ) - -GAME(199?, m4vivalvd, m4vivalv, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Viva Las Vegas (Barcrest) [Dutch] (MPU4) (DLV)",GAME_FLAGS ) - -GAME(199?, m4toprn, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Top Run (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) // unique behavior (START UP IN countdown) - -GAME(199?, m4magtbo, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Magic Turbo (Barcrest) (MPU4)",GAME_FLAGS ) - -// bwb/nova? -GAME(199?, m4ordmnd, 0, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Oriental Diamonds (Barcrest) (German) (MPU4)",GAME_FLAGS ) -// ? -GAME(199?, m4ptblkc, 0, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Pot Black Casino (Bwb - Barcrest) (MPU4)",GAME_FLAGS ) // main cpu crashes? - - -// badchr -GAME(199?, m4take5, 0, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Barcrest","Take 5 (Barcrest) (MPU4)",GAME_FLAGS ) - -// REEL 1 FAULT -GAME(199?, m4twist, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Twist Again (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) // TA 9.6 REEL 1 FAULT -GAME(199?, m4twista, m4twist, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Twist Again (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) // TA 9.6 REEL 1 FAULT -GAME(199?, m4twistb, m4twist, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Twist Again (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) // TA 9.6 REEL 1 FAULT - - - -// might need samples, but run silent with none -GAME(199?, m4lineup, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Line Up (Bwb - Barcrest) (MPU4) (set 1)",GAME_FLAGS ) // no sound with any system? -GAME(199?, m4lineupa, m4lineup, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Line Up (Bwb - Barcrest) (MPU4) (set 2)",GAME_FLAGS ) // no sound with any system? - -GAME(199?, m4czne, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Cash Zone (Bwb) (MPU4)",GAME_FLAGS ) -GAME(199?, m4fourmr, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Four More (Bwb) (MPU4)",GAME_FLAGS ) // no sound with either system? -GAME(199?, m4holywd, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Hollywood (Bwb) (MPU4)",GAME_FLAGS ) -GAME(199?, m4specu, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Speculator Club (Bwb) (MPU4)",GAME_FLAGS ) // no sound with either system - - -GAME(199?, m4lazy, 0, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Bwb","Lazy Bones (Bwb) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4lazya, m4lazy, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Bwb","Lazy Bones (Bwb) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4lazyb, m4lazy, mod4oki, mpu4, mpu4_state, init_m4default_big,ROT0,"Bwb","Lazy Bones (Bwb) (MPU4) (set 3)",GAME_FLAGS ) - -GAME(199?, m4sunclb, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Sun Club (Bwb) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4sunclba, m4sunclb, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Sun Club (Bwb) (MPU4) (set 2)",GAME_FLAGS ) - -GAME(199?, m4sunscl, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Sunset Club (Bwb) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4sunscla, m4sunscl, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Sunset Club (Bwb) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4sunsclb, m4sunscl, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Sunset Club (Bwb) (MPU4) (set 3)",GAME_FLAGS ) - -GAME(199?, m4bigban, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Nova","Big Bandit (Nova) (MPU4)",GAME_FLAGS ) -GAME(199?, m4crzcsn, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Nova","Crazy Casino (Nova) (MPU4)",GAME_FLAGS ) -GAME(199?, m4crzcav, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Nova","Crazy Cavern (Nova) (MPU4)",GAME_FLAGS ) -GAME(199?, m4dragon, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Nova","Dragon (Nova) (MPU4)",GAME_FLAGS ) -GAME(199?, m4hilonv, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Nova","Hi Lo Casino (Nova) (MPU4)",GAME_FLAGS ) -GAME(199?, m4octo, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Nova","Octopus (Nova) (MPU4)",GAME_FLAGS ) -GAME(199?, m4sctagt, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Nova","Secret Agent (Nova) (MPU4)",GAME_FLAGS ) - - - - - -// Others - -GAME(1994, m4esctbg, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Vifico", "Escalera Tobogan (MPU4, set 1)", GAME_FLAGS ) -GAME(1994, m4esctbga, m4esctbg, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Vifico", "Escalera Tobogan (MPU4, set 2)", GAME_FLAGS ) -GAME(1994, m4esctbgb, m4esctbg, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Vifico", "Escalera Tobogan (MPU4, set 3)", GAME_FLAGS ) - -GAMEL(199?, m4aao, 0, mod4oki, mpu4, mpu4_state, init_m4aao, ROT0, "Eurotek","Against All Odds (Eurotek) (MPU4)",GAME_FLAGS, layout_m4aao ) -GAME(199?, m4bandgd, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Eurogames","Bands Of Gold (Eurogames) (MPU4)",GAME_FLAGS ) - -GAME(199?, m4bigben, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 1)",GAME_FLAGS ) -GAME(199?, m4bigbena, m4bigben, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 2)",GAME_FLAGS ) -GAME(199?, m4bigbenb, m4bigben, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 3)",GAME_FLAGS ) -GAME(199?, m4bigbend, m4bigben, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 4)",GAME_FLAGS ) -GAME(199?, m4bigbene, m4bigben, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 5)",GAME_FLAGS ) -GAME(199?, m4kqclub, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Newby","Kings & Queens Club (Newby) (MPU4)",GAME_FLAGS ) -GAME(199?, m4snookr, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Eurocoin","Snooker (Eurocoin) (MPU4)",GAME_FLAGS ) // works? -GAME(199?, m4stakex, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Leisurama","Stake X (Leisurama) (MPU4, set 1)",GAME_FLAGS ) // has issues with coins in 'separate bank' (default) mode, reel issues -GAME(199?, m4stakexa, m4stakex, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Leisurama","Stake X (Leisurama) (MPU4, set 2)",GAME_FLAGS ) // like above, but doesn't default to separate bank? -GAME(199?, m4boltbl, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 1)",GAME_FLAGS ) // Reel 1 Fault -GAME(199?, m4boltbla, m4boltbl, mod2, mpu4, mpu4_state, init_m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 2)",GAME_FLAGS ) -GAME(199?, m4boltblb, m4boltbl, mod2, mpu4, mpu4_state, init_m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 3)",GAME_FLAGS ) -GAME(199?, m4boltblc, m4boltbl, mod2, mpu4, mpu4_state, init_m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 4)",GAME_FLAGS ) -GAME(199?, m4stand2, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "DJE","Stand To Deliver (DJE) (MPU4)",GAME_FLAGS ) // Reel 1 Fault -GAME(199?, m4dblchn, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "DJE","Double Chance (DJE) (MPU4)",GAME_FLAGS ) // Reels spin forever - -/* Unknown stuff that looks like it might be MPU4, but needs further verification, some could be bad */ - -GAME(199?, m4barcrz, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "","Bar Crazy (unknown) (MPU4?)",GAME_FLAGS ) -GAME(199?, m4bonzbn, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "","Bingo Bonanza (unknown) (MPU4?)",GAME_FLAGS ) -GAME(199?, m4cld02, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "","unknown MPU4 'CLD 0.2C' (MPU4?)",GAME_FLAGS ) -GAME(199?, m4matdr, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "","Matador (unknown) (MPU4?)",GAME_FLAGS ) -GAME(199?, m4hslo, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "","unknown MPU4 'HOT 3.0' (MPU4?)",GAME_FLAGS ) -GAME(199?, m4unkjok, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "","unknown MPU4 'Joker' (MPU4?) (set 1)",GAME_FLAGS ) // bad chr -GAME(199?, m4unkjoka, m4unkjok, mod2, mpu4, mpu4_state, init_m4default, ROT0, "","unknown MPU4 'Joker' (MPU4?) (set 2)",GAME_FLAGS ) // bad chr -GAME(199?, m4unkjokb, m4unkjok, mod2, mpu4, mpu4_state, init_m4default, ROT0, "","unknown MPU4 'Joker' (MPU4?) (set 3)",GAME_FLAGS ) // bad chr -GAME(199?, m4unkjokc, m4unkjok, mod2, mpu4, mpu4_state, init_m4default, ROT0, "","unknown MPU4 'Joker' (MPU4?) (set 4)",GAME_FLAGS ) // bad chr -GAME(199?, m4remag, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "","unknown MPU4 'ZTP 0.7' (MPU4?)",GAME_FLAGS ) -GAME(199?, m4rmg, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "","unknown MPU4 'CTP 0.4' (MPU4?)",GAME_FLAGS ) -GAME(199?, m4wnud, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "","unknown MPU4 'W Nudge' (MPU4?)",GAME_FLAGS ) -GAME(199?, m4t266, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "","unknown MPU4 'TTO 1.1' (MPU4?)",GAME_FLAGS ) -GAME(199?, m4brnze, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "","Bronze Voyage (unknown) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4brnzea, m4brnze, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "","Bronze Voyage (unknown) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4brnzeb, m4brnze, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "","Bronze Voyage (unknown) (MPU4) (set 3)",GAME_FLAGS ) - -GAME(199?, m4riotrp, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "","Rio Tropico (unknown) (MPU4)",GAME_FLAGS ) - -/* *if* these are MPU4 they have a different sound system at least - The copyright strings in them are 'AET' tho (Ace?) - Could be related to the Crystal stuff? */ -GAME(199?, m4sbx, 0, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?) (set 1)",GAME_FLAGS ) -GAME(199?, m4sbxa, m4sbx, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?) (set 2)",GAME_FLAGS ) -GAME(199?, m4sbxb, m4sbx, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?) (set 3)",GAME_FLAGS ) -GAME(199?, m4sbxc, m4sbx, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?) (set 4)",GAME_FLAGS ) -GAME(199?, m4sbxd, m4sbx, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?) (set 5)",GAME_FLAGS ) -GAME(199?, m4sbxe, m4sbx, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?) (set 6)",GAME_FLAGS ) - -GAME(199?, m4bclimb, 0, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Bear Climber (MPU4?)",GAME_FLAGS ) -GAME(199?, m4captb, 0, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Captain Bear (MPU4?)",GAME_FLAGS ) -GAME(199?, m4jungj, 0, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Jungle Japes (MPU4?) (set 1)",GAME_FLAGS ) -GAME(199?, m4jungja, m4jungj, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Jungle Japes (MPU4?) (set 2)",GAME_FLAGS ) -GAME(199?, m4jungjb, m4jungj, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Jungle Japes (MPU4?) (set 3)",GAME_FLAGS ) -GAME(199?, m4jungjc, m4jungj, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Jungle Japes (MPU4?) (set 4)",GAME_FLAGS ) - -GAME(199?, m4fsx, 0, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Fun Spot X (MPU4?) (set 1)",GAME_FLAGS ) -GAME(199?, m4fsxa, m4fsx, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Fun Spot X (MPU4?) (set 2)",GAME_FLAGS ) -GAME(199?, m4fsxb, m4fsx, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "AET/Coinworld","Fun Spot X (MPU4?) (set 3)",GAME_FLAGS ) - -GAME(199?, m4ccop, 0, mod4oki, mpu4_cw, mpu4_state, init_m4default, ROT0, "Coinworld","Cash Cops (MPU4?) (set 1)",GAME_FLAGS ) -GAME(199?, m4ccopa, m4ccop, mod4oki, mpu4_cw, mpu4_state, init_m4default, ROT0, "Coinworld","Cash Cops (MPU4?) (set 2)",GAME_FLAGS ) -GAME(199?, m4ccopb, m4ccop, mod4oki, mpu4_cw, mpu4_state, init_m4default, ROT0, "Coinworld","Cash Cops (MPU4?) (set 3)",GAME_FLAGS ) - -GAME(199?, m4ccc, 0, mod4oki, mpu4_cw, mpu4_state, init_m4default, ROT0, "Coinworld","Criss Cross Crazy (Coinworld) (MPU4?)",GAME_FLAGS ) -GAME(199?, m4treel, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "","Turbo Reels (unknown) (MPU4?) (set 1)",GAME_FLAGS ) -GAME(199?, m4treela, m4treel, mod2, mpu4, mpu4_state, init_m4default, ROT0, "","Turbo Reels (unknown) (MPU4?) (set 2)",GAME_FLAGS ) - - - - -GAME(199?, m4surf, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Gemini","Super Surfin' (Gemini) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4surfa, m4surf, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Gemini","Super Surfin' (Gemini) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4surfb, m4surf, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Gemini","Super Surfin' (Gemini) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4wife, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Gemini","Money Or Yer Wife (Gemini) (MPU4)",GAME_FLAGS ) -GAME(199?, m4blkgd, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Gemini","Black Gold (Gemini) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4blkgda, m4blkgd, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Gemini","Black Gold (Gemini) (MPU4) (set 2)",GAME_FLAGS ) - -GAME(199?, m4zill, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Pure Leisure","Zillionare's Challenge (Pure Leisure) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4zilla, m4zill, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Pure Leisure","Zillionare's Challenge (Pure Leisure) (MPU4) (set 2)",GAME_FLAGS ) - -GAME(199?, m4hstr, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Happy Streak (Coinworld) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4hstra, m4hstr, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Happy Streak (Coinworld) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4hstrb, m4hstr, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Happy Streak (Coinworld) (MPU4) (set 3)",GAME_FLAGS ) - -GAME(199?, m4hstrcs, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Casino Happy Streak (Coinworld) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4hstrcsa, m4hstrcs, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Casino Happy Streak (Coinworld) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4hstrcsb, m4hstrcs, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Casino Happy Streak (Coinworld) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4hstrcsc, m4hstrcs, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Casino Happy Streak (Coinworld) (MPU4) (set 4)",GAME_FLAGS ) -GAME(199?, m4hstrcsd, m4hstrcs, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Casino Happy Streak (Coinworld) (MPU4) (set 5)",GAME_FLAGS ) - -GAME(199?, m4ddb, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Ding Dong Bells (Coinworld) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4ddba, m4ddb, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Ding Dong Bells (Coinworld) (MPU4) (set 2)",GAME_FLAGS ) - -GAME(199?, m4hapfrt, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Happy Fruits (Coinworld) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4hapfrta, m4hapfrt, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Happy Fruits (Coinworld) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4hapfrtb, m4hapfrt, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Coinworld","Happy Fruits (Coinworld) (MPU4) (set 3)",GAME_FLAGS ) - - -GAME(199?, m4sunday, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Sunday Sport (Pcp) (MPU4)",GAME_FLAGS ) - -GAME(199?, m4jp777, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Cotswold Microsystems","Jackpot 777 (Cotswold Microsystems) (MPU4)",GAME_FLAGS ) /* Hopper Fault */ -GAME(199?, m4dnj, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "","Double Nudge (unknown) (MPU4) (set 1)",GAME_FLAGS ) /* Hopper Fault */ -GAME(199?, m4dnja, m4dnj, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "","Double Nudge (unknown) (MPU4) (set 2)",GAME_FLAGS ) /* Hopper Fault */ -GAME(199?, m4dnjb, m4dnj, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "","Double Nudge (unknown) (MPU4) (set 3)",GAME_FLAGS ) /* Hopper Fault */ - -GAME(199?, m4booze, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Extreme","Booze Cruise (Extreme) (MPU4)",GAME_FLAGS ) -GAME(199?, m4cbing, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Redpoint Systems","Cherry Bingo (Redpoint Systems) (MPU4)",GAME_FLAGS ) // custom sound system - - -GAME( 199?, m4nod, 0, mod4oki, mpu4, mpu4_state, init_m4default, 0, "Eurotech", "Nod And A Wink (Eurotech) (MPU4)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) // this has valid strings in it BEFORE the bfm decode, but decodes to valid code, does it use some funky mapping, or did they just fill unused space with valid looking data? - - -// not sure about several of the nova ones -GAME( 199?, m4aliz, 0, mod4oki, mpu4, mpu4_state, init_m4default, 0, "Qps", "AlizBaz (Qps) (German) (MPU4)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) -GAME( 199?, m4coney, 0, mod4oki, mpu4, mpu4_state, init_m4default, 0, "Qps", "Coney Island (Qps) (MPU4)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) -GAME( 199?, m4crzjk, 0, mod2, mpu4, mpu4_state, init_m4default, 0, "Nova?", "Crazy Jokers (Nova?) (MPU4)",GAME_FLAGS ) // COIN ALM -GAME( 199?, m4c2, 0, mod4oki, mpu4, mpu4_state, init_m4default, 0, "Nova?", "Circus Circus 2 (Nova?) (MPU4)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) // COIN ALM -// regular barcrest structure -GAME( 199?, m4vivan, 0, mod4oki, mpu4, mpu4_state, init_m4default, 0, "Nova", "Viva Las Vegas (Nova) (MPU4)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) -GAME( 199?, m4spotln, 0, mod4oki, mpu4, mpu4_state, init_m4default, 0, "Nova", "Spotlight (Nova) (MPU4)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) -GAME( 199?, m4mgpn, 0, mod4oki, mpu4, mpu4_state, init_m4default, 0, "Nova", "Monaco Grand Prix (Nova) (MPU4)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) -GAME( 199?, m4goldnn, 0, mod4oki, mpu4, mpu4_state, init_m4default, 0, "Nova", "Golden Years (Nova) (MPU4)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) - - - - -GAME(198?, m4funh, 0, mod4oki, mpu4, mpu4_state, init_m4default, 0, "", "Fun House (unknown) (MPU4)", GAME_FLAGS ) // TUNE ALARM (was in the SC1 Fun House set) - - -GAME(199?, m4sunseta, m4sunset, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (B25 1.2, set 1)",GAME_FLAGS ) -GAME(199?, m4sunsetb, m4sunset, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (B25 1.2, set 2)",GAME_FLAGS ) -GAME(199?, m4sunsetc, m4sunset, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (OSB 0.2)",GAME_FLAGS ) // might be a mod 2 +void mpu4_state::init_m4default_806prot() +{ + init_m4default(); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x0806, 0x0806, read8m_delegate(*this, FUNC(mpu4_state::bootleg806_r))); +} diff --git a/src/mame/drivers/mpu4avan.cpp b/src/mame/drivers/mpu4avan.cpp index ffa8f579515..ed58880df4b 100644 --- a/src/mame/drivers/mpu4avan.cpp +++ b/src/mame/drivers/mpu4avan.cpp @@ -5,12 +5,27 @@ split out because there might be hardware differences, and there are an awful lot of them, especially american beauty! ;-) I think some might be dual unit setups, some roms are marked top/bottom + + are some of these actually by Concept? */ #include "emu.h" #include "includes/mpu4.h" -INPUT_PORTS_EXTERN( mpu4 ); +namespace { + +class mpu4avan_machines_state : public mpu4_state +{ +public: + + mpu4avan_machines_state(const machine_config& mconfig, device_type type, const char* tag) : + mpu4_state(mconfig, type, tag) + { + } +}; + +} // anonymous namespace + #define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) @@ -20,7 +35,7 @@ INPUT_PORTS_EXTERN( mpu4 ); ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ ROM_END \ - GAME(year, setname, parent, mod2, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod2, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // robotica - latvia @@ -99,7 +114,7 @@ GAME_CUSTOM( 199?, m4robo__0, m4robo, "rou2b317.bin", 0x0000, 0x010000, CRC(8 ROM_LOAD( name, offset, length, hash ) \ M4ABEAUT_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // ab GAME_CUSTOM( 199?, m4abeaut, 0, "aba305.bin", 0x0000, 0x010000, CRC(ab70802c) SHA1(0cb59947b0bc177b10c55e02a0c8016620e0c346), "Avantime?","American Beauty (Avantime?) (MPU4) (AB, set 1)" ) @@ -307,7 +322,7 @@ GAME_CUSTOM( 199?, m4abeaut_k2, m4abeaut, "a2k0b618.bin", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4TRG_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // roms of different sizes again, might also be main / sub setups @@ -357,7 +372,7 @@ GAME_CUSTOM( 199?, m4trg__4, m4trg, "rmtp4cz", 0x0000, 0x010000, CRC(1c5f ROM_LOAD( name, offset, length, hash ) \ M4RMTP_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4rmtp, 0, "r4iha202.bin", 0x0000, 0x010000, CRC(b1588632) SHA1(ad21bbc5e99fd6b511e6881e8b20dcad177b937f), "Avantime?","Reel Magic Turbo Play (Avantime?) (MPU4) (set 1)" ) @@ -383,7 +398,7 @@ GAME_CUSTOM( 199?, m4rmtp__g, m4rmtp, "r4iua205.bin", 0x0000, 0x010000, CRC(4 ROM_LOAD( name, offset, length, hash ) \ M4RMTPD_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) @@ -450,7 +465,7 @@ GAME_CUSTOM( 199?, m4rmtpd__am, m4rmtpd, "rduhb511.bin", 0x0000, 0x010000, CR ROM_LOAD( name, offset, length, hash ) \ M4MBEL_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4mbel, 0, "mb1.1k", 0x0000, 0x020000, CRC(00763b37) SHA1(2314ea5e8541e2be2492135785317f4fdd998692), "Avantime?","Millennium Bells (Avantime?) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4mbel__a, m4mbel, "mb1.1kw", 0x0000, 0x010000, CRC(d1ccefe4) SHA1(dba63d0a75fe614e77ac24ae23bfd0d924dd3e9a), "Avantime?","Millennium Bells (Avantime?) (MPU4) (set 2)" ) @@ -531,7 +546,7 @@ GAME_CUSTOM( 199?, m4mbel__a0, m4mbel, "mbpl3.3c", 0x0000, 0x020000, C ROM_LOAD( name, offset, length, hash ) \ M4CMONT_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // cmc GAME_CUSTOM( 199?, m4cmont, 0, "cmc1.7", 0x0000, 0x020000, CRC(aaebab34) SHA1(36145b7d062ad5a740bcf326933f78274b99495c), "Avantime?","Casino Monte Carlo (Avantime?) (MPU4) (Czech, set 1)" ) @@ -619,7 +634,7 @@ GAME_CUSTOM( 199?, m4cmont_gt3, m4cmont, "gtr58gaa", 0x0000, 0x020000, CR ROM_LOAD( name, offset, length, hash ) \ M4BLKMGC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // new - latvia @@ -646,7 +661,7 @@ GAME_CUSTOM( 199?, m4blkmgc_u6, m4blkmgc, "bau1b307.bin", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4AMALAD_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4amalad, 0, "aag1.4", 0x0000, 0x020000, CRC(0da943a1) SHA1(50915ce67687f15a36b5c38b1c1c6773bd3ecf9f), "Avantime?","American Aladdin (Avantime?) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4amalad__a, m4amalad, "aag1.3", 0x0000, 0x020000, CRC(3a9552a9) SHA1(7695899b6ed52d0c7530b5ed0829cfdbb3892fa2), "Avantime?","American Aladdin (Avantime?) (MPU4) (set 2)" ) @@ -677,7 +692,7 @@ GAME_CUSTOM( 199?, m4amalad__n, m4amalad, "jpaltst2.dat", 0x0000, 0x020 ROM_LOAD( name, offset, length, hash ) \ M4BBEN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4bben, 0, "bbc1a102.bin", 0x0000, 0x010000, CRC(c5010bb6) SHA1(f39ab219eafaa391b5b777c2918f059ba67b4504), "Avantime?","Big Ben (Avantime?) (MPU4) (set 1)" ) @@ -704,7 +719,7 @@ GAME_CUSTOM( 199?, m4bben__i, m4bben, "bbc2b106.bin", 0x0000, 0x010000, CRC(d ROM_LOAD( name, offset, length, hash ) \ M4BBOX_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4bbox, 0, "bbb1.bin", 0x0000, 0x010000, CRC(b668e08e) SHA1(f401405419689ea5ad06dfd815aaef9e1b7ed4e1), "Avantime?","Brain Box (Avantime?) (MPU4) (set 1)" ) @@ -730,7 +745,7 @@ GAME_CUSTOM( 199?, m4bbox__i, m4bbox, "bbb9.bin", 0x0000, 0x010000, CRC(1 ROM_LOAD( name, offset, length, hash ) \ M4FRNUDG_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4frnudg, 0, "fanhc11.bin", 0x0000, 0x010000, CRC(d2fe9df9) SHA1(7b519e4ed447f8c59fda972fc398f6ff423a8f92), "Avantime?","Fruit & Nudge (Avantime?) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4frnudg__a, m4frnudg, "fanhc12.bin", 0x0000, 0x010000, CRC(2b2176e0) SHA1(9acffc05c02e76a6cbe4cfd708ff2d94ecb6c308), "Avantime?","Fruit & Nudge (Avantime?) (MPU4) (set 2)" ) @@ -750,7 +765,7 @@ GAME_CUSTOM( 199?, m4frnudg__c, m4frnudg, "fanhc9.bin", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4FRMTX_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4frmtx, 0, "fm1.bin", 0x0000, 0x010000, CRC(0d11ffee) SHA1(50a3f97cf76855ba503a833e4198c154a57b6847), "Avantime?","Fruit Matrix (Avantime?) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4frmtx__a, m4frmtx, "fm2.bin", 0x0000, 0x010000, CRC(ab143a49) SHA1(c4ba0671b154707fd69d58fd3bf65f5ba4d2bf53), "Avantime?","Fruit Matrix (Avantime?) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4frmtx__b, m4frmtx, "fm4.bin", 0x0000, 0x010000, CRC(cbe09e1d) SHA1(00d17c6a189ac1a60ec9acbe2babb5a69dec3711), "Avantime?","Fruit Matrix (Avantime?) (MPU4) (set 3)" ) @@ -771,7 +786,7 @@ GAME_CUSTOM( 199?, m4frmtx__f, m4frmtx, "frmatx3", 0x0000, 0x010000, CR ROM_LOAD( name, offset, length, hash ) \ M4JOK2K_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // latvia GAME_CUSTOM( 199?, m4jok2k, 0, "j300 1.512", 0x0000, 0x010000, CRC(3a52da14) SHA1(b2b7f32093938f8b793fa4c425cd5beaeaa83286), "Avantime?","Joker 2000 (Avantime?) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4jok2k__a, m4jok2k, "j300 2.512", 0x0000, 0x010000, CRC(6d3c6b99) SHA1(b5f34043e3cc93908b7ff969ae2546862a3a79ce), "Avantime?","Joker 2000 (Avantime?) (MPU4) (set 2)" ) @@ -791,7 +806,7 @@ GAME_CUSTOM( 199?, m4jok2k__b, m4jok2k, "joker2000.dat", 0x0000, 0x020000 ROM_LOAD( name, offset, length, hash ) \ M4MJP_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4mjp, 0, "code.bin", 0x0000, 0x020000, CRC(c57d0148) SHA1(4d21a501ea64eb4fcf22ae9fba81b8982a55730e), "Avantime?","Mega Jackpot (Avantime?) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4mjp__a, m4mjp, "mjl02.bin", 0x0000, 0x010000, CRC(014d1765) SHA1(5cc4039e574b3a68be6d639453b217ce9a0841f0), "Avantime?","Mega Jackpot (Avantime?) (MPU4) (set 2)" ) @@ -813,7 +828,7 @@ GAME_CUSTOM( 199?, m4mjp__g, m4mjp, "tl01.bin", 0x0000, 0x010000, CRC(a36a ROM_LOAD( name, offset, length, hash ) \ M4MILROU_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4milrou, 0, "nonp1.dat", 0x0000, 0x020000, CRC(b7503d57) SHA1(dc0ba6073ae278b8406cc7e30e4b4fed21df61c8), "Avantime?","Millennium Roulette (Avantime?) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4milrou__a, m4milrou, "p1.dat", 0x0000, 0x020000, CRC(b3f4a2b0) SHA1(01ee5ef5eea0f83791d68b2d9bdb5be6c6495a28), "Avantime?","Millennium Roulette (Avantime?) (MPU4) (set 2)" ) @@ -830,7 +845,7 @@ GAME_CUSTOM( 199?, m4milrou__a, m4milrou, "p1.dat", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4KINGG_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4avan_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4kingg, 0, "kgiha101.bin", 0x0000, 0x010000, CRC(4da8bea1) SHA1(63fbad82877f772f3f559026eaddb69e09d6556b), "Avantime?","King George (Avantime?) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4kingg__a, m4kingg, "kgiha102.bin", 0x0000, 0x010000, CRC(573687b0) SHA1(eafc90120297201fc1ba40029b592ec25d972690), "Avantime?","King George (Avantime?) (MPU4) (set 2)" ) diff --git a/src/mame/drivers/mpu4bwb.cpp b/src/mame/drivers/mpu4bwb.cpp index 1a60c2a3885..d35bf5e1319 100644 --- a/src/mame/drivers/mpu4bwb.cpp +++ b/src/mame/drivers/mpu4bwb.cpp @@ -1,7 +1,7 @@ // license:BSD-3-Clause // copyright-holders:David Haywood -/* MPU4 BwB games - - these are Bwb originals, not rebuilds.. +/* MPU4 BWB games + - these are BWB originals, not rebuilds.. typically they have large 0x3f fills in rom.. some have information about the various set types in unused areas @@ -9,30 +9,130 @@ some QPS sets also have large 0x3f fills but seem to be unrelated. + ---------------------------------------- + This file is home to the following BWB originals - Excalibur - Exotic Fruits - Jumping Jack Flash - Mad Money Classic - Orlando Magic - X-change - X-s - X-treme + Abracadabra + Big Match, ThE + Bingo Belle + Bingo Belle (Showcase cabinet version) + Bingo Club + Blues Boys + Championship Soccer + Cup Final + Dancing Diamonds + Daytona + Excalibur + Exotic Fruits + Fire & Ice + Harlequin + Heaven & Hell + Indy Cars + Jackpot Jokers + Jumping Jack Flash + Lucky Number 7 + Mad Money + Mad Money Classic + Money Mummy Money + Orlando Magic + Prize Bingo + Quids In + Quids In (Showcase cabinet version) + Rack Em Up + Rainbow Gold + Red Hot Fever + Sinbad + Sky Sports + Soul Sister + Spin The Bottle + Stars & Stripes + Super League + Super Soccer + Sure Thing + T-Rex + Tutti Fruity + Volcano + Voodoo Express + X-change + X-s + X-treme + + ---------------------------------------- + German games by BWB and Nova also in here + + Blues Boys (Nova, German version) + Cup Final (Nova, German version) + World Cup (Nova, German version) + Excalibur (Nova, German version) + Olympic Gold (Nova, German version) + Find The Lady (Nova, German version) + Sinbad (Nova, German version) */ #include "emu.h" #include "includes/mpu4.h" -INPUT_PORTS_EXTERN( mpu4 ); +namespace { + +class mpu4bwb_machines_state : public mpu4_state +{ +public: + + mpu4bwb_machines_state(const machine_config &mconfig, device_type type, const char *tag) : + mpu4_state(mconfig, type, tag) + { + } +}; + +} // anonymous namespace + #define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) +/***************************************************************************************************************************************************************************** +* +* Abracadabra +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4abra_keys[2] = { 0x11, 0x192703 }; + +#define M4ABRA_EXTRA_ROMS \ + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ + /* missing? */ + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4ABRA_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + +GAME_CUSTOM( 199?, m4abra, 0, "nn_sj___.4_0", 0x0000, 0x040000, CRC(48437d29) SHA1(72a2e9337fc0a004c382931f3af856253c44ed61), "Bwb","Abracadabra (Bwb) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4abra__a, m4abra, "nn_sja__.4_0", 0x0000, 0x040000, CRC(766cd4ae) SHA1(4d630b967ede615d325f524c2e4c92c7e7a60886), "Bwb","Abracadabra (Bwb) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4abra__b, m4abra, "nn_sjb__.4_0", 0x0000, 0x040000, CRC(ca77a68a) SHA1(e753c065d299038bae4c451e647b9bcda36421d9), "Bwb","Abracadabra (Bwb) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4abra__c, m4abra, "nn_sjk__.4_0", 0x0000, 0x040000, CRC(19018556) SHA1(6df993939e70a24621d4e732d0670d64fac1cf56), "Bwb","Abracadabra (Bwb) (MPU4) (set 4)" ) + + +/***************************************************************************************************************************************************************************** +* +* The Big Match +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4bigmt_keys[2] = { 0x10, 0x241215 }; + #define M4BIGMT_EXTRA_ROMS \ ROM_REGION( 0x180000, "altmsm6376", 0 ) /* this is NOT the same, some samples are changed */ \ ROM_LOAD( "bigmsnd", 0x0000, 0x07db60, CRC(876c53ae) SHA1(ea2511ec9ba4ff67879212c6e2ba908873130a4e) ) \ ROM_REGION( 0x180000, "msm6376", 0 ) \ ROM_LOAD( "tbmsnd.hex", 0x0000, 0x080000, CRC(e98da8de) SHA1(36668f2b82778f441224c94831f5b95efb9fa92b) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -40,17 +140,26 @@ INPUT_PORTS_EXTERN( mpu4 ); ROM_LOAD( name, offset, length, hash ) \ M4BIGMT_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4bigmt, 0, "bigm1320", 0x0000, 0x010000, CRC(a5085347) SHA1(93a7f7656e53461270e04190ff538959d6c917c1), "Bwb","The Big Match (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4bigmt__a, m4bigmt, "tb_20___.7_1", 0x0000, 0x010000, CRC(22fae0f0) SHA1(a875adccf96fbbff69f5fe76720514767cdcae66), "Bwb","The Big Match (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4bigmt__b, m4bigmt, "tb_20_b_.7_1", 0x0000, 0x010000, CRC(40d140a3) SHA1(fd4de8dd827db933481f671e4f10684c3b7a363a), "Bwb","The Big Match (Bwb) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4bigmt__c, m4bigmt, "tb_20_d_.7_1", 0x0000, 0x010000, CRC(86ed18c5) SHA1(1699645532134bd830e3fc2c3ff4b67b5d67ba3e), "Bwb","The Big Match (Bwb) (MPU4) (set 4)" ) GAME_CUSTOM( 199?, m4bigmt__d, m4bigmt, "tb_20_k_.7_1", 0x0000, 0x010000, CRC(e4c6b896) SHA1(ccf656d14ad68edb0aea99d4d3621540b899cdb7), "Bwb","The Big Match (Bwb) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4bigmt__e, m4bigmt, "tb______.1_2", 0x0000, 0x004000, CRC(be2a3989) SHA1(5ef857101335f90cd9f6147ec330ae281bb97b2b), "Bwb","The Big Match (Bwb) (MPU4) (set 6)" ) +//GAME_CUSTOM( 199?, m4bigmt__e, m4bigmt, "tb______.1_2", 0x0000, 0x004000, CRC(be2a3989) SHA1(5ef857101335f90cd9f6147ec330ae281bb97b2b), "Bwb","The Big Match (Bwb) (MPU4) (set 6)" ) // this is just a corrupt sound ROM with garbage after 0x2000 GAME_CUSTOM( 199?, m4bigmt__f, m4bigmt, "tbi20___.7_1", 0x0000, 0x010000, CRC(104f45cc) SHA1(c28c08b44c46db9d0eade1f60aeda120c3981a03), "Bwb","The Big Match (Bwb) (MPU4) (set 7)" ) +/***************************************************************************************************************************************************************************** +* +* Bingo Belle +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4bingbl_keys[2] = { 0x10, 0x322214 }; + #define M4BINGBL_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* Missing, or not OKI? */ @@ -61,8 +170,7 @@ GAME_CUSTOM( 199?, m4bigmt__f, m4bigmt, "tbi20___.7_1", 0x0000, 0x010000, CR ROM_LOAD( name, offset, length, hash ) \ M4BINGBL_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) - + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4bingbl, 0, "bb_20a__.8_1", 0x0000, 0x010000, CRC(10f29ba3) SHA1(739b413f35676834ebafeb121c6059759586ec72), "Bwb","Bingo Belle (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4bingbl__a, m4bingbl, "bb_20bg_.8_1", 0x0000, 0x010000, CRC(9969c9ce) SHA1(8c754335e7ff75bc46f02095c2c7d57df046db47), "Bwb","Bingo Belle (Bwb) (MPU4) (set 2)" ) @@ -73,6 +181,16 @@ GAME_CUSTOM( 199?, m4bingbl__e, m4bingbl, "bb_20sd_.8_1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4bingbl__f, m4bingbl, "bb_20sk_.8_1", 0x0000, 0x010000, CRC(0381dfe8) SHA1(8d3d232c10f9ec683a82464ee901f0963d9ffcd6), "Bwb","Bingo Belle (Bwb) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4bingbl__g, m4bingbl, "bbi20___.8_1", 0x0000, 0x010000, CRC(eae04eac) SHA1(bcc619868a065d92d09fa3b2411958b373b3edde), "Bwb","Bingo Belle (Bwb) (MPU4) (set 8)" ) + +/***************************************************************************************************************************************************************************** +* +* Bingo Belle (Showcase cabinet version) +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4bingbs_keys[2] = { 0x10, 0x322214 }; + #define M4BINGBS_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* Missing, or not OKI? */ @@ -83,7 +201,7 @@ GAME_CUSTOM( 199?, m4bingbl__g, m4bingbl, "bbi20___.8_1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4BINGBS_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4bingbs, 0, "bp_20a__.2_1", 0x0000, 0x010000, CRC(ca005003) SHA1(271ff0dbee529ca15c79c9aa1047efa8993ea073), "Bwb","Bingo Belle Showcase (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4bingbs__a, m4bingbs, "bp_20bg_.2_1", 0x0000, 0x010000, CRC(1b59c32f) SHA1(0c7df33f921639bfedbddd969dcbcd62e38ff912), "Bwb","Bingo Belle Showcase (Bwb) (MPU4) (set 2)" ) @@ -93,9 +211,20 @@ GAME_CUSTOM( 199?, m4bingbs__d, m4bingbs, "bp_20sb_.2_1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4bingbs__e, m4bingbs, "bp_20sd_.2_1", 0x0000, 0x010000, CRC(bb58b41b) SHA1(253859ab6d8033eeb94ad5c4586eadc8792bd436), "Bwb","Bingo Belle Showcase (Bwb) (MPU4) (set 6)" ) GAME_CUSTOM( 199?, m4bingbs__f, m4bingbs, "bp_20sk_.2_1", 0x0000, 0x010000, CRC(d9731448) SHA1(2f054a99c5d1570b6e0307542c50421408a610dc), "Bwb","Bingo Belle Showcase (Bwb) (MPU4) (set 7)" ) + +/***************************************************************************************************************************************************************************** +* +* Bingo Club +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4bingcl_keys[2] = { 0x03, 0x072114 }; + #define M4BINGCL_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* Missing, or not OKI? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -103,18 +232,28 @@ GAME_CUSTOM( 199?, m4bingbs__f, m4bingbs, "bp_20sk_.2_1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4BINGCL_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4bingcl, 0, "bc_xe___.2_1", 0x0000, 0x010000, CRC(3abbc215) SHA1(b5e59b30c07c4ffef69c5729f1a28d7ee55636bd), "Bwb","Bingo Club (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4bingcl__a, m4bingcl, "bc_xe_b_.2_1", 0x0000, 0x010000, CRC(3e11c5c0) SHA1(2d9bc987fed040664f211bb9d13984b6cba5e25f), "Bwb","Bingo Club (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4bingcl__b, m4bingcl, "bc_xe_d_.2_1", 0x0000, 0x010000, CRC(0a3a162f) SHA1(1b0857039b0442269b8fd4c063fc99b3b50cc312), "Bwb","Bingo Club (Bwb) (MPU4) (set 3)" ) +/***************************************************************************************************************************************************************************** +* +* Blues Boys +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4blsbys_keys[2] = { 0x42, 0x362709 }; +static const uint32_t m4blsbys_g_keys[2] = { 0x36, 0x010e20 }; #define M4BLSBYS_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "bbsnd.p1", 0x000000, 0x080000, CRC(715c9e95) SHA1(6a0c9c63e56cfc21bf77cf29c1b844b8e0844c1e) ) \ ROM_LOAD( "bbsnd.p2", 0x080000, 0x080000, CRC(594a87f8) SHA1(edfef7d08fab41fb5814c92930f08a565371eae1) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -122,7 +261,7 @@ GAME_CUSTOM( 199?, m4bingcl__b, m4bingcl, "bc_xe_d_.2_1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4BLSBYS_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, bwboki, mpu4, mpu4_state, init_m_blsbys, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m_blsbys, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4blsbys, 0, "bbprog.bin", 0x0000, 0x020000, CRC(c262cfda) SHA1(f004895e0dd3f8420683927915554e19e41bd20b), "Bwb","Blues Boys (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4blsbys__a, m4blsbys, "bf_20a__.3_1", 0x0000, 0x020000, CRC(fca7764f) SHA1(a88378247b6710d6122c515c31c39c5cd9678ce2), "Bwb","Blues Boys (Bwb) (MPU4) (set 2)" ) @@ -131,35 +270,45 @@ GAME_CUSTOM( 199?, m4blsbys__c, m4blsbys, "bf_20s__.3_1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4blsbys__d, m4blsbys, "bf_20s__.6_1", 0x0000, 0x020000, CRC(af7462cb) SHA1(188935ebb574e0b09f9e0e5f094eb99ed7df5075), "Bwb","Blues Boys (Bwb) (MPU4) (set 5)" ) GAME_CUSTOM( 199?, m4blsbys__e, m4blsbys, "bf_20sb_.3_1", 0x0000, 0x020000, CRC(d2ff1a12) SHA1(d425985a8d109c9e3729618a995eeac1f3bf643c), "Bwb","Blues Boys (Bwb) (MPU4) (set 6)" ) GAME_CUSTOM( 199?, m4blsbys__f, m4blsbys, "bf_20sb_.6_1", 0x0000, 0x020000, CRC(7548bdf1) SHA1(a366c10f35d85b1f3c103787dd5b2e6600ecf6c8), "Bwb","Blues Boys (Bwb) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4blsbys__g, m4blsbys, "bs_05___.3v1", 0x0000, 0x020000, CRC(26e8eb95) SHA1(7d8dbca127e1867714cbeb9d699b2173de724eb2), "Bwb","Blues Boys (Bwb) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4blsbys__h, m4blsbys, "bs_05__c.3v1", 0x0000, 0x020000, CRC(12e51237) SHA1(68235cf5f36862a26d5d44464041dabb01b9f95c), "Bwb","Blues Boys (Bwb) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4blsbys__i, m4blsbys, "bs_05_b_.3v1", 0x0000, 0x020000, CRC(a8ec1731) SHA1(5acd86b1018301df5c3caa388bbbee0c0daacb40), "Bwb","Blues Boys (Bwb) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4blsbys__j, m4blsbys, "bs_05_d_.3v1", 0x0000, 0x020000, CRC(5def4142) SHA1(e0019979f65e240002455d5aa41e1492dc517740), "Bwb","Blues Boys (Bwb) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4blsbys__k, m4blsbys, "bs_05_k_.3v1", 0x0000, 0x020000, CRC(d023bad9) SHA1(54c995c5166f018c41dd7007163f07f054f564e9), "Bwb","Blues Boys (Bwb) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4blsbys__l, m4blsbys, "bs_05_kc.3v1", 0x0000, 0x020000, CRC(0b8911da) SHA1(1426944c01edbf6edb664f961fe75befd3e81e65), "Bwb","Blues Boys (Bwb) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4blsbys__m, m4blsbys, "bs_05a__.2_1", 0x0000, 0x020000, CRC(88af47c9) SHA1(e5dfd572b47f2cff6e6ef68bd9016a3e5b2273b2), "Bwb","Blues Boys (Bwb) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4blsbys__n, m4blsbys, "bs_05a__.3v1", 0x0000, 0x020000, CRC(055fdf72) SHA1(118272ca35d1ea059b6905a7cd515dbfc11fdbc5), "Bwb","Blues Boys (Bwb) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4blsbys__o, m4blsbys, "bs_05a_c.3v1", 0x0000, 0x020000, CRC(737999c4) SHA1(957fd06f7937b85436ef7011d47c559729d17d51), "Bwb","Blues Boys (Bwb) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4blsbys__p, m4blsbys, "bs_05b__.3v1", 0x0000, 0x020000, CRC(ea1b09e7) SHA1(9310e3d63b77c4bc2d0d428a630c8aafb500de74), "Bwb","Blues Boys (Bwb) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4blsbys__q, m4blsbys, "bs_05b_c.3v1", 0x0000, 0x020000, CRC(3ec0ce9f) SHA1(09472d392350da1593f084a2591125b0d71aca29), "Bwb","Blues Boys (Bwb) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4blsbys__r, m4blsbys, "bs_20__c.1_1", 0x0000, 0x020000, CRC(328dc0a6) SHA1(7bea0bac121f2c521d891267fb891479549350aa), "Bwb","Blues Boys (Bwb) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4blsbys__s, m4blsbys, "bs_20a__.6_1", 0x0000, 0x020000, CRC(9968e21f) SHA1(8615c8b7f0ae55f0b77f30c84a74d1fba0450a73), "Bwb","Blues Boys (Bwb) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4blsbys__t, m4blsbys, "bs_20a__.7_1", 0x0000, 0x020000, CRC(c48bc5d6) SHA1(5aa44d85c1a33ea1aa27e2eaa987ce4fe570b713), "Bwb","Blues Boys (Bwb) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4blsbys__u, m4blsbys, "bs_20a_c.1_1", 0x0000, 0x020000, CRC(b9483173) SHA1(a81ef9cb42cd090861b2e0a28a63906cf61c7534), "Bwb","Blues Boys (Bwb) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4blsbys__v, m4blsbys, "bs_20a_p.4_1", 0x0000, 0x020000, CRC(fb7ec0aa) SHA1(a0b681a8eacde06825c7e4fcf5b7ef8f64723d96), "Bwb","Blues Boys (Bwb) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4blsbys__w, m4blsbys, "bs_20a_s.6_1", 0x0000, 0x020000, CRC(72c5c16e) SHA1(18bdb0f9aff13587d95d871b4124d5a1cc07af04), "Bwb","Blues Boys (Bwb) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4blsbys__x, m4blsbys, "bs_20s__.6_1", 0x0000, 0x020000, CRC(1862df89) SHA1(b18f15f2098dfc488a6bdb9a7adff4446268f0d3), "Bwb","Blues Boys (Bwb) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4blsbys__y, m4blsbys, "bs_20s_s.6_1", 0x0000, 0x020000, CRC(f3cffcf8) SHA1(bda99c269e85baf64f66788f868879d21a896c5a), "Bwb","Blues Boys (Bwb) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4blsbys__z, m4blsbys, "bs_20sb_.6_1", 0x0000, 0x020000, CRC(3278bdcb) SHA1(c694d485c79be983924410ce00d364d233a054c0), "Bwb","Blues Boys (Bwb) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4blsbys__0, m4blsbys, "bs_20sbc.1_1", 0x0000, 0x020000, CRC(3a55b728) SHA1(948b353ec92aae1cb801e5e2d2385cd2316f0838), "Bwb","Blues Boys (Bwb) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4blsbys__1, m4blsbys, "bs_20sbs.6_1", 0x0000, 0x020000, CRC(d9d59eba) SHA1(91f608dc33541297797f937546fa5759b26af511), "Bwb","Blues Boys (Bwb) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4blsbys__2, m4blsbys, "bs_20sd_.6_1", 0x0000, 0x020000, CRC(df087fd9) SHA1(35c85ffe0bef5847a3a72bb33f196f4708f03b28), "Bwb","Blues Boys (Bwb) (MPU4) (set 30)" ) -GAME_CUSTOM( 199?, m4blsbys__3, m4blsbys, "bs_20sdc.1_1", 0x0000, 0x020000, CRC(1439c63e) SHA1(fdac1199e98bbecd944431338d2215d434a0c004), "Bwb","Blues Boys (Bwb) (MPU4) (set 31)" ) -GAME_CUSTOM( 199?, m4blsbys__4, m4blsbys, "bs_20sds.6_1", 0x0000, 0x020000, CRC(34a55ca8) SHA1(393d0164699a91fcb4eb68ca5246a0744e245873), "Bwb","Blues Boys (Bwb) (MPU4) (set 32)" ) -GAME_CUSTOM( 199?, m4blsbys__5, m4blsbys, "bs_25__c.2_1", 0x0000, 0x020000, CRC(d41de6c6) SHA1(43c059ef673de9cc1ef800f3da68b3a6fd54e8f7), "Bwb","Blues Boys (Bwb) (MPU4) (set 33)" ) -GAME_CUSTOM( 199?, m4blsbys__6, m4blsbys, "bs_25_bc.2_1", 0x0000, 0x020000, CRC(b692305d) SHA1(4ed96655a4fdfd97fa5783648f8cdea5af0c565e), "Bwb","Blues Boys (Bwb) (MPU4) (set 34)" ) -GAME_CUSTOM( 199?, m4blsbys__7, m4blsbys, "bs_25_dc.2_1", 0x0000, 0x020000, CRC(bbe844a5) SHA1(bd1d5d8601b0c36a2f4abaae04a49626cbef23b6), "Bwb","Blues Boys (Bwb) (MPU4) (set 35)" ) -GAME_CUSTOM( 199?, m4blsbys__8, m4blsbys, "bs_25a_c.2_1", 0x0000, 0x020000, CRC(0b64cc29) SHA1(43b958321ad5a04aae4629929844643dfcf17819), "Bwb","Blues Boys (Bwb) (MPU4) (set 36)" ) +GAME_CUSTOM( 199?, m4blsbys__r, m4blsbys, "bs_20__c.1_1", 0x0000, 0x020000, CRC(328dc0a6) SHA1(7bea0bac121f2c521d891267fb891479549350aa), "Bwb","Blues Boys (Bwb) (MPU4) (set 8)" ) +GAME_CUSTOM( 199?, m4blsbys__s, m4blsbys, "bs_20a__.6_1", 0x0000, 0x020000, CRC(9968e21f) SHA1(8615c8b7f0ae55f0b77f30c84a74d1fba0450a73), "Bwb","Blues Boys (Bwb) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4blsbys__t, m4blsbys, "bs_20a__.7_1", 0x0000, 0x020000, CRC(c48bc5d6) SHA1(5aa44d85c1a33ea1aa27e2eaa987ce4fe570b713), "Bwb","Blues Boys (Bwb) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4blsbys__u, m4blsbys, "bs_20a_c.1_1", 0x0000, 0x020000, CRC(b9483173) SHA1(a81ef9cb42cd090861b2e0a28a63906cf61c7534), "Bwb","Blues Boys (Bwb) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4blsbys__v, m4blsbys, "bs_20a_p.4_1", 0x0000, 0x020000, CRC(fb7ec0aa) SHA1(a0b681a8eacde06825c7e4fcf5b7ef8f64723d96), "Bwb","Blues Boys (Bwb) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4blsbys__w, m4blsbys, "bs_20a_s.6_1", 0x0000, 0x020000, CRC(72c5c16e) SHA1(18bdb0f9aff13587d95d871b4124d5a1cc07af04), "Bwb","Blues Boys (Bwb) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4blsbys__x, m4blsbys, "bs_20s__.6_1", 0x0000, 0x020000, CRC(1862df89) SHA1(b18f15f2098dfc488a6bdb9a7adff4446268f0d3), "Bwb","Blues Boys (Bwb) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4blsbys__y, m4blsbys, "bs_20s_s.6_1", 0x0000, 0x020000, CRC(f3cffcf8) SHA1(bda99c269e85baf64f66788f868879d21a896c5a), "Bwb","Blues Boys (Bwb) (MPU4) (set 15)" ) +GAME_CUSTOM( 199?, m4blsbys__z, m4blsbys, "bs_20sb_.6_1", 0x0000, 0x020000, CRC(3278bdcb) SHA1(c694d485c79be983924410ce00d364d233a054c0), "Bwb","Blues Boys (Bwb) (MPU4) (set 16)" ) +GAME_CUSTOM( 199?, m4blsbys__0, m4blsbys, "bs_20sbc.1_1", 0x0000, 0x020000, CRC(3a55b728) SHA1(948b353ec92aae1cb801e5e2d2385cd2316f0838), "Bwb","Blues Boys (Bwb) (MPU4) (set 17)" ) +GAME_CUSTOM( 199?, m4blsbys__1, m4blsbys, "bs_20sbs.6_1", 0x0000, 0x020000, CRC(d9d59eba) SHA1(91f608dc33541297797f937546fa5759b26af511), "Bwb","Blues Boys (Bwb) (MPU4) (set 18)" ) +GAME_CUSTOM( 199?, m4blsbys__2, m4blsbys, "bs_20sd_.6_1", 0x0000, 0x020000, CRC(df087fd9) SHA1(35c85ffe0bef5847a3a72bb33f196f4708f03b28), "Bwb","Blues Boys (Bwb) (MPU4) (set 19)" ) +GAME_CUSTOM( 199?, m4blsbys__3, m4blsbys, "bs_20sdc.1_1", 0x0000, 0x020000, CRC(1439c63e) SHA1(fdac1199e98bbecd944431338d2215d434a0c004), "Bwb","Blues Boys (Bwb) (MPU4) (set 20)" ) +GAME_CUSTOM( 199?, m4blsbys__4, m4blsbys, "bs_20sds.6_1", 0x0000, 0x020000, CRC(34a55ca8) SHA1(393d0164699a91fcb4eb68ca5246a0744e245873), "Bwb","Blues Boys (Bwb) (MPU4) (set 21)" ) +GAME_CUSTOM( 199?, m4blsbys__5, m4blsbys, "bs_25__c.2_1", 0x0000, 0x020000, CRC(d41de6c6) SHA1(43c059ef673de9cc1ef800f3da68b3a6fd54e8f7), "Bwb","Blues Boys (Bwb) (MPU4) (set 22)" ) +GAME_CUSTOM( 199?, m4blsbys__6, m4blsbys, "bs_25_bc.2_1", 0x0000, 0x020000, CRC(b692305d) SHA1(4ed96655a4fdfd97fa5783648f8cdea5af0c565e), "Bwb","Blues Boys (Bwb) (MPU4) (set 23)" ) +GAME_CUSTOM( 199?, m4blsbys__7, m4blsbys, "bs_25_dc.2_1", 0x0000, 0x020000, CRC(bbe844a5) SHA1(bd1d5d8601b0c36a2f4abaae04a49626cbef23b6), "Bwb","Blues Boys (Bwb) (MPU4) (set 24)" ) +GAME_CUSTOM( 199?, m4blsbys__8, m4blsbys, "bs_25a_c.2_1", 0x0000, 0x020000, CRC(0b64cc29) SHA1(43b958321ad5a04aae4629929844643dfcf17819), "Bwb","Blues Boys (Bwb) (MPU4) (set 25)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4BLSBYS_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m_blsbys, ROT0, company, title, GAME_FLAGS ) + +GAME_CUSTOM( 199?, m4blsbys__g, m4blsbys, "bs_05___.3v1", 0x0000, 0x020000, CRC(26e8eb95) SHA1(7d8dbca127e1867714cbeb9d699b2173de724eb2), "Bwb","Blues Boys (Bwb) (MPU4) (set 26)" ) +GAME_CUSTOM( 199?, m4blsbys__h, m4blsbys, "bs_05__c.3v1", 0x0000, 0x020000, CRC(12e51237) SHA1(68235cf5f36862a26d5d44464041dabb01b9f95c), "Bwb","Blues Boys (Bwb) (MPU4) (set 27)" ) +GAME_CUSTOM( 199?, m4blsbys__i, m4blsbys, "bs_05_b_.3v1", 0x0000, 0x020000, CRC(a8ec1731) SHA1(5acd86b1018301df5c3caa388bbbee0c0daacb40), "Bwb","Blues Boys (Bwb) (MPU4) (set 28)" ) +GAME_CUSTOM( 199?, m4blsbys__j, m4blsbys, "bs_05_d_.3v1", 0x0000, 0x020000, CRC(5def4142) SHA1(e0019979f65e240002455d5aa41e1492dc517740), "Bwb","Blues Boys (Bwb) (MPU4) (set 29)" ) +GAME_CUSTOM( 199?, m4blsbys__k, m4blsbys, "bs_05_k_.3v1", 0x0000, 0x020000, CRC(d023bad9) SHA1(54c995c5166f018c41dd7007163f07f054f564e9), "Bwb","Blues Boys (Bwb) (MPU4) (set 30)" ) +GAME_CUSTOM( 199?, m4blsbys__l, m4blsbys, "bs_05_kc.3v1", 0x0000, 0x020000, CRC(0b8911da) SHA1(1426944c01edbf6edb664f961fe75befd3e81e65), "Bwb","Blues Boys (Bwb) (MPU4) (set 31)" ) +GAME_CUSTOM( 199?, m4blsbys__m, m4blsbys, "bs_05a__.2_1", 0x0000, 0x020000, CRC(88af47c9) SHA1(e5dfd572b47f2cff6e6ef68bd9016a3e5b2273b2), "Bwb","Blues Boys (Bwb) (MPU4) (set 32)" ) +GAME_CUSTOM( 199?, m4blsbys__n, m4blsbys, "bs_05a__.3v1", 0x0000, 0x020000, CRC(055fdf72) SHA1(118272ca35d1ea059b6905a7cd515dbfc11fdbc5), "Bwb","Blues Boys (Bwb) (MPU4) (set 33)" ) +GAME_CUSTOM( 199?, m4blsbys__o, m4blsbys, "bs_05a_c.3v1", 0x0000, 0x020000, CRC(737999c4) SHA1(957fd06f7937b85436ef7011d47c559729d17d51), "Bwb","Blues Boys (Bwb) (MPU4) (set 34)" ) +GAME_CUSTOM( 199?, m4blsbys__p, m4blsbys, "bs_05b__.3v1", 0x0000, 0x020000, CRC(ea1b09e7) SHA1(9310e3d63b77c4bc2d0d428a630c8aafb500de74), "Bwb","Blues Boys (Bwb) (MPU4) (set 35)" ) +GAME_CUSTOM( 199?, m4blsbys__q, m4blsbys, "bs_05b_c.3v1", 0x0000, 0x020000, CRC(3ec0ce9f) SHA1(09472d392350da1593f084a2591125b0d71aca29), "Bwb","Blues Boys (Bwb) (MPU4) (set 36)" ) GAME_CUSTOM( 199?, m4blsbys__9, m4blsbys, "bs_x3a__.2v1", 0x0000, 0x020000, CRC(99471e88) SHA1(e566cd1368e7234ec546b05528f2fcf345e03697), "Bwb","Blues Boys (Bwb) (MPU4) (set 37)" ) GAME_CUSTOM( 199?, m4blsbys__aa, m4blsbys, "bs_x3s__.2v1", 0x0000, 0x020000, CRC(84249d95) SHA1(3962ee9fde49b25c3485c7bfaecd63c400d8502d), "Bwb","Blues Boys (Bwb) (MPU4) (set 38)" ) GAME_CUSTOM( 199?, m4blsbys__ab, m4blsbys, "bs_x6a__.2v1", 0x0000, 0x020000, CRC(d03ef955) SHA1(03fa4b3b37b71fb61439200d5dd65dab846abc2c), "Bwb","Blues Boys (Bwb) (MPU4) (set 39)" ) @@ -167,29 +316,21 @@ GAME_CUSTOM( 199?, m4blsbys__ac, m4blsbys, "bs_x6s__.2v1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4blsbys__ad, m4blsbys, "bsix3___.2v1", 0x0000, 0x020000, CRC(4e7451fa) SHA1(b1417f948c7e80f506b90d6608f6dd79739389bf), "Bwb","Blues Boys (Bwb) (MPU4) (set 41)" ) -#define M4BLUESN_EXTRA_ROMS \ - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ - ROM_LOAD( "bluesboyz.bi2", 0x000000, 0x080000, CRC(7f19a61b) SHA1(dd8742d84df24e118bdbffb1efffad1c71eb2283) ) \ - ROM_LOAD( "bluesboyz.bi3", 0x080000, 0x080000, CRC(32363184) SHA1(8f3f53ce4d9f9b54c441263def9d8e23880507a1) ) \ - ROM_LOAD( "bluesboyz.bi4", 0x100000, 0x080000, CRC(aa94281d) SHA1(e15b7bf97b8e307ed465d9b8cb6e5de0044f6fb5) ) \ - ROM_LOAD( "bluesboyz.bi5", 0x180000, 0x080000, CRC(d8d7aa2e) SHA1(2d8b86fa63e6649d628c7e343d8f5c329c8f8ced) ) -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4BLUESN_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4bluesn, m4blsbys, "bluesboys.bin", 0x0000, 0x020000, CRC(c1395649) SHA1(3cd0eed1f966f5391fe5de496dc747385ebfb556), "Bwb","Blues Boys (Nova) (MPU4)" ) - +/***************************************************************************************************************************************************************************** +* +* Championship Soccer +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ +static const uint32_t m4csoc_keys[2] = { 0x11, 0x101230 }; #define M4CSOC_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \ ROM_LOAD( "ch_socc.s1", 0x000000, 0x080000, CRC(abaea3f3) SHA1(cf3b6e4ee99680726efd2a839b49b4d86e2bd270) ) \ ROM_LOAD( "ch_socc.s2", 0x080000, 0x080000, CRC(2048f5b2) SHA1(b07addfd9d861b1d19d4db248e16c597cf79b159) ) \ ROM_LOAD( "ch_socc.s3", 0x100000, 0x080000, CRC(064224b0) SHA1(99a8bacfd3a42f72e40b93d1f7eeea633c3cf366) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -197,8 +338,7 @@ GAME_CUSTOM( 199?, m4bluesn, m4blsbys, "bluesboys.bin", 0x0000, 0x020000, CR ROM_LOAD( name, offset, length, hash ) \ M4CSOC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) - + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4csoc, 0, "chsoc8ac", 0x0000, 0x040000, CRC(8e0471ba) SHA1(3b7e6edbb3490e99af148c0cfe8d39c13c282880), "Bwb","Championship Soccer (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4csoc__a, m4csoc, "sg_sj___.1_0", 0x0000, 0x040000, CRC(f21cd1aa) SHA1(dc010a315a8d738ad9e5e384197499e08a8d5ef6), "Bwb","Championship Soccer (Bwb) (MPU4) (set 2)" ) @@ -213,10 +353,20 @@ GAME_CUSTOM( 199?, m4csoc__i, m4csoc, "ch_socc", 0x0000, 0x040000, CRC(e GAME_CUSTOM( 199?, m4csoc__j, m4csoc, "ch_socc.5", 0x0000, 0x040000, CRC(1b2ea78d) SHA1(209534ccd537c0ca9d02301830a52ebc29b93cb7), "Bwb","Championship Soccer (Bwb) (MPU4) (set 11)" ) +/***************************************************************************************************************************************************************************** +* +* Cup Final +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4cpfinl_keys[2] = { 0x10, 0x241215 }; + #define M4CPFINL_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", 0 ) \ ROM_LOAD( "cupsnd_1.0_2", 0x000000, 0x080000, CRC(54384ce8) SHA1(ff78c4ea16722662a480bff1f85af7efe84b01e5) ) \ ROM_LOAD( "cupsnd_1.0_3", 0x080000, 0x080000, CRC(24d3d848) SHA1(64287c3cbe2e9693954bc880d6edf2bc17b0ed65) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -224,8 +374,7 @@ GAME_CUSTOM( 199?, m4csoc__j, m4csoc, "ch_socc.5", 0x0000, 0x040000, CRC(1 ROM_LOAD( name, offset, length, hash ) \ M4CPFINL_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) - + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4cpfinl, 0, "cu_10___.5_1", 0x0000, 0x010000, CRC(47a85443) SHA1(d308b9a6dcb0200f72d5c5b380907d2d55f3e40d), "Bwb","Cup Final (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4cpfinl__a, m4cpfinl, "cu_10_b_.5_1", 0x0000, 0x010000, CRC(2583f410) SHA1(447a2316e3c3da6f835699602834f7ca5bafbdf9), "Bwb","Cup Final (Bwb) (MPU4) (set 2)" ) @@ -241,9 +390,19 @@ GAME_CUSTOM( 199?, m4cpfinl__j, m4cpfinl, "cui20_d_.5_1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4cpfinl__k, m4cpfinl, "cui20_k_.5_1", 0x0000, 0x010000, CRC(9d2a7b78) SHA1(d7c26a47dcbb836650f3021733d09a426ff3a390), "Bwb","Cup Final (Bwb) (MPU4) (set 12)" ) +/***************************************************************************************************************************************************************************** +* +* Dancing Diamonds +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4danced_keys[2] = { 0x10, 0x3b240d }; + #define M4DANCED_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", 0 ) \ ROM_LOAD( "dd______.1_2", 0x0000, 0x080000, CRC(b9043a08) SHA1(5d87a30f23e8b5e3eaa0584d0d49efc08209882b) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -251,8 +410,7 @@ GAME_CUSTOM( 199?, m4cpfinl__k, m4cpfinl, "cui20_k_.5_1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4DANCED_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) - + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4danced, 0, "dd_22bg_.2_1", 0x0000, 0x020000, CRC(f79525a1) SHA1(babfbf8beae423626057235bcad5eae18531160e), "Bwb","Dancing Diamonds (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4danced__a, m4danced, "dd_22bg_.4_1", 0x0000, 0x020000, CRC(e50ffa46) SHA1(b42d806422f85573bcbe284b4192f393e3e57306), "Bwb","Dancing Diamonds (Bwb) (MPU4) (set 2)" ) @@ -280,9 +438,19 @@ GAME_CUSTOM( 199?, m4danced__v, m4danced, "dd_32sd_.3_1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4danced__w, m4danced, "dd_sja__.2_1", 0x0000, 0x020000, CRC(45db5106) SHA1(b12a5c2c3f61cc78a7ff040e1ffff82c225e6d9e), "Bwb","Dancing Diamonds (Bwb) (MPU4) (set 24)" ) +/***************************************************************************************************************************************************************************** +* +* Daytona +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4daytn_keys[2] = { 0x13, 0x1f1e23 }; + #define M4DAYTN_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -290,10 +458,7 @@ GAME_CUSTOM( 199?, m4danced__w, m4danced, "dd_sja__.2_1", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4DAYTN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) - - - + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4daytn, 0, "da_78___.1_0", 0x0000, 0x040000, CRC(50beafdd) SHA1(0ef6dd4fc9c8cda596fd383e47b9c7976b5d15f0), "Bwb","Daytona (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4daytn__a, m4daytn, "da_78_d_.1_0", 0x0000, 0x040000, CRC(d55d3f9a) SHA1(a145379237947601f2ecb84138c113b71842cd34), "Bwb","Daytona (Bwb) (MPU4) (set 2)" ) @@ -312,12 +477,21 @@ GAME_CUSTOM( 199?, m4daytn__m, m4daytn, "da_90_d_.1_0", 0x0000, 0x040000, CR GAME_CUSTOM( 199?, m4daytn__n, m4daytn, "da_92_d_.1_0", 0x0000, 0x040000, CRC(9e99647d) SHA1(34cf734808ffbfa9bc920ad1c93c0a9f7bbba791), "Bwb","Daytona (Bwb) (MPU4) (set 15)" ) +/***************************************************************************************************************************************************************************** +* +* Excalibur +* - fails to boot (code crashes!) +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4excal_keys[2] = { 0xff, 0xffffffff }; #define M4EXCAL_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", 0 ) \ ROM_LOAD( "ex______.1_2", 0x000000, 0x080000, CRC(9305e516) SHA1(5a5c67f97761fe2e042ba31594d1881238d3227b) ) \ ROM_LOAD( "ex______.1_3", 0x080000, 0x080000, CRC(29e3709a) SHA1(2e2f089aa2a938158930f235bf821685932d698b) ) \ ROM_LOAD( "ex______.1_4", 0x100000, 0x080000, CRC(dd747003) SHA1(cf0a2936c897e3b833984c55f4825c358b723ab8) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -325,7 +499,7 @@ GAME_CUSTOM( 199?, m4daytn__n, m4daytn, "da_92_d_.1_0", 0x0000, 0x040000, CR ROM_LOAD( name, offset, length, hash ) \ M4EXCAL_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4excal, 0, "ex_05a__.6_1", 0x0000, 0x020000, CRC(317fa289) SHA1(8a0e83a764e2a04285367e0f7ebb814fedc81400), "Bwb","Excalibur (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4excal__a, m4excal, "ex_20a_6.6_1", 0x0000, 0x020000, CRC(284937c8) SHA1(3be8bf21ab0ff97f67ce170cee48cd08ea325571), "Bwb","Excalibur (Bwb) (MPU4) (set 2)" ) @@ -340,9 +514,19 @@ GAME_CUSTOM( 199?, m4excal__i, m4excal, "ex_20sd6.6_1", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4excal__j, m4excal, "ex_20sd8.6_1", 0x0000, 0x020000, CRC(1769d5c3) SHA1(3e5ff338364781e99685cde9e45707dd88d1da11), "Bwb","Excalibur (Bwb) (MPU4) (set 11)" ) +/***************************************************************************************************************************************************************************** +* +* Exotic Fruits +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4exotic_keys[2] = { 0x34, 0x3f0e26 }; + #define M4EXOTIC_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -350,7 +534,7 @@ GAME_CUSTOM( 199?, m4excal__j, m4excal, "ex_20sd8.6_1", 0x0000, 0x020000, CR ROM_LOAD( name, offset, length, hash ) \ M4EXOTIC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4exotic, 0, "eo_49bg_.2_0", 0x0000, 0x020000, CRC(c3bf2286) SHA1(74090fd0a103a6c311d426f4aae8e7af8b1d3bc0), "Bwb","Exotic Fruits (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4exotic__a, m4exotic, "eo_49bm_.2_0", 0x0000, 0x020000, CRC(c748c4ca) SHA1(7d0d498f9edd792ed861c8bf9cf1bb03698d144d), "Bwb","Exotic Fruits (Bwb) (MPU4) (set 2)" ) @@ -360,12 +544,21 @@ GAME_CUSTOM( 199?, m4exotic__d, m4exotic, "eo_s9bt_.2g0", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4exotic__e, m4exotic, "eo_sja__.2_0", 0x0000, 0x020000, CRC(5ca9557f) SHA1(5fa42c56c67b505272d358a54ebe911fdb0b905e), "Bwb","Exotic Fruits (Bwb) (MPU4) (set 6)" ) +/***************************************************************************************************************************************************************************** +* +* Fire & Ice +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4firice_keys[2] = { 0x11, 0x162413 }; #define M4FIRICE_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \ ROM_LOAD( "fire_ice.s1", 0x000000, 0x080000, CRC(74ee37c1) SHA1(bc9b419dd1fd1c66090f8946247e754c0267baa3) ) \ ROM_LOAD( "fire_ice.s2", 0x080000, 0x080000, CRC(b86bafeb) SHA1(ee237f601b970dc5be8096a4018cb6a3edac500f) ) \ ROM_LOAD( "fire_ice.s3", 0x100000, 0x080000, CRC(75f349b3) SHA1(1505bec7b69e1eabd679b70d95ae58fd264ca698) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -373,7 +566,7 @@ GAME_CUSTOM( 199?, m4exotic__e, m4exotic, "eo_sja__.2_0", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4FIRICE_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4firice, 0, "fi_20__d.5_0", 0x0000, 0x040000, CRC(ab46574c) SHA1(d233b137f8f42b9b644b34a627fbcc5b662e8ae1), "Bwb","Fire & Ice (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4firice__a, m4firice, "fi_20_bd.5_0", 0x0000, 0x040000, CRC(9b2bc052) SHA1(34b970659218fde097238b852dadedcb928f69fd), "Bwb","Fire & Ice (Bwb) (MPU4) (set 2)" ) @@ -388,10 +581,20 @@ GAME_CUSTOM( 199?, m4firice__i, m4firice, "fi_sj_k_.e_0", 0x0000, 0x040000, GAME_CUSTOM( 199?, m4firice__j, m4firice, "fi_sja__.e_0", 0x0000, 0x040000, CRC(da5e0eff) SHA1(9f5ddce366786bdf898c9410be417c8028cebeb4), "Bwb","Fire & Ice (Bwb) (MPU4) (set 11)" ) +/***************************************************************************************************************************************************************************** +* +* Harlequin +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4harle_keys[2] = { 0x10, 0x220525 }; + #define M4HARLE_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \ ROM_LOAD( "hq______.1_2", 0x000000, 0x080000, CRC(0c8c14be) SHA1(a1268e71ea43772a532b63327f24c64fabd7e715) ) \ ROM_LOAD( "hq______.1_3", 0x080000, 0x080000, CRC(5a07e514) SHA1(6e589756c0fc4b0458ca856e918fa3b7cd396c39) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -399,8 +602,7 @@ GAME_CUSTOM( 199?, m4firice__j, m4firice, "fi_sja__.e_0", 0x0000, 0x040000, ROM_LOAD( name, offset, length, hash ) \ M4HARLE_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) - + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4harle, 0, "hq_20a__.1_1", 0x0000, 0x010000, CRC(b8ae3025) SHA1(94a449eff103bf6ba1fc6e85b03061b9ce658ae0), "Bwb","Harlequin (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4harle__a, m4harle, "hq_20bg_.1_1", 0x0000, 0x010000, CRC(31356248) SHA1(d8791b1c861ed4388660bbe78f2589db7f1e779e), "Bwb","Harlequin (Bwb) (MPU4) (set 2)" ) @@ -429,11 +631,21 @@ GAME_CUSTOM( 199?, m4harle__w, m4harle, "ph_20sd_.2s1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4harle__x, m4harle, "ph_20sk_.1_1", 0x0000, 0x010000, CRC(8af0e254) SHA1(b7d80ab84684bdabe169623864b9efd0d3881f2e), "Bwb","Harlequin (Bwb) (MPU4) (set 25)" ) +/***************************************************************************************************************************************************************************** +* +* Heaven & Hell +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4hvhel_keys[2] = { 0x11, 0x3f0b26 }; + #define M4HVHEL_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", 0 ) \ ROM_LOAD( "hh___snd.1_1", 0x000000, 0x080000, CRC(afa7ba60) SHA1(25278046252e49364d4a51de79295b87baf6018e) ) \ ROM_LOAD( "hh___snd.1_2", 0x080000, 0x080000, CRC(ec1ec822) SHA1(3fdee0526cb70f4951b7bbced74e32641ded9b7b) ) \ ROM_LOAD( "hh___snd.1_3", 0x100000, 0x080000, CRC(d4119155) SHA1(b61c71e1ee0dbfc0bb9eff1a8c019cf11731ee11) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -441,7 +653,8 @@ GAME_CUSTOM( 199?, m4harle__x, m4harle, "ph_20sk_.1_1", 0x0000, 0x010000, CR ROM_LOAD( name, offset, length, hash ) \ M4HVHEL_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4hvhel, 0, "hh_20__d.2_0", 0x0000, 0x040000, CRC(801de788) SHA1(417b985714d8f0ebed93b65a3f865e03474ce9e5), "Bwb","Heaven & Hell (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4hvhel__a, m4hvhel, "hh_20a_d.2_0", 0x0000, 0x040000, CRC(ea4e7876) SHA1(5bf711c2bdff50fe745edefa0eebf719824d9e5b), "Bwb","Heaven & Hell (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4hvhel__b, m4hvhel, "hh_20s_d.2_0", 0x0000, 0x040000, CRC(a519a441) SHA1(f3c19d316c82d1ebbcfdabb6d4eaa6cfa369d287), "Bwb","Heaven & Hell (Bwb) (MPU4) (set 3)" ) @@ -453,6 +666,16 @@ GAME_CUSTOM( 199?, m4hvhel__g, m4hvhel, "hh_vc_d_.g_0", 0x0000, 0x040000 GAME_CUSTOM( 199?, m4hvhel__h, m4hvhel, "h_hell._pound5", 0x0000, 0x040000, CRC(cd59c0d0) SHA1(8caad9043a277fa39a3ad2d5ec3388c121e7f697), "Bwb","Heaven & Hell (Bwb) (MPU4) (set 9)" ) +/***************************************************************************************************************************************************************************** +* +* Indy Cars +* - note, the GAL dumps appear to be characterisers, are the equations valid? +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4indycr_keys[2] = { 0x13, 0x102233 }; + #define M4INDYCR_EXTRA_ROMS \ ROM_REGION( 0x200000, "gals", 0 ) \ ROM_LOAD( "ic___.g", 0x0000, 0x000657, CRC(25cc2b32) SHA1(a065276fe4cc1e55f366ac216b5bc8cf934da9dd) ) \ @@ -462,6 +685,7 @@ GAME_CUSTOM( 199?, m4hvhel__h, m4hvhel, "h_hell._pound5", 0x0000, 0x040000 ROM_LOAD( "da______.1_2", 0x080000, 0x080000, CRC(32b40094) SHA1(f02c3b088d76116f817b536cf7cec5188b2f73bf) ) \ ROM_LOAD( "da______.1_3", 0x100000, 0x080000, CRC(2df33d18) SHA1(40afa32d6c72c6a76e3e2e61db19a16003f4e176) ) \ ROM_LOAD( "da______.1_4", 0x180000, 0x080000, CRC(8e254a3b) SHA1(bc3643ea5878bbde110ee6971c5149b3320bcffc) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -469,7 +693,8 @@ GAME_CUSTOM( 199?, m4hvhel__h, m4hvhel, "h_hell._pound5", 0x0000, 0x040000 ROM_LOAD( name, offset, length, hash ) \ M4INDYCR_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4indycr, 0, "ic_sj___.1_0", 0x0000, 0x040000, CRC(4dea0d17) SHA1(4fa19896dbb5e8f21ac7e74efc56de5cadd5bf54), "Bwb","Indy Cars (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4indycr__a, m4indycr, "ic_sj___.2_0", 0x0000, 0x040000, CRC(6d0ddf54) SHA1(0985aa9fddb71a499d266c12893aabbab8755319), "Bwb","Indy Cars (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4indycr__b, m4indycr, "ic_sj_b_.1_0", 0x0000, 0x040000, CRC(4bc0cb73) SHA1(d4c048ba9578add0104f0c529f20356c3502ea71), "Bwb","Indy Cars (Bwb) (MPU4) (set 3)" ) @@ -479,6 +704,15 @@ GAME_CUSTOM( 199?, m4indycr__e, m4indycr, "ic_sj_k_.1_0", 0x0000, 0x040000, GAME_CUSTOM( 199?, m4indycr__f, m4indycr, "ic_sjs__.1_0", 0x0000, 0x040000, CRC(6310b904) SHA1(0f2cd7ed83f77423bcfb2a71144fab2047dfea13), "Bwb","Indy Cars (Bwb) (MPU4) (set 7)" ) +/***************************************************************************************************************************************************************************** +* +* Jackpot Jokers +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4jakjok_keys[2] = { 0x11, 0x103218 }; + #define M4JAKJOK_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "jj_____.1_1", 0x000000, 0x080000, CRC(e759a958) SHA1(b107f4ef5a2805e56d4024940bfc632155de1eb1) ) \ @@ -491,7 +725,7 @@ GAME_CUSTOM( 199?, m4indycr__f, m4indycr, "ic_sjs__.1_0", 0x0000, 0x040000, ROM_LOAD( name, offset, length, hash ) \ M4JAKJOK_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4jakjok, 0, "jj_sj___.6_0", 0x0000, 0x040000, CRC(7bc45b0e) SHA1(f30fef8fccdac04859f1ff93198a497eff723020), "Bwb","Jackpot Jokers (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4jakjok__a, m4jakjok, "jj_sj_k_.3_0", 0x0000, 0x040000, CRC(c33dd82f) SHA1(c1f3f6ca1c45503b7f71e897e5c27368f5efb439), "Bwb","Jackpot Jokers (Bwb) (MPU4) (set 2)" ) @@ -503,6 +737,7 @@ GAME_CUSTOM( 199?, m4jakjok__c, m4jakjok, "jj_vc___.7_0", 0x0000, 0x040000, ROM_LOAD( "j_joker.s1", 0x0000, 0x080000, CRC(4ad711d2) SHA1(500381ac2a5075acd606a131cd1b382342cc3a80) ) \ ROM_LOAD( "j_joker.s2", 0x0000, 0x080000, CRC(840ba491) SHA1(f7f43d5d8e521a59fdccbd5f22935c525c3d43c2) ) \ ROM_LOAD( "j_joker.s3", 0x0000, 0x080000, CRC(2ed74890) SHA1(a3d039b4c3c9dd792300eb045e542a212d4d50ae) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -510,13 +745,23 @@ GAME_CUSTOM( 199?, m4jakjok__c, m4jakjok, "jj_vc___.7_0", 0x0000, 0x040000, ROM_LOAD( name, offset, length, hash ) \ M4JAKJOKA_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4jakjoka, m4jakjok, "j_joker", 0x0000, 0x040000, CRC(4f0c7ab8) SHA1(af962863ee55f6c2752bbe8a997e3b2102e42431), "Bwb","Jackpot Jokers (alt) (Bwb) (MPU4)" ) +/***************************************************************************************************************************************************************************** +* +* Jumping Jack Flash +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4jflash_keys[2] = { 0x10, 0x3c3801 }; + #define M4JFLASH_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -524,7 +769,8 @@ GAME_CUSTOM( 199?, m4jakjoka, m4jakjok, "j_joker", 0x0000, 0x040000, CRC(4f0c7 ROM_LOAD( name, offset, length, hash ) \ M4JFLASH_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4jflash, 0, "jf_25__c.2_1", 0x0000, 0x020000, CRC(4d5f1a12) SHA1(c25b6d899b74231da505bde7b671be001bdcea5d), "Bwb","Jumping Jack Flash (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4jflash__a, m4jflash, "jf_25a_c.2_1", 0x0000, 0x020000, CRC(76722e15) SHA1(4bd107049ad98b848cdaba3a1318373bbd06ab9f), "Bwb","Jumping Jack Flash (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4jflash__b, m4jflash, "jf_25b_c.2_1", 0x0000, 0x020000, CRC(35a927c6) SHA1(6776fe77ad8a85feecdedfad0eac89f9cb826fbf), "Bwb","Jumping Jack Flash (Bwb) (MPU4) (set 3)" ) @@ -536,6 +782,16 @@ GAME_CUSTOM( 199?, m4jflash__g, m4jflash, "jf_25dkc.2_1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4jflash__h, m4jflash, "jf_25k_c.2_1", 0x0000, 0x020000, CRC(d82701b8) SHA1(a784fa11877e05f2219f1452463ec3348c84e879), "Bwb","Jumping Jack Flash (Bwb) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4jflash__i, m4jflash, "jf_25sbc.2_1", 0x0000, 0x020000, CRC(c6bce1c6) SHA1(708002059d307a02fec32a3cdb6eff995a438631), "Bwb","Jumping Jack Flash (Bwb) (MPU4) (set 10)" ) + +/***************************************************************************************************************************************************************************** +* +* Lucky Number 7 +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4ln7_keys[2] = { 0x10, 0x050107 }; + #define M4LN7_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "l7______.1_2", 0x000000, 0x080000, CRC(216209e3) SHA1(af274a7f27ba0e7ac03400e9919537ab36464e64) ) \ @@ -547,18 +803,28 @@ GAME_CUSTOM( 199?, m4jflash__i, m4jflash, "jf_25sbc.2_1", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4LN7_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4ln7, 0, "l7_20a__.1_1", 0x0000, 0x010000, CRC(bfe82d2a) SHA1(4477d737a2326602a355758d8fc06220312fc085), "Bwb","Lucky No7 (Bwb) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4ln7__a, m4ln7, "l7_20s__.1_1", 0x0000, 0x010000, CRC(0037cd57) SHA1(b5882027269cf71878a73009bc3e40d9fcfac60d), "Bwb","Lucky No7 (Bwb) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4ln7__b, m4ln7, "l7_20sb_.1_1", 0x0000, 0x010000, CRC(d53bcd66) SHA1(7f5c65d5ca3dbb8a0c38f169585fc78d512166af), "Bwb","Lucky No7 (Bwb) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4ln7__c, m4ln7, "l7_20sd_.1_1", 0x0000, 0x010000, CRC(a82d04cb) SHA1(1abe9e22f6f526ab076163ce79cff841d1b38b0a), "Bwb","Lucky No7 (Bwb) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4ln7__d, m4ln7, "l7_20sk_.1_1", 0x0000, 0x010000, CRC(7d2104fa) SHA1(a0a65042f4db8ea5184d41c68ffcf7608580d928), "Bwb","Lucky No7 (Bwb) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4ln7, 0, "l7_20a__.1_1", 0x0000, 0x010000, CRC(bfe82d2a) SHA1(4477d737a2326602a355758d8fc06220312fc085), "Bwb","Lucky Number 7 (Bwb) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4ln7__a, m4ln7, "l7_20s__.1_1", 0x0000, 0x010000, CRC(0037cd57) SHA1(b5882027269cf71878a73009bc3e40d9fcfac60d), "Bwb","Lucky Number 7 (Bwb) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4ln7__b, m4ln7, "l7_20sb_.1_1", 0x0000, 0x010000, CRC(d53bcd66) SHA1(7f5c65d5ca3dbb8a0c38f169585fc78d512166af), "Bwb","Lucky Number 7 (Bwb) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4ln7__c, m4ln7, "l7_20sd_.1_1", 0x0000, 0x010000, CRC(a82d04cb) SHA1(1abe9e22f6f526ab076163ce79cff841d1b38b0a), "Bwb","Lucky Number 7 (Bwb) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4ln7__d, m4ln7, "l7_20sk_.1_1", 0x0000, 0x010000, CRC(7d2104fa) SHA1(a0a65042f4db8ea5184d41c68ffcf7608580d928), "Bwb","Lucky Number 7 (Bwb) (MPU4) (set 5)" ) +/***************************************************************************************************************************************************************************** +* +* Mad Money +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4madmon_keys[2] = { 0x10, 0x351f3a }; + #define M4MADMON_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -566,7 +832,8 @@ GAME_CUSTOM( 199?, m4ln7__d, m4ln7, "l7_20sk_.1_1", 0x0000, 0x010000, CRC(7d21 ROM_LOAD( name, offset, length, hash ) \ M4MADMON_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4madmon, 0, "mm_20a__.7_1", 0x0000, 0x020000, CRC(7df66388) SHA1(4e5bcbcb2fb08b23989c83f11751400f666bbdc2), "Bwb","Mad Money (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4madmon__a, m4madmon, "mm_20b__.7_1", 0x0000, 0x020000, CRC(7f592e44) SHA1(05e78347cd09d1e58f0a50a724e0563490ec5185), "Bwb","Mad Money (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4madmon__b, m4madmon, "mm_20bg_.7_1", 0x0000, 0x020000, CRC(2cd8dcc2) SHA1(c4a2a423a55c6b0668739429c24c69b25e3824cf), "Bwb","Mad Money (Bwb) (MPU4) (set 3)" ) @@ -581,9 +848,19 @@ GAME_CUSTOM( 199?, m4madmon__j, m4madmon, "mm_25b_c.3_1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4madmon__k, m4madmon, "mm_25bdc.3_1", 0x0000, 0x020000, CRC(188666c0) SHA1(e8a61c327c73aac2a6b0dc674dee7bc2aa358b27), "Bwb","Mad Money (Bwb) (MPU4) (set 12)" ) +/***************************************************************************************************************************************************************************** +* +* Mad Money Classic +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4madmnc_keys[2] = { 0x10, 0x351f3a }; + #define M4MADMNC_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -591,7 +868,7 @@ GAME_CUSTOM( 199?, m4madmon__k, m4madmon, "mm_25bdc.3_1", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4MADMNC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4madmnc, 0, "cm_25__c.3_1", 0x0000, 0x020000, CRC(3d9ff5fe) SHA1(b918bb15251514f50a669216c7d00ecf23e64d1b), "Bwb","Mad Money Classic (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4madmnc__a, m4madmnc, "cm_25_bc.3_1", 0x0000, 0x020000, CRC(65a7b870) SHA1(58b910d7e002164cbbe1aa32c5e17dfe7cfb507d), "Bwb","Mad Money Classic (Bwb) (MPU4) (set 2)" ) @@ -619,6 +896,14 @@ GAME_CUSTOM( 199?, m4madmnc__v, m4madmnc, "cm_49bgc.4_1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4madmnc__w, m4madmnc, "cm_49btc.4_1", 0x0000, 0x020000, CRC(4f69ad96) SHA1(50948166fee3cd1e6f0e378076046ee305204d61), "Bwb","Mad Money Classic (Bwb) (MPU4) (set 24)" ) +/***************************************************************************************************************************************************************************** +* +* Money Mummy Money +* - 3.2 MPU Lamp Drv error (trying extender board A doesn't help) +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4mmm_keys[2] = { 0x11, 0x320926 }; #define M4MMM_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ @@ -626,6 +911,7 @@ GAME_CUSTOM( 199?, m4madmnc__w, m4madmnc, "cm_49btc.4_1", 0x0000, 0x020000, ROM_LOAD( "mu___snd.1_2", 0x080000, 0x080000, CRC(6ec1910b) SHA1(4920fe0b7c7f4ddb14d56f50598aaf62e5867014) ) \ ROM_LOAD( "mu___snd.1_3", 0x100000, 0x080000, CRC(8699378c) SHA1(55c3e310cfde8046e58bf21a8788e697c8275b8d) ) \ ROM_LOAD( "mu___snd.1_4", 0x180000, 0x080000, CRC(54b193d8) SHA1(ab24624ce69d352a14f6bd3db127fa1c8c5f07db) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -633,7 +919,8 @@ GAME_CUSTOM( 199?, m4madmnc__w, m4madmnc, "cm_49btc.4_1", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4MMM_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_big_extenda ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4mmm, 0, "mu_sj___.3_0", 0x0000, 0x040000, CRC(abdf9d1c) SHA1(e8c6a056025b44e4ec995b42b2720e6366a97283), "Bwb","Money Mummy Money (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4mmm__a, m4mmm, "mu_sja__.3_0", 0x0000, 0x040000, CRC(3d2a9ea4) SHA1(f2ec904c8cef84affaad603edf26a864bd34be29), "Bwb","Money Mummy Money (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4mmm__b, m4mmm, "mu_sjk__.3_0", 0x0000, 0x040000, CRC(34e4f8ba) SHA1(606d607faeb43190f5167aa3d10c55d9986b7e58), "Bwb","Money Mummy Money (Bwb) (MPU4) (set 3)" ) @@ -642,10 +929,21 @@ GAME_CUSTOM( 199?, m4mmm__d, m4mmm, "mu_ssj__.2_0", 0x0000, 0x040000, CRC(935b GAME_CUSTOM( 199?, m4mmm__e, m4mmm, "mu_ssja_.2_0", 0x0000, 0x040000, CRC(ff97814c) SHA1(8d9d74e6b0096cdc3226cfa91d7b653855600d5a), "Bwb","Money Mummy Money (Bwb) (MPU4) (set 6)" ) GAME_CUSTOM( 199?, m4mmm__f, m4mmm, "mu_ssjb_.2_0", 0x0000, 0x040000, CRC(5728973a) SHA1(2cd9c866fcc33150fb8d456f741ac809e0bd2b15), "Bwb","Money Mummy Money (Bwb) (MPU4) (set 7)" ) + +/***************************************************************************************************************************************************************************** +* +* Orlando Magic +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4orland_keys[2] = { 0x10, 0x2c081f }; + #define M4ORLAND_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "orlandosnd.p1", 0x000000, 0x080000, CRC(2735649d) SHA1(7b27bf2d4091ab581d399679b03f538f449f180c) ) \ ROM_LOAD( "orlandosnd.p2", 0x080000, 0x080000, CRC(0741e2ff) SHA1(c49a2809073dd058ba85ae14c888e19d3eb2b133) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -653,7 +951,7 @@ GAME_CUSTOM( 199?, m4mmm__f, m4mmm, "mu_ssjb_.2_0", 0x0000, 0x040000, CRC(5728 ROM_LOAD( name, offset, length, hash ) \ M4ORLAND_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big_low ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4orland, 0, "or 05a v2-1,27c010", 0x0000, 0x020000, CRC(a33c22ee) SHA1(3598a2940f05622405fdef16426f3f5f30dfef29), "Bwb","Orlando Magic (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4orland__a, m4orland, "or_05a__.1_1", 0x0000, 0x020000, CRC(3e7fe3ac) SHA1(9f4c0d5b7ba10726376b0654c8ddbc62b62c9eed), "Bwb","Orlando Magic (Bwb) (MPU4) (set 2)" ) @@ -666,9 +964,19 @@ GAME_CUSTOM( 199?, m4orland__g, m4orland, "or_20sb_.7_1", 0x0000, 0 GAME_CUSTOM( 199?, m4orland__h, m4orland, "or_20sd_.7_1", 0x0000, 0x020000, CRC(242c552c) SHA1(dce5f0d38c8c6c101337028f30c05a7eb629e703), "Bwb","Orlando Magic (Bwb) (MPU4) (set 9)" ) +/***************************************************************************************************************************************************************************** +* +* Prize Bingo +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4pzbing_keys[2] = { 0x10, 0x141531 }; + #define M4PZBING_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -676,7 +984,7 @@ GAME_CUSTOM( 199?, m4orland__h, m4orland, "or_20sd_.7_1", 0x0000, 0 ROM_LOAD( name, offset, length, hash ) \ M4PZBING_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4pzbing, 0, "pb_20a__.4_1", 0x0000, 0x010000, CRC(52aa92e5) SHA1(3dc20e521677e829967e1d689c9905fb96aee639), "Bwb","Prize Bingo (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4pzbing__a, m4pzbing, "pb_20ad_.4_1", 0x0000, 0x010000, CRC(f6bd6ad0) SHA1(092cb895c576ed2e995b62aba21851af6fb90959), "Bwb","Prize Bingo (Bwb) (MPU4) (set 2)" ) @@ -686,10 +994,20 @@ GAME_CUSTOM( 199?, m4pzbing__d, m4pzbing, "pb_20s__.4_1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4pzbing__e, m4pzbing, "pb_20sb_.4_1", 0x0000, 0x010000, CRC(0234978a) SHA1(f24069883efb69de1024b6efbeb3d6a100ac5b9a), "Bwb","Prize Bingo (Bwb) (MPU4) (set 6)" ) +/***************************************************************************************************************************************************************************** +* +* Quids In +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4quidin_keys[2] = { 0x10, 0x050107 }; + #define M4QUIDIN_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "qi_____.1_2", 0x000000, 0x080000, CRC(216209e3) SHA1(af274a7f27ba0e7ac03400e9919537ab36464e64) ) \ ROM_LOAD( "qi_____.1_3", 0x080000, 0x080000, CRC(e909c3ec) SHA1(68ce743729aaefd6c20ee447af40d99e0f4c072b) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -697,18 +1015,26 @@ GAME_CUSTOM( 199?, m4pzbing__e, m4pzbing, "pb_20sb_.4_1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4QUIDIN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) - - + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4quidin, 0, "qi_20a__.3_1", 0x0000, 0x010000, CRC(88873c45) SHA1(70fa65402dbbe716a089497a8ccb06e0ba2aac6d), "Bwb","Quids In (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4quidin__a, m4quidin, "qi_20s__.3_1", 0x0000, 0x010000, CRC(3758dc38) SHA1(d22a379975e948d465e13233a796e0fb07e3c04f), "Bwb","Quids In (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4quidin__b, m4quidin, "qi_20sb_.3_1", 0x0000, 0x010000, CRC(e254dc09) SHA1(ad5853c854f628de6203be8d6c3cbaa6a600e340), "Bwb","Quids In (Bwb) (MPU4) (set 3)" ) +/***************************************************************************************************************************************************************************** +* +* Quids In (Showcase cabinet version) +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4quidis_keys[2] = { 0x10, 0x050107 }; + #define M4QUIDIS_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -716,7 +1042,7 @@ GAME_CUSTOM( 199?, m4quidin__b, m4quidin, "qi_20sb_.3_1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4QUIDIS_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4quidis, 0, "pq_20a__.3_1", 0x0000, 0x010000, CRC(7eb762a1) SHA1(4546a7bf43f8ab6eb9713348e3f919de7532eed2), "Bwb","Quids In Showcase (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4quidis__a, m4quidis, "pq_20s__.3_1", 0x0000, 0x010000, CRC(71360992) SHA1(0b64f27f0edfdebca41552181ff0f2b5491ec308), "Bwb","Quids In Showcase (Bwb) (MPU4) (set 2)" ) @@ -725,11 +1051,21 @@ GAME_CUSTOM( 199?, m4quidis__c, m4quidis, "pq_20sd_.3_1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4quidis__d, m4quidis, "pq_20sk_.3_1", 0x0000, 0x010000, CRC(0c20c03f) SHA1(f802daa8ff2c159ba4831ed048e0ddd8469448da), "Bwb","Quids In Showcase (Bwb) (MPU4) (set 5)" ) +/***************************************************************************************************************************************************************************** +* +* Rack Em Up +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4rackem_keys[2] = { 0x11, 0x13222f }; + #define M4RACKEM_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "re_snd.p1", 0x000000, 0x080000, CRC(aea88892) SHA1(457dab5cddfb9762f7e0bd61187b8052aee71c28) ) \ ROM_LOAD( "re_snd.p2", 0x080000, 0x080000, CRC(57394ec6) SHA1(cba7abebd3ab165e9531017168f51ada6cf35991) ) \ ROM_LOAD( "re_snd.p3", 0x100000, 0x080000, CRC(5d5d5309) SHA1(402615633976410225a1ee50c454391dc69a68cb) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -737,7 +1073,7 @@ GAME_CUSTOM( 199?, m4quidis__d, m4quidis, "pq_20sk_.3_1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4RACKEM_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4rackem, 0, "re_sj___.2_0", 0x0000, 0x040000, CRC(e36d3f86) SHA1(a5f522c86482517b8dc735b1012f8f7668c2f18d), "Bwb","Rack Em Up (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4rackem__a, m4rackem, "re_sj___.3_0", 0x0000, 0x040000, CRC(2f463d2f) SHA1(3410cc8a6d097a4edfcb4c57c237d1d514b507ba), "Bwb","Rack Em Up (Bwb) (MPU4) (set 2)" ) @@ -746,10 +1082,19 @@ GAME_CUSTOM( 199?, m4rackem__c, m4rackem, "re_sjs__.2_0", 0x0000, 0x040000, GAME_CUSTOM( 199?, m4rackem__d, m4rackem, "re_sjsw_.2_0", 0x0000, 0x040000, CRC(66355370) SHA1(d54aab7403e64a67edf2baeaf1321ee5c4aa553d), "Bwb","Rack Em Up (Bwb) (MPU4) (set 5)" ) +/***************************************************************************************************************************************************************************** +* +* Rainbow Gold +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4rbgold_keys[2] = { 0x10, 0x2d371b }; #define M4RBGOLD_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -757,7 +1102,8 @@ GAME_CUSTOM( 199?, m4rackem__d, m4rackem, "re_sjsw_.2_0", 0x0000, 0x040000, ROM_LOAD( name, offset, length, hash ) \ M4RBGOLD_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4rbgold, 0, "rb_20a_p.2a1", 0x0000, 0x010000, CRC(d7e6e514) SHA1(25645b69e86335622df43113908ed88a21f27e30), "Bwb","Rainbow Gold (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4rbgold__a, m4rbgold, "rb_20a_p.2f1", 0x0000, 0x010000, CRC(62af6db6) SHA1(0dcb679c05f090f8dab7228009a700c31f0179d8), "Bwb","Rainbow Gold (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4rbgold__b, m4rbgold, "rb_20sbp.2a1", 0x0000, 0x010000, CRC(ba4c2e74) SHA1(fcc325754f96e742998373c6c5c13a8509f48cd5), "Bwb","Rainbow Gold (Bwb) (MPU4) (set 3)" ) @@ -778,12 +1124,22 @@ GAME_CUSTOM( 199?, m4rbgold__p, m4rbgold, "rbixe___.2a1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4rbgold__q, m4rbgold, "rbixe___.2s1", 0x0000, 0x010000, CRC(56f40a2b) SHA1(0c6c035d2a3dbef70b1bc95fa38ed62a70770739), "Bwb","Rainbow Gold (Bwb) (MPU4) (set 18)" ) +/***************************************************************************************************************************************************************************** +* +* Red Hot Fever +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4rhfev_keys[2] = { 0x11, 0x3f0e27 }; + #define M4RHFEV_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "rf_____.1_1", 0x000000, 0x080000, CRC(ac8d539d) SHA1(8baf14bece50774f93ae9eaf3effabb6882d2c43) ) \ ROM_LOAD( "rf_____.1_2", 0x080000, 0x080000, CRC(cc2fadd8) SHA1(681850e2e6164cf8af8e7501ac44f475cc07b742) ) \ ROM_LOAD( "rf_____.1_3", 0x100000, 0x080000, CRC(165aaf9f) SHA1(815224fe94a77628cef1dd0d8a238edcb4813006) ) \ ROM_LOAD( "rf_____.1_4", 0x180000, 0x080000, CRC(4f7e7b49) SHA1(f9d421eeab73e0c795a08cf166c8807e0b14ec82) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -791,7 +1147,7 @@ GAME_CUSTOM( 199?, m4rbgold__q, m4rbgold, "rbixe___.2s1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4RHFEV_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4rhfev, 0, "rt_sj___.7_0", 0x0000, 0x040000, CRC(3dd895ef) SHA1(433ecc268956c94c51dbccefd006b72e0ad8567b), "Bwb","Red Hot Fever (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4rhfev__a, m4rhfev, "rt_sja__.7_0", 0x0000, 0x040000, CRC(0ab59402) SHA1(485b4d2efd8f99085ed6ce5b7e07ede001c982c4), "Bwb","Red Hot Fever (Bwb) (MPU4) (set 2)" ) @@ -800,11 +1156,21 @@ GAME_CUSTOM( 199?, m4rhfev__c, m4rhfev, "rt_vc___.1_0", 0x0000, 0x040000, CR GAME_CUSTOM( 199?, m4rhfev__d, m4rhfev, "rt_vc_d_.1_0", 0x0000, 0x040000, CRC(7adef22b) SHA1(d6a584581745c0ce64f646ef0b49cb68343990d0), "Bwb","Red Hot Fever (Bwb) (MPU4) (set 5)" ) +/***************************************************************************************************************************************************************************** +* +* Sinbad +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4sinbd_keys[2] = { 0x10, 0x0c253d }; + #define M4SINBD_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \ - /*These were with the last listed set, though I have no reason to believe they aren't valid for all BwB Sinbad games */ \ + /*These were with the last listed set, though I have no reason to believe they aren't valid for all BwB Sinbad games, both have OKI tables */ \ ROM_LOAD( "sinbadbwb1_2snd.bin", 0x000000, 0x080000, CRC(2ee60ce6) SHA1(865860639e8471f97ace0beac2f4c7fddb8ca97c) ) \ - ROM_LOAD( "sinbadbwb1_3snd.bin", 0x000000, 0x080000, CRC(7701e5cc) SHA1(4f9ff91f2b6b15a9c08396b52fc8509ba476ed8d) ) + ROM_LOAD( "sinbadbwb1_3snd.bin", 0x080000, 0x080000, CRC(7701e5cc) SHA1(4f9ff91f2b6b15a9c08396b52fc8509ba476ed8d) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -812,7 +1178,7 @@ GAME_CUSTOM( 199?, m4rhfev__d, m4rhfev, "rt_vc_d_.1_0", 0x0000, 0x040000, CR ROM_LOAD( name, offset, length, hash ) \ M4SINBD_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4sinbd, 0, "sd_20__c.1_1", 0x0000, 0x020000, CRC(28cd336e) SHA1(45bdf5403c04b7d3a3645b6b44ac3d12e6463a55), "Bwb","Sinbad (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4sinbd__a, m4sinbd, "sd_20a__.4_1", 0x0000, 0x020000, CRC(12b8f629) SHA1(c8540ecb217cf0615d7a8d080136926646ca8497), "Bwb","Sinbad (Bwb) (MPU4) (set 2)" ) @@ -841,9 +1207,19 @@ GAME_CUSTOM( 199?, m4sinbd__w, m4sinbd, "svi20___.4_1", 0x0000, 0x02 GAME_CUSTOM( 199?, m4sinbd__x, m4sinbd, "sinbadbwb1_1game.bin", 0x0000, 0x020000, CRC(cfe152a7) SHA1(b8ecfa8b763d04515b65eb902c18dba7198191c3), "Bwb","Sinbad (Bwb) (MPU4) (set 25)" ) +/***************************************************************************************************************************************************************************** +* +* Sky Sports +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4sky_keys[2] = { 0x11, 0x1f2d3b }; + #define M4SKY_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -851,7 +1227,7 @@ GAME_CUSTOM( 199?, m4sinbd__x, m4sinbd, "sinbadbwb1_1game.bin", 0x0000, 0x02 ROM_LOAD( name, offset, length, hash ) \ M4SKY_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4sky, 0, "sk_s____.3_1", 0x0000, 0x040000, CRC(749af008) SHA1(036514f2bcb84193cfa84313f0617f3196aea73e), "Bwb","Sky Sports (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4sky__a, m4sky, "sk_sj___.5_0", 0x0000, 0x040000, CRC(45ae0423) SHA1(94d5b3d4aacb69a18ff3f45681eb5f7fba7657e8), "Bwb","Sky Sports (Bwb) (MPU4) (set 2)" ) @@ -860,11 +1236,21 @@ GAME_CUSTOM( 199?, m4sky__c, m4sky, "sk_sja__.5_0", 0x0000, 0x040000, CRC(b2a1 GAME_CUSTOM( 199?, m4sky__d, m4sky, "sk_sjs__.5_0", 0x0000, 0x040000, CRC(d176431f) SHA1(8ca90ef61486fc5a5b6527f913cd05b42ceabe3e), "Bwb","Sky Sports (Bwb) (MPU4) (set 5)" ) +/***************************************************************************************************************************************************************************** +* +* Soul Sister +* - some sets boot, some sets 7.1 Datapack error, m4souls__f 4.4 without percent key set +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4souls_keys[2] = { 0x10, 0x3e2f0b }; + #define M4SOULS_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "ss______.1_2", 0x000000, 0x080000, CRC(ddea9d75) SHA1(fe5f88d49434109d0f51425e790e179dc1a02767) ) \ ROM_LOAD( "ss______.1_3", 0x080000, 0x080000, CRC(23d1e57a) SHA1(b17afdaa95522fd7ea6c12f513fa338e1fcb06f6) ) \ ROM_LOAD( "ss______.1_4", 0x100000, 0x080000, CRC(0ba3046a) SHA1(ec21fa328669bc7a5baf1ce8b9ac05f38f98e360) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -872,7 +1258,8 @@ GAME_CUSTOM( 199?, m4sky__d, m4sky, "sk_sjs__.5_0", 0x0000, 0x040000, CRC(d176 ROM_LOAD( name, offset, length, hash ) \ M4SOULS_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4souls, 0, "ss_06a__.4_1", 0x0000, 0x020000, CRC(00390a21) SHA1(d31d1307301fa4e8cf0ce3677e68a4c1723e4404), "Bwb","Soul Sister (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4souls__a, m4souls, "ss_16a__.4_1", 0x0000, 0x020000, CRC(b9ab9612) SHA1(ad30916a0f2cc745741c99d23c23192ae4088daf), "Bwb","Soul Sister (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4souls__b, m4souls, "ss_26a__.2_1", 0x0000, 0x020000, CRC(bf9acf05) SHA1(13698b453e975a1801631163d06468f07c181b48), "Bwb","Soul Sister (Bwb) (MPU4) (set 3)" ) @@ -882,10 +1269,19 @@ GAME_CUSTOM( 199?, m4souls__e, m4souls, "ss_26sd_.2_1", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4souls__f, m4souls, "ss_26sk_.2_1", 0x0000, 0x020000, CRC(9ae1672e) SHA1(79bcd12fae38dd1b0035e956148ffeaee33b9c71), "Bwb","Soul Sister (Bwb) (MPU4) (set 7)" ) +/***************************************************************************************************************************************************************************** +* +* Spin The Bottle +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4spinbt_keys[2] = { 0x45, 0x250603 }; #define M4SPINBT_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -893,7 +1289,7 @@ GAME_CUSTOM( 199?, m4souls__f, m4souls, "ss_26sk_.2_1", 0x0000, 0x020000, CR ROM_LOAD( name, offset, length, hash ) \ M4SPINBT_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4spinbt, 0, "sn_37ad_.5_0", 0x0000, 0x040000, CRC(42d6faaa) SHA1(3789e85981b33ffae7c50ccca3278ae62974972d), "Bwb","Spin The Bottle (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4spinbt__a, m4spinbt, "sn_37b__.5_0", 0x0000, 0x040000, CRC(3a259a6f) SHA1(1acabb9e725ae1374b87808c4b3d06a329c824d0), "Bwb","Spin The Bottle (Bwb) (MPU4) (set 2)" ) @@ -904,9 +1300,20 @@ GAME_CUSTOM( 199?, m4spinbt__e, m4spinbt, "sn_s7a__.5_0", 0x0000, 0x040000, GAME_CUSTOM( 199?, m4spinbt__f, m4spinbt, "sn_s7ad_.5_0", 0x0000, 0x040000, CRC(a715f0c9) SHA1(bec188edcd0580465859876f8bff2ff5a392a9e1), "Bwb","Spin The Bottle (Bwb) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4spinbt__g, m4spinbt, "sn_s7s__.5_0", 0x0000, 0x040000, CRC(13288cc5) SHA1(2c47dcd8b57d10e0768729ad91dba12521c0d98a), "Bwb","Spin The Bottle (Bwb) (MPU4) (set 8)" ) + +/***************************************************************************************************************************************************************************** +* +* Stars & Stripes +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4starst_keys[2] = { 0x11, 0x3f0a26 }; + #define M4STARST_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \ ROM_LOAD( "starsnd3", 0x0000, 0x080000, CRC(96882952) SHA1(bf366670aec5cb545c56caac3c63855db03d8c14) )/* (?)strange id number? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -914,7 +1321,8 @@ GAME_CUSTOM( 199?, m4spinbt__g, m4spinbt, "sn_s7s__.5_0", 0x0000, 0x040000, ROM_LOAD( name, offset, length, hash ) \ M4STARST_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4starst, 0, "sr_20__d.3_0", 0x0000, 0x040000, CRC(98f6619b) SHA1(fc0a568e6695c9ad0fda7bc6703c752af26a7777), "Bwb","Stars & Stripes (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4starst__a, m4starst, "sr_20_bd.3_0", 0x0000, 0x040000, CRC(ff8209de) SHA1(41a4c20c89b3a04612ad6298276472b888915c89), "Bwb","Stars & Stripes (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4starst__b, m4starst, "sr_20_kd.3_0", 0x0000, 0x040000, CRC(4c9a53d5) SHA1(43ebf6c06db58de9c3934e2dbba0d8126f3e2dda), "Bwb","Stars & Stripes (Bwb) (MPU4) (set 3)" ) @@ -928,11 +1336,21 @@ GAME_CUSTOM( 199?, m4starst__i, m4starst, "sr_sja__.5_0", 0x0000, 0x040000, GAME_CUSTOM( 199?, m4starst__j, m4starst, "sr_sjs__.5_0", 0x0000, 0x040000, CRC(89e405e4) SHA1(5aa9053e08c27570731f65502c7fb31f0ea0a678), "Bwb","Stars & Stripes (Bwb) (MPU4) (set 11)" ) +/***************************************************************************************************************************************************************************** +* +* Super League +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4supleg_keys[2] = { 0x11, 0x310926 }; + #define M4SUPLEG_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "sls1.hex", 0x000000, 0x080000, CRC(341e3d3e) SHA1(b42ec737e95e766b1b26d6225416ee0c5cad2663) ) \ ROM_LOAD( "sls2.hex", 0x080000, 0x080000, CRC(f4ab6f0d) SHA1(4b59608ca16c9d158d4d1ac532e7fbe6ff0da959) ) \ ROM_LOAD( "sls3.hex", 0x100000, 0x080000, CRC(dcba96a1) SHA1(d474c63b37cb18a0b3b1299b5cacadfd8cd5458b) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -940,7 +1358,7 @@ GAME_CUSTOM( 199?, m4starst__j, m4starst, "sr_sjs__.5_0", 0x0000, 0x040000, ROM_LOAD( name, offset, length, hash ) \ M4SUPLEG_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4supleg, 0, "sl_sj.hex", 0x0000, 0x040000, CRC(254835f7) SHA1(2fafaa3da747edd27d393ad106008e898e465283), "Bwb","Super League (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4supleg__a, m4supleg, "sl_sjs.hex", 0x0000, 0x040000, CRC(98942cd3) SHA1(858fde0a350159d089c6a0e0cc2e2eed6ab2092c), "Bwb","Super League (Bwb) (MPU4) (set 2)" ) @@ -953,6 +1371,7 @@ GAME_CUSTOM( 199?, m4supleg__d, m4supleg, "sls.hex", 0x0000, 0x040000, ROM_LOAD( "s_leag.s1",0x000000, 0x080000, CRC(e8d90896) SHA1(4c67507f18b5dc966e2df3685dc6c257f5053e61) ) \ ROM_LOAD( "sls2.hex", 0x080000, 0x080000, CRC(f4ab6f0d) SHA1(4b59608ca16c9d158d4d1ac532e7fbe6ff0da959) ) \ ROM_LOAD( "sls3.hex", 0x100000, 0x080000, CRC(dcba96a1) SHA1(d474c63b37cb18a0b3b1299b5cacadfd8cd5458b) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -960,23 +1379,33 @@ GAME_CUSTOM( 199?, m4supleg__d, m4supleg, "sls.hex", 0x0000, 0x040000, ROM_LOAD( name, offset, length, hash ) \ M4SUPLEGW_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4suplegw, m4supleg, "s_leag._pound5", 0x0000, 0x040000, CRC(4c6bd78e) SHA1(f67793a2a16adacc8d92b57050f02cffa50a1283), "Bwb","Super League (Whitbread / Bwb) (MPU4)" ) //Whitbread? +/***************************************************************************************************************************************************************************** +* +* Super Soccer +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ +static const uint32_t m4supscr_keys[2] = { 0x11, 0x101231 }; #define M4SUPSCR_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ #undef GAME_CUSTOM + #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4SUPSCR_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4supscr, 0, "multistakesoccer.bin", 0x0000, 0x040000, CRC(ce27b6a7) SHA1(f9038336137b0642da4d1520b5d71a047d8fbe12), "Bwb","Super Soccer (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4supscr__a, m4supscr, "sm_78___.6_0", 0x0000, 0x040000, CRC(e7022c44) SHA1(da3a5b9954f7e50dce73aeb9c46bd4631c8350d5), "Bwb","Super Soccer (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4supscr__b, m4supscr, "sm_78_d_.6_0", 0x0000, 0x040000, CRC(4dbe6a87) SHA1(fe2ce1fca7105afbf459ee6558744f8fee417169), "Bwb","Super Soccer (Bwb) (MPU4) (set 3)" ) @@ -993,27 +1422,49 @@ GAME_CUSTOM( 199?, m4supscr__l, m4supscr, "sm_88_d_.6_0", 0x0000, 0 GAME_CUSTOM( 199?, m4supscr__m, m4supscr, "sm_90___.6_0", 0x0000, 0x040000, CRC(cdc7c594) SHA1(acb829257472bc4420c141932b6f4c708ea04f1b), "Bwb","Super Soccer (Bwb) (MPU4) (set 14)" ) GAME_CUSTOM( 199?, m4supscr__n, m4supscr, "sm_90_d_.6_0", 0x0000, 0x040000, CRC(677b8357) SHA1(4ec54f8b7d28c0459152309a58bd5c0db1a2f036), "Bwb","Super Soccer (Bwb) (MPU4) (set 15)" ) + +/***************************************************************************************************************************************************************************** +* +* Sure Thing +* - some sets boot, some sets error 7.1 +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4sure_keys[2] = {0x10, 0x281215}; + #define M4SURE_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ #undef GAME_CUSTOM + #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4SURE_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4sure, 0, "su_xf___.3_1", 0x0000, 0x010000, CRC(f85dae5c) SHA1(4c761c355fb6651f1e0cb041342f8a2ff510dfd2), "Bwb","Sure Thing (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4sure__a, m4sure, "su_xf_b_.3_1", 0x0000, 0x010000, CRC(9a760e0f) SHA1(fdacdae0e2322daa004b2385616dd34626814d42), "Bwb","Sure Thing (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4sure__b, m4sure, "su_xf_d_.3_1", 0x0000, 0x010000, CRC(5c4a5669) SHA1(55e1e853fdfdbb43e7b61b59ab642fb013a0db0e), "Bwb","Sure Thing (Bwb) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4sure__c, m4sure, "suixf___.3_1", 0x0000, 0x010000, CRC(cae80b60) SHA1(23545aaf1cc3a0c8868beafb56eccedbbb6099de), "Bwb","Sure Thing (Bwb) (MPU4) (set 4)" ) +/***************************************************************************************************************************************************************************** +* +* T-Rex +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4trex_keys[2] = {0x10, 0x112231}; + #define M4TREX_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "tr______.1_2", 0x000000, 0x080000, CRC(75687514) SHA1(dc8f5f1db7da164175c241187cf3f0db1dd71fc9) ) \ ROM_LOAD( "tr______.1_3", 0x080000, 0x080000, CRC(1e30d4ed) SHA1(8cd916d28f5060d74a0d795f9b75ab597de1cd60) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1021,23 +1472,67 @@ GAME_CUSTOM( 199?, m4sure__c, m4sure, "suixf___.3_1", 0x0000, 0x010000, CRC(c ROM_LOAD( name, offset, length, hash ) \ M4TREX_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4trex, 0, "tr_20a__.2_1", 0x0000, 0x010000, CRC(21150b8e) SHA1(1531bc6fdb8b787fed6f4f98c6463313c55efc3c), "Bwb","Trex (Bwb) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4trex__a, m4trex, "tr_20a_p.2_1", 0x0000, 0x010000, CRC(ec1b35bc) SHA1(944959c6d1f8e9b0bb33c659b7c515cb7585fed0), "Bwb","Trex (Bwb) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4trex__b, m4trex, "tr_20ab_.2_1", 0x0000, 0x010000, CRC(f4190bbf) SHA1(45c20c5e56f0bc39e3af5817eb6d705caef14b40), "Bwb","Trex (Bwb) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4trex__c, m4trex, "tr_20bg_.2_1", 0x0000, 0x010000, CRC(14d8d80c) SHA1(6db190550b18401a067eeb26890af39612fc3012), "Bwb","Trex (Bwb) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4trex__d, m4trex, "tr_20bt_.2_1", 0x0000, 0x010000, CRC(3ad19bf3) SHA1(4808f8bbb963be30eace75228d4d1decde3282b0), "Bwb","Trex (Bwb) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4trex__e, m4trex, "tr_20s__.2_1", 0x0000, 0x010000, CRC(2e9460bd) SHA1(8e2ac58cb1686aadad38356a4d47e9502ddbaa52), "Bwb","Trex (Bwb) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4trex__f, m4trex, "tr_20s_p.2_1", 0x0000, 0x010000, CRC(e39a5e8f) SHA1(d1d507040fefa959d71856395639778e898272aa), "Bwb","Trex (Bwb) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4trex__g, m4trex, "tr_20sb_.2_1", 0x0000, 0x010000, CRC(fb98608c) SHA1(48b4fbdc289552131b621c870d7af082b6d8916e), "Bwb","Trex (Bwb) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4trex__h, m4trex, "tr_20sbp.2_1", 0x0000, 0x010000, CRC(36965ebe) SHA1(f2adce7cc97b30b0bf67fd5698b867603973e87a), "Bwb","Trex (Bwb) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4trex__i, m4trex, "tr_20sd_.2_1", 0x0000, 0x010000, CRC(868ea921) SHA1(3055816747b4773ec67669403a81420fabbe327e), "Bwb","Trex (Bwb) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4trex__j, m4trex, "tr_20sdp.2_1", 0x0000, 0x010000, CRC(4b809713) SHA1(d70581ff669d19cf5a91b1546f5c02f27aeda2e4), "Bwb","Trex (Bwb) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4trex__k, m4trex, "tr_20sk_.2_1", 0x0000, 0x010000, CRC(5382a910) SHA1(c8b2811081ec31fecd1b435e775d29e2e6406111), "Bwb","Trex (Bwb) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4trex__l, m4trex, "tr_20skp.2_1", 0x0000, 0x010000, CRC(9e8c9722) SHA1(7aee25966e6d2107f8a8f89acf6af62a73ff05c9), "Bwb","Trex (Bwb) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4trex, 0, "tr_20a__.2_1", 0x0000, 0x010000, CRC(21150b8e) SHA1(1531bc6fdb8b787fed6f4f98c6463313c55efc3c), "Bwb","T-Rex (Bwb) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4trex__a, m4trex, "tr_20a_p.2_1", 0x0000, 0x010000, CRC(ec1b35bc) SHA1(944959c6d1f8e9b0bb33c659b7c515cb7585fed0), "Bwb","T-Rex (Bwb) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4trex__b, m4trex, "tr_20ab_.2_1", 0x0000, 0x010000, CRC(f4190bbf) SHA1(45c20c5e56f0bc39e3af5817eb6d705caef14b40), "Bwb","T-Rex (Bwb) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4trex__c, m4trex, "tr_20bg_.2_1", 0x0000, 0x010000, CRC(14d8d80c) SHA1(6db190550b18401a067eeb26890af39612fc3012), "Bwb","T-Rex (Bwb) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4trex__d, m4trex, "tr_20bt_.2_1", 0x0000, 0x010000, CRC(3ad19bf3) SHA1(4808f8bbb963be30eace75228d4d1decde3282b0), "Bwb","T-Rex (Bwb) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4trex__e, m4trex, "tr_20s__.2_1", 0x0000, 0x010000, CRC(2e9460bd) SHA1(8e2ac58cb1686aadad38356a4d47e9502ddbaa52), "Bwb","T-Rex (Bwb) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4trex__f, m4trex, "tr_20s_p.2_1", 0x0000, 0x010000, CRC(e39a5e8f) SHA1(d1d507040fefa959d71856395639778e898272aa), "Bwb","T-Rex (Bwb) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4trex__g, m4trex, "tr_20sb_.2_1", 0x0000, 0x010000, CRC(fb98608c) SHA1(48b4fbdc289552131b621c870d7af082b6d8916e), "Bwb","T-Rex (Bwb) (MPU4) (set 8)" ) +GAME_CUSTOM( 199?, m4trex__h, m4trex, "tr_20sbp.2_1", 0x0000, 0x010000, CRC(36965ebe) SHA1(f2adce7cc97b30b0bf67fd5698b867603973e87a), "Bwb","T-Rex (Bwb) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4trex__i, m4trex, "tr_20sd_.2_1", 0x0000, 0x010000, CRC(868ea921) SHA1(3055816747b4773ec67669403a81420fabbe327e), "Bwb","T-Rex (Bwb) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4trex__j, m4trex, "tr_20sdp.2_1", 0x0000, 0x010000, CRC(4b809713) SHA1(d70581ff669d19cf5a91b1546f5c02f27aeda2e4), "Bwb","T-Rex (Bwb) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4trex__k, m4trex, "tr_20sk_.2_1", 0x0000, 0x010000, CRC(5382a910) SHA1(c8b2811081ec31fecd1b435e775d29e2e6406111), "Bwb","T-Rex (Bwb) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4trex__l, m4trex, "tr_20skp.2_1", 0x0000, 0x010000, CRC(9e8c9722) SHA1(7aee25966e6d2107f8a8f89acf6af62a73ff05c9), "Bwb","T-Rex (Bwb) (MPU4) (set 13)" ) +/***************************************************************************************************************************************************************************** +* +* Tutti Fruity +* - some sets boot +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4tutbwb_keys[2] = { 0x01, 0x163428 }; + +#define M4TUTBWB_EXTRA_ROMS \ + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ + /* missing? */ +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4TUTBWB_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) + +// these were in with the regular Barcrest / Bwb Tutti Fruity sets, but this looks like something different, maybe a Bwn original with the same name? +// it has a 0x3f fill near the vectors etc. which is typically associated with Bwb originals. +GAME_CUSTOM( 199?, m4tutbwb, 0, "tu_05___.1a3", 0x0000, 0x010000, CRC(97acc82d) SHA1(be53e60cb8a33b91a7f5556715ab4befe7170dd2), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4tutbwb_a, m4tutbwb, "tu_05_d_.1a3", 0x0000, 0x010000, CRC(33bb3018) SHA1(2c2f49c31919682ac03e61a665ce15d835e22467), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4tutbwb_b, m4tutbwb, "tu_10___.1a3", 0x0000, 0x010000, CRC(7878827f) SHA1(ac692ae50e63e632d45e7240c2520df83d2baaf5), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4tutbwb_c, m4tutbwb, "tu_20___.1a3", 0x0000, 0x010000, CRC(cada1c42) SHA1(6a4048da89a0bffeebfd21549c2d9812cc275bd5), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4tutbwb_d, m4tutbwb, "tu_20_b_.1a3", 0x0000, 0x010000, CRC(a8f1bc11) SHA1(03596171540e6490133f374cca69f4fd0359952e), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4tutbwb_e, m4tutbwb, "tu_20_d_.1a3", 0x0000, 0x010000, CRC(6ecde477) SHA1(694296eb226c59069800d6936c9dee2623105db0), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4tutbwb_f, m4tutbwb, "tu_20_k_.1a3", 0x0000, 0x010000, CRC(0ce64424) SHA1(7415c9de9982aa7f15f71ef791cbd8ad5a9331d3), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4tutbwb_g, m4tutbwb, "tu_20bg_.1a3", 0x0000, 0x010000, CRC(31a6196d) SHA1(1113737dd3b209afda14ec273d923e2057ea7d99), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 8)" ) +GAME_CUSTOM( 199?, m4tutbwb_h, m4tutbwb, "tuf20__1.0", 0x0000, 0x010000, CRC(ddadbcb6) SHA1(2d2934ec73d979de45d0998f8975361d33358dd3), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4tutbwb_i, m4tutbwb, "tuf20ad1.0", 0x0000, 0x010000, CRC(5a74ead3) SHA1(3216c8d0c67aaeb18f791a6e1f3f6e30145d6beb), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4tutbwb_j, m4tutbwb, "tui05___.1a3", 0x0000, 0x010000, CRC(42e3d400) SHA1(4cf914141dfc1f88704403b467176da77369da06), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 11)" ) + + +/***************************************************************************************************************************************************************************** +* +* Volcano +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4volcan_keys[2] = { 0x11, 0x3f0d26 }; #define M4VOLCAN_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ @@ -1045,6 +1540,7 @@ GAME_CUSTOM( 199?, m4trex__l, m4trex, "tr_20skp.2_1", 0x0000, 0x010000, CRC(9 ROM_LOAD( "vo___snd.1_2", 0x080000, 0x080000, CRC(1eded545) SHA1(0010833e42b33fb0fd621a1059e1cf9a123c3fbd) ) \ ROM_LOAD( "vo___snd.1_3", 0x100000, 0x080000, CRC(915f4adf) SHA1(fac6644329ee6ef0026d65d8b94c971e01770d45) ) \ ROM_LOAD( "vo___snd.1_4", 0x180000, 0x080000, CRC(fec0fbe9) SHA1(26f651c5558a80e88666403d01cf916c3a13d948) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1052,8 +1548,7 @@ GAME_CUSTOM( 199?, m4trex__l, m4trex, "tr_20skp.2_1", 0x0000, 0x010000, CRC(9 ROM_LOAD( name, offset, length, hash ) \ M4VOLCAN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) - + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4volcan, 0, "vo_sj___.5_0", 0x0000, 0x040000, CRC(78096ebf) SHA1(96915bc2eca00fbd82fab8b3f62e697da118acdd), "Bwb","Volcano (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4volcan__a, m4volcan, "vo_sj_d_.5_0", 0x0000, 0x040000, CRC(87e0347d) SHA1(be5d5b90739fa8ac10f6504290aa58fcf147f323), "Bwb","Volcano (Bwb) (MPU4) (set 2)" ) @@ -1064,12 +1559,23 @@ GAME_CUSTOM( 199?, m4volcan__e, m4volcan, "vo_vc___.2_0", 0x0000, 0 GAME_CUSTOM( 199?, m4volcan__f, m4volcan, "vo_vc_d_.2_0", 0x0000, 0x040000, CRC(7f7341b6) SHA1(23d46ca0eed1e942b2a0d33d6ada2434ded5819b), "Bwb","Volcano (Bwb) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4volcan__g, m4volcan, "volcano_bwb_2-0.bin", 0x0000, 0x040000, CRC(20688684) SHA1(fe533341417a3a0b16f485351cb635f4e7d823db), "Bwb","Volcano (Bwb) (MPU4) (set 8)" ) + +/***************************************************************************************************************************************************************************** +* +* Voodoo Express +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4vdexpr_keys[2] = { 0x11, 0x3f0d27 }; + #define M4VDEXPR_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "vd___snd.1_1", 0x000000, 0x080000, CRC(d66b43a9) SHA1(087cf1571a9afb8c1c7cac13640fa453b614fd53) ) \ ROM_LOAD( "vd___snd.1_2", 0x080000, 0x080000, CRC(a501c887) SHA1(c56a05fd8196afb86e665fec3fe7d02b9bf94c1a) ) \ ROM_LOAD( "vd___snd.1_3", 0x100000, 0x080000, CRC(70c6bd96) SHA1(ecdd4276ff72939433630e04bba5be3df569e17e) ) \ ROM_LOAD( "vd___snd.1_4", 0x180000, 0x080000, CRC(a6753f41) SHA1(b4af3054b62c3f00f2b5a19b816507fc3a62bef4) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1077,7 +1583,7 @@ GAME_CUSTOM( 199?, m4volcan__g, m4volcan, "volcano_bwb_2-0.bin", 0x0000, 0 ROM_LOAD( name, offset, length, hash ) \ M4VDEXPR_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4vdexpr, 0, "vd_sj___.2_0", 0x0000, 0x040000, CRC(03efd2a5) SHA1(4fc3695c24335aef11ba168f660fb519d8c9d473), "Bwb","Voodoo Express (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4vdexpr__a, m4vdexpr, "vd_sj_d_.2_0", 0x0000, 0x040000, CRC(5073b98e) SHA1(66b020b8c096e78e1c9694f1cbc139e97314ab48), "Bwb","Voodoo Express (Bwb) (MPU4) (set 2)" ) @@ -1086,9 +1592,19 @@ GAME_CUSTOM( 199?, m4vdexpr__c, m4vdexpr, "vd_sjs__.2_0", 0x0000, 0x040000, GAME_CUSTOM( 199?, m4vdexpr__d, m4vdexpr, "vd_vc___.1_0", 0x0000, 0x040000, CRC(6326e14a) SHA1(3dbfbb1cfb60dc10c6972aa2fda89c8e3c3107ea), "Bwb","Voodoo Express (Bwb) (MPU4) (set 5)" ) +/***************************************************************************************************************************************************************************** +* +* X-change +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4xch_keys[2] = { 0x42, 0x3f0c26 }; + #define M4XCH_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "xchasnd.bin", 0x0000, 0x080000, CRC(32c44cd5) SHA1(baafb48e6f95ba152942d1e1c273ffb3c95afa82) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1096,7 +1612,7 @@ GAME_CUSTOM( 199?, m4vdexpr__d, m4vdexpr, "vd_vc___.1_0", 0x0000, 0x040000, ROM_LOAD( name, offset, length, hash ) \ M4XCH_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4xch, 0, "ec_25b__.b_0", 0x0000, 0x020000, CRC(cec9e836) SHA1(460ec38566d7608e51b62f1ffebc18a395002ed4), "Bwb","X-change (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4xch__a, m4xch, "ec_36bg_.bv0", 0x0000, 0x020000, CRC(c5d1523a) SHA1(813916008d7e7576e4594a6eb79a76c514470f31), "Bwb","X-change (Bwb) (MPU4) (set 2)" ) @@ -1109,12 +1625,33 @@ GAME_CUSTOM( 199?, m4xch__g, m4xch, "ec_49bmd.b_0", 0x0000, 0x020000, CRC(2a55 GAME_CUSTOM( 199?, m4xch__h, m4xch, "ec_s9bt_.b_0", 0x0000, 0x020000, CRC(7e0a27d1) SHA1(d4a23a6c358e38a1a66a06b82af85c844f684830), "Bwb","X-change (Bwb) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4xch__i, m4xch, "ec_sja__.a_0", 0x0000, 0x020000, CRC(1f923f89) SHA1(84486287d55591c7e81c59a10e8cc722ec21e8f9), "Bwb","X-change (Bwb) (MPU4) (set 10)" ) GAME_CUSTOM( 199?, m4xch__j, m4xch, "ec_sja__.b_0", 0x0000, 0x020000, CRC(16d7b8bb) SHA1(be8ab98a64aa976e25cb302b68323c6781034f2b), "Bwb","X-change (Bwb) (MPU4) (set 11)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4XCH_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default ,ROT0,company,title,GAME_FLAGS ) + +// possibly just a bad dump (half size) GAME_CUSTOM( 199?, m4xch__k, m4xch, "xchange.bin", 0x0000, 0x010000, CRC(c96cd014) SHA1(6e32d10c18b6b34dbcb21e75925a77e810ffe892), "Bwb","X-change (Bwb) (MPU4) (set 12)" ) +/***************************************************************************************************************************************************************************** +* +* X-s +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4xs_keys[2] = { 0x34, 0x3f0e26 }; + #define M4XS_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1122,7 +1659,7 @@ GAME_CUSTOM( 199?, m4xch__k, m4xch, "xchange.bin", 0x0000, 0x010000, CRC(c96c ROM_LOAD( name, offset, length, hash ) \ M4XS_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4xs, 0, "es_39b__.3_0", 0x0000, 0x020000, CRC(ba478372) SHA1(c13f9cc4261e91119aa694ec3ac81d94d9f32d22), "Bwb","X-s (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4xs__a, m4xs, "es_39bg_.3_0", 0x0000, 0x020000, CRC(b689f14f) SHA1(0c3253e1f747a979f55d53fe637fc61cf50e01a3), "Bwb","X-s (Bwb) (MPU4) (set 2)" ) @@ -1133,9 +1670,19 @@ GAME_CUSTOM( 199?, m4xs__e, m4xs, "es_49bmd.3_0", 0x0000, 0x020000, CRC(115 GAME_CUSTOM( 199?, m4xs__f, m4xs, "es_sja__.3_0", 0x0000, 0x020000, CRC(5909092d) SHA1(64df6ad5ba5ac74592b525af2f4cab8a092a5766), "Bwb","X-s (Bwb) (MPU4) (set 7)" ) +/***************************************************************************************************************************************************************************** +* +* X-treme +* - 3.2 MPU Lamp Drv error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4xtrm_keys[2] = { 0x36, 0x301210 }; + #define M4XTRM_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1143,15 +1690,61 @@ GAME_CUSTOM( 199?, m4xs__f, m4xs, "es_sja__.3_0", 0x0000, 0x020000, CRC(590 ROM_LOAD( name, offset, length, hash ) \ M4XTRM_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4xtrm, 0, "et_39bg_.2_0", 0x0000, 0x020000, CRC(db1a3c3c) SHA1(081c934ebfc0a9dfa195bb20f51e025e53d9c4b9), "Bwb","X-treme (Bwb) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4xtrm__a, m4xtrm, "et_49bg_.2_0", 0x0000, 0x020000, CRC(f858d927) SHA1(e7ab84c8898a95075a41fb0249e4b103d60e7d85), "Bwb","X-treme (Bwb) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4xtrm__b, m4xtrm, "et_sja__.2_0", 0x0000, 0x020000, CRC(8ee2602b) SHA1(b9a779b900ac71ec842dd7eb1643f7a2f1cb6a38), "Bwb","X-treme (Bwb) (MPU4) (set 3)" ) +/***************************************************************************************************************************************************************************** +* +* German versions from Nova are below. +* +* Export cabinets were often different despite having the same game name, so not paired with the above UK releases +* +*****************************************************************************************************************************************************************************/ + + +/***************************************************************************************************************************************************************************** +* +* Blues Boys (Nova, German version) +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4bluesn_keys[2] = { 0x23, 0x1b0b36 }; + +#define M4BLUESN_EXTRA_ROMS \ + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ + ROM_LOAD( "bluesboyz.bi2", 0x000000, 0x080000, CRC(7f19a61b) SHA1(dd8742d84df24e118bdbffb1efffad1c71eb2283) ) \ + ROM_LOAD( "bluesboyz.bi3", 0x080000, 0x080000, CRC(32363184) SHA1(8f3f53ce4d9f9b54c441263def9d8e23880507a1) ) \ + ROM_LOAD( "bluesboyz.bi4", 0x100000, 0x080000, CRC(aa94281d) SHA1(e15b7bf97b8e307ed465d9b8cb6e5de0044f6fb5) ) \ + ROM_LOAD( "bluesboyz.bi5", 0x180000, 0x080000, CRC(d8d7aa2e) SHA1(2d8b86fa63e6649d628c7e343d8f5c329c8f8ced) ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4BLUESN_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + +GAME_CUSTOM( 199?, m4bluesn, m4blsbys, "bluesboys.bin", 0x0000, 0x020000, CRC(c1395649) SHA1(3cd0eed1f966f5391fe5de496dc747385ebfb556), "Bwb","Blues Boys (Nova) (MPU4)" ) + + +/***************************************************************************************************************************************************************************** +* +* Cup Final (Nova, German version) +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4cfinln_keys[2] = { 0x10, 0x213623 }; + #define M4CFINLN_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1159,30 +1752,24 @@ GAME_CUSTOM( 199?, m4xtrm__b, m4xtrm, "et_sja__.2_0", 0x0000, 0x020000, CRC(8 ROM_LOAD( name, offset, length, hash ) \ M4CFINLN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4cfinln, m4cpfinl, "cfd_7_1.bin", 0x0000, 0x020000, CRC(e42ec2aa) SHA1(6495448c1d11ce0ab9ad794bc3a0981432e22945), "Bwb","Cup Final (Nova) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4cfinln__a, m4cpfinl, "cfd_d0.bin", 0x0000, 0x020000, CRC(179fcf13) SHA1(abd18ed28118ba0a62ab321a9d963105946d5eef), "Bwb","Cup Final (Nova) (MPU4) (set 2)" ) -#define M4ABRA_EXTRA_ROMS \ - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ - /* missing? */ -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4ABRA_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4abra, 0, "nn_sj___.4_0", 0x0000, 0x040000, CRC(48437d29) SHA1(72a2e9337fc0a004c382931f3af856253c44ed61), "Bwb","Abracadabra (Bwb) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4abra__a, m4abra, "nn_sja__.4_0", 0x0000, 0x040000, CRC(766cd4ae) SHA1(4d630b967ede615d325f524c2e4c92c7e7a60886), "Bwb","Abracadabra (Bwb) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4abra__b, m4abra, "nn_sjb__.4_0", 0x0000, 0x040000, CRC(ca77a68a) SHA1(e753c065d299038bae4c451e647b9bcda36421d9), "Bwb","Abracadabra (Bwb) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4abra__c, m4abra, "nn_sjk__.4_0", 0x0000, 0x040000, CRC(19018556) SHA1(6df993939e70a24621d4e732d0670d64fac1cf56), "Bwb","Abracadabra (Bwb) (MPU4) (set 4)" ) + +/***************************************************************************************************************************************************************************** +* +* World Cup (Nova, German version) +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4wcnov_keys[2] = { 0x19, 0x0f2029 }; #define M4WCNOV_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1190,12 +1777,23 @@ GAME_CUSTOM( 199?, m4abra__c, m4abra, "nn_sjk__.4_0", 0x0000, 0x040000, CRC(1 ROM_LOAD( name, offset, length, hash ) \ M4WCNOV_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4wcnov, 0, "wcdsxh__.5_0", 0x0000, 0x080000, CRC(a82d11de) SHA1(ece14fd5f56da8cc788c53d5c1404275e9000b65), "Bwb","World Cup (Nova) (MPU4)" ) + +/***************************************************************************************************************************************************************************** +* +* Excalibur (Nova, German version) +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4excaln_keys[2] = { 0x10, 0x010e20 }; + #define M4EXCALN_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1203,15 +1801,24 @@ GAME_CUSTOM( 199?, m4wcnov, 0, "wcdsxh__.5_0", 0x0000, 0x080000, CRC(a82d11 ROM_LOAD( name, offset, length, hash ) \ M4EXCALN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_impcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4excaln, m4excal, "exdsx___.6_0", 0x0000, 0x080000, CRC(fcdc703c) SHA1(927870723106aebbb2b492ce9bfebe4aa25d0325), "Bwb","Excalibur (Nova) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4excaln__a,m4excal, "exdsx_e_.6_0", 0x0000, 0x080000, CRC(f6421feb) SHA1(5b3cf7fa4bf9711097ed1c9d2d5689329d73193d), "Bwb","Excalibur (Nova) (MPU4) (set 2)" ) +/***************************************************************************************************************************************************************************** +* +* Olympic Gold (Nova, German version) +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4olygn_keys[2] = { 0x19, 0x0f2029}; + #define M4OLYGN_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1219,14 +1826,25 @@ GAME_CUSTOM( 199?, m4excaln__a,m4excal, "exdsx_e_.6_0", 0x0000, 0x080000, CRC ROM_LOAD( name, offset, length, hash ) \ M4OLYGN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_invimpcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4olygn, 0, "ogdsx___.8_0", 0x0000, 0x040000, CRC(b51a2538) SHA1(d54f37dc14c44ab66e6d6ba6e2df8bc9ed003054), "Bwb","Olympic Gold (German) (Nova) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4olygn__a, m4olygn, "ogdsxe__.8_0", 0x0000, 0x040000, CRC(13aa70aa) SHA1(3878c181ec07e24060935bec96e5128e6e4baf31), "Bwb","Olympic Gold (German) (Nova) (MPU4) (set 2)" ) +/***************************************************************************************************************************************************************************** +* +* Find The Lady (Nova, German version) +* - mech error +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4ftladn_keys[2] = { 0x05, 0x200f03 }; + #define M4FTLADN_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1234,12 +1852,27 @@ GAME_CUSTOM( 199?, m4olygn__a, m4olygn, "ogdsxe__.8_0", 0x0000, 0x040000, CR ROM_LOAD( name, offset, length, hash ) \ M4FTLADN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_invimpcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4ftladn, 0, "fidse___.5_0", 0x00000, 0x20000, CRC(62347bbf) SHA1(2b1cd5adda831a8c74c9484ee1b616259d3e3981), "Bwb","Find the Lady (Nova) (MPU4)" ) + +/***************************************************************************************************************************************************************************** +* +* Sinbad (Nova, German version) +* - all give errors +* +*****************************************************************************************************************************************************************************/ + +static const uint32_t m4sinbdn_keys[2] = { 0x10, 0x260c2c }; +static const uint32_t m4sinbdn__a_keys[2] = { 0x10, 0x381d06 }; +static const uint32_t m4sinbdn__b_keys[2] = { 0x10, 0x3e2f0b }; + + #define M4SINBDN_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1247,12 +1880,32 @@ GAME_CUSTOM( 199?, m4ftladn, 0, "fidse___.5_0", 0x00000, 0x20000, CRC(623 ROM_LOAD( name, offset, length, hash ) \ M4SINBDN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_invimpcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) GAME_CUSTOM( 199?, m4sinbdn, 0, "sbds3___.a_1", 0x0000, 0x020000, CRC(9bff0e40) SHA1(f8a1263a58f828554e9df77ed0db78e627666fb5), "Bwb","Sinbad (Nova) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4sinbdn__e, m4sinbdn, "sbds3__l.9_0", 0x0000, 0x040000, CRC(e425375a) SHA1(d2bdd8e768fc7764054eff574360f3cfb5f4f66d), "Bwb","Sinbad (Nova) (MPU4) (set 6)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4SINBDN_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_invimpcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4sinbdn__a, m4sinbdn, "sbds3___.7w1", 0x0000, 0x020000, CRC(23bc9ce0) SHA1(f750de2b781bc902c65de7109e10a5fc2d4e1c61), "Bwb","Sinbad (Nova) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4sinbdn__f, m4sinbdn, "sbds3__l.aw0", 0x0000, 0x040000, CRC(c484ef9d) SHA1(62f6644b83dd6abaf80809217edf6a8230a89268), "Bwb","Sinbad (Nova) (MPU4) (set 7)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4SINBDN_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, bwboki_chr_cheat, mpu4_invimpcoin, mpu4bwb_machines_state, init_m4default_big ,ROT0,company,title,GAME_FLAGS ) + GAME_CUSTOM( 199?, m4sinbdn__b, m4sinbdn, "sxdsx___.2_0", 0x0000, 0x040000, CRC(4e1f98b5) SHA1(3e16e7a0cdccc9eb1a1bb6f9a0332c4582483eee), "Bwb","Sinbad (Nova) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4sinbdn__c, m4sinbdn, "sdd__.3_0", 0x0000, 0x040000, CRC(100098c1) SHA1(b125855c49325972f620463e32fdf124222e27d2), "Bwb","Sinbad (Nova) (MPU4) (set 4)" ) GAME_CUSTOM( 199?, m4sinbdn__d, m4sinbdn, "sdds3__l.1w0", 0x0000, 0x040000, CRC(feedb8cf) SHA1(620b5379164d4da1200d4807199c2dc78d7d89ee), "Bwb","Sinbad (Nova) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4sinbdn__e, m4sinbdn, "sbds3__l.9_0", 0x0000, 0x040000, CRC(e425375a) SHA1(d2bdd8e768fc7764054eff574360f3cfb5f4f66d), "Bwb","Sinbad (Nova) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4sinbdn__f, m4sinbdn, "sbds3__l.aw0", 0x0000, 0x040000, CRC(c484ef9d) SHA1(62f6644b83dd6abaf80809217edf6a8230a89268), "Bwb","Sinbad (Nova) (MPU4) (set 7)" ) diff --git a/src/mame/drivers/mpu4concept.cpp b/src/mame/drivers/mpu4concept.cpp index 654b983cbe6..ae6fc1c618e 100644 --- a/src/mame/drivers/mpu4concept.cpp +++ b/src/mame/drivers/mpu4concept.cpp @@ -5,13 +5,26 @@ #include "emu.h" #include "includes/mpu4.h" -INPUT_PORTS_EXTERN( mpu4 ); +namespace { + +class mpu4concept_machines_state : public mpu4_state +{ +public: + + mpu4concept_machines_state(const machine_config& mconfig, device_type type, const char* tag) : + mpu4_state(mconfig, type, tag) + { + } +}; + +} // anonymous namespace #define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) #define M4RHFEVC_EXTRA_ROMS \ ROM_REGION( 0x080000, "msm6376", 0 ) \ ROM_LOAD( "rhfs1.bin", 0x0000, 0x03de5e, CRC(0dddd05f) SHA1(908a58752fb1cf76667695a40bcaa7778201c3a2) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -19,7 +32,7 @@ INPUT_PORTS_EXTERN( mpu4 ); ROM_LOAD( name, offset, length, hash ) \ M4RHFEVC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4concept_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4rhfevc, 0, "rhb6a58e.bin", 0x0000, 0x010000, CRC(c5a1ec02) SHA1(3a4dc552fffc34673e590e903a5c15a409f9aeec), "Concept Games Ltd","Red Hot Fever (Concept Games Ltd) (MPU4) (set 1)" ) @@ -54,6 +67,7 @@ GAME_CUSTOM( 199?, m4rhfevc__y, m4rhfevc, "lxled1.bin", 0x0000, 0x010000, #define M4PULWNC_EXTRA_ROMS \ ROM_REGION( 0x080000, "msm6376", 0 ) \ ROM_LOAD( "paws1.bin", 0x0000, 0x03e72f, CRC(124b14ba) SHA1(b6b84c306c83b3159d88992ad88a10aff161fce8) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -61,7 +75,7 @@ GAME_CUSTOM( 199?, m4rhfevc__y, m4rhfevc, "lxled1.bin", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4PULWNC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4concept_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) @@ -103,6 +117,7 @@ GAME_CUSTOM( 199?, m4pulwnc__4, m4pulwnc, "tchm02.bin", 0x0000, 0x010000, #define M4SPNWNC_EXTRA_ROMS \ ROM_REGION( 0x080000, "msm6376", 0 ) \ ROM_LOAD( "sawsnd1", 0x0000, 0x080000, CRC(7957381f) SHA1(8fd45e5bf67248607f7d98032e08516ded493d74) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -110,7 +125,7 @@ GAME_CUSTOM( 199?, m4pulwnc__4, m4pulwnc, "tchm02.bin", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4SPNWNC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4concept_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4spnwnc, 0, "saw01.bin", 0x0000, 0x010000, CRC(5350e50e) SHA1(0d7ba3280eddb4400545729c55bcfaff7918d553), "Concept Games Ltd","Spin-A-Win (Concept Games Ltd) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4spnwnc__a, m4spnwnc, "saw02.bin", 0x0000, 0x010000, CRC(daf85100) SHA1(ff89adb0d6530bcf5ff0807f48c6008198948d50), "Concept Games Ltd","Spin-A-Win (Concept Games Ltd) (MPU4) (set 2)" ) @@ -119,6 +134,7 @@ GAME_CUSTOM( 199?, m4spnwnc__b, m4spnwnc, "saw03.bin", 0x0000, 0x010000, CR #define M4NUDGWC_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \ ROM_LOAD( "naws1.bin", 0x0000, 0x02373f, CRC(b2ea8c50) SHA1(a02181f8f4636e69287073f4ffb8604ff2f14b9c) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -126,7 +142,7 @@ GAME_CUSTOM( 199?, m4spnwnc__b, m4spnwnc, "saw03.bin", 0x0000, 0x010000, CR ROM_LOAD( name, offset, length, hash ) \ M4NUDGWC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4concept_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4nudgwc, 0, "naw02.bin", 0x0000, 0x010000, CRC(eb3ff27d) SHA1(ff0a80a75162380c6cc2d1b31f0bb0579faa1a2c), "Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4nudgwc__a, m4nudgwc, "nawhc6.bin", 0x0000, 0x010000, CRC(f9389823) SHA1(e1db35200c9ed9d59cf817901cf75bdbb48507b2), "Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4) (set 2)" ) diff --git a/src/mame/drivers/mpu4crystal.cpp b/src/mame/drivers/mpu4crystal.cpp index 11d8e4d4c57..df07f00c1b6 100644 --- a/src/mame/drivers/mpu4crystal.cpp +++ b/src/mame/drivers/mpu4crystal.cpp @@ -7,7 +7,18 @@ #include "emu.h" #include "includes/mpu4.h" -INPUT_PORTS_EXTERN( mpu4 ); +namespace { + +class mpu4crystal_machines_state : public mpu4_state +{ +public: + + mpu4crystal_machines_state(const machine_config& mconfig, device_type type, const char* tag) : + mpu4_state(mconfig, type, tag) + { + } +}; + #define M4FRKSTN_SOUND \ ROM_REGION( 0x40000, "upd", 0 ) \ @@ -753,106 +764,136 @@ ROM_START( m4ndupc ) M4NDUP_SOUND ROM_END +} // anonymous namespace + #define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) -GAME(199?, m4frkstn, 0, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frkstna,m4frkstn, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frkstnb,m4frkstn, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frkstnc,m4frkstn, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frkstnd,m4frkstn, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frkstne,m4frkstn, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 6)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frkstnf,m4frkstn, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 7)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frkstng,m4frkstn, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 8)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frkstnh,m4frkstn, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 9)", GAME_FLAGS|MACHINE_NO_SOUND ) // this set is encrypted -GAME(199?, m4aladn, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4aladna, m4aladn, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4aladnb, m4aladn, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4aladnc, m4aladn, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4aladnd, m4aladn, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4aladne, m4aladn, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 6)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4aladnf, m4aladn, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 7)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4aladng, m4aladn, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 8)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4aladnh, m4aladn, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 9)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4aladni, m4aladn, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 10)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bagcsh, 0, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "Crystal","Bags Of Cash Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bagcsha,m4bagcsh, mpu4crys, mpu4, mpu4_state, init_m_frkstn, ROT0, "Crystal","Bags Of Cash Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bucclb, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Buccaneer Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bucclba,m4bucclb, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Buccaneer Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bucclbb,m4bucclb, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Buccaneer Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bucclbc,m4bucclb, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Buccaneer Club (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bullio, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Bullion Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bullioa,m4bullio, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Bullion Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bulliob,m4bullio, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Bullion Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4carou ,0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Carousel Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4caroua, m4carou, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Carousel Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4caroub, m4carou, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Carousel Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4carouc, m4carou, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Carousel Club (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4cclimb, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Crazy Climber (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4cclimba,m4cclimb, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Crazy Climber (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4crzcl, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Crazy Climber Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4crzcla, m4crzcl, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Crazy Climber Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4crzclb, m4crzcl, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Crazy Climber Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4crzclc, m4crzcl, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Crazy Climber Club (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4crzcld, m4crzcl, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Crazy Climber Club (Crystal) (MPU4) (set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4elitc, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Elite Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4elitca, m4elitc, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Elite Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4fairg, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Fairground (Crystal) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frmani, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Fruit Mania (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frmania,m4frmani, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Fruit Mania (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frmanib,m4frmani, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Fruit Mania (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frmanic,m4frmani, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Fruit Mania (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4goldxc, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4goldxca,m4goldxc, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4goldxcb,m4goldxc, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4goldxcc,m4goldxc, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4goldxcd,m4goldxc, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4) (set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4goldxce,m4goldxc, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4) (set 6)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4goldfc, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Gold Fever (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4goldfca,m4goldfc, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Gold Fever (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4goldfcb,m4goldfc, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Gold Fever (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4hirol, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Hi Roller Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4hirola, m4hirol, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Hi Roller Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4kingqn, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Kings & Queens Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4kingqna,m4kingqn, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Kings & Queens Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4lotclb, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Lottery Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4lotclba,m4lotclb, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Lottery Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4montrl, 0, mpu4crys, mpu4, mpu4_state, init_crystali, ROT0, "Crystal","Money Trail (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) // encryption is inverted! -GAME(199?, m4montrla,m4montrl, mpu4crys, mpu4, mpu4_state, init_crystali, ROT0, "Crystal","Money Trail (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) // encryption is inverted! -GAME(199?, m4montrlb,m4montrl, mpu4crys, mpu4, mpu4_state, init_crystali, ROT0, "Crystal","Money Trail (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) // encryption is inverted! -GAME(199?, m4montrlc,m4montrl, mpu4crys, mpu4, mpu4_state, init_crystali, ROT0, "Crystal","Money Trail (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) // encryption is inverted! -GAME(199?, m4montrld,m4montrl, mpu4crys, mpu4, mpu4_state, init_crystali, ROT0, "Crystal","Money Trail (Crystal) (MPU4) (set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) // encryption is inverted! -GAME(199?, m4mystiq, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Mystique Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4mystiqa,m4mystiq, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Mystique Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4mystiqb,m4mystiq, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Mystique Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4mystiqc,m4mystiq, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Mystique Club (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4nudwin, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Nudge & Win (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4nudwina,m4nudwin, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Nudge & Win (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4paracl, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Paradise Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4paracla,m4paracl, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Paradise Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4rlpick, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Reel Picks (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4rlpicka,m4rlpick, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Reel Picks (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4rlpickb,m4rlpick, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Reel Picks (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4rlpickc,m4rlpick, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Reel Picks (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4twstr, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Twister (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4twstra, m4twstr, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Twister (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4twstrb, m4twstr, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Twister (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4twstrc, m4twstr, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Twister (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4twstrd, m4twstr, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Twister (Crystal) (MPU4) (set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4twstcl, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Twister Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4twstcla,m4twstcl, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Twister Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4twstclb,m4twstcl, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Twister Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4dz, 0, mpu4crys, mpu4, mpu4_state, init_crystal, ROT0, "Crystal","Danger Zone (Crystal) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4tylb, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Thank Your Lucky Bars (Crystal) (MPU4) (set 1)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) -GAME(199?, m4tylba, m4tylb, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Thank Your Lucky Bars (Crystal) (MPU4) (set 2)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) -GAME(199?, m4magi7, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Magic 7's (Crystal) (MPU4) (set 1)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) -GAME(199?, m4magi7a, m4magi7, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Magic 7's (Crystal) (MPU4) (set 2)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) -GAME(199?, m4rags, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Rags To Riches Club (Crystal) (MPU4) (set 1)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) -GAME(199?, m4ragsa, m4rags, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Rags To Riches Club (Crystal) (MPU4) (set 2)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) -GAME(199?, m4ragsb, m4rags, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Rags To Riches Club (Crystal) (MPU4) (set 3)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) -GAME(199?, m4ragsc, m4rags, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Rags To Riches Club (Crystal) (MPU4) (set 4)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) -GAME(199?, m4riocr, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Rio Grande (Crystal) (MPU4) (set 1)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) -GAME(199?, m4riocra, m4riocr, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Rio Grande (Crystal) (MPU4) (set 2)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) -GAME(199?, m4ndup, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Nudge Double Up Deluxe (Crystal) (MPU4) (set 1)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) -GAME(199?, m4ndupa, m4ndup, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Nudge Double Up Deluxe (Crystal) (MPU4) (set 2)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) -GAME(199?, m4ndupb, m4ndup, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Nudge Double Up Deluxe (Crystal) (MPU4) (set 3)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) -GAME(199?, m4ndupc, m4ndup, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Crystal","Nudge Double Up Deluxe (Crystal) (MPU4) (set 4)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) +GAME(199?, m4frkstn, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frkstna,m4frkstn, mpu4crys, mpu4, mpu4crystal_machines_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frkstnb,m4frkstn, mpu4crys, mpu4, mpu4crystal_machines_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frkstnc,m4frkstn, mpu4crys, mpu4, mpu4crystal_machines_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frkstnd,m4frkstn, mpu4crys, mpu4, mpu4crystal_machines_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frkstne,m4frkstn, mpu4crys, mpu4, mpu4crystal_machines_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 6)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frkstnf,m4frkstn, mpu4crys, mpu4, mpu4crystal_machines_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 7)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frkstng,m4frkstn, mpu4crys, mpu4, mpu4crystal_machines_state, init_m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 8)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frkstnh,m4frkstn, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 9)", GAME_FLAGS|MACHINE_NO_SOUND ) // this set is encrypted + +GAME(199?, m4aladn, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4aladna, m4aladn, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4aladnb, m4aladn, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4aladnc, m4aladn, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4aladnd, m4aladn, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4aladne, m4aladn, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 6)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4aladnf, m4aladn, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 7)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4aladng, m4aladn, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 8)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4aladnh, m4aladn, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 9)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4aladni, m4aladn, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4) (set 10)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4bagcsh, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_m_frkstn, ROT0, "Crystal","Bags Of Cash Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bagcsha,m4bagcsh, mpu4crys, mpu4, mpu4crystal_machines_state, init_m_frkstn, ROT0, "Crystal","Bags Of Cash Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4bucclb, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Buccaneer Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bucclba,m4bucclb, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Buccaneer Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bucclbb,m4bucclb, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Buccaneer Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bucclbc,m4bucclb, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Buccaneer Club (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4bullio, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Bullion Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bullioa,m4bullio, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Bullion Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bulliob,m4bullio, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Bullion Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4carou ,0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Carousel Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4caroua, m4carou, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Carousel Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4caroub, m4carou, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Carousel Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4carouc, m4carou, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Carousel Club (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4cclimb, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Crazy Climber (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4cclimba,m4cclimb, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Crazy Climber (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4crzcl, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Crazy Climber Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4crzcla, m4crzcl, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Crazy Climber Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4crzclb, m4crzcl, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Crazy Climber Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4crzclc, m4crzcl, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Crazy Climber Club (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4crzcld, m4crzcl, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Crazy Climber Club (Crystal) (MPU4) (set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4elitc, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Elite Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4elitca, m4elitc, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Elite Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4fairg, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Fairground (Crystal) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4frmani, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Fruit Mania (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frmania,m4frmani, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Fruit Mania (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frmanib,m4frmani, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Fruit Mania (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frmanic,m4frmani, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Fruit Mania (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4goldxc, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4goldxca,m4goldxc, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4goldxcb,m4goldxc, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4goldxcc,m4goldxc, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4goldxcd,m4goldxc, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4) (set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4goldxce,m4goldxc, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4) (set 6)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4goldfc, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Gold Fever (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4goldfca,m4goldfc, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Gold Fever (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4goldfcb,m4goldfc, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Gold Fever (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4hirol, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Hi Roller Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4hirola, m4hirol, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Hi Roller Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4kingqn, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Kings & Queens Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4kingqna,m4kingqn, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Kings & Queens Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4lotclb, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Lottery Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4lotclba,m4lotclb, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Lottery Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4montrl, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystali, ROT0, "Crystal","Money Trail (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) // encryption is inverted! +GAME(199?, m4montrla,m4montrl, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystali, ROT0, "Crystal","Money Trail (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) // encryption is inverted! +GAME(199?, m4montrlb,m4montrl, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystali, ROT0, "Crystal","Money Trail (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) // encryption is inverted! +GAME(199?, m4montrlc,m4montrl, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystali, ROT0, "Crystal","Money Trail (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) // encryption is inverted! +GAME(199?, m4montrld,m4montrl, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystali, ROT0, "Crystal","Money Trail (Crystal) (MPU4) (set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) // encryption is inverted! + +GAME(199?, m4mystiq, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Mystique Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4mystiqa,m4mystiq, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Mystique Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4mystiqb,m4mystiq, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Mystique Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4mystiqc,m4mystiq, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Mystique Club (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4nudwin, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Nudge & Win (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4nudwina,m4nudwin, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Nudge & Win (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4paracl, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Paradise Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4paracla,m4paracl, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Paradise Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4rlpick, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Reel Picks (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4rlpicka,m4rlpick, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Reel Picks (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4rlpickb,m4rlpick, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Reel Picks (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4rlpickc,m4rlpick, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Reel Picks (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4twstr, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Twister (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4twstra, m4twstr, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Twister (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4twstrb, m4twstr, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Twister (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4twstrc, m4twstr, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Twister (Crystal) (MPU4) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4twstrd, m4twstr, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Twister (Crystal) (MPU4) (set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4twstcl, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Twister Club (Crystal) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4twstcla,m4twstcl, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Twister Club (Crystal) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4twstclb,m4twstcl, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Twister Club (Crystal) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4dz, 0, mpu4crys, mpu4, mpu4crystal_machines_state, init_crystal, ROT0, "Crystal","Danger Zone (Crystal) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4tylb, 0, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Thank Your Lucky Bars (Crystal) (MPU4) (set 1)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) +GAME(199?, m4tylba, m4tylb, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Thank Your Lucky Bars (Crystal) (MPU4) (set 2)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) + +GAME(199?, m4magi7, 0, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Magic 7's (Crystal) (MPU4) (set 1)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) +GAME(199?, m4magi7a, m4magi7, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Magic 7's (Crystal) (MPU4) (set 2)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) + +GAME(199?, m4rags, 0, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Rags To Riches Club (Crystal) (MPU4) (set 1)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) +GAME(199?, m4ragsa, m4rags, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Rags To Riches Club (Crystal) (MPU4) (set 2)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) +GAME(199?, m4ragsb, m4rags, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Rags To Riches Club (Crystal) (MPU4) (set 3)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) +GAME(199?, m4ragsc, m4rags, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Rags To Riches Club (Crystal) (MPU4) (set 4)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) + +GAME(199?, m4riocr, 0, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Rio Grande (Crystal) (MPU4) (set 1)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) +GAME(199?, m4riocra, m4riocr, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Rio Grande (Crystal) (MPU4) (set 2)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) + +GAME(199?, m4ndup, 0, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Nudge Double Up Deluxe (Crystal) (MPU4) (set 1)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) +GAME(199?, m4ndupa, m4ndup, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Nudge Double Up Deluxe (Crystal) (MPU4) (set 2)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) +GAME(199?, m4ndupb, m4ndup, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Nudge Double Up Deluxe (Crystal) (MPU4) (set 3)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) +GAME(199?, m4ndupc, m4ndup, mod4oki, mpu4, mpu4crystal_machines_state, init_m4default, ROT0, "Crystal","Nudge Double Up Deluxe (Crystal) (MPU4) (set 4)",GAME_FLAGS|MACHINE_NO_SOUND|MACHINE_MECHANICAL ) diff --git a/src/mame/drivers/mpu4dealem.cpp b/src/mame/drivers/mpu4dealem.cpp index dc00839cdc8..880b02b3760 100644 --- a/src/mame/drivers/mpu4dealem.cpp +++ b/src/mame/drivers/mpu4dealem.cpp @@ -211,10 +211,6 @@ MACHINE_RESET_MEMBER(mpu4dealem_state,dealem_vid) m_IC23G1 = 1; m_IC23G2A = 0; m_IC23G2B = 0; - - m_prot_col = 0; - m_chr_counter = 0; - m_chr_value = 0; } diff --git a/src/mame/drivers/mpu4empire.cpp b/src/mame/drivers/mpu4empire.cpp index b5bf1a33f73..d7b20b7a7b9 100644 --- a/src/mame/drivers/mpu4empire.cpp +++ b/src/mame/drivers/mpu4empire.cpp @@ -5,11 +5,27 @@ #include "emu.h" #include "includes/mpu4.h" -INPUT_PORTS_EXTERN( mpu4 ); +namespace { + +class mpu4empire_machines_state : public mpu4_state +{ +public: + + mpu4empire_machines_state(const machine_config& mconfig, device_type type, const char* tag) : + mpu4_state(mconfig, type, tag) + { + } + + void init_m4apachg(); + +}; #include "m4apachg.lh" -void mpu4_state::init_m4apachg() +} // anonymous namespace + + +void mpu4empire_machines_state::init_m4apachg() { init_m4default(); //Derived from Apache_Gold_(Empire)_[C02_800_25jp].gam @@ -675,7 +691,7 @@ ROM_END ROM_START( m4hotcsh ) ROM_REGION( 0x010000, "maincpu", 0 ) ROM_LOAD( "hc3_0k.bin", 0x0000, 0x010000, CRC(e3cfa94a) SHA1(d21d2dac4edbf3fde9adab399bdd530e034af122) ) - ROM_REGION( 0x48, "fakechr", 0 ) + ROM_REGION( 0x48, "characteriser:fakechr", 0 ) ROM_LOAD( "db.chr", 0x00, 0x48, CRC(0fc2bb52) SHA1(0d0e47938f6e00166e7352732ddfb7c610f44db2) ) ROM_REGION( 0x100000, "msm6376", 0 ) @@ -686,7 +702,7 @@ ROM_END ROM_START( m4hotcsha ) ROM_REGION( 0x010000, "maincpu", 0 ) ROM_LOAD( "hc3_0ki.bin", 0x0000, 0x010000, CRC(646f8c29) SHA1(19d60faf77a7a83efc3ea4b614a4bc1dee53b8d8) ) - ROM_REGION( 0x48, "fakechr", 0 ) + ROM_REGION( 0x48, "characteriser:fakechr", 0 ) ROM_LOAD( "db.chr", 0x00, 0x48, CRC(0fc2bb52) SHA1(0d0e47938f6e00166e7352732ddfb7c610f44db2) ) ROM_REGION( 0x100000, "msm6376", 0 ) @@ -698,7 +714,7 @@ ROM_START( m4hotcshb ) ROM_REGION( 0x010000, "maincpu", 0 ) ROM_LOAD( "hc3_0kx.bin", 0x0000, 0x010000, CRC(3abebe72) SHA1(fec09ca41e8e43628140456bb44ce6e7c66f5270) ) - ROM_REGION( 0x48, "fakechr", 0 ) + ROM_REGION( 0x48, "characteriser:fakechr", 0 ) ROM_LOAD( "db.chr", 0x00, 0x48, CRC(0fc2bb52) SHA1(0d0e47938f6e00166e7352732ddfb7c610f44db2) ) ROM_REGION( 0x100000, "msm6376", 0 ) @@ -710,7 +726,7 @@ ROM_START( m4hotcshc ) ROM_REGION( 0x010000, "maincpu", 0 ) ROM_LOAD( "empire-hotcashv2-0.bin", 0x0000, 0x010000, CRC(b7ec5af3) SHA1(9454feecc7d7c533fed7134118acd2117ebe2591) ) - ROM_REGION( 0x48, "fakechr", 0 ) + ROM_REGION( 0x48, "characteriser:fakechr", 0 ) ROM_LOAD( "db.chr", 0x00, 0x48, CRC(0fc2bb52) SHA1(0d0e47938f6e00166e7352732ddfb7c610f44db2) ) ROM_REGION( 0x100000, "msm6376", 0 ) @@ -860,87 +876,107 @@ ROM_END most of these boot (after a single reset to initialize) but have broken text, need to check VFD emulation */ -GAMEL(199?, m4apachg, 0, mod4oki, mpu4, mpu4_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) -GAMEL(199?, m4apachga, m4apachg, mod4oki, mpu4, mpu4_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) -GAMEL(199?, m4apachgb, m4apachg, mod4oki, mpu4, mpu4_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) -GAMEL(199?, m4apachgc, m4apachg, mod4oki, mpu4, mpu4_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) -GAMEL(199?, m4apachgd, m4apachg, mod4oki, mpu4, mpu4_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) -GAMEL(199?, m4apachge, m4apachg, mod4oki, mpu4, mpu4_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 6)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) -GAMEL(199?, m4apachgf, m4apachg, mod4oki, mpu4, mpu4_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 7)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) +GAMEL(199?, m4apachg, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) +GAMEL(199?, m4apachga, m4apachg, mod4oki, mpu4, mpu4empire_machines_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) +GAMEL(199?, m4apachgb, m4apachg, mod4oki, mpu4, mpu4empire_machines_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) +GAMEL(199?, m4apachgc, m4apachg, mod4oki, mpu4, mpu4empire_machines_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) +GAMEL(199?, m4apachgd, m4apachg, mod4oki, mpu4, mpu4empire_machines_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) +GAMEL(199?, m4apachge, m4apachg, mod4oki, mpu4, mpu4empire_machines_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 6)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) +GAMEL(199?, m4apachgf, m4apachg, mod4oki, mpu4, mpu4empire_machines_state, init_m4apachg, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 7)", GAME_FLAGS|MACHINE_NO_SOUND, layout_m4apachg ) + +GAME(199?, m4bangrs, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bangrsa, m4bangrs, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bangrsb, m4bangrs, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4bankrd, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bankrda, m4bankrd, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bankrdb, m4bankrd, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bankrdc, m4bankrd, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bankrdd, m4bankrd, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4bigchs, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Big Cheese (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bigchsa, m4bigchs, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Big Cheese (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bigchsb, m4bigchs, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Big Cheese (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4cstrik, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4cstrika, m4cstrik, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4cstrikb, m4cstrik, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4cstrikc, m4cstrik, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4chacec, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Chase The Ace [Cards] (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4chaceca, m4chacec, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Chase The Ace [Cards] (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4chacef, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4chacefa, m4chacef, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4chacefb, m4chacef, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4chacefc, m4chacef, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4crzcap, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4crzcapa, m4crzcap, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4crzcapb, m4crzcap, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4crzcapc, m4crzcap, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4crfire, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Crossfire (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, alarm +GAME(199?, m4crfirea, m4crfire, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Crossfire (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, alarm + +GAME(199?, m4eureka, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Eureka (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4eurekaa, m4eureka, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Eureka (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4eurekab, m4eureka, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Eureka (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4fright, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v4.1X)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frighta, m4fright, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v4.1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frightb, m4fright, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v4.1i)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frightc, m4fright, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v?.?, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) // bad dump +GAME(199?, m4frightd, m4fright, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v3.3)",GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frighte, m4fright, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v3.0)",GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4frightf, m4fright, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v?.?, set 2)",GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4gamblr, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","The Gambler (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4gamblra, m4gamblr, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","The Gambler (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4gamblrb, m4gamblr, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","The Gambler (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4gtrain, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4gtraina, m4gtrain, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4gtrainb, m4gtrain, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4gtrainc, m4gtrain, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4goldfv, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Gold Fever (Empire) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4haunt, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4haunta, m4haunt, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4hauntb, m4haunt, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4hauntc, m4haunt, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4hauntd, m4haunt, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4hisprt, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4hisprta, m4hisprt, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4hisprtb, m4hisprt, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4hisprtc, m4hisprt, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4hisprtd, m4hisprt, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4hisprte, m4hisprt, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 6)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(1996, m4hotcsh, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(1996, m4hotcsha, m4hotcsh, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(1996, m4hotcshb, m4hotcsh, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(1996, m4hotcshc, m4hotcsh, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4monspn, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Money Spinner (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4monspna, m4monspn, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Money Spinner (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4monspnb, m4monspn, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Money Spinner (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4pbnudg, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Pinball Nudger (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4pbnudga, m4pbnudg, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Pinball Nudger (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4pbnudgb, m4pbnudg, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Pinball Nudger (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4pitfal, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, alarm +GAME(199?, m4pitfala, m4pitfal, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, alarm +GAME(199?, m4pitfalb, m4pitfal, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, alarm +GAME(199?, m4pitfalc, m4pitfal, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, alarm + +GAME(199?, m4ttrail, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Treasure Trail (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4ttraila,m4ttrail, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Treasure Trail (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4ttrailb,m4ttrail, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","Treasure Trail (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bangrs, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bangrsa, m4bangrs, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bangrsb, m4bangrs, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bankrd, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bankrda, m4bankrd, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bankrdb, m4bankrd, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bankrdc, m4bankrd, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bankrdd, m4bankrd, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bigchs, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Big Cheese (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bigchsa, m4bigchs, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Big Cheese (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bigchsb, m4bigchs, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Big Cheese (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4cstrik, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4cstrika, m4cstrik, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4cstrikb, m4cstrik, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4cstrikc, m4cstrik, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4chacec, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Chase The Ace [Cards] (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4chaceca, m4chacec, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Chase The Ace [Cards] (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4chacef, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4chacefa, m4chacef, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4chacefb, m4chacef, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4chacefc, m4chacef, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4crzcap, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4crzcapa, m4crzcap, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4crzcapb, m4crzcap, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4crzcapc, m4crzcap, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4crfire, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Crossfire (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, alarm -GAME(199?, m4crfirea, m4crfire, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Crossfire (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, alarm -GAME(199?, m4eureka, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Eureka (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4eurekaa, m4eureka, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Eureka (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4eurekab, m4eureka, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Eureka (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4fright, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v4.1X)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frighta, m4fright, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v4.1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frightb, m4fright, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v4.1i)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frightc, m4fright, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v?.?, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) // bad dump -GAME(199?, m4frightd, m4fright, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v3.3)",GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frighte, m4fright, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v3.0)",GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frightf, m4fright, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v?.?, set 2)",GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4gamblr, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","The Gambler (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4gamblra, m4gamblr, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","The Gambler (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4gamblrb, m4gamblr, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","The Gambler (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4gtrain, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4gtraina, m4gtrain, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4gtrainb, m4gtrain, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4gtrainc, m4gtrain, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4goldfv, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Gold Fever (Empire) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4haunt, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4haunta, m4haunt, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4hauntb, m4haunt, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4hauntc, m4haunt, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4hauntd, m4haunt, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4hisprt, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4hisprta, m4hisprt, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4hisprtb, m4hisprt, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4hisprtc, m4hisprt, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4hisprtd, m4hisprt, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4hisprte, m4hisprt, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 6)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(1996, m4hotcsh, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(1996, m4hotcsha, m4hotcsh, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(1996, m4hotcshb, m4hotcsh, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(1996, m4hotcshc, m4hotcsh, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4monspn, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Money Spinner (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4monspna, m4monspn, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Money Spinner (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4monspnb, m4monspn, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Money Spinner (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4pbnudg, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Pinball Nudger (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4pbnudga, m4pbnudg, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Pinball Nudger (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4pbnudgb, m4pbnudg, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Pinball Nudger (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4pitfal, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, alarm -GAME(199?, m4pitfala, m4pitfal, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, alarm -GAME(199?, m4pitfalb, m4pitfal, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, alarm -GAME(199?, m4pitfalc, m4pitfal, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, alarm -GAME(199?, m4ttrail, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Treasure Trail (Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4ttraila,m4ttrail, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Treasure Trail (Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4ttrailb,m4ttrail, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","Treasure Trail (Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't seem like the other Empire games (starts with RESETTING JNE, licensed, mislabeled?) //Looks like the only one to have a proper protection routine, too so I'm guessing it's just a game they distributed, rather than made themselves -GAME(199?, m4jne, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Empire","The Jackpot's Not Enough (Empire) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4jne, 0, mod4oki, mpu4, mpu4empire_machines_state, init_m4default, ROT0, "Empire","The Jackpot's Not Enough (Empire) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) diff --git a/src/mame/drivers/mpu4mdm.cpp b/src/mame/drivers/mpu4mdm.cpp index 87ec7c193f3..f62743b2951 100644 --- a/src/mame/drivers/mpu4mdm.cpp +++ b/src/mame/drivers/mpu4mdm.cpp @@ -5,7 +5,18 @@ #include "emu.h" #include "includes/mpu4.h" -INPUT_PORTS_EXTERN( mpu4 ); +namespace { + +class mpu4mdm_machines_state : public mpu4_state +{ +public: + + mpu4mdm_machines_state(const machine_config &mconfig, device_type type, const char *tag) : + mpu4_state(mconfig, type, tag) + { + } +}; + ROM_START( m42punlm ) ROM_REGION( 0x020000, "maincpu", 0 ) @@ -413,52 +424,73 @@ ROM_START( m4ewshft ) ROM_LOAD( "each_way_shifter-snd2.bin", 0x080000, 0x080000, CRC(e3ce5ec5) SHA1(9c7eefa4042b1b1aca3d0fbefcad10db34992c43) ) ROM_END +} // anonymous namespace + #define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) /* MDM most of these boot and act similar to the Empire games (ie bad text, but run OK) */ -GAME(199?, m42punlm, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","2p Unlimited (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4silnud, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm?","Silver Nudger (Mdm?) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) // code is close to 2p Unlimited, same sound rom -GAME(199?, m4nud2p, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm?","2p Nudger (Mdm?) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) // code is close to 2p Unlimited, same sound rom -GAME(199?, m4ctn, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm?","Tuppenny Nudger Classic (Mdm?) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) // code is close to 2p Unlimited, same sound rom -GAME(199?, m4bigapl, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bigapla, m4bigapl, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bigaplb, m4bigapl, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bigaplc, m4bigapl, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bigapld, m4bigapl, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bigaple, m4bigapl, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 6)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4blztrl, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Blazing Trails (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4blztrla, m4blztrl, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Blazing Trails (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bodymt, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Body Match (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, various alarms -GAME(199?, m4coloss, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4colossa, m4coloss, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4colossb, m4coloss, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4colossc, m4coloss, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4colossd, m4coloss, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4colosse, m4coloss, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 6)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4colossf, m4coloss, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 7)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4colossg, m4coloss, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 8)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4firebl, 0, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) // hangs after spin (sound status?) -GAME(199?, m4firebla, m4firebl, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) // hangs after spin (sound status?) -GAME(199?, m4fireblb, m4firebl, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) // hangs after spin (sound status?) -GAME(199?, m4fireblc, m4firebl, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) // hangs after spin (sound status?) -GAME(199?, m4firebld, m4firebl, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) // hangs after spin (sound status?) -GAME(199?, m4mayhem, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Mayhem (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4mayhema, m4mayhem, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Mayhem (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4themob, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","The Mob (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4themoba, m4themob, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","The Mob (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4themobb, m4themob, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","The Mob (Mdm) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4nudbon, 0, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Nudge Bonanza (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4nudbona, m4nudbon, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Nudge Bonanza (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4nudgem, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Nudge Gems (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4smshgb, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4smshgba,m4smshgb, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4smshgbb,m4smshgb, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4smshgbc,m4smshgb, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4snklad, 0, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Snakes & Ladders (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4excam, 0, mod4oki ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Excalibur (Mdm) (MPU4, V1.4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4excamd,m4excam, mod4oki ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Excalibur (Mdm) (MPU4, V1.0D)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4front, 0, mod4oki ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Final Frontier (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4safar, 0, mod4oki ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Safari Club (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4snowbl, 0, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Snowball Bingo (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4ewshft, 0, mod4oki ,mpu4, mpu4_state, init_m4default, ROT0, "Mdm","Each Way Shifter (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m42punlm, 0, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","2p Unlimited (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4silnud, 0, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm?","Silver Nudger (Mdm?) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) // code is close to 2p Unlimited, same sound rom + +GAME(199?, m4nud2p, 0, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm?","2p Nudger (Mdm?) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) // code is close to 2p Unlimited, same sound rom + +GAME(199?, m4ctn, 0, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm?","Tuppenny Nudger Classic (Mdm?) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) // code is close to 2p Unlimited, same sound rom + +GAME(199?, m4bigapl, 0, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bigapla, m4bigapl, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bigaplb, m4bigapl, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bigaplc, m4bigapl, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bigapld, m4bigapl, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bigaple, m4bigapl, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 6)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4blztrl, 0, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Blazing Trails (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4blztrla, m4blztrl, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Blazing Trails (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4bodymt, 0, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Body Match (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) // doesn't boot, various alarms + +GAME(199?, m4coloss, 0, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4colossa, m4coloss, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4colossb, m4coloss, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4colossc, m4coloss, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4colossd, m4coloss, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4colosse, m4coloss, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 6)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4colossf, m4coloss, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 7)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4colossg, m4coloss, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 8)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4firebl, 0, mod2 ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) // hangs after spin (sound status?) +GAME(199?, m4firebla, m4firebl, mod2 ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) // hangs after spin (sound status?) +GAME(199?, m4fireblb, m4firebl, mod2 ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) // hangs after spin (sound status?) +GAME(199?, m4fireblc, m4firebl, mod2 ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) // hangs after spin (sound status?) +GAME(199?, m4firebld, m4firebl, mod2 ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) // hangs after spin (sound status?) + +GAME(199?, m4mayhem, 0, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Mayhem (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4mayhema, m4mayhem, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Mayhem (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4themob, 0, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","The Mob (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4themoba, m4themob, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","The Mob (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4themobb, m4themob, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","The Mob (Mdm) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4nudbon, 0, mod2 ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Nudge Bonanza (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4nudbona, m4nudbon, mod2 ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Nudge Bonanza (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4nudgem, 0, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Nudge Gems (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4smshgb, 0, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4smshgba,m4smshgb, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4smshgbb,m4smshgb, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4smshgbc,m4smshgb, mod4oki, mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4snklad, 0, mod2 ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Snakes & Ladders (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4excam, 0, mod4oki ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Excalibur (Mdm) (MPU4, V1.4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4excamd,m4excam, mod4oki ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Excalibur (Mdm) (MPU4, V1.0D)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4front, 0, mod4oki ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Final Frontier (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4safar, 0, mod4oki ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Safari Club (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4snowbl, 0, mod2 ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Snowball Bingo (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4ewshft, 0, mod4oki ,mpu4, mpu4mdm_machines_state, init_m4default, ROT0, "Mdm","Each Way Shifter (Mdm) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) diff --git a/src/mame/drivers/mpu4misc.cpp b/src/mame/drivers/mpu4misc.cpp index 7a510a6d644..f070853deae 100644 --- a/src/mame/drivers/mpu4misc.cpp +++ b/src/mame/drivers/mpu4misc.cpp @@ -5,13 +5,26 @@ #include "emu.h" #include "includes/mpu4.h" -INPUT_PORTS_EXTERN( mpu4 ); +namespace { + +class mpu4misc_machines_state : public mpu4_state +{ +public: + + mpu4misc_machines_state(const machine_config &mconfig, device_type type, const char *tag) : + mpu4_state(mconfig, type, tag) + { + } +}; + +} // anonymous namespace ROM_START( m4bangin ) ROM_REGION( 0x020000, "maincpu", 0 ) ROM_LOAD( "bang.hex", 0x0000, 0x020000, CRC(e40f21d3) SHA1(62319967882f01bbd4d10bca52daffd2fe3ec03a) ) - ROM_REGION( 0x48, "fakechr", 0 ) + + ROM_REGION( 0x48, "characteriser:fakechr", 0 ) ROM_LOAD( "bang.chr", 0x0000, 0x000048, CRC(aacbab22) SHA1(1f394b8947486f319743c0703884ecd35214c433) ) ROM_REGION( 0x180000, "msm6376", 0 ) @@ -23,7 +36,7 @@ ROM_END ROM_START( m4bangina ) ROM_REGION( 0x020000, "maincpu", 0 ) ROM_LOAD( "bang1-5n.p1", 0x0000, 0x020000, CRC(dabb462a) SHA1(c02fa204bfab07d5edbc784ccaca50f119ce8d5a) ) - ROM_REGION( 0x48, "fakechr", 0 ) + ROM_REGION( 0x48, "characteriser:fakechr", 0 ) ROM_LOAD( "bang.chr", 0x0000, 0x000048, CRC(aacbab22) SHA1(1f394b8947486f319743c0703884ecd35214c433) ) ROM_REGION( 0x180000, "msm6376", 0 ) @@ -35,7 +48,7 @@ ROM_END ROM_START( m4banginb ) ROM_REGION( 0x020000, "maincpu", 0 ) ROM_LOAD( "bang1-5p.p1", 0x0000, 0x020000, CRC(84bb8da8) SHA1(ae601957a3cd0b7e4b176987a5592d0b7c9be19d) ) - ROM_REGION( 0x48, "fakechr", 0 ) + ROM_REGION( 0x48, "characteriser:fakechr", 0 ) ROM_LOAD( "bang.chr", 0x0000, 0x000048, CRC(aacbab22) SHA1(1f394b8947486f319743c0703884ecd35214c433) ) ROM_REGION( 0x180000, "msm6376", 0 ) @@ -153,7 +166,7 @@ ROM_END ROM_LOAD( name, offset, length, hash ) \ M4DCRLS_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4misc_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4dcrls, 0, "70000116.bin", 0x0000, 0x040000, CRC(27e5ad77) SHA1(83cabd8b52efc6c0d5530b55683295208f64abb6), "Qps","Double Crazy Reels (Qps) (MPU4) (set 1)" ) // dcr_std_340.bin @@ -174,6 +187,18 @@ GAME_CUSTOM( 199?, m4dcrls__n, m4dcrls, "dcr_mecca_340_lv.bin", GAME_CUSTOM( 199?, m4dcrls__o, m4dcrls, "dcr_std_340_lv.bin", 0x0000, 0x040000, CRC(d9632301) SHA1(19ac680f00e085d94fc45f765c975f3da1ca1eb3), "Qps","Double Crazy Reels (Qps) (MPU4) (set 16)" ) GAME_CUSTOM( 199?, m4dcrls__p, m4dcrls, "70001115.bin", 0x0000, 0x040000, CRC(26432b07) SHA1(ef7303793252210f3fd07b12f5684b5d2cc828ab), "Qps","Double Crazy Reels (Qps) (MPU4) (set 17)" ) // dcr_data_340_lv.bin GAME_CUSTOM( 199?, m4dcrls__q, m4dcrls, "70001116.bin", 0x0000, 0x040000, CRC(522191e8) SHA1(f80656290295b556d4b67c4458d8f856f8b937fb), "Qps","Double Crazy Reels (Qps) (MPU4) (set 18)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4DCRLS_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + + + GAME_CUSTOM( 199?, m4dcrls__r, m4dcrls, "dcr_data_340.bin", 0x0000, 0x010000, CRC(fc12e68f) SHA1(f07a42323651ef9aefac24c3b9296a98068c2dc2), "Qps","Double Crazy Reels (Qps) (MPU4) (set 19)" ) // too small? @@ -189,7 +214,7 @@ GAME_CUSTOM( 199?, m4dcrls__r, m4dcrls, "dcr_data_340.bin", ROM_LOAD( name, offset, length, hash ) \ M4JUNGJK_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4misc_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) @@ -213,7 +238,7 @@ GAME_CUSTOM( 199?, m4jungjk__e, m4jungjk, "jungle.p1", 0 ROM_LOAD( name, offset, length, hash ) \ M4RHNOTE_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4misc_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4rhnote, 0, "70000120.bin", 0x0000, 0x040000, CRC(d1ce1e1c) SHA1(2fc2b041b4e9fcade4b2ce6a0bc709f4174e2d88), "Qps","Red Hot Notes (Qps) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4rhnote__a, m4rhnote, "70000121.bin", 0x0000, 0x040000, CRC(1e1a26c0) SHA1(8a80a94d280c82887a0f7da607988597df23e1fb), "Qps","Red Hot Notes (Qps) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4rhnote__b, m4rhnote, "70000125.bin", 0x0000, 0x080000, CRC(67a617a2) SHA1(3900c0cc3f8e4d52105096c1e21903cb83b8c1b7), "Qps","Red Hot Notes (Qps) (MPU4) (set 3)" ) @@ -243,8 +268,8 @@ GAME_CUSTOM( 199?, m4rhnote__y, m4rhnote, "rhn_std_110_lv.bin", 0 #define M4RHROCK_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) /* 71000200.hi padded with 0xff as original IntelHex was undersize */ \ - ROM_LOAD( "71000200.hi", 0x0000, 0x80000, CRC(3054ff83) SHA1(241ab9b634c83d5b388eff2d598e7897aa7dd703) ) \ - ROM_LOAD( "71000200.lo", 0x0000, 0x80000, CRC(b426e83f) SHA1(c30b3868f2c6a4f84a678e2c5151861619b27905) ) + ROM_LOAD( "71000200.lo", 0x00000, 0x80000, CRC(b426e83f) SHA1(c30b3868f2c6a4f84a678e2c5151861619b27905) ) \ + ROM_LOAD( "71000200.hi", 0x80000, 0x80000, CRC(3054ff83) SHA1(241ab9b634c83d5b388eff2d598e7897aa7dd703) ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ @@ -253,7 +278,7 @@ GAME_CUSTOM( 199?, m4rhnote__y, m4rhnote, "rhn_std_110_lv.bin", 0 ROM_LOAD( name, offset, length, hash ) \ M4RHROCK_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4misc_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4rhrock, 0, "rhr_v200_1625_da8c_nlv.bin", 0x0000, 0x040000, CRC(dd67f5b3) SHA1(19b7b57ef20a2ad7997cf748396b246fda87db70), "Qps","Red Hot Rocks (Qps) (MPU4) (set 1)" ) @@ -263,8 +288,8 @@ GAME_CUSTOM( 199?, m4rhrock__a, m4rhrock, "rhr_v300_1216_ce52_nlv.bin", 0x0 // 71000180.lo.hex and 71000180.hi.hex converted #define M4RHWHL_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ - ROM_LOAD( "redhotwheelssnd.p1", 0x0000, 0x080000, CRC(7b274a71) SHA1(38ba69084819133253b41f2eb1d784104e5f10f7) ) \ - ROM_LOAD( "redhotwheelssnd.p2", 0x0000, 0x080000, CRC(e36e19e2) SHA1(204554622c9020479b095acd4fbab1f21f829137) ) + ROM_LOAD( "redhotwheelssnd.p1", 0x000000, 0x080000, CRC(7b274a71) SHA1(38ba69084819133253b41f2eb1d784104e5f10f7) ) \ + ROM_LOAD( "redhotwheelssnd.p2", 0x080000, 0x080000, CRC(e36e19e2) SHA1(204554622c9020479b095acd4fbab1f21f829137) ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ @@ -273,7 +298,7 @@ GAME_CUSTOM( 199?, m4rhrock__a, m4rhrock, "rhr_v300_1216_ce52_nlv.bin", 0x0 ROM_LOAD( name, offset, length, hash ) \ M4RHWHL_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4misc_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4rhwhl, 0, "70001184.bin", 0x0000, 0x080000, CRC(8792d95b) SHA1(24b4f78728db7ee95d1fcd3ba38b49a20baaae6b), "Qps","Red Hot Wheels (Qps) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4rhwhl__a, m4rhwhl, "rhw_v100_1333_6d40_lv.bin", 0x0000, 0x080000, CRC(9ef7b655) SHA1(605822eaee44bebf554218ef7346192a6a84077e), "Qps","Red Hot Wheels (Qps) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4rhwhl__b, m4rhwhl, "rhw_v310_0925_0773_lv_p.bin", 0x0000, 0x080000, CRC(11880908) SHA1(0165bacf73dd54959975b3f186e256fd8d690d34), "Qps","Red Hot Wheels (Qps) (MPU4) (set 3)" ) @@ -291,7 +316,7 @@ GAME_CUSTOM( 199?, m4rhwhl__c, m4rhwhl, "rhw_v310_0931_fa02_lv.bin", 0x00 ROM_LOAD( name, offset, length, hash ) \ M4RDEAL_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4misc_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4rdeal, 0, "70000703.bin", 0x0000, 0x080000, CRC(11e51311) SHA1(71a4327fa01cd7e899d423adc34c732ed56118d8), "Qps","Reel Deal (Qps) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4rdeal__a, m4rdeal, "70000704.bin", 0x0000, 0x080000, CRC(b161c08b) SHA1(bb914eb900aff0f6eeec33ff8a595a288306e073), "Qps","Reel Deal (Qps) (MPU4) (set 2)" ) @@ -318,7 +343,7 @@ GAME_CUSTOM( 199?, m4rdeal__i, m4rdeal, "70001745.bin", 0x0000, 0x080000, CR ROM_LOAD( name, offset, length, hash ) \ M4SHOKNR_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4misc_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4shoknr, 0, "snr_v300_1218_3019_lv.bin", 0x0000, 0x040000, CRC(bec80497) SHA1(08de5e29a063b01fb904a156170a3063633115ab), "Qps","Shock 'n' Roll (Qps) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4shoknr__a, m4shoknr, "snr_v300_1221_c8ff_nlv.bin", 0x0000, 0x040000, CRC(d191b361) SHA1(4146e509e77878a51e32de877768504b3c85e6f8), "Qps","Shock 'n' Roll (Qps) (MPU4) (set 2)" ) @@ -338,7 +363,7 @@ GAME_CUSTOM( 199?, m4shoknr__c, m4shoknr, "snr_v200_1655_5a69_nlv.bin", 0 ROM_LOAD( name, offset, length, hash ) \ M4TORNAD_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4misc_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4tornad, 0, "torn_v110_1146_979d_lv.bin", 0x0000, 0x040000, CRC(3160bddd) SHA1(4f36b081c8f6859a3fe55e1f177a0406c2480987), "Qps","Tornado (Qps) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4tornad__a, m4tornad, "torn_v110_1153_955f_nlv.bin", 0x0000, 0x040000, CRC(c437040d) SHA1(50c5ba655989b7f6a2ee61af0ad007ce825f4364), "Qps","Tornado (Qps) (MPU4) (set 2)" ) @@ -362,17 +387,18 @@ GAME_CUSTOM( 199?, m4tornad__g, m4tornad, "tornsp_v200_1626_ec93_lv.bin", ROM_LOAD( name, offset, length, hash ) \ M4SHKWAV_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4misc_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4shkwav, 0, "swave_v210_1135_08dd_lv.bin", 0x0000, 0x040000, CRC(ca9d40a3) SHA1(65c9e4aa022eb6fe70d619f67638c37ad578ddbf), "Qps","Shockwave (Qps) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4shkwav__a, m4shkwav, "swave_v210_11376_0bb3_nlv.bin", 0x0000, 0x040000, CRC(3fcaf973) SHA1(28258c8c60e6b542e1789cd8a4cfd530d1ed6084), "Qps","Shockwave (Qps) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4shkwav__b, m4shkwav, "swsplv.bin", 0x0000, 0x040000, CRC(1e33e93f) SHA1(3e87f8ed35da776e1968c9574c140cc3984ea8de), "Qps","Shockwave (Qps) (MPU4) (set 3)" ) //This rom is possibly bad, data content isn't multiple of 0x800, padding with low bits rather than high ROM_START( m4shkwav__c ) - ROM_REGION( 0x080000, "maincpu", 0 ) - ROM_LOAD( "sho1_0lv.bin", 0x0000, 0x080000, BAD_DUMP CRC(a76d8544) SHA1(8277a2ce311840b8405a087d3dc0bbf97054ad87) ) + ROM_REGION( 0x040000, "maincpu", 0 ) + ROM_LOAD( "sho1_0lv.bin", 0x0000, 0x040000, BAD_DUMP CRC(a76d8544) SHA1(8277a2ce311840b8405a087d3dc0bbf97054ad87) ) + ROM_IGNORE(0x40000) M4SHKWAV_EXTRA_ROMS ROM_END -GAME(199?, m4shkwav__c, m4shkwav, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, "Qps", "Shockwave (Qps) (MPU4) (set 4)", GAME_FLAGS ) +GAME(199?, m4shkwav__c, m4shkwav, mod4oki, mpu4, mpu4misc_machines_state, init_m4default_big, ROT0, "Qps", "Shockwave (Qps) (MPU4) (set 4)", GAME_FLAGS ) GAME_CUSTOM( 199?, m4shkwav__d, m4shkwav, "swave_v300_1552_13ed_nlv.bin", 0x0000, 0x040000, CRC(b0e03f04) SHA1(fdd113af30fd9e87b171ecdf3be7e720366476b3), "Qps","Shockwave (Qps) (MPU4) (set 5)" ) GAME_CUSTOM( 199?, m4shkwav__e, m4shkwav, "swave_v300_1555_119d_lv.bin", 0x0000, 0x040000, CRC(45b786d4) SHA1(24fd4fdea684103334385ca329f384796b496e2c), "Qps","Shockwave (Qps) (MPU4) (set 6)" ) GAME_CUSTOM( 199?, m4shkwav__f, m4shkwav, "swsp_v300_1602_e1b2_nlv.bin", 0x0000, 0x040000, CRC(4ed74015) SHA1(0ab2167ba0ce6f1a1317c2087091187b9fa94c27), "Qps","Shockwave (Qps) (MPU4) (set 7)" ) @@ -391,7 +417,7 @@ GAME_CUSTOM( 199?, m4shkwav__g, m4shkwav, "swsp_v300_1606_ded8_lv.bin", ROM_LOAD( name, offset, length, hash ) \ M4CLAB_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4misc_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4clab, 0, "70000019.bin", 0x0000, 0x040000, CRC(23a12863) SHA1(4047cb8cbc03f96f2b8681b6276e100e8e9194a5), "Qps","Cash Lab (Qps) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4clab__a, m4clab, "70000020.bin", 0x0000, 0x040000, CRC(88af7368) SHA1(14dea4267a4365286eea1e02b9b44d4053618cbe), "Qps","Cash Lab (Qps) (MPU4) (set 2)" ) @@ -414,7 +440,7 @@ GAME_CUSTOM( 199?, m4clab__j, m4clab, "clabrom", 0x0 ROM_LOAD( name, offset, length, hash ) \ M4SDQUID_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4misc_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4sdquid, 0, "70000352.bin", 0x0000, 0x040000, CRC(303d6177) SHA1(aadff8a81244bfd62d1cc088caf01496e1ff61db), "Qps","Sundance Quid (Qps) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4sdquid__a, m4sdquid, "70000353.bin", 0x0000, 0x040000, CRC(6e3a9dfc) SHA1(1d5d04140811e17267102c0618ffdaf70f71f717), "Qps","Sundance Quid (Qps) (MPU4) (set 2)" ) @@ -441,7 +467,7 @@ GAME_CUSTOM( 199?, m4sdquid__k, m4sdquid, "70001461.bin", 0x0000, 0x080000, ROM_LOAD( name, offset, length, hash ) \ M4LOOPLT_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4misc_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4looplt, 0, "70000500.bin", 0x0000, 0x080000, CRC(040699a5) SHA1(e1ebc23684c5bc1faaac7409d2179488c3022872), "Qps","Loop The Loot (Qps) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4looplt__a, m4looplt, "70000500a.bin", 0x0000, 0x080000, CRC(0668f52d) SHA1(6560309facf0022e3c14421b848f212b18be7550), "Qps","Loop The Loot (Qps) (MPU4) (set 2)" ) @@ -462,16 +488,20 @@ GAME_CUSTOM( 199?, m4looplt__m, m4looplt, "70001505.bin", 0x0000, 0x080 /* Global */ // boot to "Percent Change" then "*initializing*" -GAME(199?, m4bangin, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Global","Bangin' Away (Global) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4bangina, m4bangin, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Global","Bangin' Away (Global) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4banginb, m4bangin, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Global","Bangin' Away (Global) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4wwc, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Global","Wacky Weekend Club (Global) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4wwca, m4wwc, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Global","Wacky Weekend Club (Global) (MPU4) (set 2)" , GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4wwcb, m4wwc, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Global","Wacky Weekend Club (Global) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4screw, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.8)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4screwp, m4screw, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.8) (Protocol)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4screwa, m4screw, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.7)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4screwb, m4screw, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.5)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4vfm, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Global","Value For Money (Global) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4jiggin, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Global","Jiggin' In The Riggin' (Global) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4jiggina, m4jiggin, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Global","Jiggin' In The Riggin' (Global) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bangin, 0, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, "Global","Bangin' Away (Global) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4bangina, m4bangin, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, "Global","Bangin' Away (Global) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4banginb, m4bangin, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, "Global","Bangin' Away (Global) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4wwc, 0, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, "Global","Wacky Weekend Club (Global) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4wwca, m4wwc, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, "Global","Wacky Weekend Club (Global) (MPU4) (set 2)" , GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4wwcb, m4wwc, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, "Global","Wacky Weekend Club (Global) (MPU4) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4screw, 0, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.8)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4screwp, m4screw, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.8) (Protocol)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4screwa, m4screw, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.7)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4screwb, m4screw, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.5)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4vfm, 0, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, "Global","Value For Money (Global) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4jiggin, 0, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, "Global","Jiggin' In The Riggin' (Global) (MPU4) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4jiggina, m4jiggin, mod4oki, mpu4, mpu4misc_machines_state, init_m4default, ROT0, "Global","Jiggin' In The Riggin' (Global) (MPU4) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) diff --git a/src/mame/drivers/mpu4mod2sw.cpp b/src/mame/drivers/mpu4mod2sw.cpp index 27a83802f36..1a28826ff68 100644 --- a/src/mame/drivers/mpu4mod2sw.cpp +++ b/src/mame/drivers/mpu4mod2sw.cpp @@ -17,36 +17,36 @@ #include "emu.h" #include "includes/mpu4.h" +namespace { + +class mpu4mod2_machines_state : public mpu4_state +{ +public: + + mpu4mod2_machines_state(const machine_config &mconfig, device_type type, const char *tag) : + mpu4_state(mconfig, type, tag) + { + } + + void init_connect4(); + void init_m4actpak(); + void init_m4alladv(); + void init_m4alpha(); + void init_m4actclb(); + +}; + #include "m4actclb.lh" #include "m4actpak.lh" #include "m4alladv.lh" #include "m4alpha.lh" #include "connect4.lh" -INPUT_PORTS_EXTERN( mpu4 ); -INPUT_PORTS_EXTERN( mpu4jackpot8tkn ); +} // anonymous namespace -void mpu4_state::init_m4_showstring_mod2() -{ - init_m4default(); - // many original barcrest / bwb sets have identification info around here - // this helps with sorting - uint8_t *src = memregion("maincpu")->base(); - printf("\ncopyright string:\n"); - for (int i = 0xffe0; i < 0xfff0; i++) - { - printf("%c", src[i]); - } - printf("\n\nidentification string:\n"); - for (int i = 0xff28; i < 0xff30; i++) - { - printf("%c", src[i]); - } -} - -void mpu4_state::init_connect4() +void mpu4mod2_machines_state::init_connect4() { m_reels = 0; //reel-free game m_led_lamp = 1; @@ -289,24 +289,19 @@ ROM_START( m4stakeu ) ROM_LOAD( "su4_4.p1", 0xc000, 0x004000, CRC(e534edba) SHA1(0295013e3e9271f7e5023b8de670a4903578bf05) ) ROM_LOAD( "su4_4.p2", 0x8000, 0x004000, CRC(8c2e0872) SHA1(9b0f1195d740e51085007417041428b449b3ee51) ) ROM_LOAD( "su4_4.p3", 0x6000, 0x002000, CRC(0c25955b) SHA1(71f0ebbf088abc3ad860f9a1c7a830348a979289) ) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "m400.chr", 0x0000, 0x000048, CRC(8f00f720) SHA1(ea59fa2a3b016a7ae83be3caf863de87ce7aeffa) ) ROM_END ROM_START( m4stakeua ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "stakeup.hex", 0x6000, 0x00a000, CRC(a7ac8f19) SHA1(ec87512e16ff0252012067ad655c3fcee1d2e908) ) // needs to be split - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "m400.chr", 0x0000, 0x000048, CRC(8f00f720) SHA1(ea59fa2a3b016a7ae83be3caf863de87ce7aeffa) ) ROM_END -void mpu4_state::init_m4actpak() +void mpu4mod2_machines_state::init_m4actpak() { //Derived from Action_Pack_(Barcrest)_[C02_800_4jp].gam init_m4_hopper_tubes(); init_m4default_reels(); + init_m4default_banks(); //PCKEY =0 //STKEY =0 //JPKEY =0 @@ -345,7 +340,7 @@ ROM_START( m4actpaka ) ROM_LOAD( "action.hex", 0x0000, 0x010000, CRC(c5808b5d) SHA1(577950166c91e7f1ca390ebcf34be2da945c0a5f) ) ROM_END -void mpu4_state::init_m4alladv() +void mpu4mod2_machines_state::init_m4alladv() { //Derived from All_Cash_Advance_(Barcrest)_[C01_800_4jp].gam init_m4default(); @@ -432,8 +427,6 @@ ROM_END ROM_START( m4topgr ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "topgear.hex", 0x6000, 0x00a000, CRC(539cc3d7) SHA1(7d5c9eccd2d929189e8d82783fc630b2f3cacd24) ) // needs to be split - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "topgear.chr", 0x0000, 0x000048, CRC(88578212) SHA1(c6c451b835c465e13de22bbe0dd472dbd2f8f504) ) ROM_END ROM_START( m4bj ) @@ -502,19 +495,14 @@ ROM_START( m4cashcod ) ROM_LOAD( "cash connect 70.bin", 0x0000, 0x010000, CRC(8b4f8056) SHA1(a9e7927ac9aa2ee1dccf207f4b249ae90c4c713d) ) ROM_END - ROM_START( m4cashmx ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cash_matrix_20p.bin", 0x0000, 0x010000, CRC(3f2ebfeb) SHA1(1dbabe81204f4b149c125aca3413d8e521a690ca) ) - ROM_REGION( 0x10000, "fakechr", 0 ) - ROM_LOAD( "cm.chr", 0x0000, 0x000048, CRC(3de2e6a6) SHA1(04e86e90561783f93d5e9d7a8b7f6dd3ea4f78f6) ) ROM_END ROM_START( m4cashmxa ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cashmat1.hex", 0x0000, 0x010000, CRC(36f1a4bb) SHA1(7eefcbb1be539fcc302d226fa567e8691e85c360) ) - ROM_REGION( 0x10000, "fakechr", 0 ) - ROM_LOAD( "cm.chr", 0x0000, 0x000048, CRC(3de2e6a6) SHA1(04e86e90561783f93d5e9d7a8b7f6dd3ea4f78f6) ) ROM_END ROM_START( m4cashzn ) @@ -527,6 +515,12 @@ ROM_START( m4cashzna ) ROM_LOAD( "caz_1_5.p1", 0x0000, 0x010000, CRC(c0d80d62) SHA1(e062be12159a67b5da883345565f3a52a1dd2ebe) ) ROM_END +ROM_START( m4czne ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "czone 6.bin", 0x0000, 0x010000, CRC(e5b2b64e) SHA1(b73a2aed7b04184bc7c5c3d0a11d44e624a47428) ) +ROM_END + + ROM_START( m4copcsh ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "copcash2.bin", 0x0000, 0x010000, CRC(7ba83a9f) SHA1(ce294b7978b4edc64ee35795f017c2e066d1cb61) ) @@ -540,57 +534,41 @@ ROM_END ROM_START( m4eighth ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "wonder.hex", 0x0000, 0x010000, CRC(6fcaab11) SHA1(a462d4c50000e62af4c52980338cee073e4175a9) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "wonder.chr", 0x0000, 0x000048, CRC(df5dd758) SHA1(b8ae33480a13d621cf104da770e419b6e485bf33) ) ROM_END ROM_START( m4eightha ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ewc02__0.3", 0x0000, 0x010000, CRC(3ea4c626) SHA1(c10b3ba1f806f9d685b9de25fab3a15cbb8e94c3) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "wonder.chr", 0x0000, 0x000048, CRC(df5dd758) SHA1(b8ae33480a13d621cf104da770e419b6e485bf33) ) ROM_END ROM_START( m4eighthb ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ewc05__0.3", 0x0000, 0x010000, CRC(691d2694) SHA1(08deeb25a23a65059be877d11c570db2db66564c) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "wonder.chr", 0x0000, 0x000048, CRC(df5dd758) SHA1(b8ae33480a13d621cf104da770e419b6e485bf33) ) ROM_END ROM_START( m4eighthc ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ewc10__0.3", 0x0000, 0x010000, CRC(7a3b03d5) SHA1(13fb31ffb17edb0502ec47488d7f6b169834b0e4) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "wonder.chr", 0x0000, 0x000048, CRC(df5dd758) SHA1(b8ae33480a13d621cf104da770e419b6e485bf33) ) ROM_END ROM_START( m4eighthd ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ewc10d_0.3", 0x0000, 0x010000, BAD_DUMP CRC(9131f8d4) SHA1(404ab0e359b81a26fcddaa9773ed3234dae0a754) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "wonder.chr", 0x0000, 0x000048, CRC(df5dd758) SHA1(b8ae33480a13d621cf104da770e419b6e485bf33) ) ROM_END ROM_START( m4eighthe ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ewc20__0.3", 0x0000, 0x010000, CRC(1b6babd3) SHA1(7b919f48a1a0a1a5ecc930a59fd27b2f9fe7509b) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "wonder.chr", 0x0000, 0x000048, CRC(df5dd758) SHA1(b8ae33480a13d621cf104da770e419b6e485bf33) ) ROM_END ROM_START( m4eighthf ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ewc20c_0.3", 0x0000, 0x010000, CRC(9f6f8836) SHA1(e519f3c42ef7f157c88e68a706a96e42a8cfba4d) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "wonder.chr", 0x0000, 0x000048, CRC(df5dd758) SHA1(b8ae33480a13d621cf104da770e419b6e485bf33) ) ROM_END ROM_START( m4eighthg ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ewc20d_0.3", 0x0000, 0x010000, CRC(dd26057e) SHA1(dfada02b18f748620966b351b2fe5e03af2b9c7e) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "wonder.chr", 0x0000, 0x000048, CRC(df5dd758) SHA1(b8ae33480a13d621cf104da770e419b6e485bf33) ) ROM_END @@ -623,25 +601,25 @@ ROM_START( m4grandsa ) ROM_LOAD( "gd11p2.bin", 0x6000, 0x002000, CRC(3fe26112) SHA1(bfc1c83fc6f341c6f4be937496f9bd0d69e49485) ) ROM_END - +// 00 BC B8 FC BC DC FC FC FC ROM_START( m4intcep ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ints.p1", 0x0000, 0x010000, CRC(6c6b61ca) SHA1(521cf68b9086baffe739d2b12dd28a13afb84b80) ) - ROM_REGION( 0x48, "fakechr", 0 ) + ROM_REGION( 0x48, "characteriser:fakechr", 0 ) ROM_LOAD( "int.chr", 0x0000, 0x000048, CRC(5915f545) SHA1(f8490a74aefe2a27d8e59b13dbd5fa78b8ab2166) ) ROM_END ROM_START( m4intcepa ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "intx.p1", 0x0000, 0x010000, CRC(6e435db6) SHA1(17114fe54c74a140e116bec5a027219f7f5a70d6) ) - ROM_REGION( 0x48, "fakechr", 0 ) + ROM_REGION( 0x48, "characteriser:fakechr", 0 ) ROM_LOAD( "int.chr", 0x0000, 0x000048, CRC(5915f545) SHA1(f8490a74aefe2a27d8e59b13dbd5fa78b8ab2166) ) ROM_END ROM_START( m4intcepb ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "int11.bin", 0x0000, 0x010000, CRC(0beb156f) SHA1(9ac318a524c549df907a995e896cd90434634e72) ) - ROM_REGION( 0x48, "fakechr", 0 ) + ROM_REGION( 0x48, "characteriser:fakechr", 0 ) ROM_LOAD( "int.chr", 0x0000, 0x000048, CRC(5915f545) SHA1(f8490a74aefe2a27d8e59b13dbd5fa78b8ab2166) ) ROM_END @@ -680,24 +658,18 @@ ROM_END ROM_START( m4nifty ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "nifty.hex", 0x0000, 0x010000, CRC(84931755) SHA1(b4e568e1e4c237ea3f7ca6156b8a89cb40faf425) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "nifty.chr", 0x0000, 0x000048, CRC(1ce9977d) SHA1(06616842d4062e3285044a9924e35faee3f8f3f5) ) ROM_END ROM_START( m4niftya ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "nf2_1.p2", 0x6000, 0x002000, CRC(fde4010e) SHA1(440c888e80bd65f4d8c4081be66ad79db8e19618) ) ROM_LOAD( "nf2_1c.p1", 0x8000, 0x008000, CRC(52e954a5) SHA1(c402eaaf3f482d996f9a1312f97f057627734416) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "nifty.chr", 0x0000, 0x000048, CRC(1ce9977d) SHA1(06616842d4062e3285044a9924e35faee3f8f3f5) ) ROM_END ROM_START( m4niftyb ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "nf2_1.p2", 0x6000, 0x002000, CRC(fde4010e) SHA1(440c888e80bd65f4d8c4081be66ad79db8e19618) ) ROM_LOAD( "nf2_1l.p1", 0x8000, 0x008000, CRC(bb297210) SHA1(cb570a015699d396dacb9fb09397ef157ceb8c97) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "nifty.chr", 0x0000, 0x000048, CRC(1ce9977d) SHA1(06616842d4062e3285044a9924e35faee3f8f3f5) ) ROM_END ROM_START( m4nudqst ) @@ -770,8 +742,6 @@ ROM_END ROM_START( m4sunset ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sunsetboulivard2p.bin", 0x0000, 0x010000, CRC(c83a0b84) SHA1(a345d1e4914ad08d40980022f63e10879e2ef32f) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sb5 ) @@ -779,123 +749,94 @@ ROM_START( m4sb5 ) ROM_LOAD( "sb5pcz", 0x0000, 0x010000, CRC(331bfd68) SHA1(7436994de8617c31cb044540da7a2867daa5f829) ) ROM_END +ROM_START( m4sunsetc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "sunboul-5p3.bin", 0x0000, 0x010000, CRC(5ccbf062) SHA1(cf587018511d1a06624d271f2fde4e40f16ec87c) ) +ROM_END + ROM_START( m4sunsetd ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sunsetb.hex", 0x0000, 0x010000, CRC(53e848a9) SHA1(62cd50003a8bd580b68128324ac98974470ce803) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunsete ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbc02__1.1", 0x0000, 0x010000, CRC(0c4cad79) SHA1(0595d149958ccc4e5bfeb67fb021c314232a7ca0) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunsetf ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbc05__1.0", 0x0000, 0x010000, CRC(e70acd03) SHA1(96339f9e2011bd1f3ac1eab42ae55466526b48f8) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunsetg ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbc10__1.0", 0x0000, 0x010000, CRC(c93b9185) SHA1(209307c7a2dec14e3d65d45c3eb4f1faa1881671) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunseth ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbc10d_1.0", 0x0000, 0x010000, CRC(ab1e65c5) SHA1(6a8e497765dc4f4a41e0128856447fcdf5319975) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunseti ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbc20__1.0", 0x0000, 0x010000, CRC(4d1651c5) SHA1(f8e2fd4e8afc068f23ef32f81b7eb20e8f33d787) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunsetj ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbc20d_1.0", 0x0000, 0x010000, CRC(9c1dea06) SHA1(0433d892143e5d74c29b99917571af4675d0d9c4) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunsetk ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbo02__1.1", 0x0000, 0x010000, CRC(3a2541ef) SHA1(fd5e84bed8fdb3e3cedf8bc5c8d8070c781d5b44) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunsetl ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbo05__1.0", 0x0000, 0x010000, CRC(87e2ff53) SHA1(02b4f87aaf5786a3f0f0eb4bac4bcc756960885c) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunsetm ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbo10__1.0", 0x0000, 0x010000, CRC(5bb9c3ff) SHA1(ea2d30713e351de72f76bb642d5a778899c56634) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunsetn ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbo10d_1.0", 0x0000, 0x010000, CRC(50b5dd43) SHA1(1a8e2725b688c989695bdb71fa8ee3c7a5fa035b) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunseto ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbo10dy1.0", 0x0000, 0x010000, CRC(8e7508c0) SHA1(e3000e7f8dc806392faab235b50f3584c8ce61eb) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunsetp ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbo20__1.0", 0x0000, 0x010000, CRC(6a652ff2) SHA1(b51d6e59948cf8b1f5ca926d0930b3f8c18cec18) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunsetq ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbo20c_1.0", 0x0000, 0x010000, CRC(d6ba347a) SHA1(0ac93bad181b462036c5c28ea871716c1d393b49) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunsetr ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbo20d_1.0", 0x0000, 0x010000, CRC(ffe841a8) SHA1(50ab96c9c28d11f17316bd386d7a83cd5198a583) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunsets ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbo20dy1.0", 0x0000, 0x010000, CRC(7d0023ef) SHA1(efb0202082acdbb37d5ed8af5222cfac3b4bbaca) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4sunsett ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sbo20y_1.0", 0x0000, 0x010000, CRC(9b25ba02) SHA1(0b6b7c53c136724d74837dd5bcdf544e4a2696b0) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "sunsetb.chr", 0x0000, 0x000048, CRC(f166963b) SHA1(5cc6ada61036d8dbeca470e9548f9f5d2bd545a8) ) ROM_END ROM_START( m4supslt ) @@ -949,9 +890,6 @@ ROM_END ROM_START( m4tribnk ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "triplebank_1.bin", 0x0000, 0x010000, CRC(efeb5810) SHA1(e882f3ce028dcd4705365e0c17dab8d5839e4901) ) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "trip.chr", 0x0000, 0x000048, CRC(7d9348ea) SHA1(c0b32a5c964e5d0a9e715a282c92f2ca61547c25) ) ROM_END ROM_START( m4tupen ) @@ -965,7 +903,7 @@ ROM_START( m421 ) ROM_LOAD( "twentyone.bin", 0x0000, 0x010000, CRC(243f3bc1) SHA1(141df3dcdd8d70ad26a76ec071e0cd927357ee6e) ) ROM_END -void mpu4_state::init_m4alpha() +void mpu4mod2_machines_state::init_m4alpha() { //Derived from Alphabet_(Barcrest)_[C03_1024_4jp].gam init_m4default(); @@ -1001,9 +939,6 @@ void mpu4_state::init_m4alpha() ROM_START( m4alpha ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "alphabet.hex", 0x6000, 0x00a000, CRC(2bf0d7fd) SHA1(143543f45bfae379233a8c21959618e5ad8034e4) ) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "m435.chr", 0x0000, 0x000048, CRC(1e8df0e3) SHA1(02ecde48b9ce49884062eeea4a399c8d52bbe323) ) ROM_END ROM_START( m4bnknot ) @@ -1242,7 +1177,7 @@ ROM_START( m4actbnkb ) ROM_LOAD( "abank.hex", 0x6000, 0x00a000, CRC(2cd1a269) SHA1(5ce22b2736844a2de6cda04abdd0fe435391e033) ) // split me ROM_END -void mpu4_state::init_m4actclb() +void mpu4mod2_machines_state::init_m4actclb() { //Derived from Action_Club_(Barcrest)_[C03_800_150jp]_[c].gam init_m4default(); @@ -1302,21 +1237,20 @@ ROM_START( m4bluemnb ) ROM_LOAD( "blm20p-6", 0x0000, 0x010000, CRC(4b9f83cf) SHA1(7014da9f7fc20443251dd5b2817f06a4ef862afd) ) // contains inaccessible data before 0x1000 ROM_END - ROM_START( m4take2 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ttos.p1", 0x0000, 0x010000, CRC(d7943729) SHA1(76fcaf7dbfa7863a4dfe2804e2d472dcfec13124) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "taketwo.chr", 0x0000, 0x000048, CRC(61c0b52b) SHA1(9defb30a186dc237625fc2476dd8650e7fe289af) ) ROM_END ROM_START( m4take2a ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "take220p", 0x0000, 0x010000, CRC(b536311a) SHA1(234945d2419c8391307db5b5d01d228894441faf) ) // contains inaccessible data before 0x1000 - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "taketwo.chr", 0x0000, 0x000048, CRC(61c0b52b) SHA1(9defb30a186dc237625fc2476dd8650e7fe289af) ) ROM_END +ROM_START( m4t266 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "t2 66.bin", 0x0000, 0x010000, CRC(5c99c6bb) SHA1(7b74e0e5207c00b31cb1859e0cc458c0412a1a07) ) +ROM_END ROM_START( m4pont ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -1345,20 +1279,18 @@ ROM_START( m4loadmnb ) ROM_LOAD( "la11l.bin", 0x0000, 0x010000, CRC(2d1f8e7a) SHA1(9e5a8b7827925f757784ea4726e3c4897056cdf6) ) ROM_END + ROM_START( m4celclb ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cels.p1", 0x00000, 0x10000, CRC(19d2162f) SHA1(24fe435809352725e7614c32e2184142f355298e)) - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "cels.chr", 0x0000, 0x000048, CRC(fe250f3a) SHA1(8b1d569a667921ba1768e7eebba81182466cfabf) ) ROM_END -ROM_START( m4centpt ) +ROM_START( m4swpnotb ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "centrepoint v1.6.bin", 0x0000, 0x010000, CRC(adcf0330) SHA1(b68b8c808b2dc1965d37d912adec714547466522) ) ROM_END -ROM_START( m4centpta ) +ROM_START( m4centpt ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "centrepoint v1.3.bin", 0x0000, 0x010000, CRC(24d117a5) SHA1(bd48a1687d11e32ea8cda19318e8936d1ffd9fd7) ) ROM_END @@ -1369,26 +1301,31 @@ ROM_START( m4clbcls ) ROM_END -ROM_START( m4c999 ) +ROM_START( m4c999c ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "c999 2p unprotected.bin", 0x0000, 0x010000, CRC(7637e074) SHA1(3b9e724cc1e657ab2a6cf6fe237f0ca43990aa53) ) ROM_END -ROM_START( m4c999a ) +ROM_START( m4c999d ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "c99910p6", 0x0000, 0x010000, CRC(e3f6710a) SHA1(d527541ec6e799c8bc12e1e31519415eaf11fbe5) ) ROM_END -ROM_START( m4c999b ) +ROM_START( m4c999a ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "c99920p2", 0x0000, 0x010000, CRC(94f8f03e) SHA1(a99c3c60f2e9c15d5dd6265cfa73fad1058ce7fa) ) ROM_END -ROM_START( m4c999c ) +ROM_START( m4c999b ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "c99920p6", 0x0000, 0x010000, CRC(f88f3bfc) SHA1(8dd1bd13645b8c3e38d45a8a6941e56d6268c21d) ) ROM_END +ROM_START( m4c999 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "clnv.p1", 0x0000, 0x010000, CRC(486097d8) SHA1(33e9eab0fb1c750160a8cb2b75eca73145d6956e) ) +ROM_END + ROM_START( m4ambass ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -1400,13 +1337,9 @@ ROM_START( m4atlan ) ROM_LOAD( "dat14.bin", 0x0000, 0x010000, CRC(d91fb9b2) SHA1(a06a868a17f84e2a012b0fe28025458e4f899c1d) ) // == m4tridic ROM_END - ROM_START( m4tridic ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "trp.bin", 0x0000, 0x010000, CRC(d91fb9b2) SHA1(a06a868a17f84e2a012b0fe28025458e4f899c1d) ) // == m4atlan - - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "tdice.chr", 0x0000, 0x000048, CRC(6d28754a) SHA1(beb7724e9f621d315b2f16abfd3bbc6a99077a05) ) ROM_END @@ -1530,18 +1463,15 @@ ROM_START( m4suptrn ) ROM_LOAD( "dsu21", 0x0000, 0x010000, CRC(b09f63e3) SHA1(8dba0731e1ed5e7056ec6ad1fa269b5b77629745) ) ROM_END + ROM_START( m4bjac ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "bjak1.8", 0x0000, 0x010000, CRC(e6a3c263) SHA1(fb28657cb43a0f24354382518d5d5be9cfdfa1d1) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "bj.chr", 0x0000, 0x000048, CRC(b7851f82) SHA1(a6b2ae283b8e251169508ab6a2cba2fb70f706bf) ) ROM_END ROM_START( m4bjaca ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "c2js.p1", 0x0000, 0x010000, CRC(3e6dd1f3) SHA1(dbd87368124244931b8868eb740b02a1775ed734) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "bj.chr", 0x0000, 0x000048, CRC(b7851f82) SHA1(a6b2ae283b8e251169508ab6a2cba2fb70f706bf) ) ROM_END @@ -1588,22 +1518,16 @@ ROM_END ROM_START( m4frtfl ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "frtfull", 0x0000, 0x010000, CRC(4f5389e2) SHA1(bb6d43d428c1e8db07fe58d1b83c05ce5fcdcc7d) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "fruitfull.chr", 0x0000, 0x000048, CRC(b6057802) SHA1(ef6dbb45f5594e759f6d1363f36ba05097100be4) ) ROM_END ROM_START( m4frtfla ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "fruitfull.hex", 0x0000, 0x010000, CRC(c264d497) SHA1(93843efbf1b4207a4722f49dd5dddf2c52bb1b8f) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "fruitfull.chr", 0x0000, 0x000048, CRC(b6057802) SHA1(ef6dbb45f5594e759f6d1363f36ba05097100be4) ) ROM_END ROM_START( m4frtflc ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ffcs.p1", 0x0000, 0x010000, CRC(db917142) SHA1(0f32f0c1ed6733b4557fd19f24f2b1dda26ccc44) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "fruitfull.chr", 0x0000, 0x000048, CRC(b6057802) SHA1(ef6dbb45f5594e759f6d1363f36ba05097100be4) ) ROM_END @@ -1625,51 +1549,36 @@ ROM_END ROM_START( m4jpjmp ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "vjcs.p1", 0x0000, 0x010000, CRC(90280752) SHA1(bc2fcefc00adbae9ca2e116108b53ab932ab57b2) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "jj.chr", 0x0000, 0x000048, CRC(abf2340a) SHA1(6cfeb84db61e647da0a46faa87fa003a34b46f5c) ) ROM_END ROM_START( m4jpjmpa ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "jackjump-vjc1-3.bin", 0x0000, 0x010000, CRC(fa713c10) SHA1(766912ea891166d7d7f0360e81bdad58b6064eb1) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "jj.chr", 0x0000, 0x000048, CRC(abf2340a) SHA1(6cfeb84db61e647da0a46faa87fa003a34b46f5c) ) ROM_END - ROM_START( m4milclb ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "mi2d.p1", 0x0000, 0x010000, CRC(ce697bbd) SHA1(86c1729014eff9925a5f62189236a9c5bd11534b) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "millc.chr", 0x0000, 0x000048, CRC(5e94580c) SHA1(d8251caf825ba0a23c06459d270e1e0999bde5c4) ) ROM_END ROM_START( m4milclba ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "mi2f.p1", 0x0000, 0x010000, CRC(224922a4) SHA1(59bc1fbfe20c533eb6462f01196a5f2d35ceb92d) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "millc.chr", 0x0000, 0x000048, CRC(5e94580c) SHA1(d8251caf825ba0a23c06459d270e1e0999bde5c4) ) ROM_END ROM_START( m4milclbb ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "mi2s.p1", 0x0000, 0x010000, CRC(f69b69c7) SHA1(4f881f5307db2c100535fa75a8eb42d0f7382c93) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "millc.chr", 0x0000, 0x000048, CRC(5e94580c) SHA1(d8251caf825ba0a23c06459d270e1e0999bde5c4) ) ROM_END ROM_START( m4milclbc ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "mild.p1", 0x0000, 0x010000, CRC(16da3df9) SHA1(0f1838f99c14763132c2a3b79363496c6baa5e88) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "millc.chr", 0x0000, 0x000048, CRC(5e94580c) SHA1(d8251caf825ba0a23c06459d270e1e0999bde5c4) ) ROM_END ROM_START( m4milclbd ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "mils.p1", 0x0000, 0x010000, CRC(0742defd) SHA1(ac25d8adb40bc5b4124241cc5d970d4c10c6f5fd) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "millc.chr", 0x0000, 0x000048, CRC(5e94580c) SHA1(d8251caf825ba0a23c06459d270e1e0999bde5c4) ) ROM_END @@ -1678,19 +1587,14 @@ ROM_START( m4bigchd ) ROM_LOAD( "bch15.bin", 0x0000, 0x010000, CRC(b745b19f) SHA1(b654af35200c69604a3c30e3df1252f8bedc2000) ) ROM_END - ROM_START( m4dbl9 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "du91.0", 0x0000, 0x010000, CRC(6207753d) SHA1(b19bcb60707b73f37e9bd8177d0b15847af0213f) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "du91.chr", 0x0000, 0x000048, CRC(9724122d) SHA1(a41687eec84cad453c1a2a89317078f48ca0895f) ) ROM_END ROM_START( m4dbl9a ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "d9s_6.bin", 0x0000, 0x010000, CRC(6029d46a) SHA1(0823f29f17562675a6f250429e46655c0b2e8f2c) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "du91.chr", 0x0000, 0x000048, CRC(9724122d) SHA1(a41687eec84cad453c1a2a89317078f48ca0895f) ) ROM_END ROM_START( m4nick ) @@ -1729,6 +1633,19 @@ ROM_START( m4joljok ) ROM_LOAD( "jlyjk16l.bin", 0x0000, 0x010000, CRC(a0af938f) SHA1(484e075c3b9199d0d9e20185c6fa0be560845029) ) ROM_END + +ROM_START( m4unkjok ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "joker 10p 3.bin", 0x0000, 0x010000, CRC(009823ac) SHA1(5ab25da5876c87a8d8701f84446bb3d377e4c1ca) ) +ROM_END + +ROM_START( m4unkjoka ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "joker 10p 6.bin", 0x0000, 0x010000, CRC(f25f0704) SHA1(35298b49f79c5029277f4777fe88d5e4344c115f) ) +ROM_END + + + ROM_START( m4joltav ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "tavs.p1", 0x0000, 0x010000, CRC(12bdf083) SHA1(c1b73bfd05ae6128d1760083383805fdaf328003) ) @@ -1744,11 +1661,19 @@ ROM_START( m4joltavb ) ROM_LOAD( "jto20d_1.1", 0x0000, 0x010000, CRC(dff09dfc) SHA1(c13f31f7d96075f7c94ae5e79fc1f9b8ce7e4c80) ) ROM_END +ROM_START( m4unkjokb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "joker 20p 3 or 6.bin", 0x0000, 0x010000, CRC(cae4397e) SHA1(53b61fd41c97a6ed29ce6a7b555e061ecf2b0ae2) ) +ROM_END + +ROM_START( m4unkjokc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "joker new 20p 6 or 3.bin", 0x0000, 0x010000, CRC(b8d77b97) SHA1(54f69823bb3fd9c2cca014dc7c51913b2d6c8058) ) +ROM_END + ROM_START( m4btclok ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "beattheclock.hex", 0x6000, 0x00a000, CRC(a0d4e463) SHA1(45d1df08bfd70caf63b14d2ccc56038ed85e23d0) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "btc.chr", 0x0000, 0x000048, CRC(c77e5215) SHA1(c9e26ed593840cbc47dad893ea4df476f1d69ecd) ) ROM_END ROM_START( m4brktak ) @@ -1759,351 +1684,574 @@ ROM_END #define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) -GAME(199?, m4rsg, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Ready Steady Go (Barcrest) (MPU4, Mod 2 type, V1.2)",GAME_FLAGS ) -GAME(199?, m4rsga, m4rsg, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Ready Steady Go (Barcrest) (MPU4, Mod 2 type, V1.0)",GAME_FLAGS ) +GAME(199?, m4rsg, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Ready Steady Go (Barcrest) (MPU4, Mod 2 type) (RSG 1.2)",GAME_FLAGS ) +GAME(199?, m4rsga, m4rsg, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Ready Steady Go (Barcrest) (MPU4, Mod 2 type) (R4G 1.0)",GAME_FLAGS ) -GAME(199?, m4crkpot, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Crackpot 100 Club (Barcrest) (MPU4) (set 1, C1P 1.2)",GAME_FLAGS ) -GAME(199?, m4crkpota, m4crkpot, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Crackpot 100 Club (Barcrest) (MPU4) (set 2, CP 3.8)",GAME_FLAGS ) -GAME(199?, m4crkpotb, m4crkpot, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Crackpot 100 Club (Barcrest) (MPU4) (set 3, CP 3.1)",GAME_FLAGS ) +GAME(199?, m4stopcl, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Stop the Clock (Barcrest) (MPU4) (SC 2.5)",GAME_FLAGS ) -GAME(199?, m4multcl, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Multiplay Club (Barcrest) (MPU4, MP 2.8)",GAME_FLAGS ) +GAME(199?, m4crkpot, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Crackpot 100 Club (Barcrest) (MPU4) (C1P 1.2)",GAME_FLAGS ) +GAME(199?, m4crkpota, m4crkpot, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Crackpot 100 Club (Barcrest) (MPU4) (CP 3.8)",GAME_FLAGS ) +GAME(199?, m4crkpotb, m4crkpot, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Crackpot 100 Club (Barcrest) (MPU4) (CP 3.1)",GAME_FLAGS ) -GAME(199?, m4clbclm, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Club Climber (Barcrest) (MPU4, C1C 3.3)",GAME_FLAGS ) -GAME(199?, m4clbclma, m4clbclm, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Club Climber (Barcrest) (MPU4, CC 4.5)",GAME_FLAGS ) +GAME(199?, m4hiroll, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","High Roller (Barcrest) (Dutch) (MPU4) (HR 3.0)",GAME_FLAGS ) -GAME(199?, m4grbbnk, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Grab The Bank (Barcrest) (MPU4) (G4B 2.0)",GAME_FLAGS ) -GAME(199?, m4grbbnka, m4grbbnk, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Grab The Bank (Barcrest) (MPU4) (G4B 2.1)",GAME_FLAGS ) -GAME(199?, m4grbbnkb, m4grbbnk, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Grab The Bank (Barcrest) (MPU4) (G4B 1.0)",GAME_FLAGS ) +GAME(199?, m4multcl, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Multiplay Club (Barcrest) (MPU4, MP 2.8)",GAME_FLAGS ) -GAME(199?, m4hiroll, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","High Roller (Barcrest) (MPU4)",GAME_FLAGS ) +GAME(199?, m4reelpk, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Reel Poker (Barcrest) (MPU4) (R2P 3.0)",GAME_FLAGS ) -GAME(199?, m4potlck, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Pot Luck 100 Club (Barcrest) (MPU4) (P1L 2.2)",GAME_FLAGS ) -GAME(199?, m4potlcka, m4potlck, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Pot Luck 100 Club (Barcrest) (MPU4) (PL 2.7)",GAME_FLAGS ) +GAME(199?, m4grbbnk, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Grab The Bank (Barcrest) (MPU4) (G4B 2.0)",GAME_FLAGS ) +GAME(199?, m4grbbnka, m4grbbnk, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Grab The Bank (Barcrest) (MPU4) (G4B 2.1)",GAME_FLAGS ) +// doesn't run valid code, bad (missing a ROM) +GAME(199?, m4grbbnkb, m4grbbnk, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Grab The Bank (Barcrest) (MPU4) (G4B 1.0)",GAME_FLAGS ) -GAME(199?, m4sgrab, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Smash 'n' Grab (Barcrest) (MPU4) (SAG 1.0, set 1)",GAME_FLAGS ) -GAME(199?, m4sgraba, m4sgrab, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Smash 'n' Grab (Barcrest) (MPU4) (set 1.0, set 2)",GAME_FLAGS ) -GAME(199?, m4sgrabb, m4sgrab, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Smash 'n' Grab (Barcrest) (MPU4) (SAG 3.4)",GAME_FLAGS ) +GAME(199?, m4sgrab, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Smash 'n' Grab (Barcrest) (MPU4) (SAG 1.0, set 1)",GAME_FLAGS ) +GAME(199?, m4sgraba, m4sgrab, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Smash 'n' Grab (Barcrest) (MPU4) (SAG 1.0, set 2)",GAME_FLAGS ) +GAME(199?, m4sgrabb, m4sgrab, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Smash 'n' Grab (Barcrest) (MPU4) (SAG 3.4)",GAME_FLAGS ) -GAME(199?, m4stakeu, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Stake Up Club (Barcrest) (MPU4) (SU 4.4)",GAME_FLAGS ) -GAME(199?, m4stakeua, m4stakeu, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Stake Up Club (Barcrest) (MPU4) (SU 4.8)",GAME_FLAGS ) +GAME(199?, m4potlck, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Pot Luck 100 Club (Barcrest) (MPU4) (P1L 2.2)",GAME_FLAGS ) +GAME(199?, m4potlcka, m4potlck, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Pot Luck 100 Club (Barcrest) (MPU4) (PL 2.7)",GAME_FLAGS ) -GAMEL(199?, m4actpak, 0, mod2, mpu4, mpu4_state, init_m4actpak, ROT0, "Barcrest","Action Pack (Barcrest) (MPU4) (AP 0.4)",GAME_FLAGS, layout_m4actpak ) -GAMEL(199?, m4actpaka,m4actpak, mod2, mpu4, mpu4_state, init_m4actpak, ROT0, "Barcrest","Action Pack (Barcrest) (MPU4) (AP 0.5)",GAME_FLAGS, layout_m4actpak ) +GAME(199?, m4wayin, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Super Way In (Barcrest) (MPU4) (WS 1.0)",GAME_FLAGS ) +// non-standard protection, hack? +GAME(199?, m4wayina, m4wayin, mod2_bootleg_fixedret<0x40>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Way In Mk 2 (Barcrest) (bootleg) (MPU4)",GAME_FLAGS ) -GAMEL(199?, m4alladv, 0, mod2, mpu4, mpu4_state, init_m4alladv, ROT0, "Barcrest","All Cash Advance (Barcrest) (MPU4) (C2B 6.0)",GAME_FLAGS, layout_m4alladv ) +GAME(199?, m4stakeu, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Stake Up Club (Barcrest) (MPU4) (SU 4.4)",GAME_FLAGS ) +GAME(199?, m4stakeua, m4stakeu, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Stake Up Club (Barcrest) (MPU4) (SU 4.8)",GAME_FLAGS ) -GAME(199?, m4clbdbl, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Club Double (Barcrest) (MPU4) (CD 1.6)",GAME_FLAGS ) // reel issues +GAME(199?, m4clbclm, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Club Climber (Barcrest) (MPU4, C1C 3.3)",GAME_FLAGS ) +GAME(199?, m4clbclma, m4clbclm, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Club Climber (Barcrest) (MPU4, CC 4.5)",GAME_FLAGS ) -GAME(199?, m4clbrpl, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Club Replay (PCP) (MPU4) (01)",GAME_FLAGS ) +GAMEL(199?, m4actpak, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4actpak, ROT0, "Barcrest","Action Pack (Barcrest) (MPU4) (AP 0.4)",GAME_FLAGS, layout_m4actpak ) +GAMEL(199?, m4actpaka,m4actpak, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4actpak, ROT0, "Barcrest","Action Pack (Barcrest) (MPU4) (AP 0.5)",GAME_FLAGS, layout_m4actpak ) -GAME(199?, m4hittp2, m4hittop, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Hit The Top (Barcrest) (MPU4, Mod 2 type, H4T 2.0, set 1)",GAME_FLAGS ) -GAME(199?, m4hittp2a, m4hittop, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Hit The Top (Barcrest) (MPU4, Mod 2 type, H4T 2.0, set 2)",GAME_FLAGS ) +GAMEL(199?, m4alladv, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4alladv, ROT0, "Barcrest","All Cash Advance (Barcrest) (MPU4) (C2B 6.0)",GAME_FLAGS, layout_m4alladv ) -GAME(199?, m4stopcl, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Stop the Clock (Barcrest) (MPU4) (SC2.5)",GAME_FLAGS ) +GAME(199?, m4clbdbl, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Club Double (Barcrest) (MPU4) (CD 1.6)",GAME_FLAGS ) // reel issues -GAME(199?, m4toptena, m4topten, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Top Tenner (Barcrest) (MPU4, Mod 2 type, TP 2.7)",GAME_FLAGS ) +GAME(199?, m4hittp2, m4hittop, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Hit The Top (Barcrest) (MPU4, Mod 2 type, H4T 2.0, set 1)",GAME_FLAGS ) +GAME(199?, m4hittp2a, m4hittop, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Hit The Top (Barcrest) (MPU4, Mod 2 type, H4T 2.0, set 2)",GAME_FLAGS ) -GAME(199?, m4toplot, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Top The Lot (Barcrest) (MPU4, T4L 1.0)",GAME_FLAGS ) +GAME(199?, m4toptena, m4topten, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Top Tenner (Barcrest) (MPU4, Mod 2 type, TP 2.7)",GAME_FLAGS ) -GAME(199?, m4topgr, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Top Gear (Barcrest) (MPU4)",GAME_FLAGS ) +GAME(199?, m4toplot, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Top The Lot (Barcrest) (MPU4, T4L 1.0)",GAME_FLAGS ) -GAME(199?, m4bj, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Black Jack (Barcrest) [Dutch] (MPU4)",GAME_FLAGS ) // reel issues +GAME(199?, m4topgr, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Top Gear (Barcrest) (MPU4) (TG4 1.1)",GAME_FLAGS ) -GAME(199?, m4flash, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Flash Cash (Barcrest) (MPU4, FC 1.0)",GAME_FLAGS ) +GAME(199?, m4bj, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Black Jack (Barcrest) (Dutch) (MPU4) (BJ 1.6)",GAME_FLAGS ) // reel issues -GAME(199?, m4swpnot, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Swap-A-Note (Barcrest) (v3.3) (MPU4)",GAME_FLAGS ) -GAME(199?, m4swpnota, m4swpnot, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Swap-A-Note (Barcrest) (v3.2D) (MPU4)",GAME_FLAGS) +GAME(199?, m4flash, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Flash Cash (Barcrest) (MPU4, FC 1.0)",GAME_FLAGS ) -GAME(199?, m4actnot, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Action Note (Barcrest) (MPU4) (AN 1.2)",GAME_FLAGS ) +GAME(199?, m4swpnot, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Swap-A-Note (Barcrest) (MPU4) (SN 3.3)",GAME_FLAGS ) +GAME(199?, m4swpnota, m4swpnot, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Swap-A-Note (Barcrest) (MPU4) (SN 3.2)",GAME_FLAGS ) +GAME(199?, m4swpnotb, m4swpnot, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Swap-A-Note (Barcrest) (MPU4) (SN 3.5)",GAME_FLAGS ) // was in a set named Centrepoint, but clearly fits here -GAME(199?, m4cardcs, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Card Cash (Barcrest) (MPU4) (CCS 1.9)",GAME_FLAGS ) +GAME(199?, m4actnot, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Action Note (Barcrest) (MPU4) (AN 1.2)",GAME_FLAGS ) + +GAME(199?, m4cardcs, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Card Cash (Barcrest) (MPU4) (CCS 1.9)",GAME_FLAGS ) + +GAME(199?, m4bnknot, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Bank A Note (Barcrest) (MPU4) (BN 1.0)",GAME_FLAGS ) + +GAME(199?, m4moneym, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Money Maker (Barcrest) (MPU4) (MMK 1.6)",GAME_FLAGS ) // this and Cash Counter might be swapped around -GAME(199?, m4cashcn, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Cash Connect (Barcrest) (MPU4) (CCO 3.2)",GAME_FLAGS ) +GAME(199?, m4cashcn, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Cash Connect (Barcrest) (MPU4) (CCO 3.2)",GAME_FLAGS ) + +GAME(199?, m4cashco, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (C3 2.4)",GAME_FLAGS ) +GAME(199?, m4cashcoa, m4cashco, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (C3 1.8)",GAME_FLAGS ) +GAME(199?, m4cashcob, m4cashco, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (CO 0.5)",GAME_FLAGS ) +GAME(199?, m4cashcoc, m4cashco, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (C3 3.1)",GAME_FLAGS ) +GAME(199?, m4cashcod, m4cashco, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Cash Connect (Barcrest) (MPU4) (C3 2.0)",GAME_FLAGS ) + +// unusual input mapping +GAME(199?, m4cashmx, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Cash Matrix (Barcrest) (MPU4) (CM 1.7, set 1)",GAME_FLAGS ) // hangs during play +GAME(199?, m4cashmxa, m4cashmx, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Cash Matrix (Barcrest) (MPU4) (CM 1.7, set 2)",GAME_FLAGS ) // hangs during play + +GAME(199?, m4cashzn, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Cash Zone (Barcrest) (MPU4) (CAZ 1.2)",GAME_FLAGS ) +GAME(199?, m4cashzna, m4cashzn, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Cash Zone (Barcrest) (MPU4) (CAZ 1.5)",GAME_FLAGS ) +// non-standard protection +GAME(199?, m4czne, m4cashzn, mod2_bootleg_fixedret<0x9a>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg?","Cash Zone (bootleg) (MPU4) (CAZ 1.5)",GAME_FLAGS ) -GAME(199?, m4cashco, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (C3 2.4)",GAME_FLAGS ) -GAME(199?, m4cashcoa, m4cashco, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (C3 1.8)",GAME_FLAGS ) -GAME(199?, m4cashcob, m4cashco, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (CO 0.5)",GAME_FLAGS ) -GAME(199?, m4cashcoc, m4cashco, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (C3 3.1)",GAME_FLAGS ) -GAME(199?, m4cashcod, m4cashco, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Cash Connect (Barcrest) (MPU4) (C3 2.0)",GAME_FLAGS ) -GAME(199?, m4cashmx, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Cash Matrix (Barcrest) (MPU4) (CM 1.7, set 1)",GAME_FLAGS ) // hangs during play -GAME(199?, m4cashmxa, m4cashmx, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Cash Matrix (Barcrest) (MPU4) (CM 1.7, set 2)",GAME_FLAGS ) // hangs during play +GAME(199?, m4dblup, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Double Up (Barcrest) (MPU4) (DU 1.5)",GAME_FLAGS ) // token alarm -GAME(199?, m4cashzn, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Cash Zone (Barcrest) (MPU4) (CAZ 1.2)",GAME_FLAGS ) -GAME(199?, m4cashzna, m4cashzn, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Cash Zone (Barcrest) (MPU4) (CAZ 1.5)",GAME_FLAGS ) +GAME(199?, m4eighth, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Eighth Wonder (Barcrest) (MPU4) (WON 2.2)",GAME_FLAGS ) +// +GAME(199?, m4eightha, m4eighth, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 1)",GAME_FLAGS ) +GAME(199?, m4eighthb, m4eighth, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 2)",GAME_FLAGS ) +GAME(199?, m4eighthc, m4eighth, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 3)",GAME_FLAGS ) +GAME(199?, m4eighthd, m4eighth, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 4, bad?)",GAME_FLAGS ) +GAME(199?, m4eighthe, m4eighth, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 5)",GAME_FLAGS ) +GAME(199?, m4eighthf, m4eighth, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 6)",GAME_FLAGS ) +GAME(199?, m4eighthg, m4eighth, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 7)",GAME_FLAGS ) -GAME(199?, m4copcsh, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Coppa Cash (Barcrest) (MPU4) (FC 2.0)",GAME_FLAGS ) +GAME(199?, m4frtprs, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Fruit Preserve (Barcrest) (MPU4) (F4P 1.1, set 1)",GAME_FLAGS ) +GAME(199?, m4frtprsa, m4frtprs, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Fruit Preserve (Barcrest) (MPU4) (F4P 1.1, set 2)",GAME_FLAGS ) -GAME(199?, m4dblup, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Double Up (Barcrest) (MPU4) (DU 1.5)",GAME_FLAGS ) // token alarm +GAME(199?, m4gldstr, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU4) (G4S 2.0)",GAME_FLAGS ) -GAME(199?, m4eighth, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Eighth Wonder (Barcrest) (MPU4) (WON 2.2)",GAME_FLAGS ) -GAME(199?, m4eightha, m4eighth, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 1)",GAME_FLAGS ) -GAME(199?, m4eighthb, m4eighth, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 2)",GAME_FLAGS ) -GAME(199?, m4eighthc, m4eighth, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 3)",GAME_FLAGS ) -GAME(199?, m4eighthd, m4eighth, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 4, bad?)",GAME_FLAGS ) -GAME(199?, m4eighthe, m4eighth, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 5)",GAME_FLAGS ) -GAME(199?, m4eighthf, m4eighth, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 6)",GAME_FLAGS ) -GAME(199?, m4eighthg, m4eighth, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 7)",GAME_FLAGS ) +GAME(199?, m4grands, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Grandstand Club (Barcrest) (MPU4) (G2D 4.0)",GAME_FLAGS ) +GAME(199?, m4grandsa, m4grands, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Grandstand Club (Barcrest) (MPU4) (GD 1.1)",GAME_FLAGS ) -GAME(199?, m4frtprs, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Fruit Preserve (Barcrest) (MPU4) (F4P 1.1, set 1)",GAME_FLAGS ) -GAME(199?, m4frtprsa, m4frtprs, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Fruit Preserve (Barcrest) (MPU4) (F4P 1.1, set 2)",GAME_FLAGS ) +GAME(199?, m4intcep, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Interceptor (Barcrest) (MPU4) (INT 3.0)",GAME_FLAGS ) // set % key +GAME(199?, m4intcepa, m4intcep, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Interceptor (Barcrest) (MPU4) (INT 3.0X)",GAME_FLAGS ) // set % key +// non-standard protection? hack? +GAME(199?, m4intcepb, m4intcep, mod2_bootleg_fixedret<0x9a>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "hack?","Interceptor (Barcrest) (MPU4) (INT 1.1)",GAME_FLAGS ) -GAME(199?, m4gldstr, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU4) (G4S 2.0)",GAME_FLAGS ) +GAME(199?, m4megbks, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 4.1X)",GAME_FLAGS ) +GAME(199?, m4megbksa, m4megbks, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 4.1CX)",GAME_FLAGS ) +GAME(199?, m4megbksb, m4megbks, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 4.1XD)",GAME_FLAGS ) +GAME(199?, m4megbksc, m4megbks, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 3.1)",GAME_FLAGS ) -GAME(199?, m4grands, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Grandstand Club (Barcrest) (MPU4) (G2D 4.0)",GAME_FLAGS ) -GAME(199?, m4grandsa, m4grands, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Grandstand Club (Barcrest) (MPU4) (GD 1.1)",GAME_FLAGS ) +GAME(199?, m4mirage, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Mirage (Barcrest) (MPU4) (RAG 4.1)",GAME_FLAGS ) // reel issue during play -GAME(199?, m4intcep, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Interceptor (Barcrest) (MPU4) (INT 3.0)",GAME_FLAGS ) // set % key -GAME(199?, m4intcepa, m4intcep, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Interceptor (Barcrest) (MPU4) (INT 3.0X)",GAME_FLAGS ) // set % key -GAME(199?, m4intcepb, m4intcep, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Interceptor (Barcrest) (MPU4) (INT 1.1)",GAME_FLAGS ) // set % key +GAME(199?, m4nifty, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Nifty Fifty (Barcrest) (MPU4) (NF 2.0)",GAME_FLAGS ) +GAME(199?, m4niftya, m4nifty, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Nifty Fifty (Barcrest) (MPU4) (NF 2.1, set 1)",GAME_FLAGS ) +GAME(199?, m4niftyb, m4nifty, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Nifty Fifty (Barcrest) (MPU4) (NF 2.1, set 2)",GAME_FLAGS ) -GAME(199?, m4megbks, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 4.1X)",GAME_FLAGS ) -GAME(199?, m4megbksa, m4megbks, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 4.1CX)",GAME_FLAGS ) -GAME(199?, m4megbksb, m4megbks, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 4.1XD)",GAME_FLAGS ) -GAME(199?, m4megbksc, m4megbks, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 3.1)",GAME_FLAGS ) +GAME(199?, m4nudqst, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Nudge Quest (Barcrest) (MPU4) (NQ 2.0)",GAME_FLAGS ) -GAME(199?, m4mirage, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Mirage (Barcrest) (MPU4) (RAG 4.1)",GAME_FLAGS ) // reel issue during play +GAME(199?, m4r2r, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Reel 2 Reel (Barcrest) (MPU4) (RR 3.0)",GAME_FLAGS ) -GAME(199?, m4moneym, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Money Maker (Barcrest) (MPU4)",GAME_FLAGS ) +GAME(199?, m4runawy, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Runaway Trail (Barcrest) (MPU4) (R4T 1.1)",GAME_FLAGS ) +GAME(199?, m4runawyb, m4runawy, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Runaway Trail (Barcrest) (MPU4) (R4T 1.3)",GAME_FLAGS ) -GAME(199?, m4nifty, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Nifty Fifty (Barcrest) (MPU4) (NF 2.0)",GAME_FLAGS ) -GAME(199?, m4niftya, m4nifty, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Nifty Fifty (Barcrest) (MPU4) (NF 2.1, set 1)",GAME_FLAGS ) -GAME(199?, m4niftyb, m4nifty, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Nifty Fifty (Barcrest) (MPU4) (NF 2.1, set 2)",GAME_FLAGS ) +GAME(199?, m4silshd, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Silver Shadow (Barcrest) (MPU4)",GAME_FLAGS ) +// these don't boot (bad dumps) +GAME(199?, m4silshda, m4silshd, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Silver Shadow (Barcrest) (MPU4) (SH 2.0, set 1)",GAME_FLAGS ) +GAME(199?, m4silshdb, m4silshd, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Silver Shadow (Barcrest) (MPU4) (SH 2.0, set 2)",GAME_FLAGS ) -GAME(199?, m4nudqst, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Nudge Quest (Barcrest) (MPU4) (NQ 2.0)",GAME_FLAGS ) +GAME(199?, m4solsil, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Solid Silver Club (Barcrest) (MPU4) (SOS 2.2)",GAME_FLAGS ) +GAME(199?, m4solsila, m4solsil, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Solid Silver Club (Barcrest) (MPU4) (SOS 2.1)",GAME_FLAGS ) -GAME(199?, m4r2r, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Reel 2 Reel (Barcrest) (MPU4)",GAME_FLAGS ) +GAME(199?, m4starbr, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Stars And Bars (Barcrest) (Dutch) (MPU4) (DSB 2.8)",GAME_FLAGS ) -GAME(199?, m4reelpk, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Reel Poker (Barcrest) (MPU4)",GAME_FLAGS ) +GAME(199?, m4sunset, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BSB 0.4)",GAME_FLAGS ) +GAME(199?, m4sb5, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BSB 0.3)",GAME_FLAGS ) +// +GAME(199?, m4sunsetd, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SBU 2.0)",GAME_FLAGS ) +// +GAME(199?, m4sunsete, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.1)",GAME_FLAGS ) +GAME(199?, m4sunsetf, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 1)",GAME_FLAGS ) +GAME(199?, m4sunsetg, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 2)",GAME_FLAGS ) +GAME(199?, m4sunseth, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 3, bad)",GAME_FLAGS ) +GAME(199?, m4sunseti, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 4)",GAME_FLAGS ) +GAME(199?, m4sunsetj, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 5)",GAME_FLAGS ) +// +GAME(199?, m4sunsetk, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.1)",GAME_FLAGS ) +GAME(199?, m4sunsetl, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 1)",GAME_FLAGS ) +GAME(199?, m4sunsetm, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 2)",GAME_FLAGS ) +GAME(199?, m4sunsetn, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 3)",GAME_FLAGS ) +GAME(199?, m4sunseto, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 4)",GAME_FLAGS ) +GAME(199?, m4sunsetp, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 5)",GAME_FLAGS ) +GAME(199?, m4sunsetq, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 6)",GAME_FLAGS ) +GAME(199?, m4sunsetr, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 7)",GAME_FLAGS ) +GAME(199?, m4sunsets, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 8)",GAME_FLAGS ) +GAME(199?, m4sunsett, m4sunset, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 9)",GAME_FLAGS ) +// non-standard protection +GAME(199?, m4sunsetc, m4sunset, mod2_bootleg_fixedret<0xd0>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Sunset Boulevard (Barcrest) (bootleg) (MPU4) (OSB 0.2)",GAME_FLAGS ) // might be a mod 2 -GAME(199?, m4runawy, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Runaway Trail (Barcrest) (MPU4)",GAME_FLAGS ) -GAME(199?, m4runawyb, m4runawy, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Runaway Trail (Barcrest) (v1.2?) (MPU4)",GAME_FLAGS ) -GAME(199?, m4silshd, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Silver Shadow (Barcrest) (MPU4)",GAME_FLAGS ) -GAME(199?, m4silshda, m4silshd, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Silver Shadow (Barcrest) (MPU4) (SH 2.0, set 1)",GAME_FLAGS )// bad dump -GAME(199?, m4silshdb, m4silshd, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Silver Shadow (Barcrest) (MPU4) (SH 2.0, set 2)",GAME_FLAGS ) // bad dump +GAME(199?, m4supslt, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Supa Slot (Barcrest) (MPU4) (S4S 1.0)",GAME_FLAGS ) -GAME(199?, m4solsil, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Solid Silver Club (Barcrest) (MPU4) (SOS 2.2)",GAME_FLAGS ) -GAME(199?, m4solsila, m4solsil, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Solid Silver Club (Barcrest) (MPU4) (SOS 2.1)",GAME_FLAGS ) +GAME(199?, m4suptub, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Super Tubes (Barcrest) (MPU4) (S4T 1.0, set 1)",GAME_FLAGS ) +GAME(199?, m4suptuba, m4suptub, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Super Tubes (Barcrest) (MPU4) (S4T 1.0, set 2)",GAME_FLAGS ) -GAME(199?, m4starbr, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Stars And Bars (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) +GAME(199?, m4suptwo, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Super Two (Barcrest) (MPU4) (SUT 1.2)",GAME_FLAGS ) // set % key + +GAME(199?, m4tiktak, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Tic Tak Cash (Barcrest) (MPU4) (TC 1.1)",GAME_FLAGS ) + +// these have the same version number but use different protection PALs, is one modified? +GAME(199?, m4topact, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Top Action (Barcrest) (Dutch) (MPU4) (TA 2.2, set 1)",GAME_FLAGS ) +// +GAME(199?, m4topacta, m4topact, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Top Action (Barcrest) (Dutch) (MPU4) (TA 2.2, set 2)",GAME_FLAGS ) -GAME(199?, m4sunset, 0, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BSB 0.4)",GAME_FLAGS ) -GAME(199?, m4sb5, m4sunset, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BSB 0.3)",GAME_FLAGS ) -GAME(199?, m4sunsetd, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SBU 2.0)",GAME_FLAGS ) -GAME(199?, m4sunsete, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.1)",GAME_FLAGS ) -GAME(199?, m4sunsetf, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 1)",GAME_FLAGS ) -GAME(199?, m4sunsetg, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 2)",GAME_FLAGS ) -GAME(199?, m4sunseth, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 3, bad)",GAME_FLAGS ) -GAME(199?, m4sunseti, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 4)",GAME_FLAGS ) -GAME(199?, m4sunsetj, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 5)",GAME_FLAGS ) -GAME(199?, m4sunsetk, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.1)",GAME_FLAGS ) -GAME(199?, m4sunsetl, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 1)",GAME_FLAGS ) -GAME(199?, m4sunsetm, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 2)",GAME_FLAGS ) -GAME(199?, m4sunsetn, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 3)",GAME_FLAGS ) -GAME(199?, m4sunseto, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 4)",GAME_FLAGS ) -GAME(199?, m4sunsetp, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 5)",GAME_FLAGS ) -GAME(199?, m4sunsetq, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 6)",GAME_FLAGS ) -GAME(199?, m4sunsetr, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 7)",GAME_FLAGS ) -GAME(199?, m4sunsets, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 8)",GAME_FLAGS ) -GAME(199?, m4sunsett, m4sunset, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 9)",GAME_FLAGS ) +GAME(199?, m4topst, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Top Stop (Barcrest) (MPU4) (TSP 0.5)",GAME_FLAGS ) + +GAME(199?, m4toptak, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Top Take (Barcrest) (MPU4) (TTK 1.1)",GAME_FLAGS ) -GAME(199?, m4supslt, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Supa Slot (Barcrest) (MPU4)",GAME_FLAGS ) +GAME(199?, m4tribnk, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Triple Bank (Barcrest) (Dutch) (MPU4) (DTB 1.2)",GAME_FLAGS ) -GAME(199?, m4suptub, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Super Tubes (Barcrest) (MPU4) (S4T 1.0, set 1))",GAME_FLAGS ) -GAME(199?, m4suptuba, m4suptub, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Super Tubes (Barcrest) (MPU4) (S4T 1.0, set 2)",GAME_FLAGS ) +// unprotected +GAME(199?, m4tupen, 0, mod2, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Tuppenny Cracker (unprotected bootleg) (MPU4)",GAME_FLAGS ) // bootleg of Barcrest game + +GAME(199?, m421, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Twenty One (Barcrest) (MPU4) (DTO 2.0)",GAME_FLAGS ) // reel issues after a few spins + +GAMEL(199?, m4alpha, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4alpha, ROT0, "Barcrest","Alphabet (Barcrest) (MPU4) (A4B 1.0)",GAME_FLAGS, layout_m4alpha ) + +GAME(199?, m4bjack, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Black Jack (Barcrest) (MPU4) (B2J 2.2)",GAME_FLAGS ) +GAME(199?, m4bjacka, m4bjack, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Black Jack (Barcrest) (MPU4) (BLA 2.0)",GAME_FLAGS ) -GAME(199?, m4suptwo, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Super Two (Barcrest) (MPU4)",GAME_FLAGS ) // set % key +GAME(199?, m4bjsm, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Blackjack Super Multi (Barcrest) (MPU4) (SM H1.6)",GAME_FLAGS ) // reel issues +// RTC BAT FAIL, before any protection check +GAME(199?, m4bjsma, m4bjsm, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Blackjack Super Multi (Barcrest) (MPU4) (SM 1.6)",GAME_FLAGS ) // complains about battery, is this a different game? -GAME(199?, m4tiktak, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Tic Tak Cash (Barcrest) (MPU4)",GAME_FLAGS ) +GAME(198?, m4supsl, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest", "Supa Silva (Barcrest) (MPU4) (SS2V 1.0)",GAME_FLAGS ) -GAME(199?, m4topact, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Top Action (Barcrest) (Dutch) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4topacta, m4topact, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Top Action (Barcrest) (Dutch) (MPU4) (set 2)",GAME_FLAGS ) +GAME(199?, m4flshlt, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (FLT 1.0, set 1)",GAME_FLAGS ) +GAME(199?, m4flshltb, m4flshlt, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (FLT 1.0, set 2)",GAME_FLAGS ) +GAME(199?, m4flshltc, m4flshlt, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (FLT 1.0, set 3)",GAME_FLAGS ) +GAME(199?, m4flshltd, m4flshlt, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (FLT 1.0, set 4)",GAME_FLAGS ) +GAME(199?, m4flshlte, m4flshlt, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (FLT 1.0, set 5)",GAME_FLAGS ) +GAME(199?, m4flshltf, m4flshlt, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (FLT 1.0, set 6)",GAME_FLAGS ) +GAME(199?, m4flshltg, m4flshlt, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (FLT 1.0, set 7)",GAME_FLAGS ) +// +GAME(199?, m4flshlta, m4flshlt, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (BFL 0.5)",GAME_FLAGS ) -GAME(199?, m4topst, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Top Stop (Barcrest) (MPU4)",GAME_FLAGS ) +GAME(199?, m4blflsh, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (TBF 0.3)",GAME_FLAGS ) +GAME(199?, m4blflsha, m4blflsh, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (BFL 0.3, set 1)",GAME_FLAGS ) +GAME(199?, m4blflshb, m4blflsh, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (BFL 0.3, set 2)",GAME_FLAGS ) +GAME(199?, m4blflshc, m4blflsh, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (BFL 0.3, set 3)",GAME_FLAGS ) +GAME(199?, m4blflshd, m4blflsh, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (BFL 0.3, set 4)",GAME_FLAGS ) +GAME(199?, m4blflshe, m4blflsh, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (BFL 0.3, set 5)",GAME_FLAGS ) + +GAME(199?, m4ttak, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Tic Tac Take (Barcrest) (MPU4) (TIC 2.0)",GAME_FLAGS ) + +GAME(199?, m4actbnka, m4actbnk, mod2_cheatchr_pal, mpu4jackpot8tkn, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Action Bank (Barcrest) (Mod 2 type, AC3.0) (MPU4)",GAME_FLAGS ) // set jackpot key to 8GBP TOKEN & stake key +GAME(199?, m4actbnkb, m4actbnk, mod2_cheatchr_pal, mpu4jackpot8tkn, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Action Bank (Barcrest) (Mod 2 type, ACT2.0) (MPU4)",GAME_FLAGS ) + +GAMEL(199?, m4actclb, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4actclb, ROT0, "Barcrest","Action Club (Barcrest) (MPU4) (ABV 1.9)",GAME_FLAGS, layout_m4actclb ) // set stake to boot +// +GAMEL(199?, m4actclba,m4actclb, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4actclb, ROT0, "Barcrest","Action Club (Barcrest) (MPU4) (A2C 1.1)",GAME_FLAGS, layout_m4actclb ) // ^^ + +GAME(199?, m4bluemn, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Blue Moon (Barcrest) (MPU4) (BLU 2.3)",GAME_FLAGS ) +GAME(199?, m4bluemna, m4bluemn, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Blue Moon (Barcrest) (MPU4) (BLU 2.1)",GAME_FLAGS ) +// not using standard protection, hack? +GAME(199?, m4bluemnb, m4bluemn, mod2_bootleg_fixedret<0x51>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "hack?","Blue Moon (Barcrest) (MPU4) (BLU 1.1)",GAME_FLAGS ) // bad chr, non-blanked out start of rom (hack?) + +GAME(199?, m4take2, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Take Two (Barcrest) (MPU4) (TTO 1.2)",GAME_FLAGS ) +// not using standard protection, hack? +GAME(199?, m4take2a, m4take2, mod2_bootleg_fixedret<0x11>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Take Two (Barcrest) (MPU4) (TTO 1.1) (set 1)",GAME_FLAGS ) +GAME(199?, m4t266, m4take2, mod2_bootleg_fixedret<0x11>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Take Two (Barcrest) (MPU4) (TTO 1.1) (set 2)",GAME_FLAGS ) + +GAME(199?, m4pont, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Pontoon Club (Barcrest) (MPU4) (PON 3.0)",GAME_FLAGS ) // set stake to boot +GAME(199?, m4ponta, m4pont, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Pontoon Club (Barcrest) (MPU4) (PON 4.0)",GAME_FLAGS )// ^^ + +GAME(199?, m4loadmn, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Loads A Money (Barcrest) (MPU4) (LA 1.0)",GAME_FLAGS ) +GAME(199?, m4loadmna, m4loadmn, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Loads A Money (Barcrest) (MPU4) (LA 1.1, set 1)",GAME_FLAGS ) +GAME(199?, m4loadmnb, m4loadmn, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Loads A Money (Barcrest) (MPU4) (LA 1.1, set 2)",GAME_FLAGS ) + +GAME(199?, m4celclb, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Celebration Club (Barcrest) (MPU4) (CEL 1.5)",GAME_FLAGS ) // set stake + +GAME(199?, m4centpt, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Centrepoint (Barcrest) (MPU4) (DU 1.3)",GAME_FLAGS ) + +GAME(199?, m4clbcls, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Club Classic (Barcrest) (MPU4) (CI 1.1)",GAME_FLAGS ) // set stake (still moans tho) + +GAME(199?, m4c999, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (CLN 4.0 V)",GAME_FLAGS ) +// these are bootlegs with non-standard protection +GAME(199?, m4c999a, m4c999, mod2_bootleg_fixedret<0x51>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Cloud 999 (Barcrest) (bootleg) (MPU4) (CLN 3.6)",GAME_FLAGS ) +GAME(199?, m4c999b, m4c999, mod2_bootleg_fixedret<0x51>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Cloud 999 (Barcrest) (bootleg) (MPU4) (CLN 3.0)",GAME_FLAGS ) +GAME(199?, m4c999c, m4c999, mod2_bootleg_fixedret<0x80>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Cloud 999 (Barcrest) (bootleg) (MPU4) (OC9 0.3, set 1)",GAME_FLAGS ) +GAME(199?, m4c999d, m4c999, mod2_bootleg_fixedret<0x9a>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Cloud 999 (Barcrest) (bootleg) (MPU4) (OC9 0.3, set 2)",GAME_FLAGS ) -GAME(199?, m4toptak, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Top Take (Barcrest) (MPU4)",GAME_FLAGS ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) -GAME(199?, m4tribnk, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Triple Bank (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) - -GAME(199?, m4tupen, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Tuppenny Cracker (Barcrest - Bootleg) (MPU4)",GAME_FLAGS ) - -GAME(199?, m421, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Twenty One (Barcrest) (MPU4)",GAME_FLAGS ) // reel issues - -GAMEL(199?, m4alpha, 0, mod2, mpu4, mpu4_state, init_m4alpha, ROT0, "Barcrest","Alphabet (Barcrest) [A4B 1.0] (MPU4)",GAME_FLAGS, layout_m4alpha ) - -GAME(199?, m4bnknot, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Bank A Note (Barcrest) [BN 1.0] (MPU4)",GAME_FLAGS ) - -GAME(199?, m4bjack, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Black Jack (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4bjacka, m4bjack, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Black Jack (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) - -GAME(199?, m4bjsm, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Blackjack Super Multi (Barcrest) (MPU4) (SM H)",GAME_FLAGS ) // reel issues -GAME(199?, m4bjsma, m4bjsm, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Blackjack Super Multi (Barcrest) (MPU4)",GAME_FLAGS ) // complains about battery, is this a different game? - -GAME(199?, m4blstbk, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Blast A Bank (Barcrest) (MPU4)",GAME_FLAGS ) - -GAME(198?, m4supsl, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest", "Supa Silva (Barcrest) (MPU4)",GAME_FLAGS ) - -GAME(199?, m4wayin, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Way In (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4wayina, m4wayin, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Way In (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) // bad chr - - -/* Bwb */ - -GAME(199?, m4flshlt, 0, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4flshlta, m4flshlt, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4flshltb, m4flshlt, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4flshltc, m4flshlt, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 4)",GAME_FLAGS ) -GAME(199?, m4flshltd, m4flshlt, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 5)",GAME_FLAGS ) -GAME(199?, m4flshlte, m4flshlt, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 6)",GAME_FLAGS ) -GAME(199?, m4flshltf, m4flshlt, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 7)",GAME_FLAGS ) -GAME(199?, m4flshltg, m4flshlt, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 8)",GAME_FLAGS ) - -GAME(199?, m4blflsh, 0, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4blflsha, m4blflsh, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4blflshb, m4blflsh, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4blflshc, m4blflsh, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 4)",GAME_FLAGS ) -GAME(199?, m4blflshd, m4blflsh, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 5)",GAME_FLAGS ) -GAME(199?, m4blflshe, m4blflsh, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 6)",GAME_FLAGS ) - -/* Pcp */ - -GAME(199?, m4cshino, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Cashino Deluxe (Pcp) (MPU4)",GAME_FLAGS ) // runs, but no lamps or other display.. - -GAME(199?, m4jjc, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Jumping Jack Cash (Pcp) (MPU4) (set 1)",GAME_FLAGS ) // runs, but no lamps or other display.. -GAME(199?, m4jjca, m4jjc, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Jumping Jack Cash (Pcp) (MPU4) (set 2)",GAME_FLAGS ) // runs, but no lamps or other display.. - -GAME(199?, m4spton, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Spot On (Pcp) (MPU4)",GAME_FLAGS ) // runs, but no lamps or other display.. - -GAME(199?, m4exlin, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Extra Lines (Pcp) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4exlina, m4exlin, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Extra Lines (Pcp) (MPU4) (set 2)",GAME_FLAGS ) - -GAME(199?, m4supjst, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4supjsta, m4supjst, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4supjstb, m4supjst, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4supjstc, m4supjst, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 4)",GAME_FLAGS ) -GAME(199?, m4supjstd, m4supjst, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 5)",GAME_FLAGS ) -GAME(199?, m4supjste, m4supjst, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 6)",GAME_FLAGS ) - -GAME(199?, m4frcrak, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Pcp","Fruit Cracker (Pcp) (MPU4)",GAME_FLAGS ) - -/* Misc */ - -GAME(199?, m4spnwin, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Cotswold Microsystems","Spin A Win (Cotswold Microsystems) (MPU4) (set 1)",GAME_FLAGS ) // works? -GAME(199?, m4spnwina, m4spnwin, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Cotswold Microsystems","Spin A Win (Cotswold Microsystems) (MPU4) (set 2)",GAME_FLAGS ) - -GAME(199?, m4pick, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "JPM","Pick A Fruit (JPM) (MPU4)",GAME_FLAGS ) - -GAMEL(1989?, m4conn4, 0, mod2, connect4, mpu4_state, init_connect4, ROT0, "Dolbeck Systems","Connect 4",MACHINE_IMPERFECT_GRAPHICS|MACHINE_REQUIRES_ARTWORK,layout_connect4 ) - -GAME(199?, m4ttak, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "","Tic Tac Take (unknown) (MPU4)",GAME_FLAGS ) - -GAME(199?, m4actbnka, m4actbnk, mod2, mpu4jackpot8tkn, mpu4_state, init_m4default, ROT0, "Barcrest","Action Bank (Barcrest) (Mod 2 type, AC3.0) (MPU4)",GAME_FLAGS ) // set jackpot key to 8GBP TOKEN & stake key -GAME(199?, m4actbnkb, m4actbnk, mod2, mpu4jackpot8tkn, mpu4_state, init_m4default, ROT0, "Barcrest","Action Bank (Barcrest) (Mod 2 type, ACT2.0) (MPU4)",GAME_FLAGS ) - -GAMEL(199?, m4actclb, 0, mod2, mpu4, mpu4_state, init_m4actclb, ROT0, "Barcrest","Action Club (Barcrest) (MPU4) (1.9)",GAME_FLAGS, layout_m4actclb ) // set stake to boot -GAMEL(199?, m4actclba,m4actclb, mod2, mpu4, mpu4_state, init_m4actclb, ROT0, "Barcrest","Action Club (Barcrest) (MPU4) (1.1)",GAME_FLAGS, layout_m4actclb ) // ^^ - -GAME(199?, m4bluemn, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Blue Moon (Barcrest) (MPU4) (BLU 2.3)",GAME_FLAGS ) -GAME(199?, m4bluemna, m4bluemn, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Blue Moon (Barcrest) (MPU4) (BLU 2.1)",GAME_FLAGS ) -GAME(199?, m4bluemnb, m4bluemn, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Blue Moon (Barcrest) (MPU4) (BLU 1.1)",GAME_FLAGS ) // bad chr, non-blanked out start of rom (hack?) - -GAME(199?, m4take2, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Take Two (Barcrest) (MPU4) (TTO 1.2)",GAME_FLAGS ) -GAME(199?, m4take2a, m4take2, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Take Two (Barcrest) (MPU4) (TTO 1.1)",GAME_FLAGS ) // bad chr, non-blanked out start of rom (hack?) - -GAME(199?, m4pont, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Pontoon Club (Barcrest) (MPU4) (PON 3.0)",GAME_FLAGS ) // set stake to boot -GAME(199?, m4ponta, m4pont, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Pontoon Club (Barcrest) (MPU4) (PON 4.0)",GAME_FLAGS )// ^^ - -GAME(199?, m4loadmn, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Loads A Money (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4loadmna, m4loadmn, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Loads A Money (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4loadmnb, m4loadmn, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Loads A Money (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) - -GAME(199?, m4celclb, 0, mod2, mpu4, mpu4_state, init_m_ccelbr, ROT0, "Barcrest","Celebration Club (Barcrest) (MPU4)",GAME_FLAGS ) // set stake - -GAME(199?, m4centpt, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Centrepoint (Barcrest) (v1.3) (MPU4)",GAME_FLAGS ) -GAME(199?, m4centpta, m4centpt, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Centrepoint (Barcrest) (v1.5) (MPU4)",GAME_FLAGS ) - -GAME(199?, m4clbcls, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Club Classic (Barcrest) (MPU4)",GAME_FLAGS ) // set stake (still moans tho) - -// OC9 (on cloud 9?) -GAME(199?, m4c999, 0, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (OC9 0.3, set 1)",GAME_FLAGS ) -GAME(199?, m4c999a, m4c999, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (OC9 0.3, set 2)",GAME_FLAGS ) -// make sure these are the same -GAME(199?, m4c999b, m4c999, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (CLN 3.6)",GAME_FLAGS ) // bad chr -GAME(199?, m4c999c, m4c999, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4) (CLN 3.0)",GAME_FLAGS ) // bad chr +// "(C)1993 B.W.B." and "SC9 5.0" +GAME_CUSTOM( 199?, m4c999g, m4c999, "c9o20__1.1", 0x0000, 0x010000, CRC(e05fa532) SHA1(63d070416a4e6979302901bb33e20c994cb3723e), "Bwb","Cloud 999 (Barcrest) (MPU4) (SC9 5.0)" ) +GAME_CUSTOM( 199?, m4c999h, m4c999, "c9o20d_1.1", 0x0000, 0x010000, CRC(047b2d83) SHA1(b83f8fe6477226ef3e75f406020ea4f8b3d55c32), "Bwb","Cloud 999 (Barcrest) (MPU4) (SC9 5.0 D)" ) +// no copyright string and "SC9 1.0" (hack or early Bwb set?) (still expects regular CHR protection) +GAME_CUSTOM( 199?, m4c999i, m4c999, "c9o02__1.1", 0x0000, 0x010000, CRC(109f7040) SHA1(3fe9da13d9746e1cdaf6dcd539e4af624d2cec71), "hack?","Cloud 999 (Barcrest) (MPU4) (SC9 1.0, hack?, set 1)" ) +GAME_CUSTOM( 199?, m4c999j, m4c999, "c9o05__1.1", 0x0000, 0x010000, CRC(2c821aa8) SHA1(33fba7dea0f66e7b0251971864d5a2923f96f8cd), "hack?","Cloud 999 (Barcrest) (MPU4) (SC9 1.0, hack?, set 2)" ) +GAME_CUSTOM( 199?, m4c999e, m4c999, "c9o10__1.1", 0x0000, 0x010000, CRC(c5063185) SHA1(ca98038ccd85ebc370cacce8583ddbc1f759558d), "hack?","Cloud 999 (Barcrest) (MPU4) (SC9 1.0, hack?, set 3)" ) +GAME_CUSTOM( 199?, m4c999f, m4c999, "c9o10d_1.1", 0x0000, 0x010000, CRC(6b20b16d) SHA1(15079fc5f14f545c291d357a795e6b41ca1d5a47), "hack?","Cloud 999 (Barcrest) (MPU4) (SC9 1.0, hack?, set 4)" ) // doesn't have 'D' set but is a dataport set // GEEN TUBES (press Q to open door and 'W' to play anyway, as long as the game works and doesn't report reel errors) -GAME(199?, m4ambass, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Ambassador (Barcrest) (DAM, Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4atlan, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Atlantis (Barcrest) (DAT, Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4tridic, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Triple Dice (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) // == Atlantis -GAME(199?, m4bjc, 0, mod2, mpu4, mpu4_state, init_m4default_alt, ROT0, "Barcrest","Black Jack Club (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4exprs, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Express (Barcrest) (DXP, Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4brdway, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Broadway (Barcrest) (DBR, Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4bigbn, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Big Ben (Barcrest) (DBB, Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4cheryo, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Cherryo (Barcrest) (DCH, Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4giant, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Giant (Barcrest) (DGI, Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4holdon, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Hold On (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4libty, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Liberty (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4meglnk, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Megalink (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4multwy, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Multiway (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4num1, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Number One (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4nudup, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Nudge Up (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4omega, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Omega (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4randr, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Random Roulette (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4samu, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Samurai (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4stards, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Stardust (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4tbreel, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Turbo Reel (Barcrest) (Dutch) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4tbrldx, m4tbreel, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Turbo Reel (Barcrest) (Dutch) (MPU4) (set 3, Deluxe?)",GAME_FLAGS ) -GAME(199?, m4taj, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Taj Mahal (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4tricol, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Tricolor (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4twilgt, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Twilight (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) -GAME(199?, m4wildms, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Wild Mystery (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) +GAME(199?, m4ambass, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Ambassador (Barcrest) (Dutch) (MPU4) (DAM 3.7)",GAME_FLAGS ) + +GAME(199?, m4atlan, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Atlantis (Barcrest) (Dutch) (MPU4) (DAT 1.4)",GAME_FLAGS ) +GAME(199?, m4tridic, m4atlan, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Triple Dice (Barcrest) (Dutch) (MPU4) (DAT 1.4)",GAME_FLAGS ) // == Atlantis + +GAME(199?, m4bjc, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default_alt, ROT0, "Barcrest","Black Jack Club (Barcrest) (Dutch) (MPU4) (DBC 1.1)",GAME_FLAGS ) + +GAME(199?, m4exprs, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Express (Barcrest) (Dutch) (MPU4) (DXP 2.0)",GAME_FLAGS ) + +GAME(199?, m4brdway, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Broadway (Barcrest) (Dutch) (MPU4) (DBR 1.1)",GAME_FLAGS ) + +GAME(199?, m4bigbn, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Big Ben (Barcrest) (Dutch) (MPU4) (DBB 1.2)",GAME_FLAGS ) + +GAME(199?, m4cheryo, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Cherryo (Barcrest) (Dutch) (MPU4) (DCH 1.4)",GAME_FLAGS ) + +GAME(199?, m4giant, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Giant (Barcrest) (Dutch) (MPU4) (DGI 2.1)",GAME_FLAGS ) + +GAME(199?, m4holdon, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Hold On (Barcrest) (Dutch) (MPU4) (DHO 2.5)",GAME_FLAGS ) + +GAME(199?, m4libty, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Liberty (Barcrest) (Dutch) (MPU4) (DLI 1.0)",GAME_FLAGS ) + +GAME(199?, m4meglnk, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Megalink (Barcrest) (Dutch) (MPU4) (DML 2.0)",GAME_FLAGS ) + +GAME(199?, m4multwy, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Multiway (Barcrest) (Dutch) (MPU4) (DMU 1.7)",GAME_FLAGS ) + +GAME(199?, m4num1, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Number One (Barcrest) (Dutch) (MPU4) (DNO 1.7)",GAME_FLAGS ) + +GAME(199?, m4nudup, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Nudge Up (Barcrest) (Dutch) (MPU4) (DNU 2.5)",GAME_FLAGS ) + +GAME(199?, m4omega, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Omega (Barcrest) (Dutch) (MPU4) (DOM 2.3)",GAME_FLAGS ) + +GAME(199?, m4randr, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Random Roulette (Barcrest) (Dutch) (MPU4) (DRR 2.2)",GAME_FLAGS ) + +GAME(199?, m4samu, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Samurai (Barcrest) (Dutch) (MPU4) (DSM 1.0)",GAME_FLAGS ) + +GAME(199?, m4stards, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Stardust (Barcrest) (Dutch) (MPU4) (DSD 1.3)",GAME_FLAGS ) + +GAME(199?, m4tbreel, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Turbo Reel (Barcrest) (Dutch) (MPU4) (DTR 3.1)",GAME_FLAGS ) + +GAME(199?, m4tbrldx, m4tbreel, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Turbo Reel Deluxe (Barcrest) (Dutch) (MPU4) (DTU 3.0)",GAME_FLAGS ) + +GAME(199?, m4taj, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Taj Mahal (Barcrest) (Dutch) (MPU4) (DTM 1.0)",GAME_FLAGS ) + +GAME(199?, m4tricol, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Tricolor (Barcrest) (Dutch) (MPU4) (DTC 2.5)",GAME_FLAGS ) + +GAME(199?, m4twilgt, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Twilight (Barcrest) (Dutch) (MPU4) (DTL 2.2)",GAME_FLAGS ) + +GAME(199?, m4wildms, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Wild Mystery (Barcrest) (Dutch) (MPU4) (DWM 1.8)",GAME_FLAGS ) + // these all have reel issues, but test mode produces ay sounds -GAME(199?, m4suptrn, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Supatron (Barcrest) (MPU4)",GAME_FLAGS ) -GAME(199?, m4bjac, 0, mod2, mpu4, mpu4_state, init_m4default_alt, ROT0, "Barcrest","Blackjack Club (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4bjaca, m4bjac, mod2, mpu4, mpu4_state, init_m4default_alt, ROT0, "Barcrest","Blackjack Club (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m421club, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","21 Club (Barcrest) [DTW, Dutch] (MPU4)",GAME_FLAGS ) -GAME(199?, m4clbcnt, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Club Connect (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4clbcnta, m4clbcnt, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Club Connect (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4clbcntb, m4clbcnt, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Club Connect (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4clbcntc, m4clbcnt, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Club Connect (Barcrest) (MPU4) (set 4)",GAME_FLAGS ) -GAME(199?, m4clbcntd, m4clbcnt, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Club Connect (Barcrest) (MPU4) (set 5)",GAME_FLAGS ) -GAME(199?, m4class, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","First Class (Barcrest) [DFC, Dutch] (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4classa, m4class, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","First Class (Barcrest) [DFC, Dutch] (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4frtfl, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Fruit Full (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4frtfla, m4frtfl, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Fruit Full (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4frtflc, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Fruit Full Club (Barcrest) (MPU4)",GAME_FLAGS ) -GAME(199?, m4frtlnk, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Fruit Link Club (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4frtlnka, m4frtlnk, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Fruit Link Club (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4thehit, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","The Hit (Barcrest) (MPU4)",GAME_FLAGS ) -GAME(199?, m4jpjmp, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Jackpot Jump (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4jpjmpa, m4jpjmp, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Jackpot Jump (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4milclb, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Millionaire's Club (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4milclba, m4milclb, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Millionaire's Club (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4milclbb, m4milclb, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Millionaire's Club (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4milclbc, m4milclb, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Millionaire's Club (Barcrest) (MPU4) (set 4)",GAME_FLAGS ) -GAME(199?, m4milclbd, m4milclb, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Millionaire's Club (Barcrest) (MPU4) (set 5)",GAME_FLAGS ) -GAME(199?, m4bigchd, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Big Chief (Barcrest) [BCH, Dutch] (MPU4)",GAME_FLAGS ) // why code BCH on a dutch? +// REEL D ALARM +GAME(199?, m4suptrn, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Supatron (Barcrest) (MPU4) (DSU 2.1)",GAME_FLAGS ) + +// REEL A ALARM +GAME(199?, m4bjac, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default_alt, ROT0, "Barcrest","Blackjack Club (Barcrest) (MPU4) (C2J 1.8)",GAME_FLAGS ) +GAME(199?, m4bjaca, m4bjac, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default_alt, ROT0, "Barcrest","Blackjack Club (Barcrest) (MPU4) (C2J 2.1)",GAME_FLAGS ) + +// REEL D ALARM +GAME(199?, m421club, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","21 Club (Barcrest) (Dutch) (MPU4) (DTW 2.7)",GAME_FLAGS ) + +// REEL A ALARM +GAME(199?, m4clbcnt, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Club Connect (Barcrest) (MPU4) (CON 1.2)",GAME_FLAGS ) +GAME(199?, m4clbcnta, m4clbcnt, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Club Connect (Barcrest) (MPU4) (CON 1.0)",GAME_FLAGS ) +GAME(199?, m4clbcntb, m4clbcnt, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Club Connect (Barcrest) (MPU4) (CON 1.1)",GAME_FLAGS ) +GAME(199?, m4clbcntc, m4clbcnt, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Club Connect (Barcrest) (MPU4) (CON 1.5, set 1)",GAME_FLAGS ) +GAME(199?, m4clbcntd, m4clbcnt, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Club Connect (Barcrest) (MPU4) (CON 1.5, set 2)",GAME_FLAGS ) + +// REEL D ALARM +GAME(199?, m4class, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","First Class (Barcrest) (Dutch) (MPU4) (DFC 2.0, set 1)",GAME_FLAGS ) +// INITIALIZE COMMS, before any prot sequence +GAME(199?, m4classa, m4class, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","First Class (Barcrest) (Dutch) (MPU4) (DFC 2.0, set 2)",GAME_FLAGS ) + +// REEL A ALARM +GAME(199?, m4frtfl, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Fruit Full Club (Barcrest) (MPU4) (FFC 0.3)",GAME_FLAGS ) +GAME(199?, m4frtfla, m4frtfl, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Fruit Full Club (Barcrest) (MPU4) (FFC 1.0)",GAME_FLAGS ) +GAME(199?, m4frtflc, m4frtfl, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Fruit Full Club (Barcrest) (MPU4) (FFC 1.2)",GAME_FLAGS ) + +// REEL A ALARM +GAME(199?, m4frtlnk, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Fruit Link Club (Barcrest) (MPU4) (FLC 1.8, set 1)",GAME_FLAGS ) +GAME(199?, m4frtlnka, m4frtlnk, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Fruit Link Club (Barcrest) (MPU4) (FLC 1.6, set 2)",GAME_FLAGS ) + +// REEL D ALARM +GAME(199?, m4thehit, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","The Hit (Barcrest) (MPU4) (DTH 1.7)",GAME_FLAGS ) + +// REEL A ALARM +GAME(199?, m4jpjmp, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Jackpot Jump (Barcrest) (MPU4) (VJC 2.0)",GAME_FLAGS ) +GAME(199?, m4jpjmpa, m4jpjmp, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Jackpot Jump (Barcrest) (MPU4) (VJC 1.3)",GAME_FLAGS ) + +// REEL A ALARM +GAME(199?, m4milclb, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Millionaire's Club (Barcrest) (MPU4) (MI2 1.0, set 1)",GAME_FLAGS ) +GAME(199?, m4milclba, m4milclb, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Millionaire's Club (Barcrest) (MPU4) (MI2 1.0, set 2)",GAME_FLAGS ) +GAME(199?, m4milclbb, m4milclb, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Millionaire's Club (Barcrest) (MPU4) (MI2 1.0, set 3)",GAME_FLAGS ) +GAME(199?, m4milclbc, m4milclb, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Millionaire's Club (Barcrest) (MPU4) (MIL 5.0, set 1)",GAME_FLAGS ) +GAME(199?, m4milclbd, m4milclb, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Millionaire's Club (Barcrest) (MPU4) (MIL 5.0, set 2)",GAME_FLAGS ) + +// boots but no coins? +GAME(199?, m4bigchd, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Big Chief (Barcrest) (Dutch) (MPU4) (BCH 1.5)",GAME_FLAGS ) // why code BCH on a dutch? + +// boots with percent key +GAME(199?, m4dbl9, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Double 9's (Barcrest) (MPU4) (DU9 1.0)",GAME_FLAGS ) +// non-standard chr use, hack? +GAME(199?, m4dbl9a, m4dbl9, mod2_bootleg_fixedret<0x51>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Double 9's (Barcrest) (bootleg) (MPU4) (DU9 0.2)",GAME_FLAGS ) + +GAME(199?, m4nick, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Nickelodeon (Barcrest) (MPU4) (NIL 4.1, set 1)",GAME_FLAGS ) +GAME(199?, m4nicka, m4nick, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Nickelodeon (Barcrest) (MPU4) (NIL 4.1, set 2)",GAME_FLAGS ) +GAME(199?, m4nickb, m4nick, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Nickelodeon (Barcrest) (MPU4) (NIL 4.1, set 3)",GAME_FLAGS ) +GAME(199?, m4nickc, m4nick, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Nickelodeon (Barcrest) (MPU4) (NIL 4.1, set 4)",GAME_FLAGS ) +GAME(199?, m4nickd, m4nick, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Nickelodeon (Barcrest) (MPU4) (NIL 4.1, set 5)",GAME_FLAGS ) +// non-standard protection, hack? +GAME(199?, m4nicke, m4nick, mod2_bootleg_fixedret<0x1b>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Nickelodeon (Barcrest) (bootleg) (MPU4) (NIL 2.5)",GAME_FLAGS ) + +GAME(199?, m4joljok, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Jolly Joker (Barcrest) (MPU4) (JOJ 1.6)",GAME_FLAGS ) +// non-standard protection +GAME(199?, m4unkjok, m4joljok, mod2_bootleg_fixedret<0x9a>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Jolly Joker (Barcrest) (MPU4) (bootleg) (JJ1 0.1, set 1)",GAME_FLAGS ) +GAME(199?, m4unkjoka, m4joljok, mod2_bootleg_fixedret<0x9a>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Jolly Joker (Barcrest) (MPU4) (bootleg) (JJ1 0.1. set 2)",GAME_FLAGS ) + +GAME(199?, m4joltav, 0, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Jolly Taverner (Barcrest) (MPU4) (TAV 1.3)",GAME_FLAGS ) +// +GAME(199?, m4joltava, m4joltav, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Jolly Taverner (Barcrest) (MPU4) (JT__ 2.0, set 1)",GAME_FLAGS ) +GAME(199?, m4joltavb, m4joltav, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Barcrest","Jolly Taverner (Barcrest) (MPU4) (JT__ 2.0, set 2)",GAME_FLAGS ) + +GAME(199?, m4unkjokb, m4joltav, mod2_bootleg_fixedret<0x11>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Jolly Taverner (Barcrest) (bootleg) (MPU4) (TAV 1.1, set 1)",GAME_FLAGS ) // bad chr +GAME(199?, m4unkjokc, m4joltav, mod2_bootleg_fixedret<0x11>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Jolly Taverner (Barcrest) (bootleg) (MPU4) (TAV 1.1, set 2)",GAME_FLAGS ) // bad chr + +// this has a 'tri98' protection sequence check in ROM, but the code appears to have been hacked to expect a different response. +GAME(199?, m4btclok, 0, mod2_bootleg_fixedret<0x45>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Beat The Clock (Barcrest) (bootleg) (MPU4)",GAME_FLAGS ) + +// protection has been hacked +GAME(199?, m4brktak, 0, mod2_bootleg_fixedret<0x45>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Break & Take (Barcrest) (bootleg) (MPU4)",GAME_FLAGS ) + +// these were found in with mod4oki sets, but don't attempt to play samples, only use the AY + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1991 BARCREST" and "NN3 0.1" +GAME_CUSTOM( 199?, m4nnww2, 0, "nn3xs.p1", 0x0000, 0x010000, CRC(13d02d21) SHA1(8e4dac8e60538884d3f3a92fc1bb9f41276be4c8), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NN3 0.1 X)" ) +GAME_CUSTOM( 199?, m4nnww2__a, m4nnww2, "nn3xad.p1", 0x0000, 0x010000, CRC(8ccfceb8) SHA1(762ab26826d3d2a4dd7999a71724389344e9dafb), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NN3 0.1 XAD)" ) +GAME_CUSTOM( 199?, m4nnww2__b, m4nnww2, "nn3xb.p1", 0x0000, 0x010000, CRC(9b0dd473) SHA1(9975dafea8c7d6ccfc9f826adb1a0d3d0ed9740a), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NN3 0.1 BX)" ) +GAME_CUSTOM( 199?, m4nnww2__c, m4nnww2, "nn3xbd.p1", 0x0000, 0x010000, CRC(21bf4a89) SHA1(200c9ccc4bc2a93fcd0f68bb00ad4391bdeecda1), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NN3 0.1 BXD)" ) +GAME_CUSTOM( 199?, m4nnww2__d, m4nnww2, "nn3xd.p1", 0x0000, 0x010000, CRC(11e22c45) SHA1(6da31eea7b25612d99cc79f6f9579622f105c862), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NN3 0.1 XD)" ) +GAME_CUSTOM( 199?, m4nnww2__e, m4nnww2, "nn3xdk.p1", 0x0000, 0x010000, CRC(0f4642c6) SHA1(53a0b8bc102c2b1c0db71887470b70852b09a4e9), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NN3 0.1 KXD)" ) +GAME_CUSTOM( 199?, m4nnww2__f, m4nnww2, "nn3xdy.p1", 0x0000, 0x010000, CRC(ba3c1cf0) SHA1(ab94227018c3f9173e6a648749d455afd1ed36ce), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NN3 0.1 YXD)" ) +GAME_CUSTOM( 199?, m4nnww2__g, m4nnww2, "nn3xk.p1", 0x0000, 0x010000, CRC(ec3a9831) SHA1(0b3ba86faf39cf3a1e42cb1c31fd2c50c24d65dc), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NN3 0.1 KX)" ) +GAME_CUSTOM( 199?, m4nnww2__h, m4nnww2, "nn3xr.p1", 0x0000, 0x010000, CRC(6416481c) SHA1(b06ed4964d9cbf403905504ac68abdab53131476), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NN3 0.1 RX)" ) +GAME_CUSTOM( 199?, m4nnww2__i, m4nnww2, "nn3xrd.p1", 0x0000, 0x010000, CRC(0fd3f9b9) SHA1(99115b217cfc54b52469ffc77e7a7592907c53ea), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NN3 0.1 RD)" ) // X not set here +GAME_CUSTOM( 199?, m4nnww2__j, m4nnww2, "nn3xy.p1", 0x0000, 0x010000, CRC(8a5d0f4b) SHA1(ef727e7ee8bb20d1b201927186a1a4f83e1e7497), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NN3 0.1 YX)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod2_cheatchr_pal, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1991 BARCREST" and "NNU 5.2" +GAME_CUSTOM( 199?, m4nnww2__k, m4nnww2, "nnus.p1", 0x0000, 0x010000, CRC(3e3a829e) SHA1(5aa3a56e007bad4dacdc3c993c87569e4250eecd), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NNU 5.2)" ) +GAME_CUSTOM( 199?, m4nnww2__l, m4nnww2, "nnux.p1", 0x0000, 0x010000, CRC(38806ebf) SHA1(a897a33e3260de1b284b01a65d1da7cbe05d51f8), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NNU 5.2 X)" ) +GAME_CUSTOM( 199?, m4nnww2__m, m4nnww2, "nnuxb.p1", 0x0000, 0x010000, CRC(c4dba8df) SHA1(0f8516cc9b2f0be9d1c936667974cd8116018dad), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NNU 5.2 BX)" ) +GAME_CUSTOM( 199?, m4nnww2__n, m4nnww2, "nnuxc.p1", 0x0000, 0x010000, CRC(797e0c4d) SHA1(211b0a804643731275d0075461f8d94985fde1db), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NNU 5.2 CX)" ) +// "(C)1991 BARCREST" and "NNU 4.0" +GAME_CUSTOM( 199?, m4nnww2__o, m4nnww2, "nnu40x.bin", 0x0000, 0x010000, CRC(63e3d7df) SHA1(1a5a00185ec5150f5b05765f06297d7884540aaf), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NNU 4.0 X)" ) -GAME(199?, m4dbl9, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Double 9's (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4dbl9a, m4dbl9, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Double 9's (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( 0x10000, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME( year, setname, parent, mod2_bootleg_fixedret<0x06>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) -GAME(199?, m4nick, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Nickelodeon (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4nicka, m4nick, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Nickelodeon (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4nickb, m4nick, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Nickelodeon (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) -GAME(199?, m4nickc, m4nick, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Nickelodeon (Barcrest) (MPU4) (set 4)",GAME_FLAGS ) -GAME(199?, m4nickd, m4nick, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Nickelodeon (Barcrest) (MPU4) (set 5)",GAME_FLAGS ) -GAME(199?, m4nicke, m4nick, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Nickelodeon (Barcrest) (MPU4) (set 6)",GAME_FLAGS ) +// no copyright string and "NNU 5.0" +GAME_CUSTOM( 199?, m4nnww2__hx3, m4nnww2, "classic adders + ladders_alt", 0x0000, 0x010000, CRC(ac948903) SHA1(e07023efd7722a661a2bbf93c0a168af70ad6c20), "hack","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NNU 5.0, hack, set 1)") +GAME_CUSTOM( 199?, m4nnww2__hx4, m4nnww2, "classic adders + ladders_alt2", 0x0000, 0x010000, CRC(843ed53d) SHA1(b1dff249df37800744e3fc9c32be20a62bd130a1), "hack","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NNU 5.0, hack, set 2)") -GAME(199?, m4joljok, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Jolly Joker (Barcrest) (MPU4)",GAME_FLAGS ) -GAME(199?, m4joltav, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Jolly Taverner (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) -GAME(199?, m4joltava, m4joltav, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Jolly Taverner (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) -GAME(199?, m4joltavb, m4joltav, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Jolly Taverner (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( 0x10000, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME( year, setname, parent, mod4yam, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS) + +// fails to boot even without touching protection address, maybe bad? These were in 'adders + ladders' sets but are clearly not +GAME_CUSTOM( 199?, m4nnww2__hx5, m4nnww2, "nik56c", 0x0000, 0x010000, CRC(05fa11d1) SHA1(01d3d0c504489f1513a0c3aa26e910c9604f5366), "hack","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NNU 5.0, hack, set 3)") + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( 0x10000, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME( year, setname, parent, mod2_bootleg_fixedret<0x0e>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS) + +// different protection +// no copyright string and "NNU 3.4" +GAME_CUSTOM( 199?, m4nnww2__hx1, m4nnww2, "nnww2010", 0x0000, 0x010000, CRC(67b1c7b5) SHA1(495e25bc2051ab78e473cd0c36e0c1825c06db14), "hack","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NNU 3.4, hack, set 1)" ) +GAME_CUSTOM( 199?, m4nnww2__hx2, m4nnww2, "wink2010", 0x0000, 0x010000, CRC(056a2ffa) SHA1(9da96d70ff850b6672ae7009253e179fa7159db4), "hack","Nudge Nudge Wink Wink (Barcrest) (MPU4, Mod2 type) (NNU 3.4, hack, set 2)" ) + + +ROM_START( m4holywd ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "hollywood 5p.bin", 0x0000, 0x010000, CRC(fb4ebb6e) SHA1(1ccfa81c173011ce70640097c85b532fd44f5a6e) ) +ROM_END + +// non-standard protection, makes some invalid writes +GAME(199?, m4holywd, 0, mod2_bootleg_fixedret<0xd0>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg?","Hollywood (bootleg) (MPU4) (HOL 1.0)",GAME_FLAGS ) + + +/********************************************************************************************************* + + unknown 'RED' + +*********************************************************************************************************/ + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod2_bootleg_fixedret<0x13>, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + + +// no copyright string in header, although 1988 BARCREST string exists elsewhere +// RED 0.4, different protection?, hack, might be a different game, has touchscreen related strings? +GAME_CUSTOM( 199?, m4redunk, 0, "redx_20_.8", 0x0000, 0x010000, CRC(b5e8dec5) SHA1(74777ed7f78ef7cc615beadf097380569832a75a), "bootleg","unknown Barcrest MPU4 'RED 0.4' (MPU4) (bootleg)" ) + + +/********************************************************************************************************* + + Sets below have different protection, are they bootlegs? + + Some sources credit a game called Blast-a-Bank to Carfield, is this it? + + Apart from the protection they do appear to be build off a Barcrest codebase + +*********************************************************************************************************/ + +// different protection, call/response check with 6 possible values +GAME(199?, m4blstbk, 0, mod2_chr_blastbnk, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg?","Blast A Bank (MPU4) (BB 1.0)",GAME_FLAGS ) + +// different protection, call/response check with 6 possible values +GAME(199?, m4copcsh, 0, mod2_chr_copcash, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "bootleg","Coppa Cash (MPU4) (FC 2.0)",GAME_FLAGS ) + + + +/********************************************************************************************************* + + Sets below are NOT based on Barcrest code, and don't have Characteriser protection etc. + +*********************************************************************************************************/ + +/* Pcp */ + +GAME(199?, m4cshino, 0, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Cashino Deluxe (Pcp) (MPU4)",GAME_FLAGS ) // runs, but no lamps or other display.. + +GAME(199?, m4jjc, 0, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Jumping Jack Cash (Pcp) (MPU4) (set 1)",GAME_FLAGS ) // runs, but no lamps or other display.. +GAME(199?, m4jjca, m4jjc, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Jumping Jack Cash (Pcp) (MPU4) (set 2)",GAME_FLAGS ) // runs, but no lamps or other display.. + +GAME(199?, m4spton, 0, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Spot On (Pcp) (MPU4)",GAME_FLAGS ) // runs, but no lamps or other display.. + +GAME(199?, m4exlin, 0, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Extra Lines (Pcp) (MPU4) (set 1)",GAME_FLAGS ) +GAME(199?, m4exlina, m4exlin, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Extra Lines (Pcp) (MPU4) (set 2)",GAME_FLAGS ) + +GAME(199?, m4supjst, 0, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 1)",GAME_FLAGS ) +GAME(199?, m4supjsta, m4supjst, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 2)",GAME_FLAGS ) +GAME(199?, m4supjstb, m4supjst, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 3)",GAME_FLAGS ) +GAME(199?, m4supjstc, m4supjst, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 4)",GAME_FLAGS ) +GAME(199?, m4supjstd, m4supjst, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 5)",GAME_FLAGS ) +GAME(199?, m4supjste, m4supjst, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 6)",GAME_FLAGS ) + +GAME(199?, m4frcrak, 0, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Fruit Cracker (Pcp) (MPU4)",GAME_FLAGS ) + +GAME(199?, m4clbrpl, 0, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Pcp","Club Replay (PCP) (MPU4) (01)",GAME_FLAGS ) + +/* Misc */ + +GAME(199?, m4spnwin, 0, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Cotswold Microsystems","Spin A Win (Cotswold Microsystems) (MPU4) (set 1)",GAME_FLAGS ) // works? +GAME(199?, m4spnwina, m4spnwin, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "Cotswold Microsystems","Spin A Win (Cotswold Microsystems) (MPU4) (set 2)",GAME_FLAGS ) + +GAME(199?, m4pick, 0, mod2_cheatchr, mpu4, mpu4mod2_machines_state, init_m4default, ROT0, "JPM","Pick A Fruit (JPM) (MPU4)",GAME_FLAGS ) + +GAMEL(1989?, m4conn4, 0, mod2_cheatchr, connect4, mpu4mod2_machines_state, init_connect4, ROT0, "Dolbeck Systems","Connect 4",MACHINE_IMPERFECT_GRAPHICS|MACHINE_REQUIRES_ARTWORK,layout_connect4 ) -// Bad CHR Alarm -GAME(199?, m4btclok, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Beat The Clock (Barcrest) (MPU4)",GAME_FLAGS ) -GAME(199?, m4brktak, 0, mod2, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Break & Take (Barcrest) (MPU4)",GAME_FLAGS ) diff --git a/src/mame/drivers/mpu4sw.cpp b/src/mame/drivers/mpu4mod4oki.cpp similarity index 63% rename from src/mame/drivers/mpu4sw.cpp rename to src/mame/drivers/mpu4mod4oki.cpp index 332d9327d4e..5916a9f9a63 100644 --- a/src/mame/drivers/mpu4sw.cpp +++ b/src/mame/drivers/mpu4mod4oki.cpp @@ -5,106 +5,182 @@ I'm trying to keep this file to official Barcrest / BwB rebuilds on mod4 hw (licensed versions and bootlegs also included) - */ + Currently in this file: + + Regular Machines + ------------ + + 10 X 10 + Action Bank + Andy Capp + Andy Capp (Dutch game) + Andy Loves Flo + Andy's Full House + Andy's Great Escape + Bagatelle + Berserk + Boulder Dash + Buccaneer + Cash Attack + Cash Encounters + Cash Lines + Cash Machine + Cloud Nine + Copy Cat + Cosmic Casinos + Dennis The Menace + Duty Free + Duty Free (Prize version) + Duty Free (Showcase version) + Everyone's A Winner + Fruit & Loot (Prize version) + Games Bond 006 + Give Us A Clue + Hi Jinx + High Roller (Prize version) + Hit The Top + Hot Rod + Jackpot Gems + Jackpot Gems (Classic) + Jewel In the Crown + Jolly Gems + Kings & Queens + Kings & Queens (Classic) + Let The Good Times Roll + Lucky Las Vegas + Lucky Las Vegas (Classic) + Lucky Strike + Lucky Strike Club + Luxor + Luxor (Prize version) + Mad House + Magnificent 7s + Make A Mint + New Hit the Top + Nudge Nudge Wink Wink (Classic) + Ooh Aah Dracula + Over The Moon + Place Your Bets + Pot Black + Prize Money + Prize Money (Showcase version) + Ready Steady Go + Red Hot Roll (Classic?) + Rich & Famous + Rich & Famous (Prize version) + Road Hog + Road Hog 2 - I'm Back + Rocket Money + Rocky Horror Show + Run For Your Money + Run For Your Money (Prize Version) + Squids In + Super Streak (Classic) + Take Your Pick + Ten Out Of Ten + Ten Ten Do It Again + The Crystal Dome + The Crystal Maze + The Crystal Maze (Showcase version) + The Streak + Tic Tac Toe + Tic Tac Toe (Classic) + Tic Tac Toe (Gold) + Top Dog + Top Tenner + Tutti Fruity + Up Up and Away + Vegas Strip + Viva Espana + Viva Espana (Prize version) + Viva Espana (Showcase versino) + Viz + What's On (Prize version) + Winner Takes All + Winner Takes All (Prize version) + + Club Machines + ------------ + club machines have 4 reels and different gameplay compared to non-club machines + + Andy's Big Time Club + Bank Roller Club + Calamari Club + Double Diamond Club + Red Hot Roll Club + Road Hog Club + Super Blackjack Club + Take Your Pick Club -/* many sets have the BARCREST or BWB string at FFE0 replaced with other things - such at 'FATHER CHRISTMAS' are these hacked / bootlegs requiring special hw? + --------- - sets with 'D' in the ident code are Datapak sets, and do not play without a datapak connected - sets with 'Y' seem to require the % key to be set + many sets have the BARCREST or BWB string at FFE0 replaced with other things + such at 'FATHER CHRISTMAS' are these hacked / bootlegs requiring special hw? - some codes are only ever set on certain types of games, for example 'J' seems to only - be allowed for 'Prize' games (although isn't required) + sets with 'D' in the ident code are Datapak sets, and do not play without a datapak connected + sets with 'Y' seem to require the % key to be set - */ + some codes are only ever set on certain types of games, for example 'J' seems to only + be allowed for 'Prize' games (although isn't required) + + --------- + + Note for some bootlegs (Road Hog, Andy Capp + more?) + + These use different protection (these have both a startup check, and 2 checks after the reels have been initialized) + the first check (read at 814) must pass to avoid chr alarm? the 2nd check (usual chr address) must pass to avoid scrambled lamps + the 3rd check (usual chr address) must pass to not reboot? + if the 2nd check fails, the 3rd check never happens and the lamps just scramble. the value to pass the 3rd check is the same as required for the 2nd check? + the code looks more complex, so there could be other pitfalls with payout etc? + +*/ #include "emu.h" #include "includes/mpu4.h" -INPUT_PORTS_EXTERN( mpu4 ); -INPUT_PORTS_EXTERN( grtecp ); -INPUT_PORTS_EXTERN( mpu4jackpot8tkn ); -INPUT_PORTS_EXTERN( mpu4jackpot8per ); +namespace { + +class mpu4mod4oki_machines_state : public mpu4_state +{ +public: + + mpu4mod4oki_machines_state(const machine_config& mconfig, device_type type, const char* tag) : + mpu4_state(mconfig, type, tag) + { + } + + void init_m4andycp(); + + void init_m4andyge(); + + void init_m4tenten(); + + void init_m4andyfh(); + void init_m4actbnk(); + void init_m4andybt(); + + void init_thestreak() + { + init_m4default(); + init_m4_small_extender(); + } + +}; + #include "m4actbnk.lh" #include "m4andybt.lh" #include "m4andycp.lh" #include "m4andyfh.lh" #include "m4andyge.lh" -#include "m4addr.lh" #include "m4tenten.lh" -void mpu4_state::init_m4debug() -{ - // many original barcrest / bwb sets have identification info around here - // this helps with sorting - uint8_t *src = memregion( "maincpu" )->base(); - int size = memregion( "maincpu" )->bytes(); +} // anonymous namespace - // m4richfm__e only has 0x004000 - if (size < 0x10000) - return; - - for (int j=0;j0x10000) printf("\nblock 0x%06x:\n",j); - printf("\ncopyright string:\n"); - for (int i = 0xffe0; i<0xfff0; i++) - { - printf("%c", src[j+i]); - } - printf("\n\nidentification string:\n"); - for (int i = 0xff28; i<0xff30; i++) - { - printf("%c", src[j+i]); - } - printf("\n"); - - printf("flags ENABLED\n"); - for (int i = 0xff30; i<0xff9f; i+=2) - { - uint8_t enable = src[j+i+0]; - uint8_t letter = src[j+i+1]; - - if (enable == 0x00) - { - printf("%c", letter); - } - } - printf("\n"); - printf("flags DISABLED\n"); - for (int i = 0xff30; i<0xff9f; i+=2) - { - uint8_t enable = src[j+i+0]; - uint8_t letter = src[j+i+1]; - - if (enable == 0xff) - { - if (letter != 0xff) - printf("%c", letter); - } - } - printf("\n"); - - - } -} - -void mpu4_state::init_m4_showstring() -{ - init_m4default(); - init_m4debug(); -} - -void mpu4_state::init_m4_showstring_big() -{ - init_m4default_big(); - init_m4debug(); -} /* Explanation of automatically generated descriptions -void mpu4_state::init_PARENTNAME() +void mpu4mod4oki_machines_state::init_PARENTNAME() { //Derived from Andy_Capp_(Barcrest)_[C05_v1-0_1024_6jp].gam - MFME layout name used @@ -142,7 +218,14 @@ void mpu4_state::init_PARENTNAME() } */ -void mpu4_state::init_m4andycp() + +/***************************************************************************************************************************************************************************** +* +* Andy Capp +* +*****************************************************************************************************************************************************************************/ + +void mpu4mod4oki_machines_state::init_m4andycp() { //Derived from Andy_Capp_(Barcrest)_[C05_v1-0_1024_6jp].gam init_m4default(); @@ -176,114 +259,129 @@ void mpu4_state::init_m4andycp() //Front door code 39 Cash door code 38 } + #define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) +// The rom below has 2 bytes different compared to andsnd.bin, one is probably bad +// ROM_LOAD( "acapp1.bin", 0x000000, 0x080000, CRC(bda61fc6) SHA1(b94f39fa92d3d0cb580eaafa0f58bd5cde947e3a) ) + + + #define M4ANDYCP_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "ac.chr", 0x0000, 0x000048, CRC(87808826) SHA1(df0915a6f89295efcd10e6a06bfa3d3fe8fef160) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "acapp1.bin", 0x000000, 0x080000, CRC(bda61fc6) SHA1(b94f39fa92d3d0cb580eaafa0f58bd5cde947e3a) ) \ ROM_LOAD( "andsnd.bin", 0x000000, 0x080000, CRC(7d568671) SHA1(3a0a6af3dc980f2ccff0b6ef85833eb2e352031a) ) \ ROM_LOAD( "andsnd2.bin", 0x080000, 0x080000, CRC(98a586ee) SHA1(94b94d198725e8174e14873b99afa19217a1d4fa) ) + #undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( 0x10000, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4ANDYCP_EXTRA_ROMS \ ROM_END \ - GAMEL( year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4andycp, ROT0, company, title, GAME_FLAGS, layout_m4andycp ) + GAMEL( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS, layout_m4andycp ) + +// "(C)1991 BARCREST" and "C2T 0.2" +GAME_CUSTOM( 1991, m4andycpc2, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c2t02s.p1", 0x0000, 0x010000, CRC(d004f962) SHA1(1f211fd62438cb7c5d5f4ce9ced29a0a7e64e80b), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T, set 1)" ) +GAME_CUSTOM( 1991, m4andycpc2d, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c2t02d.p1", 0x0000, 0x010000, CRC(ce5bbf2e) SHA1(dab2a1015713ceb8dce8b766fc2660207fcbb9f2), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T D)" ) // datapak +GAME_CUSTOM( 1991, m4andycpc2ad, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c2t02ad.p1", 0x0000, 0x010000, CRC(38e36fe3) SHA1(01c007e21a6ac1a77bf314402d727c41b7a222ca), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T AD)" ) // datapak +GAME_CUSTOM( 1991, m4andycpc2b, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c2t02b.p1", 0x0000, 0x010000, CRC(f059a9dc) SHA1(0c5d5a4b108c85215b9d5f8c2263b66559cfa90a), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T B)" ) +GAME_CUSTOM( 1991, m4andycpc2bd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c2t02bd.p1", 0x0000, 0x010000, CRC(0eff02a9) SHA1(f460f93098630ac2757a560deb2e741ae9631a54), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T BD)" ) // datapak +GAME_CUSTOM( 1991, m4andycpc2r, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c2t02r.p1", 0x0000, 0x010000, CRC(6ccaf958) SHA1(8878e16d2c01131d36f211b3a73e987409f54ef9), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T R)" ) +GAME_CUSTOM( 1991, m4andycpc2rd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c2t02dr.p1", 0x0000, 0x010000, CRC(7daee156) SHA1(2ae03c39ca5704c112c9ec6acba46022f4dd9805), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T RD)" ) // datapak +GAME_CUSTOM( 1991, m4andycpc2k, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c2t02k.p1", 0x0000, 0x010000, CRC(077024e0) SHA1(80597f28891caa25506bb6bbc77a005623096ff9), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T K)" ) +GAME_CUSTOM( 1991, m4andycpc2kd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c2t02dk.p1", 0x0000, 0x010000, CRC(dc8c078e) SHA1(9dcde48d17a39dbe10333632eacc1f0860e165de), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T KD)" ) // datapak +GAME_CUSTOM( 1991, m4andycpc2y, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c2t02y.p1", 0x0000, 0x010000, CRC(f1a1d1b6) SHA1(d9ceedee3b833be8de5b065e45a72ca180283528), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T Y)" ) +GAME_CUSTOM( 1991, m4andycpc2yd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c2t02dy.p1", 0x0000, 0x010000, CRC(e0c5c9b8) SHA1(d067d4786ded041d8031808078eb2c0383937931), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T YD)" ) // datapak +// "(C)1991 BARCREST" and "C2T 0.1" +GAME_CUSTOM( 1991, m4andycpc2_a, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "acap2010", 0x0000, 0x010000, CRC(1b8e712b) SHA1(6770869966290fe6e61b7bf1971ab7a15e601d69), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T, set 2)" ) +// "(C)1991 BARCREST" and "C5T 0.1" +GAME_CUSTOM( 1991, m4andycpc5, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c5ts.p1", 0x0000, 0x010000, CRC(3ade4b1b) SHA1(c65d05e2493a0e2d6a4be58a42aac6cb7f9c01b5), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T)" ) +GAME_CUSTOM( 1991, m4andycpc5d, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c5td.p1", 0x0000, 0x010000, CRC(ab359cae) SHA1(f8ab817709e0eeb91a059cdef19df99c6286bf3f), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T D)" ) // datapak +GAME_CUSTOM( 1991, m4andycpc5ad, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c5tad.p1", 0x0000, 0x010000, CRC(dab92a37) SHA1(30297a7e1a995b76d8f955fd8a40efc914874e29), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T AD)" ) // datapak +GAME_CUSTOM( 1991, m4andycpc5b, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c5tb.p1", 0x0000, 0x010000, CRC(1a747871) SHA1(61eb026c2d35feade5cfecf609e99cd0c6d0693e), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T B)" ) +GAME_CUSTOM( 1991, m4andycpc5bd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c5tbd.p1", 0x0000, 0x010000, CRC(b0fb7c1c) SHA1(f5edf7685cc7015ac9791d35dde3fd284180660f), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T BD)" ) // datapak +GAME_CUSTOM( 1991, m4andycpc5k, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c5tk.p1", 0x0000, 0x010000, CRC(26a1d1f6) SHA1(c64763188dd0520c3f802863d36c84a476efef40), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T K)" ) +GAME_CUSTOM( 1991, m4andycpc5kd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c5tdk.p1", 0x0000, 0x010000, CRC(295976d6) SHA1(a506097e94d290f5b66f61c9979b0ae4f211bb0c), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T KD)" ) // datapak +GAME_CUSTOM( 1991, m4andycpc5y, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c5ty.p1", 0x0000, 0x010000, CRC(52953040) SHA1(65102c88e8766e07d268fe0267bc6731d8b3eeb3), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T Y)" ) // needs % key +GAME_CUSTOM( 1991, m4andycpc5yd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "c5tdy.p1", 0x0000, 0x010000, CRC(d9b4dc81) SHA1(e7b7a5f9b1ad348444d5403df2bf16b829364d33), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T YD)" ) // datapak + +// "(C)1991 BARCREST" and "AN8 0.1" +GAME_CUSTOM( 1991, m4andycp8, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "an8s.p1", 0x0000, 0x010000, CRC(14ac28da) SHA1(0b4a3f997e10573f2c4c44daac344f4be52363a0), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8)" ) +GAME_CUSTOM( 1991, m4andycp8d, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "an8d.p1", 0x0000, 0x010000, CRC(ae01af1c) SHA1(7b2305480a318648a3cc6c3bc66f21ac327e25aa), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 D)" ) // datapak +GAME_CUSTOM( 1991, m4andycp8ad, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "an8ad.p1", 0x0000, 0x010000, CRC(d0f9da00) SHA1(fb380897fffc33d238b8fe7d47ff4d9d97960283), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 AD)" ) // datapak +GAME_CUSTOM( 1991, m4andycp8b, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "an8b.p1", 0x0000, 0x010000, CRC(fc4001ae) SHA1(b0cd795235e6f500f0150097b8f760165c17ca27), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 B)" ) +GAME_CUSTOM( 1991, m4andycp8c, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "an8c.p1", 0x0000, 0x010000, CRC(35a4403e) SHA1(33d3ca4e7bad25d064e0780c2104c395259c2a94), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 C)" ) +GAME_CUSTOM( 1991, m4andycp8k, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "an8k.p1", 0x0000, 0x010000, CRC(296b4453) SHA1(060a6cea9a0be923e359dd69e34a6c25d631e4e5), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 K)" ) +GAME_CUSTOM( 1991, m4andycp8kd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "an8dk.p1", 0x0000, 0x010000, CRC(d43ad86d) SHA1(a71f1eb26e5f688db675b5c6bddda713e709a7af), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 KD)" ) // datapak +GAME_CUSTOM( 1991, m4andycp8y, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "an8y.p1", 0x0000, 0x010000, CRC(44da57c9) SHA1(0f2776214068400a0e30b5642f42d72f58bbc29b), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 Y)" ) // need % key +GAME_CUSTOM( 1991, m4andycp8yd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "an8dy.p1", 0x0000, 0x010000, CRC(6730e476) SHA1(d19f7d173ec18085ef904c8621e81305bd54a143), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 YD)" ) // datapak +// "(C)1991 BARCREST" and "AND 0.4" +GAME_CUSTOM( 1991, m4andycpd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "ands.p1", 0x0000, 0x010000, CRC(120967eb) SHA1(f47846e5f1c6300518104341740e66610b9a9ab3), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND)" ) +GAME_CUSTOM( 1991, m4andycpdd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "andd.p1", 0x0000, 0x010000, CRC(d48a42fb) SHA1(94e3b994b9425af9a7744d511ad3413a79e24f21), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND D)" ) // datapak +GAME_CUSTOM( 1991, m4andycpdc, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "andc.p1", 0x0000, 0x010000, CRC(31735e79) SHA1(7247efbfe41dce04dd494f07a8871f34d76eaacd), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND C)" ) +GAME_CUSTOM( 1991, m4andycpdk, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "andk.p1", 0x0000, 0x010000, CRC(08e6d20f) SHA1(f66207f69bf417e9380ecc8bd2ba73c6f3d55150), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND K)" ) +GAME_CUSTOM( 1991, m4andycpdy, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "andy.p1", 0x0000, 0x010000, CRC(b1124803) SHA1(0f3422e5f048d1748d2c912f2ea56f206fd101bb), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND Y, set 1)" ) // needs % key +GAME_CUSTOM( 1991, m4andycpdyd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "anddy.p1", 0x0000, 0x010000, CRC(7f24b95d) SHA1(0aa97ad653b24265d73577db61200e44abf11c50), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND YD)" ) // datapak +// "(C)1991 BARCREST" and "AND 0.2" +GAME_CUSTOM( 1991, m4andycpdy_a, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "acap20p", 0x0000, 0x010000, CRC(f0a9a4a4) SHA1(3c9a2e3d90ea91f92ae500856ad97c376edc1548), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND Y, set 2)" ) // needs % key // "(C)1994 B.W.B." and "AC101.0" -GAME_CUSTOM( 1994, m4andycp, 0, "ac10.hex", 0x0000, 0x010000, CRC(0e250923) SHA1(9557315cca7a47c307e811d437ff424fe77a2843), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10)" ) - -ROM_START( m4andycp10c ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "aci10___.1_1", 0x0000, 0x010000, CRC(afa29daa) SHA1(33d161977b1e3512b550980aed48954ba7f0c5a2) ) - M4ANDYCP_EXTRA_ROMS -ROM_END - -#define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) - -GAME( 1994, m4andycp10c, m4andycp, mod4oki, mpu4, mpu4_state, init_m4_andycp10c, ROT0, "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10C)",GAME_FLAGS ) - -GAME_CUSTOM( 1994, m4andycp10d, m4andycp, "ac_10sd_.1_1", 0x0000, 0x010000, CRC(ec800208) SHA1(47734ae5a3184e4805a7620287fb5da7fe823929), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10D)" ) // datapak -GAME_CUSTOM( 1994, m4andycp10k, m4andycp, "ac_10a__.1_1", 0x0000, 0x010000, CRC(c8a1150b) SHA1(99ba283aeacd1c415d261e10b5b7fd43d3c25af8), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10K)" ) -GAME_CUSTOM( 1994, m4andycp10yd, m4andycp, "ac_10sb_.1_1", 0x0000, 0x010000, CRC(f68f8f48) SHA1(a156d942e7ab7446290dcd8def6236e7436126b9), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10YD)" ) // datapak -// "FATHER CHISTMAS" and "AC101.0" (hack?) -GAME_CUSTOM( 1994, m4andycp10_a, m4andycp, "acap_10_.8", 0x0000, 0x010000, CRC(614403a7) SHA1(b627c7c3c6f9a43a0cd9e064715aeee8834c717c), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10, hack?)" ) // won't boot 'FATHER CHISTMAS' -GAME_CUSTOM( 1994, m4andycp10c_a, m4andycp, "acapp10p5.bin", 0x0000, 0x010000, CRC(de650e19) SHA1(c1b9cbad23a1eac9b3718f4f2457c97317f96be6), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10C, hack?, set 1)" ) // won't boot 'FATHER CHISTMAS' -GAME_CUSTOM( 1994, m4andycp10c_b, m4andycp, "acp8ac", 0x0000, 0x010000, CRC(d51997b5) SHA1(fe08b5a3832eeaa80f674893342c3baea1608a91), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10C, hack?, set 2)" ) // won't boot 'FATHER CHISTMAS' -GAME_CUSTOM( 1994, m4andycp10c_c, m4andycp, "acap10_11", 0x0000, 0x010000, CRC(c3a866e7) SHA1(4c18e5a26ad2885eb012fd3dd61aaf9cc7d3519a), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10C, hack?, set 3)" ) // won't boot 'FATHER CHISTMAS' -GAME_CUSTOM( 1994, m4andycp10c_d, m4andycp, "acap_10_.4", 0x0000, 0x010000, CRC(fffe742d) SHA1(f2ca45391690dc31662e2d97a3ee34473effa258), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10C, hack?, set 4)" ) // won't boot 'FATHER CHISTMAS' +GAME_CUSTOM( 1994, m4andycp, 0, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "ac10.hex", 0x0000, 0x010000, CRC(0e250923) SHA1(9557315cca7a47c307e811d437ff424fe77a2843), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10)" ) +GAME_CUSTOM( 1994, m4andycp10c, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "aci10___.1_1", 0x0000, 0x010000, CRC(afa29daa) SHA1(33d161977b1e3512b550980aed48954ba7f0c5a2), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10C)" ) +GAME_CUSTOM( 1994, m4andycp10d, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "ac_10sd_.1_1", 0x0000, 0x010000, CRC(ec800208) SHA1(47734ae5a3184e4805a7620287fb5da7fe823929), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10D)" ) // datapak +GAME_CUSTOM( 1994, m4andycp10k, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "ac_10a__.1_1", 0x0000, 0x010000, CRC(c8a1150b) SHA1(99ba283aeacd1c415d261e10b5b7fd43d3c25af8), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10K)" ) +GAME_CUSTOM( 1994, m4andycp10yd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "ac_10sb_.1_1", 0x0000, 0x010000, CRC(f68f8f48) SHA1(a156d942e7ab7446290dcd8def6236e7436126b9), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10YD)" ) // datapak // "(C)1994 B.W.B." and "AC5 1.0" -GAME_CUSTOM( 1994, m4andycpac, m4andycp, "ac_05s__.1_1", 0x0000, 0x010000, CRC(eab8aaca) SHA1(ccec86cf44f97a894192b2a6f900a93d26e84bf9), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5)" ) -GAME_CUSTOM( 1994, m4andycpacd, m4andycp, "ac_05sd_.1_1", 0x0000, 0x010000, CRC(4c815831) SHA1(66c6a4fed60ecc5ff5c9202528797d044fde3e76), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 D)" ) // datapak -GAME_CUSTOM( 1994, m4andycpack, m4andycp, "ac_05a__.1_1", 0x0000, 0x010000, CRC(880c2532) SHA1(a6a3c996c7507f0e2b8ae8e9fdfb7473263bd5cf), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 K)" ) -GAME_CUSTOM( 1994, m4andycpacyd, m4andycp, "ac_05sb_.1_1", 0x0000, 0x010000, CRC(dfd2571b) SHA1(98d93e30f4684fcbbc5ce4f356b8c9eeb20cbbdb), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 YD)" ) // datapak -GAME_CUSTOM( 1994, m4andycpacc, m4andycp, "aci05___.1_1", 0x0000, 0x010000, CRC(e06174e8) SHA1(e984e45b99d4aef9b46c83590efadbdec9888b2d), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 C)" ) -// "FATHER CHISTMAS" and "AC5 1.0" (hack?) -GAME_CUSTOM( 1994, m4andycpac_a, m4andycp, "acap_05_.8", 0x0000, 0x010000, CRC(a17dd8de) SHA1(963d39fdca7c7b54f5ecf723c982eb30a426ebae), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5, hack?)" ) // won't boot 'FATHER CHISTMAS' -GAME_CUSTOM( 1994, m4andycpacc_a, m4andycp, "acap_05_.4", 0x0000, 0x010000, CRC(ca00ee84) SHA1(f1fef3db3db5ca7f0eb72ccc1daba8446db02924), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 C, hack?, set 1)" ) // won't boot 'FATHER CHISTMAS' -GAME_CUSTOM( 1994, m4andycpacc_b, m4andycp, "ac056c", 0x0000, 0x010000, CRC(cdeaeb06) SHA1(5bfcfba614477f4df9f4b2e56e8448eb357c554a), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 C, hack?, set 2)" ) // won't boot 'FATHER CHISTMAS' -GAME_CUSTOM( 1994, m4andycpacc_c, m4andycp, "ac058c", 0x0000, 0x010000, CRC(15204ccc) SHA1(ade376193bc2d53dd4c824ee35fbcc16da31330a), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 C, hack?, set 3)" ) // won't boot 'FATHER CHISTMAS' -GAME_CUSTOM( 1994, m4andycpacc_d, m4andycp, "acap05_11", 0x0000, 0x010000, CRC(fb1533a0) SHA1(814e5dd9c4fe3baf4ea3b22c7e02e30b07bd27a1), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 C, hack?, set 4)" ) // won't boot 'FATHER CHISTMAS' -GAME_CUSTOM( 1994, m4andycpacc_e, m4andycp, "acap55", 0x0000, 0x010000, CRC(8007c459) SHA1(b3b6213d89eb0d2cc2f7dab81e0f0f2fdd0f8776), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 C, hack?, set 5)" ) // won't boot 'FATHER CHISTMAS' -// "(C)1991 BARCREST" and "AN8 0.1" -GAME_CUSTOM( 1991, m4andycp8, m4andycp, "an8s.p1", 0x0000, 0x010000, CRC(14ac28da) SHA1(0b4a3f997e10573f2c4c44daac344f4be52363a0), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AM8)" ) -GAME_CUSTOM( 1991, m4andycp8d, m4andycp, "an8d.p1", 0x0000, 0x010000, CRC(ae01af1c) SHA1(7b2305480a318648a3cc6c3bc66f21ac327e25aa), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 D)" ) // datapak -GAME_CUSTOM( 1991, m4andycp8ad, m4andycp, "an8ad.p1", 0x0000, 0x010000, CRC(d0f9da00) SHA1(fb380897fffc33d238b8fe7d47ff4d9d97960283), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 AD)" ) // datapak -GAME_CUSTOM( 1991, m4andycp8b, m4andycp, "an8b.p1", 0x0000, 0x010000, CRC(fc4001ae) SHA1(b0cd795235e6f500f0150097b8f760165c17ca27), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 B)" ) -GAME_CUSTOM( 1991, m4andycp8c, m4andycp, "an8c.p1", 0x0000, 0x010000, CRC(35a4403e) SHA1(33d3ca4e7bad25d064e0780c2104c395259c2a94), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 C)" ) -GAME_CUSTOM( 1991, m4andycp8k, m4andycp, "an8k.p1", 0x0000, 0x010000, CRC(296b4453) SHA1(060a6cea9a0be923e359dd69e34a6c25d631e4e5), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 K)" ) -GAME_CUSTOM( 1991, m4andycp8kd, m4andycp, "an8dk.p1", 0x0000, 0x010000, CRC(d43ad86d) SHA1(a71f1eb26e5f688db675b5c6bddda713e709a7af), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 KD)" ) // datapak -GAME_CUSTOM( 1991, m4andycp8y, m4andycp, "an8y.p1", 0x0000, 0x010000, CRC(44da57c9) SHA1(0f2776214068400a0e30b5642f42d72f58bbc29b), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 Y)" ) // need % key -GAME_CUSTOM( 1991, m4andycp8yd, m4andycp, "an8dy.p1", 0x0000, 0x010000, CRC(6730e476) SHA1(d19f7d173ec18085ef904c8621e81305bd54a143), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AN8 YD)" ) // datapak -// "(C)1991 BARCREST" and "AND 0.4" -GAME_CUSTOM( 1991, m4andycpd, m4andycp, "ands.p1", 0x0000, 0x010000, CRC(120967eb) SHA1(f47846e5f1c6300518104341740e66610b9a9ab3), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND)" ) -GAME_CUSTOM( 1991, m4andycpdd, m4andycp, "andd.p1", 0x0000, 0x010000, CRC(d48a42fb) SHA1(94e3b994b9425af9a7744d511ad3413a79e24f21), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND D)" ) // datapak -GAME_CUSTOM( 1991, m4andycpdc, m4andycp, "andc.p1", 0x0000, 0x010000, CRC(31735e79) SHA1(7247efbfe41dce04dd494f07a8871f34d76eaacd), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND C)" ) -GAME_CUSTOM( 1991, m4andycpdk, m4andycp, "andk.p1", 0x0000, 0x010000, CRC(08e6d20f) SHA1(f66207f69bf417e9380ecc8bd2ba73c6f3d55150), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND K)" ) -GAME_CUSTOM( 1991, m4andycpdy, m4andycp, "andy.p1", 0x0000, 0x010000, CRC(b1124803) SHA1(0f3422e5f048d1748d2c912f2ea56f206fd101bb), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND Y, set 1)" ) // needs % key -GAME_CUSTOM( 1991, m4andycpdyd, m4andycp, "anddy.p1", 0x0000, 0x010000, CRC(7f24b95d) SHA1(0aa97ad653b24265d73577db61200e44abf11c50), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND YD)" ) // datapak -// "(C)1991 BARCREST" and "AND 0.2" -GAME_CUSTOM( 1991, m4andycpdy_a, m4andycp, "acap20p", 0x0000, 0x010000, CRC(f0a9a4a4) SHA1(3c9a2e3d90ea91f92ae500856ad97c376edc1548), "Barcrest", "Andy Capp (Barcrest) (MPU4) (AND Y, set 2)" ) // needs % key -// "(C)1991 BARCREST" and "C2T 0.2" -GAME_CUSTOM( 1991, m4andycpc2, m4andycp, "c2t02s.p1", 0x0000, 0x010000, CRC(d004f962) SHA1(1f211fd62438cb7c5d5f4ce9ced29a0a7e64e80b), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T, set 1)" ) -GAME_CUSTOM( 1991, m4andycpc2d, m4andycp, "c2t02d.p1", 0x0000, 0x010000, CRC(ce5bbf2e) SHA1(dab2a1015713ceb8dce8b766fc2660207fcbb9f2), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T D)" ) // datapak -GAME_CUSTOM( 1991, m4andycpc2ad, m4andycp, "c2t02ad.p1", 0x0000, 0x010000, CRC(38e36fe3) SHA1(01c007e21a6ac1a77bf314402d727c41b7a222ca), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T AD)" ) // datapak -GAME_CUSTOM( 1991, m4andycpc2b, m4andycp, "c2t02b.p1", 0x0000, 0x010000, CRC(f059a9dc) SHA1(0c5d5a4b108c85215b9d5f8c2263b66559cfa90a), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T B)" ) -GAME_CUSTOM( 1991, m4andycpc2bd, m4andycp, "c2t02bd.p1", 0x0000, 0x010000, CRC(0eff02a9) SHA1(f460f93098630ac2757a560deb2e741ae9631a54), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T BD)" ) // datapak -GAME_CUSTOM( 1991, m4andycpc2r, m4andycp, "c2t02r.p1", 0x0000, 0x010000, CRC(6ccaf958) SHA1(8878e16d2c01131d36f211b3a73e987409f54ef9), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T R)" ) -GAME_CUSTOM( 1991, m4andycpc2rd, m4andycp, "c2t02dr.p1", 0x0000, 0x010000, CRC(7daee156) SHA1(2ae03c39ca5704c112c9ec6acba46022f4dd9805), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T RD)" ) // datapak -GAME_CUSTOM( 1991, m4andycpc2k, m4andycp, "c2t02k.p1", 0x0000, 0x010000, CRC(077024e0) SHA1(80597f28891caa25506bb6bbc77a005623096ff9), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T K)" ) -GAME_CUSTOM( 1991, m4andycpc2kd, m4andycp, "c2t02dk.p1", 0x0000, 0x010000, CRC(dc8c078e) SHA1(9dcde48d17a39dbe10333632eacc1f0860e165de), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T KD)" ) // datapak -GAME_CUSTOM( 1991, m4andycpc2y, m4andycp, "c2t02y.p1", 0x0000, 0x010000, CRC(f1a1d1b6) SHA1(d9ceedee3b833be8de5b065e45a72ca180283528), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T Y)" ) -GAME_CUSTOM( 1991, m4andycpc2yd, m4andycp, "c2t02dy.p1", 0x0000, 0x010000, CRC(e0c5c9b8) SHA1(d067d4786ded041d8031808078eb2c0383937931), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T YD)" ) // datapak -// "(C)1991 BARCREST" and "C2T 0.1" -GAME_CUSTOM( 1991, m4andycpc2_a, m4andycp, "acap2010", 0x0000, 0x010000, CRC(1b8e712b) SHA1(6770869966290fe6e61b7bf1971ab7a15e601d69), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C2T, set 2)" ) -// "(C)1991 BARCREST" and "C5T 0.1" -GAME_CUSTOM( 1991, m4andycpc5, m4andycp, "c5ts.p1", 0x0000, 0x010000, CRC(3ade4b1b) SHA1(c65d05e2493a0e2d6a4be58a42aac6cb7f9c01b5), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T)" ) -GAME_CUSTOM( 1991, m4andycpc5d, m4andycp, "c5td.p1", 0x0000, 0x010000, CRC(ab359cae) SHA1(f8ab817709e0eeb91a059cdef19df99c6286bf3f), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T D)" ) // datapak -GAME_CUSTOM( 1991, m4andycpc5ad, m4andycp, "c5tad.p1", 0x0000, 0x010000, CRC(dab92a37) SHA1(30297a7e1a995b76d8f955fd8a40efc914874e29), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T AD)" ) // datapak -GAME_CUSTOM( 1991, m4andycpc5b, m4andycp, "c5tb.p1", 0x0000, 0x010000, CRC(1a747871) SHA1(61eb026c2d35feade5cfecf609e99cd0c6d0693e), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T B)" ) -GAME_CUSTOM( 1991, m4andycpc5bd, m4andycp, "c5tbd.p1", 0x0000, 0x010000, CRC(b0fb7c1c) SHA1(f5edf7685cc7015ac9791d35dde3fd284180660f), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T BD)" ) // datapak -GAME_CUSTOM( 1991, m4andycpc5k, m4andycp, "c5tk.p1", 0x0000, 0x010000, CRC(26a1d1f6) SHA1(c64763188dd0520c3f802863d36c84a476efef40), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T K)" ) -GAME_CUSTOM( 1991, m4andycpc5kd, m4andycp, "c5tdk.p1", 0x0000, 0x010000, CRC(295976d6) SHA1(a506097e94d290f5b66f61c9979b0ae4f211bb0c), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T KD)" ) // datapak -GAME_CUSTOM( 1991, m4andycpc5y, m4andycp, "c5ty.p1", 0x0000, 0x010000, CRC(52953040) SHA1(65102c88e8766e07d268fe0267bc6731d8b3eeb3), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T Y)" ) // needs % key -GAME_CUSTOM( 1991, m4andycpc5yd, m4andycp, "c5tdy.p1", 0x0000, 0x010000, CRC(d9b4dc81) SHA1(e7b7a5f9b1ad348444d5403df2bf16b829364d33), "Barcrest", "Andy Capp (Barcrest) (MPU4) (C5T YD)" ) // datapak -// "(C)1995 B.W.B." and "ACC52.0" (wrong game?) -GAME_CUSTOM( 1995, m4andycpaccsd, m4andycp, "ac_05_d4.2_1", 0x0000, 0x010000, CRC(f672182a) SHA1(55a6691fa9878bc2becf1f080915c0cd939240dd), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (ACC5)" ) // datapak (odd ident string) +GAME_CUSTOM( 1994, m4andycpac, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "ac_05s__.1_1", 0x0000, 0x010000, CRC(eab8aaca) SHA1(ccec86cf44f97a894192b2a6f900a93d26e84bf9), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5)" ) +GAME_CUSTOM( 1994, m4andycpacd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "ac_05sd_.1_1", 0x0000, 0x010000, CRC(4c815831) SHA1(66c6a4fed60ecc5ff5c9202528797d044fde3e76), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 D)" ) // datapak +GAME_CUSTOM( 1994, m4andycpack, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "ac_05a__.1_1", 0x0000, 0x010000, CRC(880c2532) SHA1(a6a3c996c7507f0e2b8ae8e9fdfb7473263bd5cf), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 K)" ) +GAME_CUSTOM( 1994, m4andycpacyd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "ac_05sb_.1_1", 0x0000, 0x010000, CRC(dfd2571b) SHA1(98d93e30f4684fcbbc5ce4f356b8c9eeb20cbbdb), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 YD)" ) // datapak +GAME_CUSTOM( 1994, m4andycpacc, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "aci05___.1_1", 0x0000, 0x010000, CRC(e06174e8) SHA1(e984e45b99d4aef9b46c83590efadbdec9888b2d), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 C)" ) + +// "(C)1995 B.W.B." and "ACC52.0" +GAME_CUSTOM( 1995, m4andycpaccsd, m4andycp, mod4oki_cheatchr_pal, mpu4, init_m4andycp, "ac_05_d4.2_1", 0x0000, 0x010000, CRC(f672182a) SHA1(55a6691fa9878bc2becf1f080915c0cd939240dd), "Bwb", "Andy Capp (Bwb / Barcrest) (MPU4) (ACC5)" ) // datapak (odd ident string) + +// different protection // "95,S ALIVE!!!" and "AND 0.3" (hack?) -GAME_CUSTOM( 199?, m4andycp20, m4andycp, "acap_20_.4", 0x0000, 0x010000, CRC(29848eed) SHA1(4096ab2f58b3293c559ff69c6f0f4d6c5dee2fd2), "hack?", "Andy Capp (Barcrest) (MPU4) (hack?, set 1)" ) // bad chr -GAME_CUSTOM( 199?, m4andycp20_a, m4andycp, "acap_20_.8", 0x0000, 0x010000, CRC(3981ec67) SHA1(ad040a4c8690d4348bfe306309df5374251f2b3e), "hack?", "Andy Capp (Barcrest) (MPU4) (hack?, set 2)" ) // bad chr -GAME_CUSTOM( 199?, m4andycp20_b, m4andycp, "acap20_11", 0x0000, 0x010000, CRC(799fd89e) SHA1(679016fad8b012bf6b6c617b99fd0dbe71eff562), "hack?", "Andy Capp (Barcrest) (MPU4) (hack?, set 3)" ) // bad chr +GAME_CUSTOM( 199?, m4andycp20, m4andycp, mod4oki_bootleg_fixedret<0x2e>, mpu4, init_m4andycp, "acap_20_.4", 0x0000, 0x010000, CRC(29848eed) SHA1(4096ab2f58b3293c559ff69c6f0f4d6c5dee2fd2), "hack?", "Andy Capp (Barcrest) (MPU4) (hack?, set 1)" ) // bad chr +GAME_CUSTOM( 199?, m4andycp20_a, m4andycp, mod4oki_bootleg_fixedret<0x2e>, mpu4, init_m4andycp, "acap_20_.8", 0x0000, 0x010000, CRC(3981ec67) SHA1(ad040a4c8690d4348bfe306309df5374251f2b3e), "hack?", "Andy Capp (Barcrest) (MPU4) (hack?, set 2)" ) // bad chr + +// different protection +// "95,S ALIVE!!!" and "AND 0.3" (hack?) +GAME_CUSTOM( 199?, m4andycp20_b, m4andycp, mod4oki_bootleg_fixedret<0x1e>, mpu4, init_m4andycp, "acap20_11", 0x0000, 0x010000, CRC(799fd89e) SHA1(679016fad8b012bf6b6c617b99fd0dbe71eff562), "hack?", "Andy Capp (Barcrest) (MPU4) (hack?, set 3)" ) // bad chr + +// different protection, involving 814 and regular reads, see note at top of driver +// "FATHER CHISTMAS" and "AC5 1.0" (hack?) +GAME_CUSTOM( 1994, m4andycpac_a, m4andycp, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4andycp, "acap_05_.8", 0x0000, 0x010000, CRC(a17dd8de) SHA1(963d39fdca7c7b54f5ecf723c982eb30a426ebae), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5, hack?)" ) +GAME_CUSTOM( 1994, m4andycpacc_a, m4andycp, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4andycp, "acap_05_.4", 0x0000, 0x010000, CRC(ca00ee84) SHA1(f1fef3db3db5ca7f0eb72ccc1daba8446db02924), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 C, hack?, set 1)" ) +GAME_CUSTOM( 1994, m4andycpacc_c, m4andycp, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4andycp, "ac058c", 0x0000, 0x010000, CRC(15204ccc) SHA1(ade376193bc2d53dd4c824ee35fbcc16da31330a), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 C, hack?, set 3)" ) +GAME_CUSTOM( 1994, m4andycpacc_b, m4andycp, mod4oki_bootleg_fixedret<0x47>, mpu4, init_m4andycp, "ac056c", 0x0000, 0x010000, CRC(cdeaeb06) SHA1(5bfcfba614477f4df9f4b2e56e8448eb357c554a), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 C, hack?, set 2)" ) +GAME_CUSTOM( 1994, m4andycpacc_d, m4andycp, mod4oki_bootleg_fixedret<0x1f>, mpu4, init_m4andycp, "acap05_11", 0x0000, 0x010000, CRC(fb1533a0) SHA1(814e5dd9c4fe3baf4ea3b22c7e02e30b07bd27a1), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 C, hack?, set 4)" ) +GAME_CUSTOM( 1994, m4andycpacc_e, m4andycp, mod4oki_bootleg_fixedret<0x2b>, mpu4, init_m4andycp, "acap55", 0x0000, 0x010000, CRC(8007c459) SHA1(b3b6213d89eb0d2cc2f7dab81e0f0f2fdd0f8776), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC5 C, hack?, set 5)" ) + +// "FATHER CHISTMAS" and "AC101.0" (hack?) +GAME_CUSTOM( 1994, m4andycp10_a, m4andycp, mod4oki_bootleg_fixedret<0x2d>, mpu4, init_m4andycp, "acap_10_.8", 0x0000, 0x010000, CRC(614403a7) SHA1(b627c7c3c6f9a43a0cd9e064715aeee8834c717c), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10, hack?)" ) +GAME_CUSTOM( 1994, m4andycp10c_b, m4andycp, mod4oki_bootleg_fixedret<0x2d>, mpu4, init_m4andycp, "acp8ac", 0x0000, 0x010000, CRC(d51997b5) SHA1(fe08b5a3832eeaa80f674893342c3baea1608a91), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10C, hack?, set 2)" ) +GAME_CUSTOM( 1994, m4andycp10c_d, m4andycp, mod4oki_bootleg_fixedret<0x2d>, mpu4, init_m4andycp, "acap_10_.4", 0x0000, 0x010000, CRC(fffe742d) SHA1(f2ca45391690dc31662e2d97a3ee34473effa258), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10C, hack?, set 4)" ) +GAME_CUSTOM( 1994, m4andycp10c_c, m4andycp, mod4oki_bootleg_fixedret<0x1d>, mpu4, init_m4andycp, "acap10_11", 0x0000, 0x010000, CRC(c3a866e7) SHA1(4c18e5a26ad2885eb012fd3dd61aaf9cc7d3519a), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10C, hack?, set 3)" ) +GAME_CUSTOM( 1994, m4andycp10c_a, m4andycp, mod4oki_bootleg_fixedret<0x1c>, mpu4, init_m4andycp, "acapp10p5.bin", 0x0000, 0x010000, CRC(de650e19) SHA1(c1b9cbad23a1eac9b3718f4f2457c97317f96be6), "hack?", "Andy Capp (Bwb / Barcrest) (MPU4) (AC10C, hack?, set 1)" ) + + +/***************************************************************************************************************************************************************************** +* +* Andy Capp (Dutch game) +* +*****************************************************************************************************************************************************************************/ + +// REEL A ERROR #define M4ANDYCP_DUT_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "sdac_1.snd", 0x000000, 0x080000, CRC(5ce93532) SHA1(547f98740889e6fbafc5a0c517ff75de41f2acc7) ) \ ROM_LOAD( "sdac_2.snd", 0x080000, 0x080000, CRC(22dacd4b) SHA1(ad2dc943d4e3ec54937acacb963da938da809614) ) \ ROM_LOAD( "sjcv2.snd", 0x080000, 0x080000, CRC(f247ba83) SHA1(9b173503e63a4a861d1380b2ab1fe14af1a189bd) ) + ROM_START( m4andycpdut ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "dac13.bin", 0x0000, 0x010000, CRC(a0cdd5b3) SHA1(7b7bc40a9a9aed3569f491acad15c606fe243e9b) ) @@ -291,14 +389,20 @@ ROM_START( m4andycpdut ) ROM_END // blank copyright and "DAC 1.3" (6 reel game, not the same as the UK version?) -GAME(199?, m4andycpdut, m4andycp, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest", "Andy Capp (Barcrest) [DAC 1.3, Dutch] (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4andycpdut, m4andycp, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, "Barcrest", "Andy Capp (Barcrest) (Dutch) (MPU4) (DAC 1.3)", GAME_FLAGS|MACHINE_NO_SOUND ) + + +/***************************************************************************************************************************************************************************** +* +* Andy Loves Flo +* +*****************************************************************************************************************************************************************************/ #define M4ANDYFL_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "alf.chr", 0x0000, 0x000048, CRC(22f09b0d) SHA1(5a612e54e0bb5ea5c35f1a7b1d7bc3cdc34e3bdd) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "alfsnd0.1", 0x0000, 0x080000, CRC(6691bc25) SHA1(4dd67b8bbdc5d707814b756005075fcb4f0c8be4) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -306,37 +410,8 @@ GAME(199?, m4andycpdut, m4andycp, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROM_LOAD( name, offset, length, hash ) \ M4ANDYFL_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) -// "(C)1996 B.W.B." and "AL4 2.1" -GAME_CUSTOM( 1996, m4andyfl, 0, "andy loves flo 05a 4 2-1",0x0000, 0x010000, CRC(773d2c6f) SHA1(944be6fff70439077a9c0d858e76806e0317585c), "Bwb", "Andy Loves Flo (Bwb / Barcrest) (MPU4) (AL4 2.1 KS)" ) -// "(C)1996 B.W.B." and "AL_ 2.4" -GAME_CUSTOM( 1996, m4andyfl8bs, m4andyfl, "al_05a__.2_1", 0x0000, 0x010000, CRC(d28849c8) SHA1(17e79f92cb3667de0be54fd4bae7f4c3a3a80aa5), "Bwb", "Andy Loves Flo (Bwb / Barcrest) (MPU4) (AL_ 2.4 KS)" ) -// "(C)1991 BARCREST" and "AL3 0.1" -GAME_CUSTOM( 1991, m4andyfl3, m4andyfl, "al3s.p1", 0x0000, 0x010000, CRC(07d4d6c3) SHA1(d013cf49ed4b84e6149065c95d1cd00eca0d62b8), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1)" ) -GAME_CUSTOM( 1991, m4andyfl3d, m4andyfl, "al3d.p1", 0x0000, 0x010000, CRC(621b5831) SHA1(589e5a94324a56704b1a05bafe16bf6d838dea6c), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 D)" ) -GAME_CUSTOM( 1991, m4andyfl3ad, m4andyfl, "al3ad.p1", 0x0000, 0x010000, CRC(6d057dd3) SHA1(3febe5aea14852559de554c2e034c328393ae0fa), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 AD)" ) -GAME_CUSTOM( 1991, m4andyfl3b, m4andyfl, "al3b.p1", 0x0000, 0x010000, CRC(4b967a4f) SHA1(1a6e24ecaa907a5bb6fa589dd0de473c7e4c6f6c), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 B)" ) -GAME_CUSTOM( 1991, m4andyfl3bd, m4andyfl, "al3bd.p1", 0x0000, 0x010000, CRC(5b191099) SHA1(9049ff924123ee9309155730d53cb168bd8237bf), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 BD)" ) -GAME_CUSTOM( 1991, m4andyfl3k, m4andyfl, "al3k.p1", 0x0000, 0x010000, CRC(f036b844) SHA1(62269e3ed0c6fa5df592883294efc74da856d897), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 K)" ) -GAME_CUSTOM( 1991, m4andyfl3kd, m4andyfl, "al3dk.p1", 0x0000, 0x010000, CRC(5a77dcf2) SHA1(63e67ca1e112b56ea99b3c91952fa9b04518d6ae), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 KD)" ) -GAME_CUSTOM( 1991, m4andyfl3y, m4andyfl, "al3y.p1", 0x0000, 0x010000, CRC(1cce9f53) SHA1(aaa8492ea28cc0134ae7d070e182a3f98e769c40), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 Y)" ) -GAME_CUSTOM( 1991, m4andyfl3yd, m4andyfl, "al3dy.p1", 0x0000, 0x010000, CRC(c7bdd13e) SHA1(674cad23b7d6299918951de5dbbb33acf01dac66), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 YD)" ) -// "(C)1991 BARCREST" and "AL8 0.1" -GAME_CUSTOM( 1991, m4andyfl8, m4andyfl, "al8s.p1", 0x0000, 0x010000, CRC(37e211f9) SHA1(8614e8081fdd370d6c3dd537ee6058a2247d4ae0), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1)" ) -GAME_CUSTOM( 1991, m4andyfl8d, m4andyfl, "al8d.p1", 0x0000, 0x010000, CRC(c1cb8f01) SHA1(c267c208c23bb7816f5475b0c0db2d69c6b98970), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 D)" ) -GAME_CUSTOM( 1991, m4andyfl8ad, m4andyfl, "al8ad.p1", 0x0000, 0x010000, CRC(90a72618) SHA1(2c11e98b446500da9b618c8a7a9d441cff916851), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 AD)" ) -GAME_CUSTOM( 1991, m4andyfl8b, m4andyfl, "al8b.p1", 0x0000, 0x010000, CRC(3c0324e9) SHA1(5ddf33b06728de62d995cdbfc6bdc9e711661e38), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 B)" ) -GAME_CUSTOM( 1991, m4andyfl8bd, m4andyfl, "al8bd.p1", 0x0000, 0x010000, CRC(a6bb4b52) SHA1(0735c45c3f02a3f17dfbe1f744a8685de97fdd8f), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 BD)" ) -GAME_CUSTOM( 1991, m4andyfl8c, m4andyfl, "al8c.p1", 0x0000, 0x010000, CRC(154b0f79) SHA1(e178404674ace57c639c90a44e5f03803ec812d0), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 C)" ) -GAME_CUSTOM( 1991, m4andyfl8k, m4andyfl, "al8k.p1", 0x0000, 0x010000, CRC(77d8f8b4) SHA1(c91fe5a543ba83b68fe3285da55d77f7b93131db), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 K)" ) -GAME_CUSTOM( 1991, m4andyfl8kd, m4andyfl, "al8dk.p1", 0x0000, 0x010000, CRC(bf346ace) SHA1(fdf0e5550caaae9e63ac5ea571e290fec4c768af), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 KD)" ) -GAME_CUSTOM( 1991, m4andyfl8y, m4andyfl, "al8y.p1", 0x0000, 0x010000, CRC(c77ee4c2) SHA1(fc5cb6aff5e5aeaf577cb0b9ed2e1ac06359089e), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 Y)" ) -// "(C)1991 BARCREST" and "ALF 2.0" -GAME_CUSTOM( 1991, m4andyflf, m4andyfl, "alfs.p1", 0x0000, 0x010000, CRC(5c0e14f6) SHA1(ebce737afb71b27829d69ff203ff86a828df946a), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALF 2.0)" ) -GAME_CUSTOM( 1991, m4andyflfb, m4andyfl, "alfb.p1", 0x0000, 0x010000, CRC(3133c954) SHA1(49bedc54c7d39b3cf40c19a0e56a8bea798aeba7), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALF 2.0 B)" ) -GAME_CUSTOM( 1991, m4andyflfc, m4andyfl, "alfc.p1", 0x0000, 0x010000, CRC(c0fc9244) SHA1(30c7929a95e67b6a10877087a337b34a726b0ec9), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALF 2.0 C)" ) -GAME_CUSTOM( 1991, m4andyflfk, m4andyfl, "alfk.p1", 0x0000, 0x010000, CRC(f9691e32) SHA1(9b72a9c78de8979568a720e5e1986734063defac), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALF 2.0 K)" ) -GAME_CUSTOM( 1991, m4andyflfr, m4andyfl, "alfr.p1", 0x0000, 0x010000, CRC(acc4860b) SHA1(cbae236c5e1bdbb294f99cd749067d41a24e8973), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALF 2.0 R)" ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // "(C)1991 BARCREST" and "ALT 0.4" GAME_CUSTOM( 1991, m4andyflt, m4andyfl, "alt04s.p1", 0x0000, 0x010000, CRC(81cf27b3) SHA1(b04970a20a297032cf33dbe97fa22fb723587228), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALT 0.4)" ) GAME_CUSTOM( 1991, m4andyfltd, m4andyfl, "alt04d.p1", 0x0000, 0x010000, CRC(c6b36e95) SHA1(5e4e8fd1a2f0411be1ab5c0bbae1f9cd8062f234), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALT 0.4 D)" ) @@ -362,171 +437,354 @@ GAME_CUSTOM( 1991, m4andyflurd, m4andyfl, "alu03dr.p1", 0x000 GAME_CUSTOM( 1991, m4andyfluy, m4andyfl, "alu03y.p1", 0x0000, 0x010000, CRC(254e43c4) SHA1(963b4e46d88b64f8ebc0c42dee2bbcb0ae1d3bec), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALU 0.3 Y)" ) GAME_CUSTOM( 1991, m4andyfluyd, m4andyfl, "alu03dy.p1", 0x0000, 0x010000, CRC(686e4818) SHA1(cf2af851ff7f4ce8edb82b78c3841b8b8c09bd17), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALU 0.3 YD)" ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( 0x10000, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4ANDYFL_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1996 B.W.B." and "AL4 2.1" +GAME_CUSTOM( 1996, m4andyfl, 0, "andy loves flo 05a 4 2-1",0x0000, 0x010000, CRC(773d2c6f) SHA1(944be6fff70439077a9c0d858e76806e0317585c), "Bwb", "Andy Loves Flo (Bwb / Barcrest) (MPU4) (AL4 2.1 KS)" ) +// "(C)1996 B.W.B." and "AL_ 2.4" +GAME_CUSTOM( 1996, m4andyfl8bs, m4andyfl, "al_05a__.2_1", 0x0000, 0x010000, CRC(d28849c8) SHA1(17e79f92cb3667de0be54fd4bae7f4c3a3a80aa5), "Bwb", "Andy Loves Flo (Bwb / Barcrest) (MPU4) (AL_ 2.4 KS)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( 0x10000, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4ANDYFL_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1991 BARCREST" and "AL3 0.1" +GAME_CUSTOM( 1991, m4andyfl3, m4andyfl, "al3s.p1", 0x0000, 0x010000, CRC(07d4d6c3) SHA1(d013cf49ed4b84e6149065c95d1cd00eca0d62b8), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1)" ) +GAME_CUSTOM( 1991, m4andyfl3d, m4andyfl, "al3d.p1", 0x0000, 0x010000, CRC(621b5831) SHA1(589e5a94324a56704b1a05bafe16bf6d838dea6c), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 D)" ) +GAME_CUSTOM( 1991, m4andyfl3ad, m4andyfl, "al3ad.p1", 0x0000, 0x010000, CRC(6d057dd3) SHA1(3febe5aea14852559de554c2e034c328393ae0fa), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 AD)" ) +GAME_CUSTOM( 1991, m4andyfl3b, m4andyfl, "al3b.p1", 0x0000, 0x010000, CRC(4b967a4f) SHA1(1a6e24ecaa907a5bb6fa589dd0de473c7e4c6f6c), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 B)" ) +GAME_CUSTOM( 1991, m4andyfl3bd, m4andyfl, "al3bd.p1", 0x0000, 0x010000, CRC(5b191099) SHA1(9049ff924123ee9309155730d53cb168bd8237bf), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 BD)" ) +GAME_CUSTOM( 1991, m4andyfl3k, m4andyfl, "al3k.p1", 0x0000, 0x010000, CRC(f036b844) SHA1(62269e3ed0c6fa5df592883294efc74da856d897), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 K)" ) +GAME_CUSTOM( 1991, m4andyfl3kd, m4andyfl, "al3dk.p1", 0x0000, 0x010000, CRC(5a77dcf2) SHA1(63e67ca1e112b56ea99b3c91952fa9b04518d6ae), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 KD)" ) +GAME_CUSTOM( 1991, m4andyfl3y, m4andyfl, "al3y.p1", 0x0000, 0x010000, CRC(1cce9f53) SHA1(aaa8492ea28cc0134ae7d070e182a3f98e769c40), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 Y)" ) +GAME_CUSTOM( 1991, m4andyfl3yd, m4andyfl, "al3dy.p1", 0x0000, 0x010000, CRC(c7bdd13e) SHA1(674cad23b7d6299918951de5dbbb33acf01dac66), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL3 0.1 YD)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( 0x10000, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4ANDYFL_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1991 BARCREST" and "AL8 0.1" +GAME_CUSTOM( 1991, m4andyfl8, m4andyfl, "al8s.p1", 0x0000, 0x010000, CRC(37e211f9) SHA1(8614e8081fdd370d6c3dd537ee6058a2247d4ae0), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1)" ) +GAME_CUSTOM( 1991, m4andyfl8d, m4andyfl, "al8d.p1", 0x0000, 0x010000, CRC(c1cb8f01) SHA1(c267c208c23bb7816f5475b0c0db2d69c6b98970), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 D)" ) +GAME_CUSTOM( 1991, m4andyfl8ad, m4andyfl, "al8ad.p1", 0x0000, 0x010000, CRC(90a72618) SHA1(2c11e98b446500da9b618c8a7a9d441cff916851), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 AD)" ) +GAME_CUSTOM( 1991, m4andyfl8b, m4andyfl, "al8b.p1", 0x0000, 0x010000, CRC(3c0324e9) SHA1(5ddf33b06728de62d995cdbfc6bdc9e711661e38), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 B)" ) +GAME_CUSTOM( 1991, m4andyfl8bd, m4andyfl, "al8bd.p1", 0x0000, 0x010000, CRC(a6bb4b52) SHA1(0735c45c3f02a3f17dfbe1f744a8685de97fdd8f), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 BD)" ) +GAME_CUSTOM( 1991, m4andyfl8c, m4andyfl, "al8c.p1", 0x0000, 0x010000, CRC(154b0f79) SHA1(e178404674ace57c639c90a44e5f03803ec812d0), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 C)" ) +GAME_CUSTOM( 1991, m4andyfl8k, m4andyfl, "al8k.p1", 0x0000, 0x010000, CRC(77d8f8b4) SHA1(c91fe5a543ba83b68fe3285da55d77f7b93131db), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 K)" ) +GAME_CUSTOM( 1991, m4andyfl8kd, m4andyfl, "al8dk.p1", 0x0000, 0x010000, CRC(bf346ace) SHA1(fdf0e5550caaae9e63ac5ea571e290fec4c768af), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 KD)" ) +GAME_CUSTOM( 1991, m4andyfl8y, m4andyfl, "al8y.p1", 0x0000, 0x010000, CRC(c77ee4c2) SHA1(fc5cb6aff5e5aeaf577cb0b9ed2e1ac06359089e), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (AL8 0.1 Y)" ) +// "(C)1991 BARCREST" and "ALF 2.0" +GAME_CUSTOM( 1991, m4andyflf, m4andyfl, "alfs.p1", 0x0000, 0x010000, CRC(5c0e14f6) SHA1(ebce737afb71b27829d69ff203ff86a828df946a), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALF 2.0)" ) +GAME_CUSTOM( 1991, m4andyflfb, m4andyfl, "alfb.p1", 0x0000, 0x010000, CRC(3133c954) SHA1(49bedc54c7d39b3cf40c19a0e56a8bea798aeba7), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALF 2.0 B)" ) +GAME_CUSTOM( 1991, m4andyflfc, m4andyfl, "alfc.p1", 0x0000, 0x010000, CRC(c0fc9244) SHA1(30c7929a95e67b6a10877087a337b34a726b0ec9), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALF 2.0 C)" ) +GAME_CUSTOM( 1991, m4andyflfk, m4andyfl, "alfk.p1", 0x0000, 0x010000, CRC(f9691e32) SHA1(9b72a9c78de8979568a720e5e1986734063defac), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALF 2.0 K)" ) +GAME_CUSTOM( 1991, m4andyflfr, m4andyfl, "alfr.p1", 0x0000, 0x010000, CRC(acc4860b) SHA1(cbae236c5e1bdbb294f99cd749067d41a24e8973), "Barcrest", "Andy Loves Flo (Barcrest) (MPU4) (ALF 2.0 R)" ) + + +/***************************************************************************************************************************************************************************** +* +* Duty Free +* +*****************************************************************************************************************************************************************************/ + + #define M4DTYFRE_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "df503s.chr", 0x0000, 0x000048, CRC(46c28f35) SHA1(e229b211180f9f7b30cd0bb9de162971d16b2d33) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "dutsnd.p1", 0x000000, 0x080000, CRC(a5829cec) SHA1(eb65c86125350a7f384f9033f6a217284b6ff3d1) ) \ ROM_LOAD( "dutsnd.p2", 0x080000, 0x080000, CRC(1e5d8407) SHA1(64ee6eba3fb7700a06b89a1e0489a0cd54bb89fd) ) + + #undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( 0x10000, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4DTYFRE_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) -// "(C)1993 BARCREST" and "DUT 0.4" -GAME_CUSTOM( 1993, m4dtyfre, 0, "duts.p1", 0x0000, 0x010000, CRC(8c7d6567) SHA1(8e82c4168d4d455c7cb95a895c04f7ad327894ec), "Barcrest","Duty Free (Barcrest) (MPU4) (DUT 0.4)" ) -GAME_CUSTOM( 1993, m4dtyfreutb, m4dtyfre, "dutb.p1", 0x0000, 0x010000, CRC(479acab7) SHA1(645e876b2c59dd4c091b5f168dcfd2cfa7eda0a3), "Barcrest","Duty Free (Barcrest) (MPU4) (DUT 0.4 B)" ) -GAME_CUSTOM( 1993, m4dtyfreutc, m4dtyfre, "dutc.p1", 0x0000, 0x010000, CRC(654858eb) SHA1(4e95d6f1b84360b747a04d34bfda4d8c8ee3ea3b), "Barcrest","Duty Free (Barcrest) (MPU4) (DUT 0.4 C)" ) + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) + // "(C)1993 BARCREST" and "DF5 0.3" -GAME_CUSTOM( 1993, m4dtyfref5, m4dtyfre, "df503s.p1", 0x0000, 0x010000, CRC(d5e80ed5) SHA1(b2d601b2a0020f4adf80b1256d31c8cce432ecee), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3)" ) -GAME_CUSTOM( 1993, m4dtyfref5d, m4dtyfre, "df503d.p1", 0x0000, 0x010000, CRC(3eab581a) SHA1(e1f358081953feccf1f03d733f29e839d5f51fcb), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 D)" ) -GAME_CUSTOM( 1993, m4dtyfref5ad, m4dtyfre, "df503ad.p1", 0x0000, 0x010000, CRC(348e375f) SHA1(f9a7e84afb33ec8fad14521eb2ea5d5cdfa48005), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 AD)" ) -GAME_CUSTOM( 1993, m4dtyfref5b, m4dtyfre, "df503b.p1", 0x0000, 0x010000, CRC(5eef10a2) SHA1(938e9a04fe54ac24dd93e9a1388c1dcf485ac212), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 B)" ) -GAME_CUSTOM( 1993, m4dtyfref5bd, m4dtyfre, "df503bd.p1", 0x0000, 0x010000, CRC(94840089) SHA1(a48668cdc1d7edae425cc80f2ce0f884f8619242), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 BD)" ) -GAME_CUSTOM( 1993, m4dtyfref5k, m4dtyfre, "df503k.p1", 0x0000, 0x010000, CRC(bc51cc39) SHA1(0bb977c14e66ec48cd64b01a509d8f0cecdc7880), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 K)" ) -GAME_CUSTOM( 1993, m4dtyfref5kd, m4dtyfre, "df503dk.p1", 0x0000, 0x010000, CRC(85ede229) SHA1(6799567df8078b69f897c0c5d8a315c6e3ef79b5), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 KD)" ) -GAME_CUSTOM( 1993, m4dtyfref5r, m4dtyfre, "df503r.p1", 0x0000, 0x010000, CRC(6b1940e0) SHA1(e8d3683d1ef65d2e7e035e9aab98ab9136f89464), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 R)" ) -GAME_CUSTOM( 1993, m4dtyfref5rd, m4dtyfre, "df503dr.p1", 0x0000, 0x010000, CRC(42721aa6) SHA1(8a29a4433d641ea37bbe3bf99f9222e8261dd63f), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 RD)" ) -GAME_CUSTOM( 1993, m4dtyfref5y, m4dtyfre, "df503y.p1", 0x0000, 0x010000, CRC(118642d4) SHA1(af2c86f0120f38652dc3d1141c5339a32bf73e11), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 Y)" ) -GAME_CUSTOM( 1993, m4dtyfref5yd, m4dtyfre, "df503dy.p1", 0x0000, 0x010000, CRC(cfce461e) SHA1(5bbbe878e89b1d775048945e259b711ef60de9a1), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 YD)" ) -// "(C)1993 BARCREST" and "DF8 0.1" -GAME_CUSTOM( 1993, m4dtyfref8, m4dtyfre, "df8s.p1", 0x0000, 0x010000, CRC(00571ce4) SHA1(39f5ecec8ccdefb68a8b9d2ab1cd0be6acb0c1c7), "Barcrest","Duty Free (Barcrest) (MPU4) (DF8 0.1)" ) -GAME_CUSTOM( 1993, m4dtyfref8d, m4dtyfre, "df8d.p1", 0x0000, 0x010000, CRC(df3a0ed7) SHA1(97569499f65e768a059fc86bdbcbde31e1977c23), "Barcrest","Duty Free (Barcrest) (MPU4) (DF8 0.1 D)" ) -GAME_CUSTOM( 1993, m4dtyfref8c, m4dtyfre, "df8c.p1", 0x0000, 0x010000, CRC(07a82d24) SHA1(548576ce7c8d661777122e0d86d8273933beff11), "Barcrest","Duty Free (Barcrest) (MPU4) (DF8 0.1 C)" ) -GAME_CUSTOM( 1993, m4dtyfref8k, m4dtyfre, "df8k.p1", 0x0000, 0x010000, CRC(056ac122) SHA1(9a993c0a7322323512a26b147963591212a226ab), "Barcrest","Duty Free (Barcrest) (MPU4) (DF8 0.1 K)" ) -GAME_CUSTOM( 1993, m4dtyfref8y, m4dtyfre, "df8y.p1", 0x0000, 0x010000, CRC(cb902ef4) SHA1(efd7cb0a002aa54131725759cb73387f281f15a9), "Barcrest","Duty Free (Barcrest) (MPU4) (DF8 0.1 Y)" ) -GAME_CUSTOM( 1993, m4dtyfref8yd, m4dtyfre, "df8dy.p1", 0x0000, 0x010000, CRC(0f24e42d) SHA1(1049f50bc8e0a2f7b77d8e3cdc8883b6879e5cd9), "Barcrest","Duty Free (Barcrest) (MPU4) (DF8 0.1 YD)" ) +GAME_CUSTOM( 1993, m4dtyfref5, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df503s.p1", 0x0000, 0x010000, CRC(d5e80ed5) SHA1(b2d601b2a0020f4adf80b1256d31c8cce432ecee), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3)" ) +GAME_CUSTOM( 1993, m4dtyfref5d, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df503d.p1", 0x0000, 0x010000, CRC(3eab581a) SHA1(e1f358081953feccf1f03d733f29e839d5f51fcb), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 D)" ) +GAME_CUSTOM( 1993, m4dtyfref5ad, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df503ad.p1", 0x0000, 0x010000, CRC(348e375f) SHA1(f9a7e84afb33ec8fad14521eb2ea5d5cdfa48005), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 AD)" ) +GAME_CUSTOM( 1993, m4dtyfref5b, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df503b.p1", 0x0000, 0x010000, CRC(5eef10a2) SHA1(938e9a04fe54ac24dd93e9a1388c1dcf485ac212), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 B)" ) +GAME_CUSTOM( 1993, m4dtyfref5bd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df503bd.p1", 0x0000, 0x010000, CRC(94840089) SHA1(a48668cdc1d7edae425cc80f2ce0f884f8619242), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 BD)" ) +GAME_CUSTOM( 1993, m4dtyfref5k, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df503k.p1", 0x0000, 0x010000, CRC(bc51cc39) SHA1(0bb977c14e66ec48cd64b01a509d8f0cecdc7880), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 K)" ) +GAME_CUSTOM( 1993, m4dtyfref5kd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df503dk.p1", 0x0000, 0x010000, CRC(85ede229) SHA1(6799567df8078b69f897c0c5d8a315c6e3ef79b5), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 KD)" ) +GAME_CUSTOM( 1993, m4dtyfref5r, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df503r.p1", 0x0000, 0x010000, CRC(6b1940e0) SHA1(e8d3683d1ef65d2e7e035e9aab98ab9136f89464), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 R)" ) +GAME_CUSTOM( 1993, m4dtyfref5rd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df503dr.p1", 0x0000, 0x010000, CRC(42721aa6) SHA1(8a29a4433d641ea37bbe3bf99f9222e8261dd63f), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 RD)" ) +GAME_CUSTOM( 1993, m4dtyfref5y, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df503y.p1", 0x0000, 0x010000, CRC(118642d4) SHA1(af2c86f0120f38652dc3d1141c5339a32bf73e11), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 Y)" ) +GAME_CUSTOM( 1993, m4dtyfref5yd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df503dy.p1", 0x0000, 0x010000, CRC(cfce461e) SHA1(5bbbe878e89b1d775048945e259b711ef60de9a1), "Barcrest","Duty Free (Barcrest) (MPU4) (DF5 0.3 YD)" ) // "(C)1993 BARCREST" and "DFT 0.1" -GAME_CUSTOM( 1993, m4dtyfreft, m4dtyfre, "dfts.p1", 0x0000, 0x010000, CRC(d6585e76) SHA1(91538ff218d8dd7a0d6747daaa9921d3e4b3ec33), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1)" ) -GAME_CUSTOM( 1993, m4dtyfreftd, m4dtyfre, "dftd.p1", 0x0000, 0x010000, CRC(9ac1f31f) SHA1(541a761c8755d1d85cedbba306ff7330d284480f), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 D)" ) -GAME_CUSTOM( 1993, m4dtyfreftad, m4dtyfre, "dftad.p1", 0x0000, 0x010000, CRC(045cedc1) SHA1(0f833077dee2b942e17ce49b5f506d9754ed0bc1), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 AD)" ) -GAME_CUSTOM( 1993, m4dtyfreftb, m4dtyfre, "dftb.p1", 0x0000, 0x010000, CRC(93567c8b) SHA1(8dc7d662ae4a5dd58240e90144c0c9905afc04f1), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 B)" ) -GAME_CUSTOM( 1993, m4dtyfreftbd, m4dtyfre, "dftbd.p1", 0x0000, 0x010000, CRC(b5e5b19a) SHA1(8533865e8c63498e808fb9b1da86fe0ac2a7efdc), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 BD)" ) -GAME_CUSTOM( 1993, m4dtyfreftk, m4dtyfre, "dftk.p1", 0x0000, 0x010000, CRC(ad9bb027) SHA1(630e334fdffbdecc903f75b9447c2c7993cf2656), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 K)" ) -GAME_CUSTOM( 1993, m4dtyfreftkd, m4dtyfre, "dftdk.p1", 0x0000, 0x010000, CRC(dbb4bf41) SHA1(c20b102a53f4d4ccbdb83433a80c77aa444a982d), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 KD)" ) -GAME_CUSTOM( 1993, m4dtyfrefty, m4dtyfre, "dfty.p1", 0x0000, 0x010000, CRC(0dead807) SHA1(a704ec65b1d6f91b4950181a792bb082c81fe668), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 Y)" ) -GAME_CUSTOM( 1993, m4dtyfreftyd, m4dtyfre, "dftdy.p1", 0x0000, 0x010000, CRC(6b12a337) SHA1(57cfa667a2ae3bea36d82ef32429638dc36533ad), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 YD)" ) +GAME_CUSTOM( 1993, m4dtyfreft, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "dfts.p1", 0x0000, 0x010000, CRC(d6585e76) SHA1(91538ff218d8dd7a0d6747daaa9921d3e4b3ec33), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1)" ) +GAME_CUSTOM( 1993, m4dtyfreftd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "dftd.p1", 0x0000, 0x010000, CRC(9ac1f31f) SHA1(541a761c8755d1d85cedbba306ff7330d284480f), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 D)" ) +GAME_CUSTOM( 1993, m4dtyfreftad, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "dftad.p1", 0x0000, 0x010000, CRC(045cedc1) SHA1(0f833077dee2b942e17ce49b5f506d9754ed0bc1), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 AD)" ) +GAME_CUSTOM( 1993, m4dtyfreftb, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "dftb.p1", 0x0000, 0x010000, CRC(93567c8b) SHA1(8dc7d662ae4a5dd58240e90144c0c9905afc04f1), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 B)" ) +GAME_CUSTOM( 1993, m4dtyfreftbd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "dftbd.p1", 0x0000, 0x010000, CRC(b5e5b19a) SHA1(8533865e8c63498e808fb9b1da86fe0ac2a7efdc), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 BD)" ) +GAME_CUSTOM( 1993, m4dtyfreftk, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "dftk.p1", 0x0000, 0x010000, CRC(ad9bb027) SHA1(630e334fdffbdecc903f75b9447c2c7993cf2656), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 K)" ) +GAME_CUSTOM( 1993, m4dtyfreftkd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "dftdk.p1", 0x0000, 0x010000, CRC(dbb4bf41) SHA1(c20b102a53f4d4ccbdb83433a80c77aa444a982d), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 KD)" ) +GAME_CUSTOM( 1993, m4dtyfrefty, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "dfty.p1", 0x0000, 0x010000, CRC(0dead807) SHA1(a704ec65b1d6f91b4950181a792bb082c81fe668), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 Y)" ) +GAME_CUSTOM( 1993, m4dtyfreftyd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "dftdy.p1", 0x0000, 0x010000, CRC(6b12a337) SHA1(57cfa667a2ae3bea36d82ef32429638dc36533ad), "Barcrest","Duty Free (Barcrest) (MPU4) (DFT 0.1 YD)" ) // "(C)1993 BARCREST" and "XD5 0.2" -GAME_CUSTOM( 1993, m4dtyfrexd, m4dtyfre, "xd502s.p1", 0x0000, 0x010000, CRC(223117c7) SHA1(9c017c4165db7076c76c081404d27742fd1f62e7), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2)" ) -GAME_CUSTOM( 1993, m4dtyfrexdd, m4dtyfre, "xd502d.p1", 0x0000, 0x010000, CRC(7b44a085) SHA1(d7e4c25e0d42a32f72afdb17b66425e1127373fc), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 D)" ) -GAME_CUSTOM( 1993, m4dtyfrexdad, m4dtyfre, "xd502ad.p1", 0x0000, 0x010000, CRC(62700345) SHA1(9825a9a6161e217ba4682902ac25528287d4ecf3), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 AD)" ) -GAME_CUSTOM( 1993, m4dtyfrexdb, m4dtyfre, "xd502b.p1", 0x0000, 0x010000, CRC(40069386) SHA1(0d065c2b528b406468354be68bbafdcac05f779d), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 B)" ) -GAME_CUSTOM( 1993, m4dtyfrexdbd, m4dtyfre, "xd502bd.p1", 0x0000, 0x010000, CRC(2cdc9833) SHA1(d3fa76c0a9a0113fbb7a83a47e3f7a72aeb942aa), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 BD)" ) -GAME_CUSTOM( 1993, m4dtyfrexdc, m4dtyfre, "xd502c.p1", 0x0000, 0x010000, CRC(17124bb6) SHA1(4ab22cffe11e84ff08bf0f026b0ca6d9a0d32bed), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 C)" ) -GAME_CUSTOM( 1993, m4dtyfrexdk, m4dtyfre, "xd502k.p1", 0x0000, 0x010000, CRC(c9a3b787) SHA1(c7166c9e809a37037dfdc616df5fbd6b6ff8b2f8), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 K)" ) -GAME_CUSTOM( 1993, m4dtyfrexdkd, m4dtyfre, "xd502dk.p1", 0x0000, 0x010000, CRC(790aac05) SHA1(db697b9a87d0266fabd23e1b085234e36c816170), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 KD)" ) -GAME_CUSTOM( 1993, m4dtyfrexdr, m4dtyfre, "xd502r.p1", 0x0000, 0x010000, CRC(4ddbd944) SHA1(c3df807ead3a50c7be73b084f65771e4b9d1f2d0), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 R)" ) -GAME_CUSTOM( 1993, m4dtyfrexdrd, m4dtyfre, "xd502dr.p1", 0x0000, 0x010000, CRC(77a14f87) SHA1(651b58c0a9ec13441c9bf8d7bf0d7c736337f171), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 RD)" ) -GAME_CUSTOM( 1993, m4dtyfrexdy, m4dtyfre, "xd502y.p1", 0x0000, 0x010000, CRC(d0b0f1aa) SHA1(39560550083952cae568d4d634c04bf48b7baca6), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 Y)" ) -GAME_CUSTOM( 1993, m4dtyfrexdyd, m4dtyfre, "xd502dy.p1", 0x0000, 0x010000, CRC(eaca6769) SHA1(1d3d1264d849043f0adcf9a32520e5f80ae17b5f), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 YD)" ) +GAME_CUSTOM( 1993, m4dtyfrexd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xd502s.p1", 0x0000, 0x010000, CRC(223117c7) SHA1(9c017c4165db7076c76c081404d27742fd1f62e7), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2)" ) +GAME_CUSTOM( 1993, m4dtyfrexdd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xd502d.p1", 0x0000, 0x010000, CRC(7b44a085) SHA1(d7e4c25e0d42a32f72afdb17b66425e1127373fc), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 D)" ) +GAME_CUSTOM( 1993, m4dtyfrexdad, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xd502ad.p1", 0x0000, 0x010000, CRC(62700345) SHA1(9825a9a6161e217ba4682902ac25528287d4ecf3), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 AD)" ) +GAME_CUSTOM( 1993, m4dtyfrexdb, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xd502b.p1", 0x0000, 0x010000, CRC(40069386) SHA1(0d065c2b528b406468354be68bbafdcac05f779d), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 B)" ) +GAME_CUSTOM( 1993, m4dtyfrexdbd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xd502bd.p1", 0x0000, 0x010000, CRC(2cdc9833) SHA1(d3fa76c0a9a0113fbb7a83a47e3f7a72aeb942aa), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 BD)" ) +GAME_CUSTOM( 1993, m4dtyfrexdc, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xd502c.p1", 0x0000, 0x010000, CRC(17124bb6) SHA1(4ab22cffe11e84ff08bf0f026b0ca6d9a0d32bed), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 C)" ) +GAME_CUSTOM( 1993, m4dtyfrexdk, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xd502k.p1", 0x0000, 0x010000, CRC(c9a3b787) SHA1(c7166c9e809a37037dfdc616df5fbd6b6ff8b2f8), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 K)" ) +GAME_CUSTOM( 1993, m4dtyfrexdkd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xd502dk.p1", 0x0000, 0x010000, CRC(790aac05) SHA1(db697b9a87d0266fabd23e1b085234e36c816170), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 KD)" ) +GAME_CUSTOM( 1993, m4dtyfrexdr, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xd502r.p1", 0x0000, 0x010000, CRC(4ddbd944) SHA1(c3df807ead3a50c7be73b084f65771e4b9d1f2d0), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 R)" ) +GAME_CUSTOM( 1993, m4dtyfrexdrd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xd502dr.p1", 0x0000, 0x010000, CRC(77a14f87) SHA1(651b58c0a9ec13441c9bf8d7bf0d7c736337f171), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 RD)" ) +GAME_CUSTOM( 1993, m4dtyfrexdy, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xd502y.p1", 0x0000, 0x010000, CRC(d0b0f1aa) SHA1(39560550083952cae568d4d634c04bf48b7baca6), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 Y)" ) +GAME_CUSTOM( 1993, m4dtyfrexdyd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xd502dy.p1", 0x0000, 0x010000, CRC(eaca6769) SHA1(1d3d1264d849043f0adcf9a32520e5f80ae17b5f), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.2 YD)" ) // "(C)1993 BARCREST" and "XD5 0.1" -GAME_CUSTOM( 1993, m4dtyfrexd_a, m4dtyfre, "xd5s.p1", 0x0000, 0x010000, CRC(235ba9d1) SHA1(3a58c986f63c9ee75e91c59455b0a02582b4301b), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.1)" ) +GAME_CUSTOM( 1993, m4dtyfrexd_a, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xd5s.p1", 0x0000, 0x010000, CRC(235ba9d1) SHA1(3a58c986f63c9ee75e91c59455b0a02582b4301b), "Barcrest","Duty Free (Barcrest) (MPU4) (XD5 0.1)" ) // "(C)1993 BARCREST" and "XFT 0.1" -GAME_CUSTOM( 1993, m4dtyfrexf, m4dtyfre, "xft01s.p1", 0x0000, 0x010000, CRC(fc107ba0) SHA1(661f1ab0d0192f77c355d5570885940d71174592), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1)" ) -GAME_CUSTOM( 1993, m4dtyfrexfd, m4dtyfre, "xft01d.p1", 0x0000, 0x010000, CRC(88391d1c) SHA1(f1b1034b962a03efd7d2cbe6ac0cc7328871a180), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 D)" ) -GAME_CUSTOM( 1993, m4dtyfrexfad, m4dtyfre, "xft01ad.p1", 0x0000, 0x010000, CRC(7299da07) SHA1(eb1371ce52e24fbfcac8f45166ca56d8aee9d403), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 AD)" ) -GAME_CUSTOM( 1993, m4dtyfrexfb, m4dtyfre, "xft01b.p1", 0x0000, 0x010000, CRC(c24904c4) SHA1(1c1b94b499f7a50e04b1287ce95633a8b0a5c0ea), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 B)" ) -GAME_CUSTOM( 1993, m4dtyfrexfbd, m4dtyfre, "xft01bd.p1", 0x0000, 0x010000, CRC(e67a0e47) SHA1(8115a5ab8b508ff30b28fa8f5d33f598385ee115), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 BD)" ) -GAME_CUSTOM( 1993, m4dtyfrexfc, m4dtyfre, "xft01c.p1", 0x0000, 0x010000, CRC(ee915038) SHA1(a0239268eae757e8e7ee16d9acb5dc28e7820b4e), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 C)" ) -GAME_CUSTOM( 1993, m4dtyfrexfk, m4dtyfre, "xft01k.p1", 0x0000, 0x010000, CRC(fbdc88b2) SHA1(231b6b8ba92a794ec363c1b853921e28e6b34fec), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 K)" ) -GAME_CUSTOM( 1993, m4dtyfrexfkd, m4dtyfre, "xft01dk.p1", 0x0000, 0x010000, CRC(dfef8231) SHA1(7610a7bcdb91a39cf86ac926818d02f4d751f099), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 KD)" ) -GAME_CUSTOM( 1993, m4dtyfrexfr, m4dtyfre, "xft01r.p1", 0x0000, 0x010000, CRC(dd8b05e6) SHA1(64a5aaaa6e7fb162c23ad0e36d39923e986b0fb4), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 R)" ) -GAME_CUSTOM( 1993, m4dtyfrexfrd, m4dtyfre, "xft01dr.p1", 0x0000, 0x010000, CRC(213f7fe5) SHA1(7e9cad6df7f4a58a0b98dbac552bf545a53ebfcd), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 RD)" ) -GAME_CUSTOM( 1993, m4dtyfrexfy, m4dtyfre, "xft01y.p1", 0x0000, 0x010000, CRC(39e49e72) SHA1(459e0d81b6d0d2aa44aa6a7a00cbdec4d9536df0), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 Y)" ) -GAME_CUSTOM( 1993, m4dtyfrexfyd, m4dtyfre, "xft01dy.p1", 0x0000, 0x010000, CRC(25fc8e71) SHA1(54c4c8c2118b4758dedb15f0a11f918f2ee0fb7d), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 YD)" ) -// "(C)1996 B.W.B." and various ident strings, none boot, bad chr -GAME_CUSTOM( 1996, m4dtyfrebwb, m4dtyfre, "4df5.10", 0x0000, 0x010000, CRC(01c9e06f) SHA1(6d9d4a43f621c4a80259040875a1fe851459b662), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF10 4.3, set 1)" ) -GAME_CUSTOM( 1996, m4dtyfrebwb_a, m4dtyfre, "dfree510l", 0x0000, 0x010000, CRC(7cf877a9) SHA1(54a87391832a641bf5f7104968b919dbb2bfa1eb), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF10 4.3, set 2)" ) -GAME_CUSTOM( 1996, m4dtyfrebwb_b, m4dtyfre, "4df5.8t", 0x0000, 0x010000, CRC(e8abec56) SHA1(84f6abc5e8b46c55052d308266000085374b12af), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF8 4.2)" ) -GAME_CUSTOM( 1996, m4dtyfrebwb_c, m4dtyfre, "bwb duty free 5.8.bin", 0x0000, 0x010000, CRC(c67e7315) SHA1(a70183b0937c138c96fd1a0cd5bacff1acd0cbdb), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF8 2.2, set 1)" ) -GAME_CUSTOM( 1996, m4dtyfrebwb_d, m4dtyfre, "df5,2.8t", 0x0000, 0x010000, CRC(eb4cf0ae) SHA1(45c4e143a3e358c4bdc0c10e38039cba48a9e6dc), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF8 2.2, set 2)" ) -GAME_CUSTOM( 1996, m4dtyfrebwb_e, m4dtyfre, "4df5.4", 0x0000, 0x010000, CRC(60e21664) SHA1(2a343f16ece19396ad41eeac8c94a23d8e648d4f), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF4 4.1)" ) -GAME_CUSTOM( 1996, m4dtyfrebwb_f, m4dtyfre, "df5.4", 0x0000, 0x010000, CRC(14de7ecb) SHA1(f7445b33b2febbf93fd0398ab310ac104e79443c), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF4 2.1)" ) -GAME_CUSTOM( 1996, m4dtyfrebwb_g, m4dtyfre, "df5,2.4", 0x0000, 0x010000, CRC(50f8566c) SHA1(364d33de4b34d0052ffc98536468c0a13f847a2a), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF4 1.1)" ) -GAME_CUSTOM( 1996, m4dtyfrebwb_h, m4dtyfre, "df5.10", 0x0000, 0x010000, CRC(96acf53f) SHA1(1297a9162dea474079d0ea63b2b1b8e7f649230a), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DFC 2.3)" ) +GAME_CUSTOM( 1993, m4dtyfrexf, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xft01s.p1", 0x0000, 0x010000, CRC(fc107ba0) SHA1(661f1ab0d0192f77c355d5570885940d71174592), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1)" ) +GAME_CUSTOM( 1993, m4dtyfrexfd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xft01d.p1", 0x0000, 0x010000, CRC(88391d1c) SHA1(f1b1034b962a03efd7d2cbe6ac0cc7328871a180), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 D)" ) +GAME_CUSTOM( 1993, m4dtyfrexfad, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xft01ad.p1", 0x0000, 0x010000, CRC(7299da07) SHA1(eb1371ce52e24fbfcac8f45166ca56d8aee9d403), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 AD)" ) +GAME_CUSTOM( 1993, m4dtyfrexfb, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xft01b.p1", 0x0000, 0x010000, CRC(c24904c4) SHA1(1c1b94b499f7a50e04b1287ce95633a8b0a5c0ea), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 B)" ) +GAME_CUSTOM( 1993, m4dtyfrexfbd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xft01bd.p1", 0x0000, 0x010000, CRC(e67a0e47) SHA1(8115a5ab8b508ff30b28fa8f5d33f598385ee115), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 BD)" ) +GAME_CUSTOM( 1993, m4dtyfrexfc, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xft01c.p1", 0x0000, 0x010000, CRC(ee915038) SHA1(a0239268eae757e8e7ee16d9acb5dc28e7820b4e), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 C)" ) +GAME_CUSTOM( 1993, m4dtyfrexfk, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xft01k.p1", 0x0000, 0x010000, CRC(fbdc88b2) SHA1(231b6b8ba92a794ec363c1b853921e28e6b34fec), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 K)" ) +GAME_CUSTOM( 1993, m4dtyfrexfkd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xft01dk.p1", 0x0000, 0x010000, CRC(dfef8231) SHA1(7610a7bcdb91a39cf86ac926818d02f4d751f099), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 KD)" ) +GAME_CUSTOM( 1993, m4dtyfrexfr, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xft01r.p1", 0x0000, 0x010000, CRC(dd8b05e6) SHA1(64a5aaaa6e7fb162c23ad0e36d39923e986b0fb4), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 R)" ) +GAME_CUSTOM( 1993, m4dtyfrexfrd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xft01dr.p1", 0x0000, 0x010000, CRC(213f7fe5) SHA1(7e9cad6df7f4a58a0b98dbac552bf545a53ebfcd), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 RD)" ) +GAME_CUSTOM( 1993, m4dtyfrexfy, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xft01y.p1", 0x0000, 0x010000, CRC(39e49e72) SHA1(459e0d81b6d0d2aa44aa6a7a00cbdec4d9536df0), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 Y)" ) +GAME_CUSTOM( 1993, m4dtyfrexfyd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "xft01dy.p1", 0x0000, 0x010000, CRC(25fc8e71) SHA1(54c4c8c2118b4758dedb15f0a11f918f2ee0fb7d), "Barcrest","Duty Free (Barcrest) (MPU4) (XFT 0.1 YD)" ) + +// "(C)1993 BARCREST" and "DUT 0.4" +GAME_CUSTOM( 1993, m4dtyfre, 0, mod4oki_cheatchr_pal, mpu4, init_m4default, "duts.p1", 0x0000, 0x010000, CRC(8c7d6567) SHA1(8e82c4168d4d455c7cb95a895c04f7ad327894ec), "Barcrest","Duty Free (Barcrest) (MPU4) (DUT 0.4)" ) +GAME_CUSTOM( 1993, m4dtyfreutb, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "dutb.p1", 0x0000, 0x010000, CRC(479acab7) SHA1(645e876b2c59dd4c091b5f168dcfd2cfa7eda0a3), "Barcrest","Duty Free (Barcrest) (MPU4) (DUT 0.4 B)" ) +GAME_CUSTOM( 1993, m4dtyfreutc, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "dutc.p1", 0x0000, 0x010000, CRC(654858eb) SHA1(4e95d6f1b84360b747a04d34bfda4d8c8ee3ea3b), "Barcrest","Duty Free (Barcrest) (MPU4) (DUT 0.4 C)" ) +// "(C)1993 BARCREST" and "DF8 0.1" +GAME_CUSTOM( 1993, m4dtyfref8, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df8s.p1", 0x0000, 0x010000, CRC(00571ce4) SHA1(39f5ecec8ccdefb68a8b9d2ab1cd0be6acb0c1c7), "Barcrest","Duty Free (Barcrest) (MPU4) (DF8 0.1)" ) +GAME_CUSTOM( 1993, m4dtyfref8d, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df8d.p1", 0x0000, 0x010000, CRC(df3a0ed7) SHA1(97569499f65e768a059fc86bdbcbde31e1977c23), "Barcrest","Duty Free (Barcrest) (MPU4) (DF8 0.1 D)" ) +GAME_CUSTOM( 1993, m4dtyfref8c, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df8c.p1", 0x0000, 0x010000, CRC(07a82d24) SHA1(548576ce7c8d661777122e0d86d8273933beff11), "Barcrest","Duty Free (Barcrest) (MPU4) (DF8 0.1 C)" ) +GAME_CUSTOM( 1993, m4dtyfref8k, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df8k.p1", 0x0000, 0x010000, CRC(056ac122) SHA1(9a993c0a7322323512a26b147963591212a226ab), "Barcrest","Duty Free (Barcrest) (MPU4) (DF8 0.1 K)" ) +GAME_CUSTOM( 1993, m4dtyfref8y, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df8y.p1", 0x0000, 0x010000, CRC(cb902ef4) SHA1(efd7cb0a002aa54131725759cb73387f281f15a9), "Barcrest","Duty Free (Barcrest) (MPU4) (DF8 0.1 Y)" ) +GAME_CUSTOM( 1993, m4dtyfref8yd, m4dtyfre, mod4oki_cheatchr_pal, mpu4, init_m4default, "df8dy.p1", 0x0000, 0x010000, CRC(0f24e42d) SHA1(1049f50bc8e0a2f7b77d8e3cdc8883b6879e5cd9), "Barcrest","Duty Free (Barcrest) (MPU4) (DF8 0.1 YD)" ) + // "1997 COCO" and "DF4 4.1" (hack?) -GAME_CUSTOM( 199?, m4dtyfre_h1, m4dtyfre, "dfre55", 0x0000, 0x010000, CRC(01e7d367) SHA1(638b709e4bb997998ccc7c4ea8adc33cabf2fe36), "hack?","Duty Free (Bwb / Barcrest) (MPU4) (DF4 4.1, hack?)" ) // bad chr +GAME_CUSTOM( 199?, m4dtyfre_h1, m4dtyfre, mod4oki_bootleg_fixedret<0x2b>, mpu4, init_m4default, "dfre55", 0x0000, 0x010000, CRC(01e7d367) SHA1(638b709e4bb997998ccc7c4ea8adc33cabf2fe36), "hack?","Duty Free (Bwb / Barcrest) (MPU4) (DF4 4.1, hack?)" ) // bad chr + // "HI BIG BOY" and "DFT 0.1" (hack?) -GAME_CUSTOM( 199?, m4dtyfre_h2, m4dtyfre, "duty2010", 0x0000, 0x010000, CRC(48617f20) SHA1(dd35eef2357af6f88be42bb81608696ed97522c5), "hack?","Duty Free (Barcrest) (MPU4) (DFT 0.1, hack?)" ) // bad chr +GAME_CUSTOM( 199?, m4dtyfre_h2, m4dtyfre, mod4oki_bootleg_fixedret<0x1d>, mpu4, init_m4default, "duty2010", 0x0000, 0x010000, CRC(48617f20) SHA1(dd35eef2357af6f88be42bb81608696ed97522c5), "hack?","Duty Free (Barcrest) (MPU4) (DFT 0.1, hack?)" ) // bad chr -#define M4RHOG_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "rhm.chr", 0x0000, 0x000048, CRC(e8417c98) SHA1(460c43327b41c95b7d091c04dbc9ce7b2e4773f6) ) \ - ROM_LOAD( "rr6s.chr", 0x0000, 0x000048, CRC(ca08d53a) SHA1(b419c45f46ee352cbdb0b38a8c3fd33383b61f3a) ) \ +// "(C)1996 B.W.B." and various ident strings, are these hacks? require non-standard protection +GAME_CUSTOM( 1996, m4dtyfrebwb, m4dtyfre, mod4oki_bootleg_fixedret<0x1f>, mpu4, init_m4default, "4df5.10", 0x0000, 0x010000, CRC(01c9e06f) SHA1(6d9d4a43f621c4a80259040875a1fe851459b662), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF10 4.3, set 1)" ) +GAME_CUSTOM( 1996, m4dtyfrebwb_a, m4dtyfre, mod4oki_bootleg_fixedret<0x1f>, mpu4, init_m4default, "dfree510l", 0x0000, 0x010000, CRC(7cf877a9) SHA1(54a87391832a641bf5f7104968b919dbb2bfa1eb), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF10 4.3, set 2)" ) +GAME_CUSTOM( 1996, m4dtyfrebwb_b, m4dtyfre, mod4oki_bootleg_fixedret<0x2c>, mpu4, init_m4default, "4df5.8t", 0x0000, 0x010000, CRC(e8abec56) SHA1(84f6abc5e8b46c55052d308266000085374b12af), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF8 4.2)" ) +GAME_CUSTOM( 1996, m4dtyfrebwb_d, m4dtyfre, mod4oki_bootleg_fixedret<0x2e>, mpu4, init_m4default, "df5,2.8t", 0x0000, 0x010000, CRC(eb4cf0ae) SHA1(45c4e143a3e358c4bdc0c10e38039cba48a9e6dc), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF8 2.2, set 2)" ) +GAME_CUSTOM( 1996, m4dtyfrebwb_g, m4dtyfre, mod4oki_bootleg_fixedret<0x2e>, mpu4, init_m4default, "df5,2.4", 0x0000, 0x010000, CRC(50f8566c) SHA1(364d33de4b34d0052ffc98536468c0a13f847a2a), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF4 1.1)" ) + +GAME_CUSTOM( 1996, m4dtyfrebwb_c, m4dtyfre, mod4oki_bootleg_fixedret<0x2e>, mpu4, init_m4default, "bwb duty free 5.8.bin", 0x0000, 0x010000, CRC(c67e7315) SHA1(a70183b0937c138c96fd1a0cd5bacff1acd0cbdb), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF8 2.2, set 1)" ) +GAME_CUSTOM( 1996, m4dtyfrebwb_e, m4dtyfre, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4default, "4df5.4", 0x0000, 0x010000, CRC(60e21664) SHA1(2a343f16ece19396ad41eeac8c94a23d8e648d4f), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF4 4.1)" ) +GAME_CUSTOM( 1996, m4dtyfrebwb_f, m4dtyfre, mod4oki_bootleg_fixedret<0x2d>, mpu4, init_m4default, "df5.4", 0x0000, 0x010000, CRC(14de7ecb) SHA1(f7445b33b2febbf93fd0398ab310ac104e79443c), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DF4 2.1)" ) +GAME_CUSTOM( 1996, m4dtyfrebwb_h, m4dtyfre, mod4oki_bootleg_fixedret<0x1d>, mpu4, init_m4default, "df5.10", 0x0000, 0x010000, CRC(96acf53f) SHA1(1297a9162dea474079d0ea63b2b1b8e7f649230a), "Bwb","Duty Free (Bwb / Barcrest) (MPU4) (DFC 2.3)" ) + +/***************************************************************************************************************************************************************************** +* +* Showcase Duty Free +* +* attract mode shows 'Duty Free with Prizes' +* +*****************************************************************************************************************************************************************************/ + +#define M4SHODF_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "rr6snd.p1", 0x000000, 0x080000, CRC(a5ec3f46) SHA1(2d6f1adbbd8ac931a99a7d3d9caa2a7a117ac3fa) ) \ - ROM_LOAD( "rr6snd.p2", 0x080000, 0x080000, CRC(e5b72ef2) SHA1(dcdfa162db8bf3f9610709b5a8f3b695f42b2371) ) - + ROM_LOAD( "sdfsnd.p1", 0x000000, 0x080000, CRC(a5829cec) SHA1(eb65c86125350a7f384f9033f6a217284b6ff3d1) ) \ + ROM_LOAD( "sdfsnd.p2", 0x080000, 0x080000, CRC(1e5d8407) SHA1(64ee6eba3fb7700a06b89a1e0489a0cd54bb89fd) ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ - ROM_REGION( 0x10000, "maincpu", 0 ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4SHODF_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "SDF 0.2" +GAME_CUSTOM( 199?, m4shodf, 0, "sdfs.p1", 0x0000, 0x010000, CRC(5df9abdb) SHA1(0dce3a7ff4d2f11c370a3a2578c592910a9e7371), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SDF 0.2)" ) +GAME_CUSTOM( 199?, m4shodf__h, m4shodf, "sdfb.p1", 0x0000, 0x010000, CRC(a15204bb) SHA1(c862822615e82e5f2f9f2f3cb7e31f804fd859be), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SDF 0.2 B)" ) +GAME_CUSTOM( 199?, m4shodf__i, m4shodf, "sdfd.p1", 0x0000, 0x010000, CRC(19913c83) SHA1(894da549e790b9062f36fdce90b8e8d284d513e6), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SDF 0.2 D)" ) +GAME_CUSTOM( 199?, m4shodf__j, m4shodf, "sdfdy.p1", 0x0000, 0x010000, CRC(df1325b1) SHA1(002780fcecf895d20a2a3c0c57fbe4dd675a1e42), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SDF 0.2 YD)" ) +GAME_CUSTOM( 199?, m4shodf__k, m4shodf, "sdfk.p1", 0x0000, 0x010000, CRC(32def2fb) SHA1(45064f319cb5268745e8d5210ceed3a84a8e7f20), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SDF 0.2 K)" ) +GAME_CUSTOM( 199?, m4shodf__l, m4shodf, "sdfy.p1", 0x0000, 0x010000, CRC(dbb6aa80) SHA1(976f5811a0a578c7f2497ac654f7c416b6018a34), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SDF 0.2 Y)" ) +// "(C)1993 BARCREST" and "SD8 0.1" +GAME_CUSTOM( 199?, m4shodf__f, m4shodf, "sd8s.p1", 0x0000, 0x010000, CRC(59d696e4) SHA1(e51a9a0bc1348b44e77f85343463154ad680ef89), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1)" ) +GAME_CUSTOM( 199?, m4shodf__a, m4shodf, "sd8b.p1", 0x0000, 0x010000, CRC(79f7fea2) SHA1(5bfa695aef54c9621a91beac2e6c8a09d3b2974b), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1 B)" ) +GAME_CUSTOM( 199?, m4shodf__b, m4shodf, "sd8d.p1", 0x0000, 0x010000, CRC(060a1b37) SHA1(fb4fbc1164f97f13eb10edbd4e8a37502d716340), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1 D)" ) +GAME_CUSTOM( 199?, m4shodf__c, m4shodf, "sd8dk.p1", 0x0000, 0x010000, CRC(20982264) SHA1(178ce24ce21e865608133fe2ae281ba2adbdf1d4), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4shodf__d, m4shodf, "sd8dy.p1", 0x0000, 0x010000, CRC(3fb73b48) SHA1(328f827a92e6fb8ccfb3a82c52401b2d31e974bf), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4shodf__e, m4shodf, "sd8k.p1", 0x0000, 0x010000, CRC(0d8f2238) SHA1(55643a1f9fe136fb724b05efc0362b6295c9caf9), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1 K)" ) +GAME_CUSTOM( 199?, m4shodf__g, m4shodf, "sd8y.p1", 0x0000, 0x010000, CRC(f79c2e78) SHA1(f6c298b77a9c32378e3f219063daab17e551d083), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1 Y)" ) + + +/***************************************************************************************************************************************************************************** +* +* Prize Duty Free +* +* attract mode shows 'Duty Free with Prizes' +* +*****************************************************************************************************************************************************************************/ + +#define M4PRZDTY_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "pdusnd.p2", 0x000000, 0x080000, CRC(a5829cec) SHA1(eb65c86125350a7f384f9033f6a217284b6ff3d1) ) \ + ROM_LOAD( "pdusnd.p1", 0x080000, 0x080000, CRC(1e5d8407) SHA1(64ee6eba3fb7700a06b89a1e0489a0cd54bb89fd) ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4PRZDTY_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "PDU 0.2" +GAME_CUSTOM( 199?, m4przdty, 0, "pdus.p1", 0x0000, 0x010000, CRC(eaa2ae08) SHA1(a4cef3ee8c005fb717625699260d24ef6a368824), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PDU 0.2)" ) +GAME_CUSTOM( 199?, m4przdty__l, m4przdty, "pdub.p1", 0x0000, 0x010000, CRC(e50a571b) SHA1(b8412ae7211bfbf8098ae3ae70dfc2a99cd8558d), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PDU 0.2 B)" ) +GAME_CUSTOM( 199?, m4przdty__m, m4przdty, "pdud.p1", 0x0000, 0x010000, CRC(24cddc59) SHA1(c4fa0530387c5cd172d51b766315d3874cc61618), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PDU 0.2 D)" ) +GAME_CUSTOM( 199?, m4przdty__n, m4przdty, "pdudy.p1", 0x0000, 0x010000, CRC(b852ea1f) SHA1(375f0baaf64b1ea1e118f6d93417877174e094bb), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PDU 0.2 YD)" ) +GAME_CUSTOM( 199?, m4przdty__o, m4przdty, "pduk.p1", 0x0000, 0x010000, CRC(7d1c1897) SHA1(aa7753bef9b580f0a134960d74115cb43b91494f), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PDU 0.2 K)" ) +GAME_CUSTOM( 199?, m4przdty__p, m4przdty, "pduy.p1", 0x0000, 0x010000, CRC(460d967b) SHA1(ea55c87674d62ee6f525ae1ff08267e8b4b126aa), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PDU 0.2 Y)" ) +// "(C)1993 BARCREST" and "PD8 0.2" +GAME_CUSTOM( 199?, m4przdty__j, m4przdty, "pd8s.p1", 0x0000, 0x010000, CRC(65816bdb) SHA1(52717f789676ad66e4b8c5c023e23262408ef0b3), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2)" ) +GAME_CUSTOM( 199?, m4przdty__a, m4przdty, "pd8ad.p1", 0x0000, 0x010000, CRC(ff2bde9d) SHA1(6f75d1c4f8b136ad9dbfd6c0182dbe0f54f856a9), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 AD)" ) +GAME_CUSTOM( 199?, m4przdty__b, m4przdty, "pd8b.p1", 0x0000, 0x010000, CRC(123f8081) SHA1(1619e23f563f9c70e64dccf36743c60ee597cad4), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 B)" ) +GAME_CUSTOM( 199?, m4przdty__c, m4przdty, "pd8bd.p1", 0x0000, 0x010000, CRC(6136acca) SHA1(616cfc419beef50b642714df9b257ef0322bdfd4), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 BD)" ) +GAME_CUSTOM( 199?, m4przdty__d, m4przdty, "pd8d.p1", 0x0000, 0x010000, CRC(855896b5) SHA1(b093b1851cdfdf04d1f39b0a0c374de3594da97e), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 D)" ) +GAME_CUSTOM( 199?, m4przdty__e, m4przdty, "pd8dj.p1", 0x0000, 0x010000, CRC(fa898fc4) SHA1(7c873ba80ed479b929a4223fafa031508d2dcb61), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 DJ)" ) +GAME_CUSTOM( 199?, m4przdty__f, m4przdty, "pd8dk.p1", 0x0000, 0x010000, CRC(b76193c7) SHA1(ea7ae0f3031654435263fcf8b85dc8969216de94), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 KD)" ) +GAME_CUSTOM( 199?, m4przdty__g, m4przdty, "pd8dy.p1", 0x0000, 0x010000, CRC(8446848a) SHA1(23840190a3543c7fee0334bd1e9c0000eb2b7908), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 YD)" ) +GAME_CUSTOM( 199?, m4przdty__h, m4przdty, "pd8j.p1", 0x0000, 0x010000, CRC(8d74c338) SHA1(482fc028a04bd257a36b46ba3e6949f95cacd271), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 J)" ) +GAME_CUSTOM( 199?, m4przdty__i, m4przdty, "pd8k.p1", 0x0000, 0x010000, CRC(f4753cad) SHA1(4d41a2c40f56267ea31375046058ab2b22700414), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 K)" ) +GAME_CUSTOM( 199?, m4przdty__k, m4przdty, "pd8y.p1", 0x0000, 0x010000, CRC(c958ed40) SHA1(35c1905656d12c788e8766424dd400669189e2c7), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 Y)" ) + + +/***************************************************************************************************************************************************************************** +* +* Road Hog +* +*****************************************************************************************************************************************************************************/ + + +#define M4RHOG_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "rr6snd.p1", 0x000000, 0x080000, CRC(a5ec3f46) SHA1(2d6f1adbbd8ac931a99a7d3d9caa2a7a117ac3fa) ) \ + ROM_LOAD( "rr6snd.p2", 0x080000, 0x080000, CRC(e5b72ef2) SHA1(dcdfa162db8bf3f9610709b5a8f3b695f42b2371) ) + +// 1 byte different from rr6snd.p2, found in Rocky Horror set +// ROM_LOAD( "rhp2snd", 0x0000, 0x080000, CRC(18112293) SHA1(b2bf838849ad1a9931c294ccc291ba2f5c5f45e9) ) + + + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4RHOG_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) + // "(C)1991 BARCREST" and "RR6 1.2" -GAME_CUSTOM( 1991, m4rhog, 0, "rr6s.p1", 0x0000, 0x010000, CRC(f978ca0b) SHA1(11eeac41f4c77b38b33baefb16dab7de1268d161), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2)" ) -GAME_CUSTOM( 1991, m4rhogr6d, m4rhog, "rr6d.p1", 0x0000, 0x010000, CRC(b61115ea) SHA1(92b97cc8b71eb31e8377a59344faaf0d800d1bdc), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 D)" ) -GAME_CUSTOM( 1991, m4rhogr6ad, m4rhog, "rr6ad.p1", 0x0000, 0x010000, CRC(f328204d) SHA1(057f28e7eaaa372b901a76250fb7ebf4403348ad), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 AD)" ) -GAME_CUSTOM( 1991, m4rhogr6b, m4rhog, "rr6b.p1", 0x0000, 0x010000, CRC(ccacd58e) SHA1(64b67e54e5568378a18ba99017078fcd4e6bc749), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 B)" ) -GAME_CUSTOM( 1991, m4rhogr6c, m4rhog, "rr6c.p1", 0x0000, 0x010000, CRC(b5783c69) SHA1(38c122455bed904c9fd683be1a8508a69cbad03f), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 C)" ) -GAME_CUSTOM( 1991, m4rhogr6k, m4rhog, "rr6k.p1", 0x0000, 0x010000, CRC(121d29bf) SHA1(8a6dcf345012b2c499acd32c6bb76eb81ada6fa9), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 K)" ) -GAME_CUSTOM( 1991, m4rhogr6y, m4rhog, "rr6y.p1", 0x0000, 0x010000, CRC(56344b28) SHA1(7f6c740d0991a646393a47e2e85322a7c92bdd62), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 Y)" ) -GAME_CUSTOM( 1991, m4rhogr6yd, m4rhog, "rr6dy.p1", 0x0000, 0x010000, CRC(0e540e0d) SHA1(a783e73822e436669c8cc1504619990725306df1), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 YD)" ) +GAME_CUSTOM( 1991, m4rhog, 0, mod4oki_cheatchr_pal, mpu4, init_m4default, "rr6s.p1", 0x0000, 0x010000, CRC(f978ca0b) SHA1(11eeac41f4c77b38b33baefb16dab7de1268d161), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2)" ) +GAME_CUSTOM( 1991, m4rhogr6d, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "rr6d.p1", 0x0000, 0x010000, CRC(b61115ea) SHA1(92b97cc8b71eb31e8377a59344faaf0d800d1bdc), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 D)" ) +GAME_CUSTOM( 1991, m4rhogr6ad, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "rr6ad.p1", 0x0000, 0x010000, CRC(f328204d) SHA1(057f28e7eaaa372b901a76250fb7ebf4403348ad), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 AD)" ) +GAME_CUSTOM( 1991, m4rhogr6b, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "rr6b.p1", 0x0000, 0x010000, CRC(ccacd58e) SHA1(64b67e54e5568378a18ba99017078fcd4e6bc749), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 B)" ) +GAME_CUSTOM( 1991, m4rhogr6c, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "rr6c.p1", 0x0000, 0x010000, CRC(b5783c69) SHA1(38c122455bed904c9fd683be1a8508a69cbad03f), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 C)" ) +GAME_CUSTOM( 1991, m4rhogr6k, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "rr6k.p1", 0x0000, 0x010000, CRC(121d29bf) SHA1(8a6dcf345012b2c499acd32c6bb76eb81ada6fa9), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 K)" ) +GAME_CUSTOM( 1991, m4rhogr6y, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "rr6y.p1", 0x0000, 0x010000, CRC(56344b28) SHA1(7f6c740d0991a646393a47e2e85322a7c92bdd62), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 Y)" ) +GAME_CUSTOM( 1991, m4rhogr6yd, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "rr6dy.p1", 0x0000, 0x010000, CRC(0e540e0d) SHA1(a783e73822e436669c8cc1504619990725306df1), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2 YD)" ) // "(C)1991 BARCREST" and "RR6 1.1" -GAME_CUSTOM( 1991, m4rhogr6y_a, m4rhog, "rdhogvkn", 0x0000, 0x010000, CRC(3db03ada) SHA1(9b26f466c1dc1d03edacf64cbe507e084edf5f90), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.1 Y)" ) +GAME_CUSTOM( 1991, m4rhogr6y_a, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "rdhogvkn", 0x0000, 0x010000, CRC(3db03ada) SHA1(9b26f466c1dc1d03edacf64cbe507e084edf5f90), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.1 Y)" ) + // "(C)1995 B.W.B." and "RO_ 3.0" -GAME_CUSTOM( 1995, m4rhogr3, m4rhog, "rh5p8.bin", 0x0000, 0x010000, CRC(35d56379) SHA1(ab70ef8151823c3157cf4cc4f9b29875c6ac81cc), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 3.0)" ) +GAME_CUSTOM( 1995, m4rhogr3, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "rh5p8.bin", 0x0000, 0x010000, CRC(35d56379) SHA1(ab70ef8151823c3157cf4cc4f9b29875c6ac81cc), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 3.0)" ) + // "(C)1994 B.W.B." and "RO_ 2.0" -GAME_CUSTOM( 1994, m4rhogr2, m4rhog, "ro_05s__.2_1", 0x0000, 0x010000, CRC(dc18f70f) SHA1(da81b8279e4f58b1447f51beb446a6007eb39df9), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0)" ) -GAME_CUSTOM( 1994, m4rhogr2d, m4rhog, "ro_05sd_.2_1", 0x0000, 0x010000, CRC(f230ae7e) SHA1(5525ed33d115b01722186587de20013265ac19b2), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0 D)" ) -GAME_CUSTOM( 1994, m4rhogr2c, m4rhog, "roi05___.2_1", 0x0000, 0x010000, CRC(85fbd24a) SHA1(653a3cf3e651d94611caacddbd0692111667424a), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0 C)" ) -GAME_CUSTOM( 1994, m4rhogr2k, m4rhog, "ro_05a__.2_1", 0x0000, 0x010000, CRC(67450ed1) SHA1(84cab7bb2411eb47c1336159bd1941862da59db3), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0 K)" ) -GAME_CUSTOM( 1994, m4rhogr2y, m4rhog, "ro_05sk_.2_1", 0x0000, 0x010000, CRC(3e1dfedd) SHA1(a750663c96060b858e194445bc1e677b49da85b8), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0 Y)" ) -GAME_CUSTOM( 1994, m4rhogr2yd, m4rhog, "ro_05sb_.2_1", 0x0000, 0x010000, CRC(4a33cfcf) SHA1(ac5d4873df74b521018d5eeac96fd7003ee093e8), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0 YD)" ) +GAME_CUSTOM( 1994, m4rhogr2, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "ro_05s__.2_1", 0x0000, 0x010000, CRC(dc18f70f) SHA1(da81b8279e4f58b1447f51beb446a6007eb39df9), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0)" ) +GAME_CUSTOM( 1994, m4rhogr2d, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "ro_05sd_.2_1", 0x0000, 0x010000, CRC(f230ae7e) SHA1(5525ed33d115b01722186587de20013265ac19b2), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0 D)" ) +GAME_CUSTOM( 1994, m4rhogr2c, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "roi05___.2_1", 0x0000, 0x010000, CRC(85fbd24a) SHA1(653a3cf3e651d94611caacddbd0692111667424a), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0 C)" ) +GAME_CUSTOM( 1994, m4rhogr2k, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "ro_05a__.2_1", 0x0000, 0x010000, CRC(67450ed1) SHA1(84cab7bb2411eb47c1336159bd1941862da59db3), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0 K)" ) +GAME_CUSTOM( 1994, m4rhogr2y, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "ro_05sk_.2_1", 0x0000, 0x010000, CRC(3e1dfedd) SHA1(a750663c96060b858e194445bc1e677b49da85b8), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0 Y)" ) +GAME_CUSTOM( 1994, m4rhogr2yd, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "ro_05sb_.2_1", 0x0000, 0x010000, CRC(4a33cfcf) SHA1(ac5d4873df74b521018d5eeac96fd7003ee093e8), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0 YD)" ) // "(C)1994 B.W.B." and "RO_ 1.0" -GAME_CUSTOM( 1994, m4rhogr1, m4rhog, "ro_10s__.1_1", 0x0000, 0x010000, CRC(d140597a) SHA1(0ddf898b5db2a1cbfda84e8a63e0be3de7582cbd), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0)" ) -GAME_CUSTOM( 1994, m4rhogr1d, m4rhog, "ro_10sd_.1_1", 0x0000, 0x010000, CRC(3f9152f3) SHA1(97e0c0461b8d4994515ac9e20d001dc7e74042ec), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0 D)" ) -GAME_CUSTOM( 1994, m4rhogr1c, m4rhog, "roi10___.1_1", 0x0000, 0x010000, CRC(2f832f4b) SHA1(b9228e2585cff6d4d9df64048c77e0b9ad3e75d7), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0 C)" ) -GAME_CUSTOM( 1994, m4rhogr1k, m4rhog, "ro_10a__.1_1", 0x0000, 0x010000, CRC(1772bce6) SHA1(c5d0cec8e5bcfcef5003325169522f1da066354b), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0 K, set 1)" ) -GAME_CUSTOM( 1994, m4rhogr1y, m4rhog, "ro_10sk_.1_1", 0x0000, 0x010000, CRC(5d5118d1) SHA1(c4abc5ccdeb711b6ec2a2c82bb2f8da9d824fe4e), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0 Y)" ) -GAME_CUSTOM( 1994, m4rhogr1yd, m4rhog, "ro_10sb_.1_1", 0x0000, 0x010000, CRC(34febd6f) SHA1(e1d5e178771714f9633dd9782c1f9d373a9ca5e1), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0 YD)" ) -GAME_CUSTOM( 1994, m4rhogr1k_a, m4rhog, "rhog5p", 0x0000, 0x010000, CRC(49b11beb) SHA1(89c2320de4b3f2ff6ba28501f88147b659f1ee20), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0 K, set 2, wrong version number?)" ) // clearly not the same version as above, more code... -// "HAVE A NICE DAY" and "RO_ 2.0" (won't boot) -GAME_CUSTOM( 1994, m4rhog_h1, m4rhog, "road hog 5p 6.bin", 0x0000, 0x010000, CRC(b365d1f0) SHA1(af3b4f5162af6c033039a1e004bc803175a4e996), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 1)" ) -GAME_CUSTOM( 1994, m4rhog_h2, m4rhog, "rhog05_11", 0x0000, 0x010000, CRC(8e4b14aa) SHA1(8b67b34597c0d30b0b3cf2566536c02f880a74bc), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 2)" ) -GAME_CUSTOM( 1994, m4rhog_h3, m4rhog, "rhog55", 0x0000, 0x010000, CRC(29395082) SHA1(538434b82e31f7e40770a9b882e54a16195ee998), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 3)" ) -GAME_CUSTOM( 1994, m4rhog_h4, m4rhog, "rhog58c", 0x0000, 0x010000, CRC(e02b6da6) SHA1(7d329adcac594c98685dc5404f2b9e8f717cc47f), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 4)" ) -GAME_CUSTOM( 1994, m4rhog_h5, m4rhog, "rh056c", 0x0000, 0x010000, CRC(073845e2) SHA1(5e6f3ccdfc346f95e5e7e955144332e727da1d9e), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 5)" ) -GAME_CUSTOM( 1994, m4rhog_h6, m4rhog, "rhog_05_.4", 0x0000, 0x010000, CRC(a75a2bd4) SHA1(d21505d27792acf8fa20a7cdc830efbe8756fe81), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 6)" ) -GAME_CUSTOM( 1994, m4rhog_h7, m4rhog, "rhog_05_.8", 0x0000, 0x010000, CRC(5476f9b4) SHA1(fbd038e8710a79ea697d5acb482bed2f307cefbb), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 7)" ) -// "HAVE A NICE DAY" and "RO_ 1.0" (won't boot) -GAME_CUSTOM( 1994, m4rhog_h8, m4rhog, "rhog10_11", 0x0000, 0x010000, CRC(83575be7) SHA1(2cb549554028f2fdc32ecfa58b786de375b8fa35), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0, hack?, set 1)" ) -GAME_CUSTOM( 1994, m4rhog_h9, m4rhog, "rhog10c", 0x0000, 0x010000, CRC(308c6d4f) SHA1(f7f8063fe8dd4ef204f225d0aa5202732ead5fa0), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0, hack?, set 2)" ) -GAME_CUSTOM( 1994, m4rhog_h10, m4rhog, "rhog_10_.4", 0x0000, 0x010000, CRC(8efa581c) SHA1(03c25b674cfb02792edc9ef8a76b16af31d80aae), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0, hack?, set 3)" ) -GAME_CUSTOM( 1994, m4rhog_h11, m4rhog, "rhog_10_.8", 0x0000, 0x010000, CRC(84d1f95d) SHA1(33f10e0e1e5abe6011b05f32f55c7dd6d3298945), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0, hack?, set 4)" ) -// "(C)1991 BARCREST" and "RR6 1.2" but won't boot, and we already have valid roms above, hacked? -GAME_CUSTOM( 1991, m4rhog_h12, m4rhog, "rhog20c", 0x0000, 0x010000, CRC(74ec16f7) SHA1(995d75b3a4e88d8a34dc395b185f728c18e00a2b), "hack?","Road Hog (Barcrest) (MPU4) (RR6 1.2?, hack?)" ) -GAME_CUSTOM( 1991, m4rhog_h13, m4rhog, "rhog_20_.8", 0x0000, 0x010000, CRC(3a82e4bf) SHA1(6582951c2afe14502c37460381bf4c28ec02f3c9), "hack?","Road Hog (Barcrest) (MPU4) (RR6 1.2, hack?)" ) -GAME_CUSTOM( 1991, m4rhog_h14, m4rhog, "rhog_20_.4", 0x0000, 0x010000, CRC(15e28457) SHA1(2a758a727a6956e3029b2026cd189f6249677c6a), "hack?","Road Hog (Barcrest) (MPU4) (RR6 1.2C, hack?, set 1)" ) -GAME_CUSTOM( 1991, m4rhog_h15, m4rhog, "rhog20_11", 0x0000, 0x010000, CRC(63c80ee0) SHA1(22a3f11007acedd833af9e73e3038fb3542781fe), "hack?","Road Hog (Barcrest) (MPU4) (RR6 1.2C, hack?, set 2)" ) +GAME_CUSTOM( 1994, m4rhogr1, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "ro_10s__.1_1", 0x0000, 0x010000, CRC(d140597a) SHA1(0ddf898b5db2a1cbfda84e8a63e0be3de7582cbd), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0)" ) +GAME_CUSTOM( 1994, m4rhogr1d, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "ro_10sd_.1_1", 0x0000, 0x010000, CRC(3f9152f3) SHA1(97e0c0461b8d4994515ac9e20d001dc7e74042ec), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0 D)" ) +GAME_CUSTOM( 1994, m4rhogr1c, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "roi10___.1_1", 0x0000, 0x010000, CRC(2f832f4b) SHA1(b9228e2585cff6d4d9df64048c77e0b9ad3e75d7), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0 C)" ) +GAME_CUSTOM( 1994, m4rhogr1k, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "ro_10a__.1_1", 0x0000, 0x010000, CRC(1772bce6) SHA1(c5d0cec8e5bcfcef5003325169522f1da066354b), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0 K, set 1)" ) +GAME_CUSTOM( 1994, m4rhogr1y, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "ro_10sk_.1_1", 0x0000, 0x010000, CRC(5d5118d1) SHA1(c4abc5ccdeb711b6ec2a2c82bb2f8da9d824fe4e), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0 Y)" ) +GAME_CUSTOM( 1994, m4rhogr1yd, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "ro_10sb_.1_1", 0x0000, 0x010000, CRC(34febd6f) SHA1(e1d5e178771714f9633dd9782c1f9d373a9ca5e1), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0 YD)" ) +GAME_CUSTOM( 1994, m4rhogr1k_a, m4rhog, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhog5p", 0x0000, 0x010000, CRC(49b11beb) SHA1(89c2320de4b3f2ff6ba28501f88147b659f1ee20), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0 K, set 2, wrong version number?)" ) // clearly not the same version as above, more code... + // "(C)1995 B.W.B." and "ROC 2.0" (bad, and possible wrong game, club version?) -GAME_CUSTOM( 1995, m4rhog_roc, m4rhog, "roadhog5p4std.bin", 0x0000, 0x010000, BAD_DUMP CRC(0ff60341) SHA1(c12d5b160d9e47a6f1aa6f378c2a70186be6bdff), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (ROC 2.0, bad)" ) +GAME_CUSTOM( 1995, m4rhog_roc, m4rhog, mod4oki, mpu4, init_m4default, "roadhog5p4std.bin", 0x0000, 0x010000, BAD_DUMP CRC(0ff60341) SHA1(c12d5b160d9e47a6f1aa6f378c2a70186be6bdff), "Bwb","Road Hog (Bwb / Barcrest) (MPU4) (ROC 2.0, bad)" ) + +// "(C)1991 BARCREST" and "RR6 1.2" custom protection, hacked +GAME_CUSTOM( 1991, m4rhog_h12, m4rhog, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4default, "rhog20c", 0x0000, 0x010000, CRC(74ec16f7) SHA1(995d75b3a4e88d8a34dc395b185f728c18e00a2b), "hack?","Road Hog (Barcrest) (MPU4) (RR6 1.2?, hack?)" ) +GAME_CUSTOM( 1991, m4rhog_h13, m4rhog, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4default, "rhog_20_.8", 0x0000, 0x010000, CRC(3a82e4bf) SHA1(6582951c2afe14502c37460381bf4c28ec02f3c9), "hack?","Road Hog (Barcrest) (MPU4) (RR6 1.2, hack?)" ) +GAME_CUSTOM( 1991, m4rhog_h14, m4rhog, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4default, "rhog_20_.4", 0x0000, 0x010000, CRC(15e28457) SHA1(2a758a727a6956e3029b2026cd189f6249677c6a), "hack?","Road Hog (Barcrest) (MPU4) (RR6 1.2C, hack?, set 1)" ) +// "(C)1991 BARCREST" and "RR6 1.2" custom protection +GAME_CUSTOM( 1991, m4rhog_h15, m4rhog, mod4oki_bootleg_fixedret<0x1f>, mpu4, init_m4default, "rhog20_11", 0x0000, 0x010000, CRC(63c80ee0) SHA1(22a3f11007acedd833af9e73e3038fb3542781fe), "hack?","Road Hog (Barcrest) (MPU4) (RR6 1.2C, hack?, set 2)" ) + +// different protection, involving 814 and regular reads, see note at top of driver + +// "HAVE A NICE DAY" and "RO_ 2.0" +GAME_CUSTOM( 1994, m4rhog_h1, m4rhog, mod4oki_bootleg_fixedret<0x44>, mpu4, init_m4default, "road hog 5p 6.bin", 0x0000, 0x010000, CRC(b365d1f0) SHA1(af3b4f5162af6c033039a1e004bc803175a4e996), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 1)" ) +GAME_CUSTOM( 1994, m4rhog_h5, m4rhog, mod4oki_bootleg_fixedret<0x44>, mpu4, init_m4default, "rh056c", 0x0000, 0x010000, CRC(073845e2) SHA1(5e6f3ccdfc346f95e5e7e955144332e727da1d9e), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 5)" ) +// "HAVE A NICE DAY" and "RO_ 2.0" +GAME_CUSTOM( 1994, m4rhog_h2, m4rhog, mod4oki_bootleg_fixedret<0x1c>, mpu4, init_m4default, "rhog05_11", 0x0000, 0x010000, CRC(8e4b14aa) SHA1(8b67b34597c0d30b0b3cf2566536c02f880a74bc), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 2)" ) +// "HAVE A NICE DAY" and "RO_ 2.0" +GAME_CUSTOM( 1994, m4rhog_h3, m4rhog, mod4oki_bootleg_fixedret<0x28>, mpu4, init_m4default, "rhog55", 0x0000, 0x010000, CRC(29395082) SHA1(538434b82e31f7e40770a9b882e54a16195ee998), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 3)" ) +// "HAVE A NICE DAY" and "RO_ 2.0" +GAME_CUSTOM( 1994, m4rhog_h4, m4rhog, mod4oki_bootleg_fixedret<0x2c>, mpu4, init_m4default, "rhog58c", 0x0000, 0x010000, CRC(e02b6da6) SHA1(7d329adcac594c98685dc5404f2b9e8f717cc47f), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 4)" ) +GAME_CUSTOM( 1994, m4rhog_h6, m4rhog, mod4oki_bootleg_fixedret<0x2c>, mpu4, init_m4default, "rhog_05_.4", 0x0000, 0x010000, CRC(a75a2bd4) SHA1(d21505d27792acf8fa20a7cdc830efbe8756fe81), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 6)" ) +GAME_CUSTOM( 1994, m4rhog_h7, m4rhog, mod4oki_bootleg_fixedret<0x2c>, mpu4, init_m4default, "rhog_05_.8", 0x0000, 0x010000, CRC(5476f9b4) SHA1(fbd038e8710a79ea697d5acb482bed2f307cefbb), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 2.0, hack?, set 7)" ) +// "HAVE A NICE DAY" and "RO_ 1.0" +GAME_CUSTOM( 1994, m4rhog_h8, m4rhog, mod4oki_bootleg_fixedret<0x1f>, mpu4, init_m4default, "rhog10_11", 0x0000, 0x010000, CRC(83575be7) SHA1(2cb549554028f2fdc32ecfa58b786de375b8fa35), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0, hack?, set 1)" ) +// "HAVE A NICE DAY" and "RO_ 1.0" +GAME_CUSTOM( 1994, m4rhog_h9, m4rhog, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4default, "rhog10c", 0x0000, 0x010000, CRC(308c6d4f) SHA1(f7f8063fe8dd4ef204f225d0aa5202732ead5fa0), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0, hack?, set 2)" ) +GAME_CUSTOM( 1994, m4rhog_h10, m4rhog, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4default, "rhog_10_.4", 0x0000, 0x010000, CRC(8efa581c) SHA1(03c25b674cfb02792edc9ef8a76b16af31d80aae), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0, hack?, set 3)" ) +GAME_CUSTOM( 1994, m4rhog_h11, m4rhog, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4default, "rhog_10_.8", 0x0000, 0x010000, CRC(84d1f95d) SHA1(33f10e0e1e5abe6011b05f32f55c7dd6d3298945), "hack?","Road Hog (Bwb / Barcrest) (MPU4) (RO_ 1.0, hack?, set 4)" ) -void mpu4_state::init_m4andyge() + +/***************************************************************************************************************************************************************************** +* +* Andy's Great Escape +* +*****************************************************************************************************************************************************************************/ + +void mpu4mod4oki_machines_state::init_m4andyge() { //Derived from Andy's_Great_Escape_(Barcrest)_[C02_1024_10jp].gam init_m4default(); init_m4_hopper_tubes(); init_m4_small_extender(); init_m4_five_reel_std(); - init_m_grtecp(); //PCKEY =1 //STKEY =3 @@ -555,339 +813,277 @@ void mpu4_state::init_m4andyge() //Front door code 0 Cash door code 0 } + #define M4ANDYGE_EXTRA_ROMS \ ROM_REGION( 0x1200, "plds", 0 ) /* PAL16V8 PLD, like others - CHR? Guess it should be here... */ \ ROM_LOAD( "age.bin", 0x0000, 0x000117, CRC(901359e5) SHA1(7dbcd6023e7ce68f4aa7f191f572d74f21f978aa) ) \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "char.chr", 0x0000, 0x000048, CRC(053a5846) SHA1(c92de79e568c9f253bb71dbda2ca32b7b3b6661a) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "an2snd.p1", 0x000000, 0x080000, CRC(5394e9ae) SHA1(86ccd8531fc87f34d3c5482ba7e5a2c06ea69491) ) \ ROM_LOAD( "an2snd.p2", 0x080000, 0x080000, CRC(109ace1f) SHA1(9f0e8065186beb61ed50fea834de2d91e68db953) ) #undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( 0x10000, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4ANDYGE_EXTRA_ROMS \ ROM_END \ - GAMEL( year, setname, parent, mod4oki_5r, grtecp, mpu4_state, init_m4andyge, ROT0, company, title, GAME_FLAGS, layout_m4andyge ) -// "(C)1991 BARCREST" and "AN2 0.3" -GAME_CUSTOM( 1991, m4andyge, 0, "an2s.p1", 0x0000, 0x010000, CRC(65399fa0) SHA1(ecefdf63e7aa477001fa530ed340e90e85252c3c), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3, set 1)" ) // one of these is probably hacked -GAME_CUSTOM( 1991, m4andygen2_a, m4andyge, "agesc20p", 0x0000, 0x010000, CRC(94fec0f3) SHA1(7678e01a4e0fcc4136f6d4a668c4d1dd9a8f1246), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3, set 2)" ) // or has the wrong id strings -GAME_CUSTOM( 1991, m4andygen2d, m4andyge, "an2d.p1", 0x0000, 0x010000, CRC(5651ed3d) SHA1(6a1fbff252bf266b03c4cb64294053f686a523d6), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3 D)" ) -GAME_CUSTOM( 1991, m4andygen2c, m4andyge, "an2c.p1", 0x0000, 0x010000, CRC(3e233c24) SHA1(4e8f0cb45851db509020afd47821893ab49448d7), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3 C)" ) -GAME_CUSTOM( 1991, m4andygen2k, m4andyge, "an2k.p1", 0x0000, 0x010000, CRC(c0886dff) SHA1(ef2b509fde05ef4ef055a09275afc9e153f50efc), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3 K)" ) -GAME_CUSTOM( 1991, m4andygen2y, m4andyge, "an2y.p1", 0x0000, 0x010000, CRC(a9cd1ed2) SHA1(052fc711efe633a2ece6bf24fabdc0b69b9355fd), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3 Y)" ) -// "(C)1991 BARCREST" and "A28 0.1" -GAME_CUSTOM( 1991, m4andyge28, m4andyge, "a28s.p1", 0x0000, 0x010000, CRC(40529bad) SHA1(d22b0e8a8f4acec78dc05cde01d68b625008f3b0), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1)" ) -GAME_CUSTOM( 1991, m4andyge28d, m4andyge, "a28d.p1", 0x0000, 0x010000, CRC(e8eee34e) SHA1(c223a8c1fd2c609376bab9e780020523c4e76b08), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 D)" ) -GAME_CUSTOM( 1991, m4andyge28ad, m4andyge, "a28ad.p1", 0x0000, 0x010000, CRC(ecb0b180) SHA1(23d68e34e7a58fc6574e6c8524ce2e4e4cd25582), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 AD)" ) -GAME_CUSTOM( 1991, m4andyge28b, m4andyge, "a28b.p1", 0x0000, 0x010000, CRC(481c6c1c) SHA1(d8133d87e481f9c01c60324e918f706da6486c1b), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 B)" ) -GAME_CUSTOM( 1991, m4andyge28bd, m4andyge, "a28bd.p1", 0x0000, 0x010000, CRC(a59430b1) SHA1(000a00ba115408ab35fea74faa745220a9fcad68), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 BD)" ) -GAME_CUSTOM( 1991, m4andyge28c, m4andyge, "a28c.p1", 0x0000, 0x010000, CRC(e74533db) SHA1(f6f77dc61c08cdced0dca9133dfeeb5fdd4076f0), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 C)" ) -GAME_CUSTOM( 1991, m4andyge28k, m4andyge, "a28k.p1", 0x0000, 0x010000, CRC(c83b94fa) SHA1(8194b25bfcb8ba0323c63ee2f2b45f030aa1caeb), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 K)" ) -GAME_CUSTOM( 1991, m4andyge28kd, m4andyge, "a28dk.p1", 0x0000, 0x010000, CRC(115a2bc1) SHA1(31736f9583b4f110a6c838cecbd47acb7baa58c9), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 KD)" ) -GAME_CUSTOM( 1991, m4andyge28y, m4andyge, "a28y.p1", 0x0000, 0x010000, CRC(fb1c83b7) SHA1(76b40e1ea47732ae0f6e9557c2d0445421122ac8), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 Y)" ) -GAME_CUSTOM( 1991, m4andyge28yd, m4andyge, "a28dy.p1", 0x0000, 0x010000, CRC(05ef8b21) SHA1(762aaad6892511ba1f3266c1ed0a09850339cc63), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 YD)" ) + GAMEL( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS, layout_m4andyge ) + // "(C)1991 BARCREST" and "A2T 0.1" -GAME_CUSTOM( 1991, m4andyge2t, m4andyge, "a2ts.p1", 0x0000, 0x010000, CRC(d47c9c42) SHA1(5374cb5739a5c2ab2be32166c4819682f3266320), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1)" ) -GAME_CUSTOM( 1991, m4andyge2td, m4andyge, "a2td.p1", 0x0000, 0x010000, CRC(ad17a652) SHA1(86006c706768a9227a21eb8da25817f4efacaa39), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 D)" ) -GAME_CUSTOM( 1991, m4andyge2tad, m4andyge, "a2tad.p1", 0x0000, 0x010000, CRC(0e3971d7) SHA1(f8de4a932937923d585f816fc9bffbe9887011c1), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 AD)" ) -GAME_CUSTOM( 1991, m4andyge2tb, m4andyge, "a2tb.p1", 0x0000, 0x010000, CRC(d8c4bf4d) SHA1(06e082db39576f2da39866bdb8daab49e2b4108d), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 B)" ) -GAME_CUSTOM( 1991, m4andyge2tbd, m4andyge, "a2tbd.p1", 0x0000, 0x010000, CRC(ed048ad0) SHA1(a2ffae901171363ccb827c7bf6299f29b0347e3c), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 BD)" ) -GAME_CUSTOM( 1991, m4andyge2tk, m4andyge, "a2tk.p1", 0x0000, 0x010000, CRC(8ca6ce3d) SHA1(6c869eceea88109b23a2b850deda6c5a46ca5a48), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 K)" ) -GAME_CUSTOM( 1991, m4andyge2tkd, m4andyge, "a2tdk.p1", 0x0000, 0x010000, CRC(f11bd420) SHA1(0904ecf296474ee5283da26d8c728af438aac595), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 KD)" ) -GAME_CUSTOM( 1991, m4andyge2ty, m4andyge, "a2ty.p1", 0x0000, 0x010000, CRC(30c22b5d) SHA1(be87fcbfb13c34c3d0ee1f586e887c80ffa01245), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 Y)" ) -GAME_CUSTOM( 1991, m4andyge2tyd, m4andyge, "a2tdy.p1", 0x0000, 0x010000, CRC(0ffcb8d7) SHA1(b1d591eed982d2bc2e02b96e2561bbb372242480), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 YD)" ) +GAME_CUSTOM( 1991, m4andyge2t, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a2ts.p1", 0x0000, 0x010000, CRC(d47c9c42) SHA1(5374cb5739a5c2ab2be32166c4819682f3266320), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1)" ) +GAME_CUSTOM( 1991, m4andyge2td, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a2td.p1", 0x0000, 0x010000, CRC(ad17a652) SHA1(86006c706768a9227a21eb8da25817f4efacaa39), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 D)" ) +GAME_CUSTOM( 1991, m4andyge2tad, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a2tad.p1", 0x0000, 0x010000, CRC(0e3971d7) SHA1(f8de4a932937923d585f816fc9bffbe9887011c1), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 AD)" ) +GAME_CUSTOM( 1991, m4andyge2tb, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a2tb.p1", 0x0000, 0x010000, CRC(d8c4bf4d) SHA1(06e082db39576f2da39866bdb8daab49e2b4108d), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 B)" ) +GAME_CUSTOM( 1991, m4andyge2tbd, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a2tbd.p1", 0x0000, 0x010000, CRC(ed048ad0) SHA1(a2ffae901171363ccb827c7bf6299f29b0347e3c), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 BD)" ) +GAME_CUSTOM( 1991, m4andyge2tk, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a2tk.p1", 0x0000, 0x010000, CRC(8ca6ce3d) SHA1(6c869eceea88109b23a2b850deda6c5a46ca5a48), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 K)" ) +GAME_CUSTOM( 1991, m4andyge2tkd, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a2tdk.p1", 0x0000, 0x010000, CRC(f11bd420) SHA1(0904ecf296474ee5283da26d8c728af438aac595), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 KD)" ) +GAME_CUSTOM( 1991, m4andyge2ty, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a2ty.p1", 0x0000, 0x010000, CRC(30c22b5d) SHA1(be87fcbfb13c34c3d0ee1f586e887c80ffa01245), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 Y)" ) +GAME_CUSTOM( 1991, m4andyge2tyd, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a2tdy.p1", 0x0000, 0x010000, CRC(0ffcb8d7) SHA1(b1d591eed982d2bc2e02b96e2561bbb372242480), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A2T 0.1 YD)" ) // "(C)1991 BARCREST" and "A5T 0.1" -GAME_CUSTOM( 1991, m4andyge5t, m4andyge, "a5ts.p1", 0x0000, 0x010000, CRC(9ab99a1e) SHA1(605c5ee71aa0583f02e9ced604692814e33b741a), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1)" ) -GAME_CUSTOM( 1991, m4andyge5td, m4andyge, "a5td.p1", 0x0000, 0x010000, CRC(b3ebc357) SHA1(6d0718474f83f71151189c3175b687564c1d49b0), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 D)" ) -GAME_CUSTOM( 1991, m4andyge5tad, m4andyge, "a5tad.p1", 0x0000, 0x010000, CRC(df767538) SHA1(17ca5ea5b217fda448f61412cae82ae61447c5ad), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 AD)" ) -GAME_CUSTOM( 1991, m4andyge5tb, m4andyge, "a5tb.p1", 0x0000, 0x010000, CRC(e6f22d3f) SHA1(f6da8edc0b058ce316ccca306f930469ef6d016c), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 B)" ) -GAME_CUSTOM( 1991, m4andyge5tbd, m4andyge, "a5tbd.p1", 0x0000, 0x010000, CRC(24aa63c8) SHA1(838f1fff46c65dd56f25fd491f8aab3be826a845), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 BD)" ) -GAME_CUSTOM( 1991, m4andyge5tk, m4andyge, "a5tk.p1", 0x0000, 0x010000, CRC(c63209f8) SHA1(71968dd94431610ddef35bb4cf8dcba749470a26), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 K)" ) -GAME_CUSTOM( 1991, m4andyge5tkd, m4andyge, "a5tdk.p1", 0x0000, 0x010000, CRC(67472634) SHA1(aae14b9ea4125b94dd1a7325c000629258573499), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 KD)" ) -GAME_CUSTOM( 1991, m4andyge5ty, m4andyge, "a5ty.p1", 0x0000, 0x010000, CRC(86ef0bd8) SHA1(870b8165e206f84e59a3badfba441a567626f297), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 Y)" ) -GAME_CUSTOM( 1991, m4andyge5tyd, m4andyge, "a5tdy.p1", 0x0000, 0x010000, CRC(9f9c15c2) SHA1(0e6471c62450bd8468adde1a2d69c5b24c472bfc), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 YD)" ) +GAME_CUSTOM( 1991, m4andyge5t, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a5ts.p1", 0x0000, 0x010000, CRC(9ab99a1e) SHA1(605c5ee71aa0583f02e9ced604692814e33b741a), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1)" ) +GAME_CUSTOM( 1991, m4andyge5td, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a5td.p1", 0x0000, 0x010000, CRC(b3ebc357) SHA1(6d0718474f83f71151189c3175b687564c1d49b0), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 D)" ) +GAME_CUSTOM( 1991, m4andyge5tad, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a5tad.p1", 0x0000, 0x010000, CRC(df767538) SHA1(17ca5ea5b217fda448f61412cae82ae61447c5ad), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 AD)" ) +GAME_CUSTOM( 1991, m4andyge5tb, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a5tb.p1", 0x0000, 0x010000, CRC(e6f22d3f) SHA1(f6da8edc0b058ce316ccca306f930469ef6d016c), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 B)" ) +GAME_CUSTOM( 1991, m4andyge5tbd, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a5tbd.p1", 0x0000, 0x010000, CRC(24aa63c8) SHA1(838f1fff46c65dd56f25fd491f8aab3be826a845), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 BD)" ) +GAME_CUSTOM( 1991, m4andyge5tk, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a5tk.p1", 0x0000, 0x010000, CRC(c63209f8) SHA1(71968dd94431610ddef35bb4cf8dcba749470a26), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 K)" ) +GAME_CUSTOM( 1991, m4andyge5tkd, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a5tdk.p1", 0x0000, 0x010000, CRC(67472634) SHA1(aae14b9ea4125b94dd1a7325c000629258573499), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 KD)" ) +GAME_CUSTOM( 1991, m4andyge5ty, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a5ty.p1", 0x0000, 0x010000, CRC(86ef0bd8) SHA1(870b8165e206f84e59a3badfba441a567626f297), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 Y)" ) +GAME_CUSTOM( 1991, m4andyge5tyd, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a5tdy.p1", 0x0000, 0x010000, CRC(9f9c15c2) SHA1(0e6471c62450bd8468adde1a2d69c5b24c472bfc), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A5T 0.1 YD)" ) + +// "(C)1991 BARCREST" and "AN2 0.3" +GAME_CUSTOM( 1991, m4andyge, 0, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "an2s.p1", 0x0000, 0x010000, CRC(65399fa0) SHA1(ecefdf63e7aa477001fa530ed340e90e85252c3c), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3, set 1)" ) // one of these is probably hacked +GAME_CUSTOM( 1991, m4andygen2_a, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "agesc20p", 0x0000, 0x010000, CRC(94fec0f3) SHA1(7678e01a4e0fcc4136f6d4a668c4d1dd9a8f1246), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3, set 2)" ) // or has the wrong id strings +GAME_CUSTOM( 1991, m4andygen2d, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "an2d.p1", 0x0000, 0x010000, CRC(5651ed3d) SHA1(6a1fbff252bf266b03c4cb64294053f686a523d6), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3 D)" ) +GAME_CUSTOM( 1991, m4andygen2c, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "an2c.p1", 0x0000, 0x010000, CRC(3e233c24) SHA1(4e8f0cb45851db509020afd47821893ab49448d7), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3 C)" ) +GAME_CUSTOM( 1991, m4andygen2k, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "an2k.p1", 0x0000, 0x010000, CRC(c0886dff) SHA1(ef2b509fde05ef4ef055a09275afc9e153f50efc), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3 K)" ) +GAME_CUSTOM( 1991, m4andygen2y, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "an2y.p1", 0x0000, 0x010000, CRC(a9cd1ed2) SHA1(052fc711efe633a2ece6bf24fabdc0b69b9355fd), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3 Y)" ) +// "(C)1991 BARCREST" and "A28 0.1" +GAME_CUSTOM( 1991, m4andyge28, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a28s.p1", 0x0000, 0x010000, CRC(40529bad) SHA1(d22b0e8a8f4acec78dc05cde01d68b625008f3b0), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1)" ) +GAME_CUSTOM( 1991, m4andyge28d, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a28d.p1", 0x0000, 0x010000, CRC(e8eee34e) SHA1(c223a8c1fd2c609376bab9e780020523c4e76b08), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 D)" ) +GAME_CUSTOM( 1991, m4andyge28ad, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a28ad.p1", 0x0000, 0x010000, CRC(ecb0b180) SHA1(23d68e34e7a58fc6574e6c8524ce2e4e4cd25582), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 AD)" ) +GAME_CUSTOM( 1991, m4andyge28b, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a28b.p1", 0x0000, 0x010000, CRC(481c6c1c) SHA1(d8133d87e481f9c01c60324e918f706da6486c1b), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 B)" ) +GAME_CUSTOM( 1991, m4andyge28bd, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a28bd.p1", 0x0000, 0x010000, CRC(a59430b1) SHA1(000a00ba115408ab35fea74faa745220a9fcad68), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 BD)" ) +GAME_CUSTOM( 1991, m4andyge28c, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a28c.p1", 0x0000, 0x010000, CRC(e74533db) SHA1(f6f77dc61c08cdced0dca9133dfeeb5fdd4076f0), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 C)" ) +GAME_CUSTOM( 1991, m4andyge28k, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a28k.p1", 0x0000, 0x010000, CRC(c83b94fa) SHA1(8194b25bfcb8ba0323c63ee2f2b45f030aa1caeb), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 K)" ) +GAME_CUSTOM( 1991, m4andyge28kd, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a28dk.p1", 0x0000, 0x010000, CRC(115a2bc1) SHA1(31736f9583b4f110a6c838cecbd47acb7baa58c9), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 KD)" ) +GAME_CUSTOM( 1991, m4andyge28y, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a28y.p1", 0x0000, 0x010000, CRC(fb1c83b7) SHA1(76b40e1ea47732ae0f6e9557c2d0445421122ac8), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 Y)" ) +GAME_CUSTOM( 1991, m4andyge28yd, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "a28dy.p1", 0x0000, 0x010000, CRC(05ef8b21) SHA1(762aaad6892511ba1f3266c1ed0a09850339cc63), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (A28 0.1 YD)" ) // "(C)1995 B.W.B." and "AGC 2.0" -GAME_CUSTOM( 1995, m4andygegc2, m4andyge, "ag_05__c.2_1", 0x0000, 0x010000, CRC(c38c11a3) SHA1(c2d81d99a842eac8dff3e0be57f37af9eb534ad1), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AGC 2.0)" ) -GAME_CUSTOM( 1995, m4andygegc2d, m4andyge, "ag_05_d4.2_1", 0x0000, 0x010000, CRC(29953aa1) SHA1(c1346ab7e651c35d704e5127c4d44d2086fd48e3), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AGC 2.0 D)" ) +GAME_CUSTOM( 1995, m4andygegc2, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "ag_05__c.2_1", 0x0000, 0x010000, CRC(c38c11a3) SHA1(c2d81d99a842eac8dff3e0be57f37af9eb534ad1), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AGC 2.0)" ) +GAME_CUSTOM( 1995, m4andygegc2d, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "ag_05_d4.2_1", 0x0000, 0x010000, CRC(29953aa1) SHA1(c1346ab7e651c35d704e5127c4d44d2086fd48e3), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AGC 2.0 D)" ) // "(C)1994 B.W.B." and "AG5 3.0" -GAME_CUSTOM( 1994, m4andygeg5, m4andyge, "ag_05s__.3_1", 0x0000, 0x010000, CRC(c0e45872) SHA1(936ca3230cd36dd4ad2c74ea33ea469c482e5688), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0)" ) -GAME_CUSTOM( 1994, m4andygeg5d, m4andyge, "ag_05sd_.3_1", 0x0000, 0x010000, CRC(b7fced5c) SHA1(6b359b29019bf22b2ebdd96a69f919b18935a98c), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 D)" ) -GAME_CUSTOM( 1994, m4andygeg5a, m4andyge, "agesc5p", 0x0000, 0x010000, CRC(9de05e25) SHA1(b4d6aea5cffb14babd89cfa76575a68277bfaa4b), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 A)" ) -GAME_CUSTOM( 1994, m4andygeg5c, m4andyge, "agi05___.3_1", 0x0000, 0x010000, CRC(b061a468) SHA1(a1f1a8bd55eb7a684de270bace9464812172ed92), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 C)" ) -GAME_CUSTOM( 1994, m4andygeg5k, m4andyge, "ag_05a__.3_1", 0x0000, 0x010000, CRC(89f4281e) SHA1(3ada70d7c5ef523f1a4eddfc8f1967e4a6de190d), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 K)" ) -GAME_CUSTOM( 1994, m4andygeg5yd, m4andyge, "ag_05sb_.3_1", 0x0000, 0x010000, CRC(f5055b62) SHA1(b12a7d2a1143ce47e6a327831d5df21483d78b03), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 YD)" ) +GAME_CUSTOM( 1994, m4andygeg5, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "ag_05s__.3_1", 0x0000, 0x010000, CRC(c0e45872) SHA1(936ca3230cd36dd4ad2c74ea33ea469c482e5688), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0)" ) +GAME_CUSTOM( 1994, m4andygeg5d, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "ag_05sd_.3_1", 0x0000, 0x010000, CRC(b7fced5c) SHA1(6b359b29019bf22b2ebdd96a69f919b18935a98c), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 D)" ) +GAME_CUSTOM( 1994, m4andygeg5a, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "agesc5p", 0x0000, 0x010000, CRC(9de05e25) SHA1(b4d6aea5cffb14babd89cfa76575a68277bfaa4b), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 A)" ) +GAME_CUSTOM( 1994, m4andygeg5c, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "agi05___.3_1", 0x0000, 0x010000, CRC(b061a468) SHA1(a1f1a8bd55eb7a684de270bace9464812172ed92), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 C)" ) +GAME_CUSTOM( 1994, m4andygeg5k, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "ag_05a__.3_1", 0x0000, 0x010000, CRC(89f4281e) SHA1(3ada70d7c5ef523f1a4eddfc8f1967e4a6de190d), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 K)" ) +GAME_CUSTOM( 1994, m4andygeg5yd, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "ag_05sb_.3_1", 0x0000, 0x010000, CRC(f5055b62) SHA1(b12a7d2a1143ce47e6a327831d5df21483d78b03), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 YD)" ) // "(C)1994 B.W.B." and "AG__2.0" -GAME_CUSTOM( 1994, m4andygeg_2, m4andyge, "ag_10s__.2_1", 0x0000, 0x010000, CRC(0dfeda46) SHA1(27e7548845f116537043e26002d8a5458275389d), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG__2.0)" ) -GAME_CUSTOM( 1994, m4andygeg_2d, m4andyge, "ag_10sd_.2_1", 0x0000, 0x010000, CRC(03ab435f) SHA1(3b04324c1ae839529d99255008874df3744769a4), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG__2.0 D)" ) -GAME_CUSTOM( 1994, m4andygeg_2c, m4andyge, "agi10___.2_1", 0x0000, 0x010000, CRC(7c56a6ca) SHA1(adb567b8e1b6cc727bcfa694ade947f8c695f44a), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG__2.0 C)" ) -GAME_CUSTOM( 1994, m4andygeg_2k, m4andyge, "ag_10a__.2_1", 0x0000, 0x010000, CRC(ca80d891) SHA1(17bf51fecc3cecbb1e0ef0550296c8bf81d3d879), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG__2.0 K)" ) -GAME_CUSTOM( 1994, m4andygeg_2yd, m4andyge, "ag_10sb_.2_1", 0x0000, 0x010000, CRC(6f025416) SHA1(bb0167ba0a67dd1a03ec3e69e2050e2bf1d35244), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG__2.0 YD)" ) -// "(C)1994 B.W.B." and "AG5 3.0" (are these legit? they don't seem to care much about the chr) -GAME_CUSTOM( 1994, m4andyge_hx1, m4andyge, "acappgreatescape5p4.bin", 0x0000, 0x010000, CRC(87733a0d) SHA1(6e2fc0f43eb48740b120af77302f1322a27e8a5a), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 CX, hack?, set 1)" ) -GAME_CUSTOM( 1994, m4andyge_hx2, m4andyge, "age55", 0x0000, 0x010000, CRC(481e942d) SHA1(23ac3c4f624ae73940baf515002a178d39ba32b0), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 CX, hack?, set 2)" ) -GAME_CUSTOM( 1994, m4andyge_hx3, m4andyge, "age58c", 0x0000, 0x010000, CRC(0b1e4a0e) SHA1(e2bcd590a358e48b26b056f83c7180da0e036024), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 CX, hack?, set 3)" ) -GAME_CUSTOM( 1994, m4andyge_hx4, m4andyge, "age05_101", 0x0000, 0x010000, CRC(70c1d1ab) SHA1(478891cadaeba76666af5c4f25531456ebbe789a), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 CX, hack?, set 4)" ) +GAME_CUSTOM( 1994, m4andygeg_2, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "ag_10s__.2_1", 0x0000, 0x010000, CRC(0dfeda46) SHA1(27e7548845f116537043e26002d8a5458275389d), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG__2.0)" ) +GAME_CUSTOM( 1994, m4andygeg_2d, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "ag_10sd_.2_1", 0x0000, 0x010000, CRC(03ab435f) SHA1(3b04324c1ae839529d99255008874df3744769a4), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG__2.0 D)" ) +GAME_CUSTOM( 1994, m4andygeg_2c, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "agi10___.2_1", 0x0000, 0x010000, CRC(7c56a6ca) SHA1(adb567b8e1b6cc727bcfa694ade947f8c695f44a), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG__2.0 C)" ) +GAME_CUSTOM( 1994, m4andygeg_2k, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "ag_10a__.2_1", 0x0000, 0x010000, CRC(ca80d891) SHA1(17bf51fecc3cecbb1e0ef0550296c8bf81d3d879), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG__2.0 K)" ) +GAME_CUSTOM( 1994, m4andygeg_2yd, m4andyge, mod4oki_5r_cheatchr_pal, grtecp, init_m4andyge, "ag_10sb_.2_1", 0x0000, 0x010000, CRC(6f025416) SHA1(bb0167ba0a67dd1a03ec3e69e2050e2bf1d35244), "Bwb","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG__2.0 YD)" ) +// these are unprotected, don't read from chr, possibly all hacks? +// "(C)1994 B.W.B." and "AG5 3.0" +GAME_CUSTOM( 1994, m4andyge_hx1, m4andyge, mod4oki_5r, grtecp, init_m4andyge, "acappgreatescape5p4.bin", 0x0000, 0x010000, CRC(87733a0d) SHA1(6e2fc0f43eb48740b120af77302f1322a27e8a5a), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 CX, hack?, set 1)" ) +GAME_CUSTOM( 1994, m4andyge_hx2, m4andyge, mod4oki_5r, grtecp, init_m4andyge, "age55", 0x0000, 0x010000, CRC(481e942d) SHA1(23ac3c4f624ae73940baf515002a178d39ba32b0), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 CX, hack?, set 2)" ) +GAME_CUSTOM( 1994, m4andyge_hx3, m4andyge, mod4oki_5r, grtecp, init_m4andyge, "age58c", 0x0000, 0x010000, CRC(0b1e4a0e) SHA1(e2bcd590a358e48b26b056f83c7180da0e036024), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 CX, hack?, set 3)" ) +GAME_CUSTOM( 1994, m4andyge_hx4, m4andyge, mod4oki_5r, grtecp, init_m4andyge, "age05_101", 0x0000, 0x010000, CRC(70c1d1ab) SHA1(478891cadaeba76666af5c4f25531456ebbe789a), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG5 3.0 CX, hack?, set 4)" ) // " " and "AG__2.0" -GAME_CUSTOM( 1994, m4andyge_hx5, m4andyge, "age10_101", 0x0000, 0x010000, CRC(55e3a27e) SHA1(209166d052cc296f135225c77bb57abbef1a86ae), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG__2.0 CX, hack?)" ) +GAME_CUSTOM( 1994, m4andyge_hx5, m4andyge, mod4oki_5r, grtecp, init_m4andyge, "age10_101", 0x0000, 0x010000, CRC(55e3a27e) SHA1(209166d052cc296f135225c77bb57abbef1a86ae), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (AG__2.0 CX, hack?)" ) +// different protection // "RICK LUVS BRIAN" and "8V1 3.0" -GAME_CUSTOM( 199?, m4andyge_h1, m4andyge, "age5p8p.bin", 0x0000, 0x010000, CRC(c3b40981) SHA1(da56e468ae67f1a231fea721235036c75c5efac3), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (8V1 3.0, hack?, set 1)" ) -GAME_CUSTOM( 199?, m4andyge_h2, m4andyge, "ages58c", 0x0000, 0x010000, CRC(af479dc9) SHA1(7e0e3b36289d689bbd0c022730d7aee62192f49f), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (8V1 3.0, hack?, set 2)" ) +GAME_CUSTOM( 199?, m4andyge_h1, m4andyge, mod4oki_5r_bootleg_fixedret<0x0c>, grtecp, init_m4andyge, "age5p8p.bin", 0x0000, 0x010000, CRC(c3b40981) SHA1(da56e468ae67f1a231fea721235036c75c5efac3), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (8V1 3.0, hack?, set 1)" ) +GAME_CUSTOM( 199?, m4andyge_h2, m4andyge, mod4oki_5r_bootleg_fixedret<0x0c>, grtecp, init_m4andyge, "ages58c", 0x0000, 0x010000, CRC(af479dc9) SHA1(7e0e3b36289d689bbd0c022730d7aee62192f49f), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (8V1 3.0, hack?, set 2)" ) // " " and "8V1 0.3" -GAME_CUSTOM( 199?, m4andyge_h3, m4andyge, "age_20_.8", 0x0000, 0x010000, CRC(b1f91b2a) SHA1(9340f87d6d186b3af0384ab546c3d3f487e797d4), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (8V1 0.3, hack?, set 1)" ) -GAME_CUSTOM( 199?, m4andyge_h4, m4andyge, "age20_101", 0x0000, 0x010000, CRC(7e3674f0) SHA1(351e353da24b63d2ef7cb09690b770b26505569a), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (8V1 0.3, hack?, set 2)" ) - - -void mpu4_state::init_m4addr() -{ - //Derived from Adders_&_Ladders_(Barcrest)_[C03_800_6jp].gam - init_m4default(); - init_m4_hopper_tubes(); - init_m4default_reels(); - //PCKEY =0 - //STKEY =0 - //JPKEY =0 - //JPSET =0 - //DIP1_0=false - //DIP1_1=false - //DIP1_2=false - //DIP1_3=false - //DIP1_4=false - //DIP1_5=false - //DIP1_6=false - //DIP1_7=false - //DIP2_0=false - //DIP2_1=false - //DIP2_2=false - //DIP2_3=false - //DIP2_4=false - //DIP2_5=false - //DIP2_6=false - //DIP2_7=false - //Sound barcrest1 - //Standard - //Volume 0 Stereo= 1 - //Sample rate 16000 - //Front door code 0 Cash door code 0 -} - - -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( 0x10000, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - ROM_END \ - GAMEL( year, setname, parent, mod2, mpu4, mpu4_state, init_m4addr, ROT0, company, title, GAME_FLAGS, layout_m4addr ) -// all the adders and ladders sets kill the cpu, end up jumping to the ram area after an RTI/RTS combo? are we saturating the CPU with too many interrupts or is there a bug? -// also the BWB versioning is.. illogical -// I think this is a mod2, but because it doesn't boot I haven't moved it to mpu4mod2sw.c yet - -// "(C)1991 BARCREST" and "A6L 0.1" -GAME_CUSTOM( 1991, m4addr, 0, "a6ls.p1", 0x0000, 0x010000, CRC(9f97f57b) SHA1(402d1518bb78fdc489b06c2aabc771e5ce151847), "Barcrest","Adders & Ladders (Barcrest) (MPU4) (A6L 0.1, set 1)" ) -GAME_CUSTOM( 199?, m4addrc__d, m4addr, "alddr20", 0x0000, 0x010000, CRC(19cf4437) SHA1(b528823c476bebd1a9a6c720a4144294743693d2), "Barcrest","Adders & Ladders (Barcrest) (MPU4) (A6L 0.1, set 2)" ) // hack? -GAME_CUSTOM( 1991, m4addr6ld, m4addr, "a6ld.p1", 0x0000, 0x010000, CRC(de555e12) SHA1(2233160f1c734c889c1c00dee202a928f18ad763), "Barcrest","Adders & Ladders (Barcrest) (MPU4) (A6L 0.1 D)" ) -GAME_CUSTOM( 1991, m4addr6lc, m4addr, "a6lc.p1", 0x0000, 0x010000, CRC(1e75fe67) SHA1(4497b19d4c512c934d445b4acf607dc2dc080d44), "Barcrest","Adders & Ladders (Barcrest) (MPU4) (A6L 0.1 C)" ) -GAME_CUSTOM( 1991, m4addr6lk, m4addr, "a6lk.p1", 0x0000, 0x010000, CRC(af5ae5c4) SHA1(20e40cf996c2c3b7b18ec104a374be1da193b94e), "Barcrest","Adders & Ladders (Barcrest) (MPU4) (A6L 0.1 K)" ) -GAME_CUSTOM( 1991, m4addr6ly, m4addr, "adders ladders 20p 6.bin", 0x0000, 0x010000, CRC(62abeb34) SHA1(8069e6fde0673fdbc124a1a172dc988bb3205ff6), "Barcrest","Adders & Ladders (Barcrest) (MPU4) (A6L 0.1 Y)" ) -GAME_CUSTOM( 1991, m4addr6lyd, m4addr, "a6ldy.p1", 0x0000, 0x010000, CRC(82f060a5) SHA1(2e8474e6c17def07e35448b5bf8d453cce0f292c), "Barcrest","Adders & Ladders (Barcrest) (MPU4) (A6L 0.1 YD)" ) -GAME_CUSTOM( 1991, m4addr6lybd, m4addr, "a6lbdy.p1", 0x0000, 0x010000, CRC(28064099) SHA1(c916f73911974440d4c79ecb51b343aad78f115b), "Barcrest","Adders & Ladders (Barcrest) (MPU4) (A6L 0.1 YBD)" ) -// "(C)1991 BARCREST" and "A6L 0.1" (but hack?) -GAME_CUSTOM( 199?, m4addrc__b, m4addr, "add20_101", 0x0000, 0x010000, CRC(361b7173) SHA1(dea2b1b0f5910e2fd3f45d220554f0e712dedada), "hack","Adders & Ladders (Barcrest) (MPU4) (A6L 0.1, hack, set 1)" ) -GAME_CUSTOM( 199?, m4addrc__k, m4addr, "addl_20_.8", 0x0000, 0x010000, CRC(43c98f46) SHA1(0ca4a093b38fc04639e3f4bb742a8923b90d2ed1), "hack","Adders & Ladders (Barcrest) (MPU4) (A6L 0.1, hack, set 2)" ) -// "(C)1993 B.W.B." and "ADD 1.0" -GAME_CUSTOM( 199?, m4addrc__l, m4addr, "al10", 0x0000, 0x010000, CRC(3c3c82b6) SHA1(cc5ffdd0837c9af31d5737a70430a01d1989cdcc), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0, 1993)" ) -// "(C)1994 B.W.B." and "ADD 1.0" (actually version 10?) -GAME_CUSTOM( 1994, m4addr10, m4addr, "ad_05___.1o3", 0x0000, 0x010000, CRC(8d9e0f5d) SHA1(fecc844908876e161d0134ce3cc098e79e74e0b1), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0, set 1)" ) -GAME_CUSTOM( 1994, m4addr10d, m4addr, "ad_05_d_.1o3", 0x0000, 0x010000, CRC(2d29040f) SHA1(ee2bdd5da1a7e4146419ffd8bad521a9c1b49aa2), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 D, set 1)" ) -GAME_CUSTOM( 1994, m4addr10c, m4addr, "adi05___.1o3", 0x0000, 0x010000, CRC(050764b1) SHA1(364c50e4887c9fdd7ff62e63a6be4513336b4814), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, set 1)" ) -GAME_CUSTOM( 1994, m4addr10yd, m4addr, "ad_05_b_.1o3", 0x0000, 0x010000, CRC(b10b194a) SHA1(4dc3f14ff3b903c49829f4a91136f9b03a5cb1ae), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 YD, set 1)" ) -GAME_CUSTOM( 1994, m4addr10_a, m4addr, "ad_10___.1o3", 0x0000, 0x010000, CRC(d587cb00) SHA1(6574c42402f13e5f9cb8f951e0f59b499b2d025d), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0, set 2)" ) -GAME_CUSTOM( 1994, m4addr10d_a, m4addr, "ad_10_d_.1o3", 0x0000, 0x010000, CRC(d7670d32) SHA1(09dfe2a7fe267f485efed234411efc92d9cce414), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 D, set 2)" ) -GAME_CUSTOM( 1994, m4addr10c_a, m4addr, "adi10___.1o3", 0x0000, 0x010000, CRC(005caaa1) SHA1(b4b421c045012b5fbeaca95fa09d087a9c5e6b5b), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, set 2)" ) -GAME_CUSTOM( 1994, m4addr10yd_a, m4addr, "ad_10_b_.1o3", 0x0000, 0x010000, CRC(e2b5c0db) SHA1(9e1716186bb049c61dddaef2465fb1e55d2d93fd), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 YD, set 2)" ) -// "(C)1993 B.W.B." and "ADD 3.0" -GAME_CUSTOM( 1993, m4addr3, m4addr, "ad_05___.3q3", 0x0000, 0x010000, CRC(ec6ed7ce) SHA1(dfad04b5f6c4ff0fd784ad20471f1cf84586f2cd), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0, set 1)" ) -GAME_CUSTOM( 1993, m4addr3d, m4addr, "ad_05_d_.3q3", 0x0000, 0x010000, CRC(8d05fba9) SHA1(9c69d7eec7ce0d647d4f8b8b0a6b7e54daa7a79f), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 D, set 1)" ) -GAME_CUSTOM( 1993, m4addr3yd, m4addr, "ad_05_b_.3q3", 0x0000, 0x010000, CRC(d4c06db1) SHA1(dacb66b98f9d1d51eddc48b6946d517c277e588e), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 YD, set 1)" ) -GAME_CUSTOM( 1993, m4addr3_a, m4addr, "ad_20___.3a3", 0x0000, 0x010000, CRC(c2431657) SHA1(b2b7541207eb3c898f9cf3df520bff396213b78a), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0, set 2)" ) -GAME_CUSTOM( 1993, m4addr3d_a, m4addr, "ad_20_d_.3a3", 0x0000, 0x010000, CRC(62304025) SHA1(59b7815bf1b5337f46083cef186fedd078a4ad37), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 D, set 2)" ) -GAME_CUSTOM( 1993, m4addr3yd_a, m4addr, "ad_20_b_.3a3", 0x0000, 0x010000, CRC(19990a19) SHA1(ab1031513fb1e499da4a3001b5b26ff1e86cc628), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 YD, set 2)" ) -GAME_CUSTOM( 1993, m4addr3_b, m4addr, "ad_20___.3n3", 0x0000, 0x010000, CRC(883ff001) SHA1(50540270dba31820ad99a4a4034c69d4a58d87c5), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0, set 3)" ) -GAME_CUSTOM( 1993, m4addr3d_b, m4addr, "ad_20_d_.3n3", 0x0000, 0x010000, CRC(cf254a00) SHA1(1e430b652e4023e28b5648b8bea63e778c6dafc9), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 D, set 3)" ) -GAME_CUSTOM( 1993, m4addr3yd_b, m4addr, "ad_20_b_.3n3", 0x0000, 0x010000, CRC(65f9946f) SHA1(6bf6f315ed2dc6f603381d36dd408e951ace76bc), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 YD, set 3)" ) -GAME_CUSTOM( 1993, m4addr3_c, m4addr, "ad_20___.3s3", 0x0000, 0x010000, CRC(b1d54cb6) SHA1(35205975ccdaccd5bf3c1b7bf9a26c5ef30050b3), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0, set 4)" ) -GAME_CUSTOM( 1993, m4addr3d_c, m4addr, "ad_20_d_.3s3", 0x0000, 0x010000, CRC(89d2301b) SHA1(62ad1a9e008063eb16442b50af806f061669dba7), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 D, set 4)" ) -GAME_CUSTOM( 1993, m4addr3yd_c, m4addr, "ad_20_b_.3s3", 0x0000, 0x010000, CRC(86982248) SHA1(a6d876333777a29eb0504fa3636727ebcc104f0a), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 YD, set 4)" ) -GAME_CUSTOM( 1993, m4addr3_d, m4addr, "adl5pv2", 0x0000, 0x010000, CRC(09c39527) SHA1(16af3e552a7d6c6b802d2b1923523e9aa9de766a), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0, set 5)" ) -// "(C)1994 B.W.B." and "ADD 5.0" -GAME_CUSTOM( 1994, m4addr5, m4addr, "ad_05___.5a3", 0x0000, 0x010000, CRC(9821a988) SHA1(2be85a0b68e5e31401a5c753b40f3cf803589444), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0, set 1)" ) -GAME_CUSTOM( 1994, m4addr5d, m4addr, "ad_05_d_.5a3", 0x0000, 0x010000, CRC(b5be8114) SHA1(28dfe1d1cc1d9fc2bcc13fd6437602a6e8c90de2), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0 D, set 1)" ) -GAME_CUSTOM( 1994, m4addr5c, m4addr, "adi05___.5a3", 0x0000, 0x010000, CRC(03777f8c) SHA1(9e3fddc2130600f343df0531bf3e636b82c2f108), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0 C, set 1)" ) -GAME_CUSTOM( 1994, m4addr5yd, m4addr, "ad_05_b_.5a3", 0x0000, 0x010000, CRC(592cb1ae) SHA1(5696ecb3e9e6419f73087120b6a832fde606bacc), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0 YD, set 1)" ) -GAME_CUSTOM( 1994, m4addr5_a, m4addr, "ad_05___.5n3", 0x0000, 0x010000, CRC(86ac3564) SHA1(1dd9cf39d2aee11a3e1bbc68460c12f10e62aeaf), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0, set 2)" ) -GAME_CUSTOM( 1994, m4addr5d_a, m4addr, "ad_05_d_.5n3", 0x0000, 0x010000, CRC(ca2653d5) SHA1(30cd35627be8fb4fff2f0d61a6ab43cf3e4c1742), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0 D, set 2)" ) -GAME_CUSTOM( 1994, m4addr5c_a, m4addr, "adi05___.5n3", 0x0000, 0x010000, CRC(13003560) SHA1(aabad24748f9b1b09f1820bf1af932160e64fe3e), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0 C, set 2)" ) -GAME_CUSTOM( 1994, m4addr5yd_a, m4addr, "ad_05_b_.5n3", 0x0000, 0x010000, CRC(cdc8ca39) SHA1(33fdeef8ab8908f6908120aedf501ec3e9d7d23e), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0 YD, set 2)" ) -// "(C)1993 B.W.B." and "ADD 4.0" -GAME_CUSTOM( 1993, m4addr4, m4addr, "ad_05___.4s3", 0x0000, 0x010000, CRC(6d1a3c51) SHA1(0e4b985173c7c3bd5804573d99913d66a05d54fb), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0, set 1)" ) -GAME_CUSTOM( 1993, m4addr4c, m4addr, "adi05___.4s3", 0x0000, 0x010000, CRC(a4343a89) SHA1(cef67bbe03e6f535b530fc099f1b9a8bc7a2f864), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0 C, set 1)" ) -GAME_CUSTOM( 1993, m4addr4d, m4addr, "ad_05_d_.4s3", 0x0000, 0x010000, CRC(e672baf0) SHA1(bae2e2fe9f51b3b8da20fcefb145f6d35fa2d604), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0 D, set 1)" ) -GAME_CUSTOM( 1993, m4addr4yd, m4addr, "ad_05_b_.4s3", 0x0000, 0x010000, CRC(6bd6fdb6) SHA1(7ee1e80da5833b3eaf4b23035690a09379781584), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0 YD, set 1)" ) -// "(C)1994 B.W.B." and "ADD 4.0" -GAME_CUSTOM( 1994, m4addr4_a, m4addr, "ad_10___.4a3", 0x0000, 0x010000, CRC(9151dac3) SHA1(bf1c065a62e84a8073f8f9854981bedad60805be), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0, set 2)" ) -GAME_CUSTOM( 1994, m4addr4c_a, m4addr, "adi10___.4a3", 0x0000, 0x010000, CRC(2d2aa3cc) SHA1(21a7690c3fb7d158f4b4e6da63663778246ac902), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0 C, set 2)" ) -GAME_CUSTOM( 1994, m4addr4c_b, m4addr, "adi10___.4n3", 0x0000, 0x010000, CRC(af9aad00) SHA1(09729e73f27d9ac5d6ac7171191ed76aeaac3e3d), "Bwb","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0 C, set 3)" ) -// "BIG DIPPER" and ADD 1.0 -GAME_CUSTOM( 199?, m4addrc__h, m4addr, "adders classic.bin", 0x0000, 0x010000, CRC(6bc1d2aa) SHA1(cf17e697ff0cfba999f6511f24051dbc3d0384ef), "hack","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0, hack)" ) -GAME_CUSTOM( 1994, m4addr_h1, m4addr, "5p4addersladders.bin", 0x0000, 0x010000, CRC(03fc43da) SHA1(cf2fdb0d1ad702331ba004fd39072484b05e2b97), "hack","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 1)" ) -GAME_CUSTOM( 1994, m4addr_h2, m4addr, "ad05.6c", 0x0000, 0x010000, CRC(0940e4aa) SHA1(e8e7f7249a18386af990999a4c06f001db7003c5), "hack","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 2)" ) -GAME_CUSTOM( 199?, m4addrc, m4addr, "add05_101", 0x0000, 0x010000, CRC(4b3fb104) SHA1(9dba619019a476ce317122a3553965b279c684ba), "hack","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 3)" ) -GAME_CUSTOM( 199?, m4addrc__c, m4addr, "add55", 0x0000, 0x010000, CRC(48c5bc73) SHA1(18c9f70bad6141cca95b6bbcb4fc621e71f87700), "hack","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 4)" ) -GAME_CUSTOM( 199?, m4addrc__m, m4addr, "alad58c", 0x0000, 0x010000, CRC(df9c46b8) SHA1(439ea1ce17aa89e19cedb78465b4388b72c8c5ed), "hack","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 5)" ) -// "DADS ARMY" and "ADD 1.0" -GAME_CUSTOM( 199?, m4addrc__a, m4addr, "add10_101", 0x0000, 0x010000, CRC(af8f8b4e) SHA1(712c33ed0f425dc10b79780b0cfce0ac5768e2d5), "hack","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 6)" ) -GAME_CUSTOM( 199?, m4addrc__i, m4addr, "addl_10_.4", 0x0000, 0x010000, CRC(c2d11126) SHA1(0eafe9dc30013ed5817ac303a4eea5ea82d62715), "hack","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 7)" ) -GAME_CUSTOM( 199?, m4addrc__j, m4addr, "addl_10_.8", 0x0000, 0x010000, CRC(9fc82c47) SHA1(0f56afc33f09fe22afc5ec74aeb496c32f9e623c), "hack","Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 8)" ) -// no copyright string and "NNU 5.0" (possibly a different game?) -GAME_CUSTOM( 199?, m4addrc__e, m4addr, "classic adders + ladders_alt", 0x0000, 0x010000, CRC(ac948903) SHA1(e07023efd7722a661a2bbf93c0a168af70ad6c20), "hack","Adders & Ladders (Bwb / Barcrest) (MPU4) (NNU 5.0, hack, set 1)" ) -GAME_CUSTOM( 199?, m4addrc__f, m4addr, "classic adders + ladders_alt2", 0x0000, 0x010000, CRC(843ed53d) SHA1(b1dff249df37800744e3fc9c32be20a62bd130a1), "hack","Adders & Ladders (Bwb / Barcrest) (MPU4) (NNU 5.0, hack, set 2)" ) -GAME_CUSTOM( 199?, m4addrc__n, m4addr, "nik56c", 0x0000, 0x010000, CRC(05fa11d1) SHA1(01d3d0c504489f1513a0c3aa26e910c9604f5366), "hack","Adders & Ladders (Bwb / Barcrest) (MPU4) (NNU 5.0, hack, set 3)" ) - - - -#define M4ADDRCC_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "aal.chr", 0x0000, 0x000048, CRC(bb48409f) SHA1(adefde520104b8c3815260ee136460ddf3e9e4b2) ) -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4ADDRCC_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - -// "(C)1991 BARCREST" and "ADC 1.1" -GAME_CUSTOM( 199?, m4addrcc, 0, "adcs.p1", 0x0000, 0x010000, CRC(7247de78) SHA1(e390b4e912d7bc8c1ca5e42bf2e2753d4c2b4d17), "Barcrest","Adders & Ladders Classic Club (Barcrest) (MPU4) (ADC 1.1)" ) -GAME_CUSTOM( 199?, m4addrcc__c, m4addrcc, "adcd.p1", 0x0000, 0x010000, CRC(47e41c9a) SHA1(546aaaa5765b3bc91eeb9bf5a979ed68a2e72da8), "Barcrest","Adders & Ladders Classic Club (Barcrest) (MPU4) (ADC 1.1 D)" ) -GAME_CUSTOM( 199?, m4addrcc__a, m4addrcc, "adcf.p1", 0x0000, 0x010000, CRC(1dbbc990) SHA1(fb9439b43089e3135a719ab94b24dd65561d17cf), "Barcrest","Adders & Ladders Classic Club (Barcrest) (MPU4) (ADC 1.1 F)" ) -GAME_CUSTOM( 199?, m4addrcc__b, m4addrcc, "adcl.p1", 0x0000, 0x010000, CRC(89299196) SHA1(9a92b250b47b11536f8708429d69c95111ecdb98), "Barcrest","Adders & Ladders Classic Club (Barcrest) (MPU4) (ADC 1.1 L)" ) -// "(C)1991 BARCREST" and "ADC 0.5" -GAME_CUSTOM( 199?, m4addrcc__d, m4addrcc, "adrscfm", 0x0000, 0x010000, CRC(6c95881a) SHA1(db658bd722c54fc84734105f1a9b0028b23179fb), "Barcrest","Adders & Ladders Classic Club (Barcrest) (MPU4) (ADC 0.5)" ) +GAME_CUSTOM( 199?, m4andyge_h3, m4andyge, mod4oki_5r_bootleg_fixedret<0x2c>, grtecp, init_m4andyge, "age_20_.8", 0x0000, 0x010000, CRC(b1f91b2a) SHA1(9340f87d6d186b3af0384ab546c3d3f487e797d4), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (8V1 0.3, hack?, set 1)" ) +GAME_CUSTOM( 199?, m4andyge_h4, m4andyge, mod4oki_5r_bootleg_fixedret<0x1c>, grtecp, init_m4andyge, "age20_101", 0x0000, 0x010000, CRC(7e3674f0) SHA1(351e353da24b63d2ef7cb09690b770b26505569a), "hack?","Andy's Great Escape (Bwb / Barcrest) (MPU4) (8V1 0.3, hack?, set 2)" ) +/***************************************************************************************************************************************************************************** +* +* Dennis The Menace +* +*****************************************************************************************************************************************************************************/ +// boots #define M4DENMEN_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "densnd1.hex", 0x000000, 0x080000, CRC(468a8ec7) SHA1(ec450cd86fda09bc94caf913e9ee7900cfeaa0f2) ) \ ROM_LOAD( "densnd2.hex", 0x080000, 0x080000, CRC(1c20a490) SHA1(62eddc469e4b93ea1f82070600fce628dc526f54) ) + #undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( 0x10000, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4DENMEN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) -GAME_CUSTOM( 199?, m4denmen, 0, "dens.p1", 0x0000, 0x010000, CRC(d3687138) SHA1(611985a9116ea14992b34a84ed31693f88d99797), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2)" ) -GAME_CUSTOM( 199?, m4denmendnd, m4denmen, "dend.p1", 0x0000, 0x010000, CRC(176cd283) SHA1(f72c69b346f926a6e11b685ab9a6a2783b836450), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2 D)" ) -GAME_CUSTOM( 199?, m4denmendnb, m4denmen, "denb.p1", 0x0000, 0x010000, CRC(b0164796) SHA1(61ff7e7ea2c27742177d851a4eb9a041d95b37d7), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2 B)" ) -GAME_CUSTOM( 199?, m4denmendnc, m4denmen, "denc.p1", 0x0000, 0x010000, CRC(549e17bc) SHA1(78271e11d4c8e742acce9087f194a1db8fc8c3eb), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2 C)" ) -GAME_CUSTOM( 199?, m4denmendnk, m4denmen, "denk.p1", 0x0000, 0x010000, CRC(8983cbe0) SHA1(159dcbc3f5d24b6be03ae9c3c2af58993bebd38c), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2 K)" ) -GAME_CUSTOM( 199?, m4denmendny, m4denmen, "deny.p1", 0x0000, 0x010000, CRC(83ebd9f6) SHA1(f59e9d34295df8200f85a51d725437954acf9bdc), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2 Y)" ) - -GAME_CUSTOM( 199?, m4denmend5, m4denmen, "dm5s.p1", 0x0000, 0x010000, CRC(49672daa) SHA1(92e327b59b532e58b8c2a4e507f56c2ae069420c), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1)" ) -GAME_CUSTOM( 199?, m4denmend5d, m4denmen, "dm5d.p1", 0x0000, 0x010000, CRC(0c6250d5) SHA1(56b316df56d6448137332044bfe1081401eef3e8), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 D)" ) -GAME_CUSTOM( 199?, m4denmend5ad, m4denmen, "dm5ad.p1", 0x0000, 0x010000, CRC(f01125cc) SHA1(faa80bfb107db127b2f9c4c7d23ec495775d2162), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 AD)" ) -GAME_CUSTOM( 199?, m4denmend5b, m4denmen, "dm5b.p1", 0x0000, 0x010000, CRC(2c6dae4c) SHA1(281e4ba31a60fb5600790f21095e697db80736b7), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 B)" ) -GAME_CUSTOM( 199?, m4denmend5bd, m4denmen, "dm5bd.p1", 0x0000, 0x010000, CRC(a65c534d) SHA1(e5c38a9a06e20878cb820e5a12545405d699ff9d), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 BD)" ) -GAME_CUSTOM( 199?, m4denmend5k, m4denmen, "dm5k.p1", 0x0000, 0x010000, CRC(581572d6) SHA1(ac7303ea828846e770f8f1c7c818369d4b006495), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 K)" ) -GAME_CUSTOM( 199?, m4denmend5kd, m4denmen, "dm5dk.p1", 0x0000, 0x010000, CRC(848412a1) SHA1(bb385e2abdc2651b4a7ea9d30108dfa8adab0aea), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 KD)" ) -GAME_CUSTOM( 199?, m4denmend5y, m4denmen, "dm5y.p1", 0x0000, 0x010000, CRC(e6b9a800) SHA1(543ef65352a98676d66f6a5d3d7f568e10aac084), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 Y)" ) -GAME_CUSTOM( 199?, m4denmend5yd, m4denmen, "dm5dy.p1", 0x0000, 0x010000, CRC(0c091457) SHA1(930b87211b8df5846fa857744aafae2f2985e578), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 YD)" ) - -GAME_CUSTOM( 199?, m4denmend8, m4denmen, "dm8s.p1", 0x0000, 0x010000, CRC(27484793) SHA1(872ad9bdbad793aa3bb4b8d227627f901a04d70e), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM8 0.1)" ) -GAME_CUSTOM( 199?, m4denmend8d, m4denmen, "dm8d.p1", 0x0000, 0x010000, CRC(23258932) SHA1(03b929bd86c429a7806f75639569534bfe7634a8), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM8 0.1 D)" ) -GAME_CUSTOM( 199?, m4denmend8c, m4denmen, "dm8c.p1", 0x0000, 0x010000, CRC(f5bd6c61) SHA1(ec443a284dae480c944f437426c28481a61c8ebb), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM8 0.1 C)" ) -GAME_CUSTOM( 199?, m4denmend8k, m4denmen, "dm8k.p1", 0x0000, 0x010000, CRC(9b3c3827) SHA1(2f584cfbbf38435377785dd654fe7b97c78e731a), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM8 0.1 K)" ) -GAME_CUSTOM( 199?, m4denmend8y, m4denmen, "dm8y.p1", 0x0000, 0x010000, CRC(ebfcb926) SHA1(c6a623de9163e3f49ee7e5dbb8df867a90d0d0a9), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM8 0.1 Y)" ) -GAME_CUSTOM( 199?, m4denmend8yd, m4denmen, "dm8dy.p1", 0x0000, 0x010000, CRC(3c5ef7c8) SHA1(ac102525900f34c53082d37fb1bd14db9ce928fe), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM8 0.1 YD)" ) - -GAME_CUSTOM( 199?, m4denmendt, m4denmen, "dmts.p1", 0x0000, 0x010000, CRC(1a2776e3) SHA1(4d5029a5abafb3945d533ca5ca23b32c036fbb31), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1)" ) -GAME_CUSTOM( 199?, m4denmendtd, m4denmen, "dmtd.p1", 0x0000, 0x010000, CRC(9b38fa46) SHA1(ce6509349c82a651336753a3062c1cf2390d0b9a), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 D)" ) -GAME_CUSTOM( 199?, m4denmendtad, m4denmen, "dmtad.p1", 0x0000, 0x010000, CRC(2edab31e) SHA1(c1cb258aba42e6ae33df731504d23162118054be), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 AD)" ) -GAME_CUSTOM( 199?, m4denmendtb, m4denmen, "dmtb.p1", 0x0000, 0x010000, CRC(c40fe8a4) SHA1(e182b0b1b975947da3b0a94afd17cdf166d7a8ac), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 B)" ) -GAME_CUSTOM( 199?, m4denmendtbd, m4denmen, "dmtbd.p1", 0x0000, 0x010000, CRC(d9140665) SHA1(cba8fc1c285c9192a6ea80b3f0c958781a818489), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 BD)" ) -GAME_CUSTOM( 199?, m4denmendtk, m4denmen, "dmtk.p1", 0x0000, 0x010000, CRC(b64b6b3f) SHA1(f39b2143b811375564ec82030a7d34057f79b3f7), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 K)" ) -GAME_CUSTOM( 199?, m4denmendtkd, m4denmen, "dmtdk.p1", 0x0000, 0x010000, CRC(b6211765) SHA1(3a2c5b1ef27113221ce7b61562f06589bcfa9072), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 KD)" ) -GAME_CUSTOM( 199?, m4denmendty, m4denmen, "dmty.p1", 0x0000, 0x010000, CRC(dbfa78a5) SHA1(edd9a1f286f3aa56a919e9e0c0013e9940d139ac), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 Y)" ) -GAME_CUSTOM( 199?, m4denmendtyd, m4denmen, "dmtdy.p1", 0x0000, 0x010000, CRC(66064a45) SHA1(3f64212b85320fba66afd40c0bb0cd58a5a616bf), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 YD)" ) +// (C)1993 BARCREST and DEN 1.2 +GAME_CUSTOM( 199?, m4denmen, 0, mod4oki_cheatchr_pal, mpu4, init_m4default, "dens.p1", 0x0000, 0x010000, CRC(d3687138) SHA1(611985a9116ea14992b34a84ed31693f88d99797), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2)" ) +GAME_CUSTOM( 199?, m4denmendnd, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dend.p1", 0x0000, 0x010000, CRC(176cd283) SHA1(f72c69b346f926a6e11b685ab9a6a2783b836450), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2 D)" ) +GAME_CUSTOM( 199?, m4denmendnb, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "denb.p1", 0x0000, 0x010000, CRC(b0164796) SHA1(61ff7e7ea2c27742177d851a4eb9a041d95b37d7), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2 B)" ) +GAME_CUSTOM( 199?, m4denmendnc, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "denc.p1", 0x0000, 0x010000, CRC(549e17bc) SHA1(78271e11d4c8e742acce9087f194a1db8fc8c3eb), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2 C)" ) +GAME_CUSTOM( 199?, m4denmendnk, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "denk.p1", 0x0000, 0x010000, CRC(8983cbe0) SHA1(159dcbc3f5d24b6be03ae9c3c2af58993bebd38c), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2 K)" ) +GAME_CUSTOM( 199?, m4denmendny, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "deny.p1", 0x0000, 0x010000, CRC(83ebd9f6) SHA1(f59e9d34295df8200f85a51d725437954acf9bdc), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2 Y)" ) +// (C)1993 BARCREST and DM8 0.1 +GAME_CUSTOM( 199?, m4denmend8, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm8s.p1", 0x0000, 0x010000, CRC(27484793) SHA1(872ad9bdbad793aa3bb4b8d227627f901a04d70e), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM8 0.1)" ) +GAME_CUSTOM( 199?, m4denmend8d, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm8d.p1", 0x0000, 0x010000, CRC(23258932) SHA1(03b929bd86c429a7806f75639569534bfe7634a8), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM8 0.1 D)" ) +GAME_CUSTOM( 199?, m4denmend8c, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm8c.p1", 0x0000, 0x010000, CRC(f5bd6c61) SHA1(ec443a284dae480c944f437426c28481a61c8ebb), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM8 0.1 C)" ) +GAME_CUSTOM( 199?, m4denmend8k, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm8k.p1", 0x0000, 0x010000, CRC(9b3c3827) SHA1(2f584cfbbf38435377785dd654fe7b97c78e731a), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM8 0.1 K)" ) +GAME_CUSTOM( 199?, m4denmend8y, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm8y.p1", 0x0000, 0x010000, CRC(ebfcb926) SHA1(c6a623de9163e3f49ee7e5dbb8df867a90d0d0a9), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM8 0.1 Y)" ) +GAME_CUSTOM( 199?, m4denmend8yd, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm8dy.p1", 0x0000, 0x010000, CRC(3c5ef7c8) SHA1(ac102525900f34c53082d37fb1bd14db9ce928fe), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM8 0.1 YD)" ) +// (C)1993 BARCREST and DM5 0.1 +GAME_CUSTOM( 199?, m4denmend5, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm5s.p1", 0x0000, 0x010000, CRC(49672daa) SHA1(92e327b59b532e58b8c2a4e507f56c2ae069420c), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1)" ) +GAME_CUSTOM( 199?, m4denmend5d, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm5d.p1", 0x0000, 0x010000, CRC(0c6250d5) SHA1(56b316df56d6448137332044bfe1081401eef3e8), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 D)" ) +GAME_CUSTOM( 199?, m4denmend5ad, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm5ad.p1", 0x0000, 0x010000, CRC(f01125cc) SHA1(faa80bfb107db127b2f9c4c7d23ec495775d2162), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 AD)" ) +GAME_CUSTOM( 199?, m4denmend5b, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm5b.p1", 0x0000, 0x010000, CRC(2c6dae4c) SHA1(281e4ba31a60fb5600790f21095e697db80736b7), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 B)" ) +GAME_CUSTOM( 199?, m4denmend5bd, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm5bd.p1", 0x0000, 0x010000, CRC(a65c534d) SHA1(e5c38a9a06e20878cb820e5a12545405d699ff9d), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 BD)" ) +GAME_CUSTOM( 199?, m4denmend5k, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm5k.p1", 0x0000, 0x010000, CRC(581572d6) SHA1(ac7303ea828846e770f8f1c7c818369d4b006495), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 K)" ) +GAME_CUSTOM( 199?, m4denmend5kd, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm5dk.p1", 0x0000, 0x010000, CRC(848412a1) SHA1(bb385e2abdc2651b4a7ea9d30108dfa8adab0aea), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 KD)" ) +GAME_CUSTOM( 199?, m4denmend5y, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm5y.p1", 0x0000, 0x010000, CRC(e6b9a800) SHA1(543ef65352a98676d66f6a5d3d7f568e10aac084), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 Y)" ) +GAME_CUSTOM( 199?, m4denmend5yd, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dm5dy.p1", 0x0000, 0x010000, CRC(0c091457) SHA1(930b87211b8df5846fa857744aafae2f2985e578), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1 YD)" ) +// (C)1993 BARCREST and DMT 0.1 +GAME_CUSTOM( 199?, m4denmendt, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dmts.p1", 0x0000, 0x010000, CRC(1a2776e3) SHA1(4d5029a5abafb3945d533ca5ca23b32c036fbb31), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1)" ) +GAME_CUSTOM( 199?, m4denmendtd, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dmtd.p1", 0x0000, 0x010000, CRC(9b38fa46) SHA1(ce6509349c82a651336753a3062c1cf2390d0b9a), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 D)" ) +GAME_CUSTOM( 199?, m4denmendtad, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dmtad.p1", 0x0000, 0x010000, CRC(2edab31e) SHA1(c1cb258aba42e6ae33df731504d23162118054be), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 AD)" ) +GAME_CUSTOM( 199?, m4denmendtb, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dmtb.p1", 0x0000, 0x010000, CRC(c40fe8a4) SHA1(e182b0b1b975947da3b0a94afd17cdf166d7a8ac), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 B)" ) +GAME_CUSTOM( 199?, m4denmendtbd, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dmtbd.p1", 0x0000, 0x010000, CRC(d9140665) SHA1(cba8fc1c285c9192a6ea80b3f0c958781a818489), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 BD)" ) +GAME_CUSTOM( 199?, m4denmendtk, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dmtk.p1", 0x0000, 0x010000, CRC(b64b6b3f) SHA1(f39b2143b811375564ec82030a7d34057f79b3f7), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 K)" ) +GAME_CUSTOM( 199?, m4denmendtkd, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dmtdk.p1", 0x0000, 0x010000, CRC(b6211765) SHA1(3a2c5b1ef27113221ce7b61562f06589bcfa9072), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 KD)" ) +GAME_CUSTOM( 199?, m4denmendty, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dmty.p1", 0x0000, 0x010000, CRC(dbfa78a5) SHA1(edd9a1f286f3aa56a919e9e0c0013e9940d139ac), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 Y)" ) +GAME_CUSTOM( 199?, m4denmendtyd, m4denmen, mod4oki_cheatchr_pal, mpu4, init_m4default, "dmtdy.p1", 0x0000, 0x010000, CRC(66064a45) SHA1(3f64212b85320fba66afd40c0bb0cd58a5a616bf), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1 YD)" ) +// different protection // "(C)1993 BARCREST" and "DMT 0.1" (but hack? similar to other DMT sets, but with extra code inserted in places etc. different chr check) -GAME_CUSTOM( 199?, m4denmen_h1, m4denmen, "dtm205", 0x0000, 0x010000, CRC(af76a460) SHA1(325021a92042c87e804bc17d6a7ccfda8bf865b8), "hack","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1, hack?)" ) +GAME_CUSTOM( 199?, m4denmen_h1, m4denmen, mod4oki_bootleg_fixedret<0x2b>, mpu4, init_m4default, "dtm205", 0x0000, 0x010000, CRC(af76a460) SHA1(325021a92042c87e804bc17d6a7ccfda8bf865b8), "hack","Dennis The Menace (Barcrest) (MPU4) (DMT 0.1, hack?)" ) // "DAFFY DUCK" and "V1 0.1" (display message R.E.O instead of Barcrest) -GAME_CUSTOM( 199?, m4denmen_h2, m4denmen, "den20.10", 0x0000, 0x010000, CRC(e002932d) SHA1(0a9b31c138a79695e1c1c29eee40c5a741275da6), "hack","Dennis The Menace (Barcrest) (MPU4) (V1 0.1, hack, set 1)" ) -GAME_CUSTOM( 199?, m4denmen_h3, m4denmen, "denm2010", 0x0000, 0x010000, CRC(dbed5e48) SHA1(f374f01aeefca7cc19fc46c93e2ca7a10606b183), "hack","Dennis The Menace (Barcrest) (MPU4) (V1 0.1, hack, set 2)" ) +GAME_CUSTOM( 199?, m4denmen_h2, m4denmen, mod4oki_bootleg_fixedret<0x1d>, mpu4, init_m4default, "den20.10", 0x0000, 0x010000, CRC(e002932d) SHA1(0a9b31c138a79695e1c1c29eee40c5a741275da6), "hack","Dennis The Menace (Barcrest) (MPU4) (V1 0.1, hack, set 1)" ) +GAME_CUSTOM( 199?, m4denmen_h3, m4denmen, mod4oki_bootleg_fixedret<0x10>, mpu4, init_m4default, "denm2010", 0x0000, 0x010000, CRC(dbed5e48) SHA1(f374f01aeefca7cc19fc46c93e2ca7a10606b183), "hack","Dennis The Menace (Barcrest) (MPU4) (V1 0.1, hack, set 2)" ) +/***************************************************************************************************************************************************************************** +* +* The Crystal Maze +* +*****************************************************************************************************************************************************************************/ + +// boots + #define M4CRMAZE_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "crmsnd.p1", 0x000000, 0x080000, CRC(e05cdf96) SHA1(c85c7b31b775e3cc2d7f943eb02ff5ebae6c6080) ) \ ROM_LOAD( "crmsnd.p2", 0x080000, 0x080000, CRC(11da0781) SHA1(cd63834bf5d5034c2473372bfcc4930c300333f7) ) \ - ROM_REGION( 0x100000, "altmsm6376", 0 ) /* which sets are meant to use this? */ \ - ROM_LOAD( "cmazep1.bin", 0x000000, 0x080000, CRC(3d94a320) SHA1(a9b4e89ce36dbc2ef584b3adffffa00b7ae7e245) ) + +// This has a single byte difference at 72c0 (a7 -> 73) when compared to crmsnd.p1, one is probably bad. +// ROM_LOAD( "cmazep1.bin", 0x000000, 0x080000, CRC(3d94a320) SHA1(a9b4e89ce36dbc2ef584b3adffffa00b7ae7e245) ) + #undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ + ROM_REGION( 0x20000, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4CRMAZE_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4jackpot8tkn, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) -// "(C)1993 BARCREST" and "CRM 3.0" -GAME_CUSTOM( 1993, m4crmaze, 0, "crms.p1", 0x0000, 0x020000, CRC(b289c54b) SHA1(eb74bb559e2be2737fc311d044b9ce87014616f3), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0)" ) -GAME_CUSTOM( 1993, m4crmaze__h, m4crmaze, "crmd.p1", 0x0000, 0x020000, CRC(1232a809) SHA1(483b96b3b3ea50cbf5c3823c3ba20369b88bd459), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0 D)" ) -GAME_CUSTOM( 1993, m4crmaze__d, m4crmaze, "crmad.p1", 0x0000, 0x020000, CRC(ed30e66e) SHA1(25c09637f6efaf8e24f758405fb55d6cfc7f4782), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0 AD)" ) -GAME_CUSTOM( 1993, m4crmaze__e, m4crmaze, "crmb.p1", 0x0000, 0x020000, CRC(6f29a37f) SHA1(598541e2dbf05b3f2a70279276407cd93734731e), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0 B)" ) -GAME_CUSTOM( 1993, m4crmaze__f, m4crmaze, "crmbd.p1", 0x0000, 0x020000, CRC(602a48ab) SHA1(3f1bf2b3294d15013e89d906865f065476202e54), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0 BD)" ) -GAME_CUSTOM( 1993, m4crmaze__g, m4crmaze, "crmc.p1", 0x0000, 0x020000, CRC(58631e6d) SHA1(cffecd4c4ca46aa0ccfbaf7592d58da0428cf143), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0 C)" ) -GAME_CUSTOM( 1993, m4crmaze__k, m4crmaze, "crmk.p1", 0x0000, 0x020000, CRC(25ee0b29) SHA1(addadf351a26e235a7fca573145a501aa6c0b53c), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0 K)" ) -GAME_CUSTOM( 1993, m4crmaze__i, m4crmaze, "crmdk.p1", 0x0000, 0x020000, CRC(2aede0fd) SHA1(1731c901149c196d8f6a8bf3c2eec4f9a42126ad), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0 KD)" ) -GAME_CUSTOM( 1993, m4crmaze__l, m4crmaze, "crmy.p1", 0x0000, 0x020000, CRC(a20d2bd7) SHA1(b05a0e2ab2b90a86873976c26a8299cb703fd6eb), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0 Y)" ) -GAME_CUSTOM( 1993, m4crmaze__j, m4crmaze, "crmdy.p1", 0x0000, 0x020000, CRC(ad0ec003) SHA1(2d8a7467c3a79d60100f1290abe06410aaefaa49), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0 YD)" ) -// "(C)1993 BARCREST" and "CRM 2.3" -GAME_CUSTOM( 1993, m4crmaze__c, m4crmaze, "cmaze8", 0x0000, 0x020000, CRC(f2f81306) SHA1(725bfbdc53cf66c08b440c2b8d45547aa426d9c7), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 2.3)" ) -// no copyright string, and "CRM 3.0" -GAME_CUSTOM( 1993, m4crmaze__m, m4crmaze, "crystalmaze15.bin", 0x0000, 0x020000, CRC(492440a4) SHA1(2d5fe812f1d815620f7e72333d44946b66f5c867), "hack?","Crystal Maze (Barcrest) (MPU4) (CRM 3.0, hack?)" ) // bad chr -// roms below are a smaller size, have they been hacked to not use banking, or are they bad, they're all Bwb versions but all have the Barcrest at the end blanked out rather than replaced -// no copyright string, and "CRC 0.7" -GAME_CUSTOM( 199?, m4crmaze__n, m4crmaze, "cmaz5.10", 0x0000, 0x010000, CRC(13a64c64) SHA1(3a7c4173f99fdf1a4b5d5b627022b18eb66837ce), "Bwb / hack?","Crystal Maze (Bwb / Barcrest) (MPU4) (CRC 0.7, hack?)" ) // bad chr -// no copyright string, and "CRC 1.3" -GAME_CUSTOM( 199?, m4crmaze__p, m4crmaze, "cmaz510", 0x0000, 0x010000, CRC(0a1d39ac) SHA1(37888bbea427e115c29253deb85ed851ff6bdfd4), "Bwb / hack?","Crystal Maze (Bwb / Barcrest) (MPU4) (CRC 1.3, hack?)" ) // bad chr -// no copyright string, and "CR5 1.0" -GAME_CUSTOM( 199?, m4crmaze__o, m4crmaze, "cmaz5.5", 0x0000, 0x010000, CRC(1f110757) SHA1(a60bac78176dab70d68bfb2b6a44debf499c96e3), "Bwb / hack?","Crystal Maze (Bwb / Barcrest) (MPU4) (CR5 1.0, hack?)" ) // bad chr -// no copyright string, and "CR5 2.0" -GAME_CUSTOM( 199?, m4crmaze__q, m4crmaze, "cmaz55", 0x0000, 0x010000, CRC(2c2540ce) SHA1(12163109e05fe8675bc2dbcad95f598bebec8ba3), "Bwb / hack?","Crystal Maze (Bwb / Barcrest) (MPU4) (CR5 2.0, hack?, set 1)" ) // bad chr -GAME_CUSTOM( 199?, m4crmaze__r, m4crmaze, "cmaz55v2", 0x0000, 0x010000, CRC(9a3515d6) SHA1(5edd2c67152d353a48ad2f28b685fae1e1e7fff7), "Bwb / hack?","Crystal Maze (Bwb / Barcrest) (MPU4) (CR5 2.0, hack?, set 2)" ) // bad chr -// no copyright string, and "CR8 1.2" -GAME_CUSTOM( 199?, m4crmaze__s, m4crmaze, "cmaz58t", 0x0000, 0x010000, CRC(81a2c48a) SHA1(3ea25a2863f1350054f41cb169282c592565dbcd), "Bwb / hack?","Crystal Maze (Bwb / Barcrest) (MPU4) (CR8 1.2, hack?)" ) // bad chr + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) +// "(C)1993 BARCREST" and "CRM 3.0" +GAME_CUSTOM( 1993, m4crmaze, 0, mod4oki_cheatchr_pal, mpu4jackpot8tkn, init_m4default_big, "crms.p1", 0x0000, 0x020000, CRC(b289c54b) SHA1(eb74bb559e2be2737fc311d044b9ce87014616f3), "Barcrest","The Crystal Maze (Barcrest) (MPU4) (CRM 3.0)" ) +GAME_CUSTOM( 1993, m4crmaze__h, m4crmaze, mod4oki_cheatchr_pal, mpu4jackpot8tkn, init_m4default_big, "crmd.p1", 0x0000, 0x020000, CRC(1232a809) SHA1(483b96b3b3ea50cbf5c3823c3ba20369b88bd459), "Barcrest","The Crystal Maze (Barcrest) (MPU4) (CRM 3.0 D)" ) +GAME_CUSTOM( 1993, m4crmaze__d, m4crmaze, mod4oki_cheatchr_pal, mpu4jackpot8tkn, init_m4default_big, "crmad.p1", 0x0000, 0x020000, CRC(ed30e66e) SHA1(25c09637f6efaf8e24f758405fb55d6cfc7f4782), "Barcrest","The Crystal Maze (Barcrest) (MPU4) (CRM 3.0 AD)" ) +GAME_CUSTOM( 1993, m4crmaze__e, m4crmaze, mod4oki_cheatchr_pal, mpu4jackpot8tkn, init_m4default_big, "crmb.p1", 0x0000, 0x020000, CRC(6f29a37f) SHA1(598541e2dbf05b3f2a70279276407cd93734731e), "Barcrest","The Crystal Maze (Barcrest) (MPU4) (CRM 3.0 B)" ) +GAME_CUSTOM( 1993, m4crmaze__f, m4crmaze, mod4oki_cheatchr_pal, mpu4jackpot8tkn, init_m4default_big, "crmbd.p1", 0x0000, 0x020000, CRC(602a48ab) SHA1(3f1bf2b3294d15013e89d906865f065476202e54), "Barcrest","The Crystal Maze (Barcrest) (MPU4) (CRM 3.0 BD)" ) +GAME_CUSTOM( 1993, m4crmaze__g, m4crmaze, mod4oki_cheatchr_pal, mpu4jackpot8tkn, init_m4default_big, "crmc.p1", 0x0000, 0x020000, CRC(58631e6d) SHA1(cffecd4c4ca46aa0ccfbaf7592d58da0428cf143), "Barcrest","The Crystal Maze (Barcrest) (MPU4) (CRM 3.0 C)" ) +GAME_CUSTOM( 1993, m4crmaze__k, m4crmaze, mod4oki_cheatchr_pal, mpu4jackpot8tkn, init_m4default_big, "crmk.p1", 0x0000, 0x020000, CRC(25ee0b29) SHA1(addadf351a26e235a7fca573145a501aa6c0b53c), "Barcrest","The Crystal Maze (Barcrest) (MPU4) (CRM 3.0 K)" ) +GAME_CUSTOM( 1993, m4crmaze__i, m4crmaze, mod4oki_cheatchr_pal, mpu4jackpot8tkn, init_m4default_big, "crmdk.p1", 0x0000, 0x020000, CRC(2aede0fd) SHA1(1731c901149c196d8f6a8bf3c2eec4f9a42126ad), "Barcrest","The Crystal Maze (Barcrest) (MPU4) (CRM 3.0 KD)" ) +GAME_CUSTOM( 1993, m4crmaze__l, m4crmaze, mod4oki_cheatchr_pal, mpu4jackpot8tkn, init_m4default_big, "crmy.p1", 0x0000, 0x020000, CRC(a20d2bd7) SHA1(b05a0e2ab2b90a86873976c26a8299cb703fd6eb), "Barcrest","The Crystal Maze (Barcrest) (MPU4) (CRM 3.0 Y)" ) +GAME_CUSTOM( 1993, m4crmaze__j, m4crmaze, mod4oki_cheatchr_pal, mpu4jackpot8tkn, init_m4default_big, "crmdy.p1", 0x0000, 0x020000, CRC(ad0ec003) SHA1(2d8a7467c3a79d60100f1290abe06410aaefaa49), "Barcrest","The Crystal Maze (Barcrest) (MPU4) (CRM 3.0 YD)" ) +// "(C)1993 BARCREST" and "CRM 2.3" +GAME_CUSTOM( 1993, m4crmaze__c, m4crmaze, mod4oki_cheatchr_pal, mpu4jackpot8tkn, init_m4default_big, "cmaze8", 0x0000, 0x020000, CRC(f2f81306) SHA1(725bfbdc53cf66c08b440c2b8d45547aa426d9c7), "Barcrest","The Crystal Maze (Barcrest) (MPU4) (CRM 2.3)" ) + +// different protection +// no copyright string, and "CRM 3.0" +GAME_CUSTOM( 1993, m4crmaze__m, m4crmaze, mod4oki_bootleg_fixedret<0x70>, mpu4jackpot8tkn, init_m4default_big, "crystalmaze15.bin", 0x0000, 0x020000, CRC(492440a4) SHA1(2d5fe812f1d815620f7e72333d44946b66f5c867), "hack?","The Crystal Maze (Barcrest) (MPU4) (CRM 3.0, hack?)" ) +// roms below are a smaller size, have they been hacked to not use banking, or are they bad, they're all Bwb versions but all have the Barcrest at the end blanked out rather than replaced + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( 0x10000, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4CRMAZE_EXTRA_ROMS \ + ROM_END \ + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) + +// no copyright string, and "CR8 1.2" +GAME_CUSTOM( 199?, m4crmaze__s, m4crmaze, mod4oki_bootleg_fixedret<0x2e>, mpu4jackpot8tkn, init_m4default, "cmaz58t", 0x0000, 0x010000, CRC(81a2c48a) SHA1(3ea25a2863f1350054f41cb169282c592565dbcd), "Bwb / hack?","The Crystal Maze (Bwb / Barcrest) (MPU4) (CR8 1.2, hack?)" ) +// no copyright string, and "CRC 0.7" +GAME_CUSTOM( 199?, m4crmaze__n, m4crmaze, mod4oki_bootleg_fixedret<0x1c>, mpu4jackpot8tkn, init_m4default, "cmaz5.10", 0x0000, 0x010000, CRC(13a64c64) SHA1(3a7c4173f99fdf1a4b5d5b627022b18eb66837ce), "Bwb / hack?","The Crystal Maze (Bwb / Barcrest) (MPU4) (CRC 0.7, hack?)" ) +// no copyright string, and "CRC 1.3" +GAME_CUSTOM( 199?, m4crmaze__p, m4crmaze, mod4oki_bootleg_fixedret<0x1c>, mpu4jackpot8tkn, init_m4default, "cmaz510", 0x0000, 0x010000, CRC(0a1d39ac) SHA1(37888bbea427e115c29253deb85ed851ff6bdfd4), "Bwb / hack?","The Crystal Maze (Bwb / Barcrest) (MPU4) (CRC 1.3, hack?)" ) +// no copyright string, and "CR5 1.0" +GAME_CUSTOM( 199?, m4crmaze__o, m4crmaze, mod4oki_bootleg_fixedret<0x2b>, mpu4jackpot8tkn, init_m4default, "cmaz5.5", 0x0000, 0x010000, CRC(1f110757) SHA1(a60bac78176dab70d68bfb2b6a44debf499c96e3), "Bwb / hack?","The Crystal Maze (Bwb / Barcrest) (MPU4) (CR5 1.0, hack?)" ) +// no copyright string, and "CR5 2.0" +GAME_CUSTOM( 199?, m4crmaze__q, m4crmaze, mod4oki_bootleg_fixedret<0x2b>, mpu4jackpot8tkn, init_m4default, "cmaz55", 0x0000, 0x010000, CRC(2c2540ce) SHA1(12163109e05fe8675bc2dbcad95f598bebec8ba3), "Bwb / hack?","The Crystal Maze (Bwb / Barcrest) (MPU4) (CR5 2.0, hack?, set 1)" ) +// no copyright string, and "CR5 2.0" +GAME_CUSTOM( 199?, m4crmaze__r, m4crmaze, mod4oki_bootleg_fixedret<0x28>, mpu4jackpot8tkn, init_m4default, "cmaz55v2", 0x0000, 0x010000, CRC(9a3515d6) SHA1(5edd2c67152d353a48ad2f28b685fae1e1e7fff7), "Bwb / hack?","The Crystal Maze (Bwb / Barcrest) (MPU4) (CR5 2.0, hack?, set 2)" ) + + +/***************************************************************************************************************************************************************************** +* +* Showcase Crystal Maze +* +* - these sets require both a Jackpot key and Stake key +* +*****************************************************************************************************************************************************************************/ + +// boot as long as you set a jackpot key + +#define M4SHOCM_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ + /* missing */ +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,input,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4SHOCM_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, input, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "SCM 0.1" +GAME_CUSTOM( 199?, m4shocm, 0, mpu4jackpot8tkn20p, "scms.p1", 0x0000, 0x020000, CRC(8cb17f49) SHA1(6c67d5d65567ba3677f51f9c636e1f8e253111de), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1)" ) +GAME_CUSTOM( 199?, m4shocm__a, m4shocm, mpu4jackpot8tkn20p, "scmad.p1", 0x0000, 0x020000, CRC(0960b887) SHA1(02b029760d141664a7c5860a29b158d8c2dec4e7), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 AD)" ) +GAME_CUSTOM( 199?, m4shocm__b, m4shocm, mpu4jackpot8tkn20p, "scmb.p1", 0x0000, 0x020000, CRC(c96e88cd) SHA1(61abff544c979efabf5e53d2c53d7cbe90c1f265), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 B)" ) +GAME_CUSTOM( 199?, m4shocm__c, m4shocm, mpu4jackpot8tkn20p, "scmbd.p1", 0x0000, 0x020000, CRC(847a1642) SHA1(0bb6d2494888c5e45bf4bfd0f6ba123283346361), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 BD)" ) +GAME_CUSTOM( 199?, m4shocm__d, m4shocm, mpu4jackpot8tkn20p, "scmd.p1", 0x0000, 0x020000, CRC(b47583bb) SHA1(ed7449764c03d1bd1a45a8891a7a4f9e73c1a9e6), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 D)" ) +GAME_CUSTOM( 199?, m4shocm__e, m4shocm, mpu4jackpot8tkn20p, "scmdj.p1", 0x0000, 0x020000, CRC(a0af8091) SHA1(3b6a5e8825cdff40051630d26ca5654173482692), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 DJ)" ) +GAME_CUSTOM( 199?, m4shocm__f, m4shocm, mpu4jackpot8tkn20p, "scmdk.p1", 0x0000, 0x020000, CRC(cebdbe14) SHA1(4da55b365d5eaf558c44eaee33b3ebdc6b6882fa), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 KD)" ) +GAME_CUSTOM( 199?, m4shocm__g, m4shocm, mpu4jackpot8tkn20p90pc,"scmdy.p1", 0x0000, 0x020000, CRC(495e9eea) SHA1(f10ff85e37538083919af1eec9dabfacd1ac524b), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 YD)" ) +GAME_CUSTOM( 199?, m4shocm__h, m4shocm, mpu4jackpot8tkn20p, "scmj.p1", 0x0000, 0x020000, CRC(edbb1e1e) SHA1(9a6f4f17d138d7df76bc30a2b16e0bc6ee6149e6), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 J)" ) +GAME_CUSTOM( 199?, m4shocm__i, m4shocm, mpu4jackpot8tkn20p90pc,"scmy.p1", 0x0000, 0x020000, CRC(044a0065) SHA1(e5deb75e7d05787f1e820352aec99abebd3530b6), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 Y)" ) +GAME_CUSTOM( 199?, m4shocm__j, m4shocm, mpu4jackpot8tkn20p, "scmk.p1", 0x0000, 0x020000, CRC(83a9209b) SHA1(011ecd85c435c02b4868ed74012e16c73beb6e99), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 K)" ) + + +/***************************************************************************************************************************************************************************** +* +* Cash Machine +* +*****************************************************************************************************************************************************************************/ + +// some sets boot, others need hopper // these were in the Crystal Maze set, but are Cash Machine #define M4CASHMN_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "cmasnd.p1", 0x000000, 0x080000, CRC(1e7e13b8) SHA1(2db5c3789ad1b9bdb59e058562bd8be181ba0259) ) \ ROM_LOAD( "cmasnd.p2", 0x080000, 0x080000, CRC(cce703a8) SHA1(97487f3df0724d3ee01f6f4deae126aec6d2dd68) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -895,7 +1091,45 @@ GAME_CUSTOM( 199?, m4crmaze__s, m4crmaze, "cmaz58t", 0x0000, 0 ROM_LOAD( name, offset, length, hash ) \ M4CASHMN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4jackpot8tkn, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4jackpot8tkn, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "CMA 0.8" +GAME_CUSTOM( 199?, m4cashmn__m, m4cashmn, "cma08ad.p1", 0x0000, 0x020000, CRC(fce2f785) SHA1(fc508e3d1036319894985600cb0142f13536078c), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 AD)" ) +GAME_CUSTOM( 199?, m4cashmn__n, m4cashmn, "cma08b.p1", 0x0000, 0x020000, CRC(df7526de) SHA1(71456496fc31ae11ffa7c543b6444adba735aeb9), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 B)" ) +GAME_CUSTOM( 199?, m4cashmn__o, m4cashmn, "cma08bd.p1", 0x0000, 0x020000, CRC(71f85940) SHA1(439c54f35f4f6161a683d2c3d2bb6ce81b4190bf), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 BD)" ) +GAME_CUSTOM( 199?, m4cashmn__p, m4cashmn, "cma08c.p1", 0x0000, 0x020000, CRC(e83f9bcc) SHA1(e20297ba5238b59c3872776b01e6a89a51a7aea7), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 C)" ) +GAME_CUSTOM( 199?, m4cashmn__q, m4cashmn, "cma08d.p1", 0x0000, 0x020000, CRC(a26e2da8) SHA1(928dfe399a7ae278dadd1e930bd370022f5113c4), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 D)" ) +GAME_CUSTOM( 199?, m4cashmn__r, m4cashmn, "cma08dk.p1", 0x0000, 0x020000, CRC(3b3ff116) SHA1(f60f0f9d996398a0f1c5b7d2a411613c42149e65), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 KD)" ) +GAME_CUSTOM( 199?, m4cashmn__s, m4cashmn, "cma08dr.p1", 0x0000, 0x020000, CRC(88304a27) SHA1(9b86a49edca078dd68abab4c3e8655d3b4e79d47), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 RD)" ) +GAME_CUSTOM( 199?, m4cashmn__t, m4cashmn, "cma08dy.p1", 0x0000, 0x020000, CRC(bcdcd1e8) SHA1(a7a4ab2313198c3bc0536526bd83179fd9170e66), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 YD)" ) +GAME_CUSTOM( 199?, m4cashmn__u, m4cashmn, "cma08k.p1", 0x0000, 0x020000, CRC(95b28e88) SHA1(282a782900a0ddf60c66aa6a69e6871bb42c647a), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 K)" ) +GAME_CUSTOM( 199?, m4cashmn__v, m4cashmn, "cma08r.p1", 0x0000, 0x020000, CRC(26bd35b9) SHA1(74d07da26932bf48fe4b79b39ff76956b0993f3b), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 R)" ) +GAME_CUSTOM( 199?, m4cashmn__w, m4cashmn, "cma08s.p1", 0x0000, 0x020000, CRC(d0154d3c) SHA1(773f211092c51fb4ca1ef6a5a0cbdb15f842aca8), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8)" ) +GAME_CUSTOM( 199?, m4cashmn__x, m4cashmn, "cma08y.p1", 0x0000, 0x020000, CRC(1251ae76) SHA1(600ce195be615796b887bb56bebb6c4322709632), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 Y)" ) + +// these sets need the hopper +// "(C)1993 BARCREST" and "CMH 0.7" +GAME_CUSTOM( 199?, m4cashmn__aa, m4cashmn, "cmh07ad.p1", 0x0000, 0x020000, CRC(4f354391) SHA1(687eccc312cd69f8bb70e35837f0b7ce74392936), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 AD)" ) +GAME_CUSTOM( 199?, m4cashmn__ab, m4cashmn, "cmh07b.p1", 0x0000, 0x020000, CRC(27fb6e7b) SHA1(c1558e4a0e2c28a825c2c5bb4089143cf919b67c), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 B)" ) +GAME_CUSTOM( 199?, m4cashmn__ac, m4cashmn, "cmh07bd.p1", 0x0000, 0x020000, CRC(c22fed54) SHA1(5b6df1ed8518f9ba3e02b17c189c01ad1d0acbbb), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 BD)" ) +GAME_CUSTOM( 199?, m4cashmn__ad, m4cashmn, "cmh07c.p1", 0x0000, 0x020000, CRC(10b1d369) SHA1(9933a2a7933df941ee93e16682e91dcc90abb627), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 C)" ) +GAME_CUSTOM( 199?, m4cashmn__ae, m4cashmn, "cmh07d.p1", 0x0000, 0x020000, CRC(5ae0650d) SHA1(da6917aa186daf59f35124c7cdc9d039d365c4c2), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 D)" ) +GAME_CUSTOM( 199?, m4cashmn__af, m4cashmn, "cmh07dk.p1", 0x0000, 0x020000, CRC(88e84502) SHA1(2ab86be51b3dde0b2cb05e3af5f43aad3d8a76df), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 KD)" ) +GAME_CUSTOM( 199?, m4cashmn__ag, m4cashmn, "cmh07dr.p1", 0x0000, 0x020000, CRC(3be7fe33) SHA1(074243cdfd37ba36e18e00610f45473e46ddc728), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 RD)" ) +GAME_CUSTOM( 199?, m4cashmn__ah, m4cashmn, "cmh07dy.p1", 0x0000, 0x020000, CRC(0f0b65fc) SHA1(68d775bb4af9595ac87c33c2663b272640eea69e), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 YD)" ) +GAME_CUSTOM( 199?, m4cashmn__ai, m4cashmn, "cmh07k.p1", 0x0000, 0x020000, CRC(6d3cc62d) SHA1(85f76fd8513c20683d486de7a1509cadfb6ecaa9), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 K)" ) +GAME_CUSTOM( 199?, m4cashmn__aj, m4cashmn, "cmh07r.p1", 0x0000, 0x020000, CRC(de337d1c) SHA1(dd07727fb183833eced5c0c2dc284d571baacd25), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 R)" ) +GAME_CUSTOM( 199?, m4cashmn__ak, m4cashmn, "cmh07s.p1", 0x0000, 0x020000, CRC(0367f4cf) SHA1(8b24a9009ff17d517b34e078ebbdc17465df139d), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7)" ) +GAME_CUSTOM( 199?, m4cashmn__al, m4cashmn, "cmh07y.p1", 0x0000, 0x020000, CRC(eadfe6d3) SHA1(80541aba612b8ebba7ab159c61e6492b9c06feda), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4CASHMN_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4jackpot8tkn, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "CMA 0.7" GAME_CUSTOM( 199?, m4cashmn, 0, "cma07s.p1", 0x0000, 0x020000, CRC(e9c1d9f2) SHA1(f2df4ae650ec2b62d15bbaa562d638476bf926e7), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.7)" ) @@ -910,19 +1144,8 @@ GAME_CUSTOM( 199?, m4cashmn__i, m4cashmn, "cma07dy.p1", 0x0000, 0 GAME_CUSTOM( 199?, m4cashmn__j, m4cashmn, "cma07k.p1", 0x0000, 0x020000, CRC(e14f3265) SHA1(7b5dc581fe8679559356fdca9644985da7d299cb), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.7 K)" ) GAME_CUSTOM( 199?, m4cashmn__k, m4cashmn, "cma07r.p1", 0x0000, 0x020000, CRC(52408954) SHA1(623f840d94cc3cf2d2d648eb2be644d48350b169), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.7 R)" ) GAME_CUSTOM( 199?, m4cashmn__l, m4cashmn, "cma07y.p1", 0x0000, 0x020000, CRC(66ac129b) SHA1(97f8c0c1f46444d4a492bc3dd3689df038000640), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.7 Y)" ) -// "(C)1993 BARCREST" and "CMA 0.8" -GAME_CUSTOM( 199?, m4cashmn__m, m4cashmn, "cma08ad.p1", 0x0000, 0x020000, CRC(fce2f785) SHA1(fc508e3d1036319894985600cb0142f13536078c), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 AD)" ) -GAME_CUSTOM( 199?, m4cashmn__n, m4cashmn, "cma08b.p1", 0x0000, 0x020000, CRC(df7526de) SHA1(71456496fc31ae11ffa7c543b6444adba735aeb9), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 B)" ) -GAME_CUSTOM( 199?, m4cashmn__o, m4cashmn, "cma08bd.p1", 0x0000, 0x020000, CRC(71f85940) SHA1(439c54f35f4f6161a683d2c3d2bb6ce81b4190bf), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 BD)" ) -GAME_CUSTOM( 199?, m4cashmn__p, m4cashmn, "cma08c.p1", 0x0000, 0x020000, CRC(e83f9bcc) SHA1(e20297ba5238b59c3872776b01e6a89a51a7aea7), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 C)" ) -GAME_CUSTOM( 199?, m4cashmn__q, m4cashmn, "cma08d.p1", 0x0000, 0x020000, CRC(a26e2da8) SHA1(928dfe399a7ae278dadd1e930bd370022f5113c4), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 D)" ) -GAME_CUSTOM( 199?, m4cashmn__r, m4cashmn, "cma08dk.p1", 0x0000, 0x020000, CRC(3b3ff116) SHA1(f60f0f9d996398a0f1c5b7d2a411613c42149e65), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 KD)" ) -GAME_CUSTOM( 199?, m4cashmn__s, m4cashmn, "cma08dr.p1", 0x0000, 0x020000, CRC(88304a27) SHA1(9b86a49edca078dd68abab4c3e8655d3b4e79d47), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 RD)" ) -GAME_CUSTOM( 199?, m4cashmn__t, m4cashmn, "cma08dy.p1", 0x0000, 0x020000, CRC(bcdcd1e8) SHA1(a7a4ab2313198c3bc0536526bd83179fd9170e66), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 YD)" ) -GAME_CUSTOM( 199?, m4cashmn__u, m4cashmn, "cma08k.p1", 0x0000, 0x020000, CRC(95b28e88) SHA1(282a782900a0ddf60c66aa6a69e6871bb42c647a), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 K)" ) -GAME_CUSTOM( 199?, m4cashmn__v, m4cashmn, "cma08r.p1", 0x0000, 0x020000, CRC(26bd35b9) SHA1(74d07da26932bf48fe4b79b39ff76956b0993f3b), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 R)" ) -GAME_CUSTOM( 199?, m4cashmn__w, m4cashmn, "cma08s.p1", 0x0000, 0x020000, CRC(d0154d3c) SHA1(773f211092c51fb4ca1ef6a5a0cbdb15f842aca8), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8)" ) -GAME_CUSTOM( 199?, m4cashmn__x, m4cashmn, "cma08y.p1", 0x0000, 0x020000, CRC(1251ae76) SHA1(600ce195be615796b887bb56bebb6c4322709632), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.8 Y)" ) + +// these sets need the hopper // "(C)1993 BARCREST" and "CMH 0.6" GAME_CUSTOM( 199?, m4cashmn__y, m4cashmn, "cmh06ad.p1", 0x0000, 0x020000, CRC(ea2f6866) SHA1(afae312a488d7d83576c17eb2627a84637d88f18), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.6 AD)" ) GAME_CUSTOM( 199?, m4cashmn__z, m4cashmn, "cmh06b.p1", 0x0000, 0x020000, CRC(2d4d9667) SHA1(896ed70962c8904646df7159c3717399d0ceb022), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.6 B)" ) @@ -936,34 +1159,37 @@ GAME_CUSTOM( 199?, m4cashmn__6, m4cashmn, "cmh06k.p1", 0x0000, 0 GAME_CUSTOM( 199?, m4cashmn__7, m4cashmn, "cmh06r.p1", 0x0000, 0x020000, CRC(d4858500) SHA1(489fd55ac6c93b94bfb9297fd71b5d74bf95a97f), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.6 R)" ) GAME_CUSTOM( 199?, m4cashmn__8, m4cashmn, "cmh06s.p1", 0x0000, 0x020000, CRC(9d3b4260) SHA1(7c4740585d17be3da3a0ea6e7fc68f89538013fb), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.6)" ) GAME_CUSTOM( 199?, m4cashmn__9, m4cashmn, "cmh06y.p1", 0x0000, 0x020000, CRC(e0691ecf) SHA1(978fa00736967dd09d48ce5c847698b39a058ab5), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.6 Y)" ) -// "(C)1993 BARCREST" and "CMH 0.7" -GAME_CUSTOM( 199?, m4cashmn__aa, m4cashmn, "cmh07ad.p1", 0x0000, 0x020000, CRC(4f354391) SHA1(687eccc312cd69f8bb70e35837f0b7ce74392936), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 AD)" ) -GAME_CUSTOM( 199?, m4cashmn__ab, m4cashmn, "cmh07b.p1", 0x0000, 0x020000, CRC(27fb6e7b) SHA1(c1558e4a0e2c28a825c2c5bb4089143cf919b67c), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 B)" ) -GAME_CUSTOM( 199?, m4cashmn__ac, m4cashmn, "cmh07bd.p1", 0x0000, 0x020000, CRC(c22fed54) SHA1(5b6df1ed8518f9ba3e02b17c189c01ad1d0acbbb), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 BD)" ) -GAME_CUSTOM( 199?, m4cashmn__ad, m4cashmn, "cmh07c.p1", 0x0000, 0x020000, CRC(10b1d369) SHA1(9933a2a7933df941ee93e16682e91dcc90abb627), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 C)" ) -GAME_CUSTOM( 199?, m4cashmn__ae, m4cashmn, "cmh07d.p1", 0x0000, 0x020000, CRC(5ae0650d) SHA1(da6917aa186daf59f35124c7cdc9d039d365c4c2), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 D)" ) -GAME_CUSTOM( 199?, m4cashmn__af, m4cashmn, "cmh07dk.p1", 0x0000, 0x020000, CRC(88e84502) SHA1(2ab86be51b3dde0b2cb05e3af5f43aad3d8a76df), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 KD)" ) -GAME_CUSTOM( 199?, m4cashmn__ag, m4cashmn, "cmh07dr.p1", 0x0000, 0x020000, CRC(3be7fe33) SHA1(074243cdfd37ba36e18e00610f45473e46ddc728), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 RD)" ) -GAME_CUSTOM( 199?, m4cashmn__ah, m4cashmn, "cmh07dy.p1", 0x0000, 0x020000, CRC(0f0b65fc) SHA1(68d775bb4af9595ac87c33c2663b272640eea69e), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 YD)" ) -GAME_CUSTOM( 199?, m4cashmn__ai, m4cashmn, "cmh07k.p1", 0x0000, 0x020000, CRC(6d3cc62d) SHA1(85f76fd8513c20683d486de7a1509cadfb6ecaa9), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 K)" ) -GAME_CUSTOM( 199?, m4cashmn__aj, m4cashmn, "cmh07r.p1", 0x0000, 0x020000, CRC(de337d1c) SHA1(dd07727fb183833eced5c0c2dc284d571baacd25), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 R)" ) -GAME_CUSTOM( 199?, m4cashmn__ak, m4cashmn, "cmh07s.p1", 0x0000, 0x020000, CRC(0367f4cf) SHA1(8b24a9009ff17d517b34e078ebbdc17465df139d), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7)" ) -GAME_CUSTOM( 199?, m4cashmn__al, m4cashmn, "cmh07y.p1", 0x0000, 0x020000, CRC(eadfe6d3) SHA1(80541aba612b8ebba7ab159c61e6492b9c06feda), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.7 Y)" ) +// these sets need the hopper // "(C)1993 BARCREST" and "CMH 0.2" GAME_CUSTOM( 199?, m4cashmn__a, m4cashmn, "camc2010", 0x0000, 0x020000, CRC(82e459ab) SHA1(62e1906007f6bba99e3e8badc3472070e8ae84f8), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.2)" ) + + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4CASHMN_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4jackpot8tkn, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // "(C)1993 BARCREST" and "CMH 0.6" GAME_CUSTOM( 199?, m4cashmn__za, m4cashmn, "cma15g", 0x0000, 0x020000, CRC(f30b3ef2) SHA1(c8fb4d883d12a477a703d8cb0842994675aaf879), "hack?","Cash Machine (Barcrest) (MPU4) (CMH 0.6 Y, hack?)" ) // no copyright string, and "CMA 0.7" GAME_CUSTOM( 199?, m4cashmn__zb, m4cashmn, "cma15t", 0x0000, 0x020000, CRC(a4ed66a4) SHA1(0e98859c4d7dbccdea9396c3fea9f345b2f08db6), "hack?","Cash Machine (Barcrest) (MPU4) (CMA 0.7 C, hack?)" ) +/***************************************************************************************************************************************************************************** +* +* Top Tenner +* +*****************************************************************************************************************************************************************************/ #define M4TOPTEN_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "tops1.hex", 0x000000, 0x080000, CRC(70f16892) SHA1(e6448831d3ce7fa251b40023bc7d5d6dee9d6793) ) \ ROM_LOAD( "tops2.hex", 0x080000, 0x080000, CRC(5fc888b0) SHA1(8d50ee4f36bd36aed5d0e7a77f76bd6caffc6376) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -971,8 +1197,7 @@ GAME_CUSTOM( 199?, m4cashmn__zb, m4cashmn, "cma15t", 0x0000, 0 ROM_LOAD( name, offset, length, hash ) \ M4TOPTEN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) - + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) GAME_CUSTOM( 199?, m4topten, 0, "tts04s.p1", 0x0000, 0x020000, CRC(5e53f04f) SHA1(d49377966ed787cc3571eadff8c4c16fac74434c), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4)" ) GAME_CUSTOM( 199?, m4topten__ak, m4topten, "tts04ad.p1", 0x0000, 0x020000, CRC(cdcc3d18) SHA1(4e9ccb8bfbe5b86731a24631cc60819919bb3ce8), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4 AD)" ) @@ -989,6 +1214,32 @@ GAME_CUSTOM( 199?, m4topten__au, m4topten, "tts04k.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4topten__av, m4topten, "tts04r.p1", 0x0000, 0x020000, CRC(29e01be6) SHA1(59ee4baf1f48dbd703e94c7a8e45d841f196ec54), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4 R)" ) GAME_CUSTOM( 199?, m4topten__aw, m4topten, "tts04y.p1", 0x0000, 0x020000, CRC(1d0c8029) SHA1(9ddc7a3d92715bfd4b24470f3d5ba2d9047be967), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4 Y)" ) +GAME_CUSTOM( 199?, m4topten__ax, m4topten, "tth11s.p1", 0x0000, 0x020000, CRC(c46b2866) SHA1(26d9ee1f25e6a0f708a48ce91c7e9ed9ad3bee7a), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.1)" ) + +GAME_CUSTOM( 199?, m4topten__s, m4topten, "tth12ad.p1", 0x0000, 0x020000, CRC(08e54740) SHA1(c86e36eb16d6031017a9a309ae0ae627c855b75a), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 AD)" ) +GAME_CUSTOM( 199?, m4topten__t, m4topten, "tth12b.p1", 0x0000, 0x020000, CRC(dc787847) SHA1(0729350c65f4363b04aedbae214aca9f54b22b36), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 B)" ) +GAME_CUSTOM( 199?, m4topten__u, m4topten, "tth12bd.p1", 0x0000, 0x020000, CRC(85ffe985) SHA1(bf0eba40b0f74f77b7625fbbe6fa0382f089fd9d), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 BD)" ) +GAME_CUSTOM( 199?, m4topten__v, m4topten, "tth12c.p1", 0x0000, 0x020000, CRC(eb32c555) SHA1(aa5c36d1c6d3f5f198d38705742a0a6a44b745bb), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 C)" ) +GAME_CUSTOM( 199?, m4topten__w, m4topten, "tth12d.p1", 0x0000, 0x020000, CRC(a1637331) SHA1(b5787e5f099375db689f8815493d1b6c9de5ee1e), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 D)" ) +GAME_CUSTOM( 199?, m4topten__x, m4topten, "tth12dh.p1", 0x0000, 0x020000, CRC(ec3f7449) SHA1(1db5e83734342c4c431614001fe06a8d8632242b), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 DH)" ) +GAME_CUSTOM( 199?, m4topten__y, m4topten, "tth12dk.p1", 0x0000, 0x020000, CRC(cf3841d3) SHA1(e2629b9f06c39b2c7e1b321ab262e61d64c706b1), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 KD)" ) +GAME_CUSTOM( 199?, m4topten__z, m4topten, "tth12dr.p1", 0x0000, 0x020000, CRC(7c37fae2) SHA1(e16eb1297ec725a879c3339d17ae2d8029646375), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 RD)" ) +GAME_CUSTOM( 199?, m4topten__0, m4topten, "tth12dy.p1", 0x0000, 0x020000, CRC(48db612d) SHA1(6ab67832ad61c4b0192b8e3a282238981a730aba), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 YD)" ) +GAME_CUSTOM( 199?, m4topten__1, m4topten, "tth12h.p1", 0x0000, 0x020000, CRC(b5b8e58b) SHA1(d1dd2ce68c657089267f78622ab5ecc34d7c306e), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 H)" ) +GAME_CUSTOM( 199?, m4topten__2, m4topten, "tth12k.p1", 0x0000, 0x020000, CRC(96bfd011) SHA1(38a1473d61eaec3d9d2bbb6486a8cb1d81d03b9f), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 K)" ) +GAME_CUSTOM( 199?, m4topten__3, m4topten, "tth12r.p1", 0x0000, 0x020000, CRC(25b06b20) SHA1(21b1566424fd68ab90a0ba11cb2b61fc6131256c), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 R)" ) +GAME_CUSTOM( 199?, m4topten__4, m4topten, "tth12s.p1", 0x0000, 0x020000, CRC(d204097c) SHA1(d06c0e1c8d3da373772723c580977aefdd7224b3), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2)" ) +GAME_CUSTOM( 199?, m4topten__5, m4topten, "tth12y.p1", 0x0000, 0x020000, CRC(115cf0ef) SHA1(b13122a69d16200a587c8cb6328fe7cd89897261), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4TOPTEN_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + GAME_CUSTOM( 199?, m4topten__6, m4topten, "tts02ad.p1", 0x0000, 0x020000, CRC(afba21a4) SHA1(6394014f5d46df96d6c7cd840fec996a6d5ffee5), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2 AD)" ) GAME_CUSTOM( 199?, m4topten__7, m4topten, "tts02b.p1", 0x0000, 0x020000, CRC(ef4e080d) SHA1(a82940e58537d0c40f97c43aec470d68e9b344e8), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2 B)" ) GAME_CUSTOM( 199?, m4topten__8, m4topten, "tts02bd.p1", 0x0000, 0x020000, CRC(22a08f61) SHA1(5a28d4f3cf89368a1cfa0cf5df1a9050f27f7e05), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2 BD)" ) @@ -1019,35 +1270,48 @@ GAME_CUSTOM( 199?, m4topten__p, m4topten, "tth10r.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4topten__q, m4topten, "tth10s.p1", 0x0000, 0x020000, CRC(046f5357) SHA1(ddcf7ff7d113b2bbf2106095c9166a678b00ad06), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0)" ) GAME_CUSTOM( 199?, m4topten__r, m4topten, "tth10y.p1", 0x0000, 0x020000, CRC(9ff5f59b) SHA1(a51f5f9bc90bfe89efd2cb39f32a626831c22056), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0 Y)" ) -GAME_CUSTOM( 199?, m4topten__ax, m4topten, "tth11s.p1", 0x0000, 0x020000, CRC(c46b2866) SHA1(26d9ee1f25e6a0f708a48ce91c7e9ed9ad3bee7a), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.1)" ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4TOPTEN_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) -GAME_CUSTOM( 199?, m4topten__s, m4topten, "tth12ad.p1", 0x0000, 0x020000, CRC(08e54740) SHA1(c86e36eb16d6031017a9a309ae0ae627c855b75a), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 AD)" ) -GAME_CUSTOM( 199?, m4topten__t, m4topten, "tth12b.p1", 0x0000, 0x020000, CRC(dc787847) SHA1(0729350c65f4363b04aedbae214aca9f54b22b36), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 B)" ) -GAME_CUSTOM( 199?, m4topten__u, m4topten, "tth12bd.p1", 0x0000, 0x020000, CRC(85ffe985) SHA1(bf0eba40b0f74f77b7625fbbe6fa0382f089fd9d), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 BD)" ) -GAME_CUSTOM( 199?, m4topten__v, m4topten, "tth12c.p1", 0x0000, 0x020000, CRC(eb32c555) SHA1(aa5c36d1c6d3f5f198d38705742a0a6a44b745bb), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 C)" ) -GAME_CUSTOM( 199?, m4topten__w, m4topten, "tth12d.p1", 0x0000, 0x020000, CRC(a1637331) SHA1(b5787e5f099375db689f8815493d1b6c9de5ee1e), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 D)" ) -GAME_CUSTOM( 199?, m4topten__x, m4topten, "tth12dh.p1", 0x0000, 0x020000, CRC(ec3f7449) SHA1(1db5e83734342c4c431614001fe06a8d8632242b), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 DH)" ) -GAME_CUSTOM( 199?, m4topten__y, m4topten, "tth12dk.p1", 0x0000, 0x020000, CRC(cf3841d3) SHA1(e2629b9f06c39b2c7e1b321ab262e61d64c706b1), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 KD)" ) -GAME_CUSTOM( 199?, m4topten__z, m4topten, "tth12dr.p1", 0x0000, 0x020000, CRC(7c37fae2) SHA1(e16eb1297ec725a879c3339d17ae2d8029646375), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 RD)" ) -GAME_CUSTOM( 199?, m4topten__0, m4topten, "tth12dy.p1", 0x0000, 0x020000, CRC(48db612d) SHA1(6ab67832ad61c4b0192b8e3a282238981a730aba), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 YD)" ) -GAME_CUSTOM( 199?, m4topten__1, m4topten, "tth12h.p1", 0x0000, 0x020000, CRC(b5b8e58b) SHA1(d1dd2ce68c657089267f78622ab5ecc34d7c306e), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 H)" ) -GAME_CUSTOM( 199?, m4topten__2, m4topten, "tth12k.p1", 0x0000, 0x020000, CRC(96bfd011) SHA1(38a1473d61eaec3d9d2bbb6486a8cb1d81d03b9f), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 K)" ) -GAME_CUSTOM( 199?, m4topten__3, m4topten, "tth12r.p1", 0x0000, 0x020000, CRC(25b06b20) SHA1(21b1566424fd68ab90a0ba11cb2b61fc6131256c), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 R)" ) -GAME_CUSTOM( 199?, m4topten__4, m4topten, "tth12s.p1", 0x0000, 0x020000, CRC(d204097c) SHA1(d06c0e1c8d3da373772723c580977aefdd7224b3), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2)" ) -GAME_CUSTOM( 199?, m4topten__5, m4topten, "tth12y.p1", 0x0000, 0x020000, CRC(115cf0ef) SHA1(b13122a69d16200a587c8cb6328fe7cd89897261), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2 Y)" ) -// no copyright string + +// no copyright string, different protection GAME_CUSTOM( 199?, m4topten__a, m4topten, "topt15g", 0x0000, 0x020000, CRC(4bd34f0b) SHA1(e513582ec0579e2d030a82735284ca62ee8fedf9), "hack?","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0, hack?)" ) GAME_CUSTOM( 199?, m4topten__b, m4topten, "topt15t", 0x0000, 0x020000, CRC(5c0f6549) SHA1(c20c0beccf23d49633127da37536f81186861c28), "hack?","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2, hack?)" ) +ROM_START( m4take5 ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "take5.bin", 0x0000, 0x020000, CRC(24beb7d6) SHA1(746beccaf57fd0c54c8cf8d742b8ef50563a40fd) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "tfive1.hex", 0x000000, 0x080000, CRC(70f16892) SHA1(e6448831d3ce7fa251b40023bc7d5d6dee9d6793) ) + ROM_LOAD( "tfive2.hex", 0x080000, 0x080000, CRC(5fc888b0) SHA1(8d50ee4f36bd36aed5d0e7a77f76bd6caffc6376) ) +ROM_END + +// badchr, non-standard protection, hack? +GAME(199?, m4take5, m4topten, mod4oki_bootleg_fixedret<0x69>, mpu4, mpu4mod4oki_machines_state, init_m4default_big,ROT0,"bootleg?","Top Tenner ('Take 5' bootleg) (MPU4) (TES 2.0)",GAME_FLAGS ) + + + +/***************************************************************************************************************************************************************************** +* +* Ten Out Of Ten +* +*****************************************************************************************************************************************************************************/ + #define M4TOOT_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tenoutten.chr", 0x0000, 0x000048, CRC(f94b32a4) SHA1(7d7fdf7612dab684b549c6fc99f11185056b8c3e) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "tocsnd.p1", 0x000000, 0x080000, CRC(b9527b0e) SHA1(4dc5f6794c3e63c8faced34e166dcc748ffb4941) ) \ ROM_LOAD( "tocsnd.p2", 0x080000, 0x080000, CRC(f684a488) SHA1(7c93cda3d3b55d9818625f696798c7c2cde79fa8) ) \ ROM_REGION( 0x100000, "altmsm6376", 0 ) \ ROM_LOAD( "totsnd.p1", 0x0000, 0x080000, CRC(684e9eb1) SHA1(8af28de879ae41efa07dfb07ecbd6c72201749a7) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1055,7 +1319,43 @@ GAME_CUSTOM( 199?, m4topten__b, m4topten, "topt15t", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4TOOT_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "TOC 0.4" +GAME_CUSTOM( 199?, m4toot__v, m4toot, "toc04s.p1", 0x0000, 0x020000, CRC(295e6fff) SHA1(a21d991f00f144e12de60b891e3e2e5dd7d08d71), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4)" ) +GAME_CUSTOM( 199?, m4toot__l, m4toot, "toc04ad.p1", 0x0000, 0x020000, CRC(59075e2e) SHA1(a3ad5c642fb9cebcce2fb6c1e65514f2414948e0), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 AD)" ) +GAME_CUSTOM( 199?, m4toot__m, m4toot, "toc04b.p1", 0x0000, 0x020000, CRC(b2d54721) SHA1(4c72d434c0f4f37b9a3f08a760c7fe3851717059), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 B)" ) +GAME_CUSTOM( 199?, m4toot__n, m4toot, "toc04bd.p1", 0x0000, 0x020000, CRC(d41df0eb) SHA1(e5a04c728a2893073ff8b5f6efd7cffd433a2985), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 BD)" ) +GAME_CUSTOM( 199?, m4toot__o, m4toot, "toc04c.p1", 0x0000, 0x020000, CRC(859ffa33) SHA1(05b7bd3b87a0ebcc78de751766cfcdc4276035ac), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 C)" ) +GAME_CUSTOM( 199?, m4toot__p, m4toot, "toc04d.p1", 0x0000, 0x020000, CRC(9146b56a) SHA1(04bcd265d83e3554aef2de05aab9c3869bb966ea), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 D)" ) +GAME_CUSTOM( 199?, m4toot__q, m4toot, "toc04dk.p1", 0x0000, 0x020000, CRC(9eda58bd) SHA1(5e38f87a162d1cb37e74850af6a00ae81619ecbe), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 KD)" ) +GAME_CUSTOM( 199?, m4toot__r, m4toot, "toc04dr.p1", 0x0000, 0x020000, CRC(2dd5e38c) SHA1(a1b0e8d48e164ab91b277a7efedf5b9fc73fc266), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 RD)" ) +GAME_CUSTOM( 199?, m4toot__s, m4toot, "toc04dy.p1", 0x0000, 0x020000, CRC(19397843) SHA1(e7e3299d8e46c79d3cd0ea7fd639a1d649a806df), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 YD)" ) +GAME_CUSTOM( 199?, m4toot__t, m4toot, "toc04k.p1", 0x0000, 0x020000, CRC(f812ef77) SHA1(d465b771efed27a9f616052d3fcabdbeb7c2d151), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 K)" ) +GAME_CUSTOM( 199?, m4toot__u, m4toot, "toc04r.p1", 0x0000, 0x020000, CRC(4b1d5446) SHA1(f4bac0c8257add41295679b3541d2064d8c772c2), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 R)" ) +GAME_CUSTOM( 199?, m4toot__w, m4toot, "toc04y.p1", 0x0000, 0x020000, CRC(7ff1cf89) SHA1(d4ab56b2b5b05643cd077b8d596b6cddf8a25134), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 Y)" ) +// "(C)1993 BARCREST" and "TOT 0.6" +GAME_CUSTOM( 199?, m4toot__aj, m4toot, "tot06s.p1", 0x0000, 0x020000, CRC(c6140fea) SHA1(c2257dd84bf97b71580e8b873fc745dfa456ddd9), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6)" ) +GAME_CUSTOM( 199?, m4toot__9, m4toot, "tot06ad.p1", 0x0000, 0x020000, CRC(ebe50569) SHA1(1906f1a8d47cc9ee3fa703ad57b180f8a4cdcf89), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 AD)" ) +GAME_CUSTOM( 199?, m4toot__aa, m4toot, "tot06b.p1", 0x0000, 0x020000, CRC(4d5a8ebe) SHA1(d30da9ce729fed7ad42b30d522b2b6d65a462b84), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 B)" ) +GAME_CUSTOM( 199?, m4toot__ab, m4toot, "tot06bd.p1", 0x0000, 0x020000, CRC(66ffabac) SHA1(25822e42a58173b8f51dcbbd98d041b261e675e4), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 BD)" ) +GAME_CUSTOM( 199?, m4toot__ac, m4toot, "tot06c.p1", 0x0000, 0x020000, CRC(7a1033ac) SHA1(9d3c2f521574f405e1da81b605581bc4b6f011a4), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 C)" ) +GAME_CUSTOM( 199?, m4toot__ad, m4toot, "tot06d.p1", 0x0000, 0x020000, CRC(304185c8) SHA1(f7ef4fce3ce9a455f39766ae97ebfbf93418e019), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 D)" ) +GAME_CUSTOM( 199?, m4toot__ae, m4toot, "tot06dk.p1", 0x0000, 0x020000, CRC(2c3803fa) SHA1(68c83ccdd1f776376608918d9a1257fe64ce3a9b), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 KD)" ) +GAME_CUSTOM( 199?, m4toot__af, m4toot, "tot06dr.p1", 0x0000, 0x020000, CRC(9f37b8cb) SHA1(3eb2f843dc4f87b7bfe16da1d133750ad7075a71), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 RD)" ) +GAME_CUSTOM( 199?, m4toot__ag, m4toot, "tot06dy.p1", 0x0000, 0x020000, CRC(abdb2304) SHA1(1c29f4176306f472323388f8c34b102930fb9f5f), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 YD)" ) +GAME_CUSTOM( 199?, m4toot__ah, m4toot, "tot06k.p1", 0x0000, 0x020000, CRC(079d26e8) SHA1(60e3d02d62f6fde6bdf4b9e77702549d493ccf09), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 K)" ) +GAME_CUSTOM( 199?, m4toot__ai, m4toot, "tot06r.p1", 0x0000, 0x020000, CRC(b4929dd9) SHA1(fa3d99b8f6344c9511ecc864d4fff4629b105b5f), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 R)" ) +GAME_CUSTOM( 199?, m4toot__ak, m4toot, "tot06y.p1", 0x0000, 0x020000, CRC(807e0616) SHA1(2a3f89239a7fa43dfde90dd7ad929747e888074b), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4TOOT_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "TOC 0.3" GAME_CUSTOM( 199?, m4toot, 0, "toc03s.p1", 0x0000, 0x020000, CRC(30feff92) SHA1(14397768ebd7469b4d1cff22ca9727f63608a98a), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3)" ) @@ -1070,19 +1370,6 @@ GAME_CUSTOM( 199?, m4toot__g, m4toot, "toc03dy.p1", 0x0000, 0x020000, CRC(b GAME_CUSTOM( 199?, m4toot__h, m4toot, "toc03k.p1", 0x0000, 0x020000, CRC(08a2ef7b) SHA1(a4181db6280c7cc37b54baaf9cce1e61f61f3274), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 K)" ) GAME_CUSTOM( 199?, m4toot__i, m4toot, "toc03r.p1", 0x0000, 0x020000, CRC(bbad544a) SHA1(5fb31e5641a9e85147f5b61c5aba5a1ee7470f9c), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 R)" ) GAME_CUSTOM( 199?, m4toot__k, m4toot, "toc03y.p1", 0x0000, 0x020000, CRC(8f41cf85) SHA1(315b359d6d1a9f6ad939be1fc5e4d8f21f998fb8), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 Y)" ) -// "(C)1993 BARCREST" and "TOC 0.4" -GAME_CUSTOM( 199?, m4toot__v, m4toot, "toc04s.p1", 0x0000, 0x020000, CRC(295e6fff) SHA1(a21d991f00f144e12de60b891e3e2e5dd7d08d71), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4)" ) -GAME_CUSTOM( 199?, m4toot__l, m4toot, "toc04ad.p1", 0x0000, 0x020000, CRC(59075e2e) SHA1(a3ad5c642fb9cebcce2fb6c1e65514f2414948e0), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 AD)" ) -GAME_CUSTOM( 199?, m4toot__m, m4toot, "toc04b.p1", 0x0000, 0x020000, CRC(b2d54721) SHA1(4c72d434c0f4f37b9a3f08a760c7fe3851717059), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 B)" ) -GAME_CUSTOM( 199?, m4toot__n, m4toot, "toc04bd.p1", 0x0000, 0x020000, CRC(d41df0eb) SHA1(e5a04c728a2893073ff8b5f6efd7cffd433a2985), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 BD)" ) -GAME_CUSTOM( 199?, m4toot__o, m4toot, "toc04c.p1", 0x0000, 0x020000, CRC(859ffa33) SHA1(05b7bd3b87a0ebcc78de751766cfcdc4276035ac), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 C)" ) -GAME_CUSTOM( 199?, m4toot__p, m4toot, "toc04d.p1", 0x0000, 0x020000, CRC(9146b56a) SHA1(04bcd265d83e3554aef2de05aab9c3869bb966ea), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 D)" ) -GAME_CUSTOM( 199?, m4toot__q, m4toot, "toc04dk.p1", 0x0000, 0x020000, CRC(9eda58bd) SHA1(5e38f87a162d1cb37e74850af6a00ae81619ecbe), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 KD)" ) -GAME_CUSTOM( 199?, m4toot__r, m4toot, "toc04dr.p1", 0x0000, 0x020000, CRC(2dd5e38c) SHA1(a1b0e8d48e164ab91b277a7efedf5b9fc73fc266), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 RD)" ) -GAME_CUSTOM( 199?, m4toot__s, m4toot, "toc04dy.p1", 0x0000, 0x020000, CRC(19397843) SHA1(e7e3299d8e46c79d3cd0ea7fd639a1d649a806df), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 YD)" ) -GAME_CUSTOM( 199?, m4toot__t, m4toot, "toc04k.p1", 0x0000, 0x020000, CRC(f812ef77) SHA1(d465b771efed27a9f616052d3fcabdbeb7c2d151), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 K)" ) -GAME_CUSTOM( 199?, m4toot__u, m4toot, "toc04r.p1", 0x0000, 0x020000, CRC(4b1d5446) SHA1(f4bac0c8257add41295679b3541d2064d8c772c2), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 R)" ) -GAME_CUSTOM( 199?, m4toot__w, m4toot, "toc04y.p1", 0x0000, 0x020000, CRC(7ff1cf89) SHA1(d4ab56b2b5b05643cd077b8d596b6cddf8a25134), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 Y)" ) // "(C)1993 BARCREST" and "TOT 0.5" GAME_CUSTOM( 199?, m4toot__7, m4toot, "tot05s.p1", 0x0000, 0x020000, CRC(7dd1cfa8) SHA1(3bd0eeb621cc81ac462a6981e081837985f6635b), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5)" ) GAME_CUSTOM( 199?, m4toot__x, m4toot, "tot05ad.p1", 0x0000, 0x020000, CRC(fce00fcc) SHA1(7d10c0b83d782a9e603522ed039089866d931474), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 AD)" ) @@ -1096,32 +1383,37 @@ GAME_CUSTOM( 199?, m4toot__4, m4toot, "tot05dy.p1", 0x0000, 0x020000, CRC(b GAME_CUSTOM( 199?, m4toot__5, m4toot, "tot05k.p1", 0x0000, 0x020000, CRC(138afd4a) SHA1(bc53d71d926da7aca74c79f45c47610e62e347b6), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 K)" ) GAME_CUSTOM( 199?, m4toot__6, m4toot, "tot05r.p1", 0x0000, 0x020000, CRC(a085467b) SHA1(de2deda7635c9565db0f69aa6f375216ed36b7bb), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 R)" ) GAME_CUSTOM( 199?, m4toot__8, m4toot, "tot05y.p1", 0x0000, 0x020000, CRC(9469ddb4) SHA1(553812e3ece921d31c585b6a412c00ea5095b1b0), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 Y)" ) -// "(C)1993 BARCREST" and "TOT 0.6" -GAME_CUSTOM( 199?, m4toot__aj, m4toot, "tot06s.p1", 0x0000, 0x020000, CRC(c6140fea) SHA1(c2257dd84bf97b71580e8b873fc745dfa456ddd9), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6)" ) -GAME_CUSTOM( 199?, m4toot__9, m4toot, "tot06ad.p1", 0x0000, 0x020000, CRC(ebe50569) SHA1(1906f1a8d47cc9ee3fa703ad57b180f8a4cdcf89), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 AD)" ) -GAME_CUSTOM( 199?, m4toot__aa, m4toot, "tot06b.p1", 0x0000, 0x020000, CRC(4d5a8ebe) SHA1(d30da9ce729fed7ad42b30d522b2b6d65a462b84), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 B)" ) -GAME_CUSTOM( 199?, m4toot__ab, m4toot, "tot06bd.p1", 0x0000, 0x020000, CRC(66ffabac) SHA1(25822e42a58173b8f51dcbbd98d041b261e675e4), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 BD)" ) -GAME_CUSTOM( 199?, m4toot__ac, m4toot, "tot06c.p1", 0x0000, 0x020000, CRC(7a1033ac) SHA1(9d3c2f521574f405e1da81b605581bc4b6f011a4), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 C)" ) -GAME_CUSTOM( 199?, m4toot__ad, m4toot, "tot06d.p1", 0x0000, 0x020000, CRC(304185c8) SHA1(f7ef4fce3ce9a455f39766ae97ebfbf93418e019), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 D)" ) -GAME_CUSTOM( 199?, m4toot__ae, m4toot, "tot06dk.p1", 0x0000, 0x020000, CRC(2c3803fa) SHA1(68c83ccdd1f776376608918d9a1257fe64ce3a9b), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 KD)" ) -GAME_CUSTOM( 199?, m4toot__af, m4toot, "tot06dr.p1", 0x0000, 0x020000, CRC(9f37b8cb) SHA1(3eb2f843dc4f87b7bfe16da1d133750ad7075a71), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 RD)" ) -GAME_CUSTOM( 199?, m4toot__ag, m4toot, "tot06dy.p1", 0x0000, 0x020000, CRC(abdb2304) SHA1(1c29f4176306f472323388f8c34b102930fb9f5f), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 YD)" ) -GAME_CUSTOM( 199?, m4toot__ah, m4toot, "tot06k.p1", 0x0000, 0x020000, CRC(079d26e8) SHA1(60e3d02d62f6fde6bdf4b9e77702549d493ccf09), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 K)" ) -GAME_CUSTOM( 199?, m4toot__ai, m4toot, "tot06r.p1", 0x0000, 0x020000, CRC(b4929dd9) SHA1(fa3d99b8f6344c9511ecc864d4fff4629b105b5f), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 R)" ) -GAME_CUSTOM( 199?, m4toot__ak, m4toot, "tot06y.p1", 0x0000, 0x020000, CRC(807e0616) SHA1(2a3f89239a7fa43dfde90dd7ad929747e888074b), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 Y)" ) // "(C)1993 BARCREST" and "TOC 0.1" GAME_CUSTOM( 199?, m4toot__al, m4toot, "tten2010", 0x0000, 0x020000, CRC(28373e9a) SHA1(496df7b511b950b5affe9d65c80037f3ecddc5f8), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.1)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4TOOT_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + + +// different protection // no copyright string and "TOC 0.3" GAME_CUSTOM( 199?, m4toot__za, m4toot, "tot15g", 0x0000, 0x020000, CRC(1f9508ad) SHA1(33089ea05f6adecf8f4004aa1e4d626969b6ac3a), "hack?","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 Y, hack?)" ) // no copyright string and "TOT 0.4" GAME_CUSTOM( 199?, m4toot__zb, m4toot, "tot15t", 0x0000, 0x020000, CRC(1ce7f467) SHA1(cf47a126500680107a2f31743c3fff8290b595b8), "hack?","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.4 Y, hack?)" ) + +/***************************************************************************************************************************************************************************** +* +* Everyone's A Winner +* +*****************************************************************************************************************************************************************************/ + #define M4EAW_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "m683.chr", 0x0000, 0x000048, CRC(cbe68b44) SHA1(60efc69eba86531f51230dee17efdbbf8917f907) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "er4snd.p1", 0x000000, 0x080000, CRC(32fd0836) SHA1(ea68252b690fe1d6070209cbcfb65fe20926c6ce) ) \ ROM_LOAD( "er4snd.p2", 0x080000, 0x080000, CRC(1df9c24f) SHA1(f0d31b1bec6f3a9791f7fabe57b45687df900efa) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1129,7 +1421,18 @@ GAME_CUSTOM( 199?, m4toot__zb, m4toot, "tot15t", 0x0000, 0x020000, CRC(1 ROM_LOAD( name, offset, length, hash ) \ M4EAW_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + + +// "(C)1991 BARCREST" and "ER8 0.1" +GAME_CUSTOM( 199?, m4eaw__a9, m4eaw, "er8s.p1", 0x0000, 0x010000, CRC(5d36bbc6) SHA1(4d0cd8e939f22d919671dc97c3d97bf6191e738f), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__a3, m4eaw, "er8ad.p1", 0x0000, 0x010000, CRC(ba059e06) SHA1(f6bb9092c9d18bccde111f8e20e79b8b4e6d8593), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 AD)" ) +GAME_CUSTOM( 199?, m4eaw__a4, m4eaw, "er8b.p1", 0x0000, 0x010000, CRC(27c7f954) SHA1(93305d1d4a5781de56f1e54801e25b29b6713ef0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 B)" ) +GAME_CUSTOM( 199?, m4eaw__a5, m4eaw, "er8c.p1", 0x0000, 0x010000, CRC(cee94fb3) SHA1(01ec098016b6946c3fbf96b2071076316bbd5795), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 C)" ) +GAME_CUSTOM( 199?, m4eaw__a6, m4eaw, "er8dk.p1", 0x0000, 0x010000, CRC(789c5e1d) SHA1(5f5b686a770f4ab0cfa8e8ae21b3805ef6102516), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4eaw__a7, m4eaw, "er8dy.p1", 0x0000, 0x010000, CRC(4adf568b) SHA1(dd21b547211566ad5cb018a0205d887b7f860bc9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4eaw__a8, m4eaw, "er8k.p1", 0x0000, 0x010000, CRC(c76140e4) SHA1(6c097fdd018eb594a84ceb7712a45201490ca370), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 K)" ) +GAME_CUSTOM( 199?, m4eaw__ba, m4eaw, "er8y.p1", 0x0000, 0x010000, CRC(8a1aa409) SHA1(a7ae62e1038e52a111de3004e2160838e0d102d0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 Y)" ) // "(C)1991 BARCREST" and "ER4 0.2" GAME_CUSTOM( 199?, m4eaw, 0, "er4s.p1", 0x0000, 0x010000, CRC(163fc987) SHA1(8e1768ed2fbddbd5e00652ff40614de3978c9567), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER4 0.2)" ) @@ -1141,6 +1444,7 @@ GAME_CUSTOM( 199?, m4eaw__az, m4eaw, "er4dk.p1", 0x0000, 0x0100 GAME_CUSTOM( 199?, m4eaw__a0, m4eaw, "er4dy.p1", 0x0000, 0x010000, CRC(7df882e6) SHA1(1246220a5ac8a4454a7f3a359a5a00319395095d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER4 0.2 YD)" ) GAME_CUSTOM( 199?, m4eaw__a1, m4eaw, "er4k.p1", 0x0000, 0x010000, CRC(9803cc0d) SHA1(1516c3836919a7a2cc32711a9bf2d3bf3d6b82c0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER4 0.2 K)" ) GAME_CUSTOM( 199?, m4eaw__a2, m4eaw, "er4y.p1", 0x0000, 0x010000, CRC(d8dece2d) SHA1(8482092434e1e94e6648e402c8b518c2f0fcc28e), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER4 0.2 Y)" ) + // "(C)1991 BARCREST" and "ER4 0.3" (startup is CET 0.3) GAME_CUSTOM( 199?, m4eaw__j, m4eaw, "cet03s.p1", 0x0000, 0x010000, CRC(bec3ea51) SHA1(740a73da105d8329dc9ceaa5e8c25b305124e2dd), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 / ER4 0.3)" ) GAME_CUSTOM( 199?, m4eaw__a, m4eaw, "cet03ad.p1", 0x0000, 0x010000, CRC(33afe7a5) SHA1(5d3bdb74c6babd49e88915282ad81c184bd7aa68), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 AD / ER4 0.3)" ) @@ -1153,6 +1457,7 @@ GAME_CUSTOM( 199?, m4eaw__g, m4eaw, "cet03dy.p1", 0x0000, 0x0100 GAME_CUSTOM( 199?, m4eaw__h, m4eaw, "cet03k.p1", 0x0000, 0x010000, CRC(f6531a43) SHA1(75ec5c8fc0012fee144daab7761f3717c17fa22d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 K / ER4 0.3)" ) GAME_CUSTOM( 199?, m4eaw__i, m4eaw, "cet03r.p1", 0x0000, 0x010000, CRC(fec4a6c0) SHA1(89fac7e4df77f526d0e357f1874b73be932548ce), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 R / ER4 0.3)" ) GAME_CUSTOM( 199?, m4eaw__k, m4eaw, "cet03y.p1", 0x0000, 0x010000, CRC(63af8e2e) SHA1(97b9dd02bf8a72ca0be7c1a9cb753fbd55644497), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 Y / ER4 0.3)" ) + // "(C)1991 BARCREST" and "ER4 0.2" (startup is CEU 0.2) GAME_CUSTOM( 199?, m4eaw__u, m4eaw, "ceu02s.p1", 0x0000, 0x010000, CRC(d52099e6) SHA1(10f1acb948fa7c4b547f801ddb5e15111992ca91), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 / ER4 0.2)" ) GAME_CUSTOM( 199?, m4eaw__l, m4eaw, "ceu02ad.p1", 0x0000, 0x010000, CRC(5805182c) SHA1(c15ef2e05061fd89944b039f007d92bc4bdf66d5), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 AD / ER4 0.2)" ) @@ -1165,6 +1470,52 @@ GAME_CUSTOM( 199?, m4eaw__r, m4eaw, "ceu02dy.p1", 0x0000, 0x0100 GAME_CUSTOM( 199?, m4eaw__s, m4eaw, "ceu02k.p1", 0x0000, 0x010000, CRC(0e0a1ba9) SHA1(e1ee2595a3fd4fe874f50dc027f6c931636aadcc), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 K / ER4 0.2)" ) GAME_CUSTOM( 199?, m4eaw__t, m4eaw, "ceu02r.p1", 0x0000, 0x010000, CRC(1a882a6a) SHA1(c966be957e7a78c33a28afd79ba60c69a6de42b8), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 R/ ER4 0.2)" ) GAME_CUSTOM( 199?, m4eaw__v, m4eaw, "ceu02y.p1", 0x0000, 0x010000, CRC(87e30284) SHA1(4c598a33b73cfe6338c0f51408f2a6c1abfa978b), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 Y / ER4 0.2)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4EAW_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + + +// "(C)1991 BARCREST" and "ER2 0.1" +GAME_CUSTOM( 199?, m4eaw__at, m4eaw, "er2s.p1", 0x0000, 0x010000, CRC(bfee8157) SHA1(3ce5a2ec16f06c753a054a9f645efbcd26f411ab), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__ak, m4eaw, "er2ad.p1", 0x0000, 0x010000, CRC(4e5fcc8b) SHA1(8176ca01ad49f39e1337a085cf3a1fd33803c517), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 AD)" ) +GAME_CUSTOM( 199?, m4eaw__al, m4eaw, "er2b.p1", 0x0000, 0x010000, CRC(999c6510) SHA1(bc70b88183df84ea0e18e1017ab9d74545ce7588), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 B)" ) +GAME_CUSTOM( 199?, m4eaw__am, m4eaw, "er2bd.p1", 0x0000, 0x010000, CRC(3f50573a) SHA1(46527b08d751372df09d61fd67054600b6e933f3), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 BD)" ) +GAME_CUSTOM( 199?, m4eaw__an, m4eaw, "er2d.p1", 0x0000, 0x010000, CRC(6c625759) SHA1(65de484632317b7bd1372f20e7cbdedc85a90ea4), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 D)" ) +GAME_CUSTOM( 199?, m4eaw__ao, m4eaw, "er2dk.p1", 0x0000, 0x010000, CRC(e1e1ab0b) SHA1(353863e2ef1e778b7fce035ae725053fb95c300e), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 KD)" ) +GAME_CUSTOM( 199?, m4eaw__ap, m4eaw, "er2dr.p1", 0x0000, 0x010000, CRC(0d2e1d3f) SHA1(f75f6cf9e0ce6ccf36df83e18f03fc1485242c88), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 RD)" ) +GAME_CUSTOM( 199?, m4eaw__aq, m4eaw, "er2dy.p1", 0x0000, 0x010000, CRC(f20c4b31) SHA1(744ce6065b3bea3a0c128a4848282cbca2bc8056), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 YD)" ) +GAME_CUSTOM( 199?, m4eaw__ar, m4eaw, "er2k.p1", 0x0000, 0x010000, CRC(2c3661bb) SHA1(5f5a6b47dacdb2184d3ac9646da616283743fcbf), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 K)" ) +GAME_CUSTOM( 199?, m4eaw__as, m4eaw, "er2r.p1", 0x0000, 0x010000, CRC(cb636e43) SHA1(44df3adc1d5af4c1930596f34f41884e7731be62), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 R)" ) +GAME_CUSTOM( 199?, m4eaw__au, m4eaw, "er2y.p1", 0x0000, 0x010000, CRC(91369b00) SHA1(7427fcf9e350bc9a3883577de5ee4a4ab5ff63b0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 Y)" ) + +// "(C)1991 BARCREST" and "ERT 0.2" +GAME_CUSTOM( 199?, m4eaw__bk, m4eaw, "erts.p1", 0x0000, 0x010000, CRC(185b47bb) SHA1(377cb42878572a3e94dd6be6fb106ecacb3c5059), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2)" ) +GAME_CUSTOM( 199?, m4eaw__bb, m4eaw, "ertad.p1", 0x0000, 0x010000, CRC(75798f2d) SHA1(68939c187d841aa046a4f7dd8f39e8387969460c), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 AD)" ) +GAME_CUSTOM( 199?, m4eaw__bc, m4eaw, "ertb.p1", 0x0000, 0x010000, CRC(c6407839) SHA1(79d73d79b389682586fdf7c9c25d8e2ea5943bb6), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 B)" ) +GAME_CUSTOM( 199?, m4eaw__bd, m4eaw, "ertbd.p1", 0x0000, 0x010000, CRC(4365e267) SHA1(b1853c3ddb707cb114e6bb2d780b142b80f099b6), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 BD)" ) +GAME_CUSTOM( 199?, m4eaw__be, m4eaw, "ertd.p1", 0x0000, 0x010000, CRC(2fabc730) SHA1(8a43afd6048006e906892d35bb0cfaa127fc0415), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 D)" ) +GAME_CUSTOM( 199?, m4eaw__bf, m4eaw, "ertdk.p1", 0x0000, 0x010000, CRC(21264f37) SHA1(9819cf120e81525f18096152a555859a4f48f8ad), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 KD)" ) +GAME_CUSTOM( 199?, m4eaw__bg, m4eaw, "ertdr.p1", 0x0000, 0x010000, CRC(1b644f23) SHA1(94c5a307126cada90eeb45439aaab82a30228ffa), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 RD)" ) +GAME_CUSTOM( 199?, m4eaw__bh, m4eaw, "ertdy.p1", 0x0000, 0x010000, CRC(5a7c77fa) SHA1(37c212db131b682fd8d293a8cf8efad2e80a8a18), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 YD)" ) +GAME_CUSTOM( 199?, m4eaw__bi, m4eaw, "ertk.p1", 0x0000, 0x010000, CRC(19959bd3) SHA1(617f7079b39b0ef41ebb0b5f89053d723a28824d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 K)" ) +GAME_CUSTOM( 199?, m4eaw__bj, m4eaw, "ertr.p1", 0x0000, 0x010000, CRC(3264f04a) SHA1(88d1f6857f3a0acd89db1563fd5f24582b578765), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 R)" ) +GAME_CUSTOM( 199?, m4eaw__bl, m4eaw, "erty.p1", 0x0000, 0x010000, CRC(38adc77e) SHA1(7a925e2aa946fdcf38df454ec733da1ce9bdc495), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4EAW_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // "(C)1991 BARCREST" and "ER4 0.1" (startup is ENN 0.1) GAME_CUSTOM( 199?, m4eaw__6, m4eaw, "enn01s.p1", 0x0000, 0x010000, CRC(d0ba447d) SHA1(744d5448c5318287e58994b684e116ac1a236f05), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 / ER4 0.1)" ) GAME_CUSTOM( 199?, m4eaw__w, m4eaw, "enn01ad.p1", 0x0000, 0x010000, CRC(913ba1d6) SHA1(1167ccce2f0b528ec8eba140b1f9c8358fa19f54), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 AD / ER4 0.1)" ) @@ -1178,6 +1529,7 @@ GAME_CUSTOM( 199?, m4eaw__3, m4eaw, "enn01dy.p1", 0x0000, 0x0100 GAME_CUSTOM( 199?, m4eaw__4, m4eaw, "enn01k.p1", 0x0000, 0x010000, CRC(273d7b10) SHA1(5577355c918407e548266a16b225e8a4f58c921c), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 K / ER4 0.1)" ) GAME_CUSTOM( 199?, m4eaw__5, m4eaw, "enn01r.p1", 0x0000, 0x010000, CRC(aee3f31e) SHA1(72676bc6b3bc287bf3bd3e7719848b40aa1b3627), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 R / ER4 0.1)" ) GAME_CUSTOM( 199?, m4eaw__7, m4eaw, "enn01y.p1", 0x0000, 0x010000, CRC(91a73867) SHA1(5197fcd5bf3dc036095b8291d7b23776995d84d1), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 Y / ER4 0.1)" ) + // "(C)1991 BARCREST" and "ER4 0.1" (startup is EON 0.1) GAME_CUSTOM( 199?, m4eaw__ai, m4eaw, "eon01s.p1", 0x0000, 0x010000, CRC(e2e9ce10) SHA1(41a08b17285d6591b4a5cb6b1b6cc40ee7d35f01), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 / ER4 0.1)" ) GAME_CUSTOM( 199?, m4eaw__8, m4eaw, "eon01ad.p1", 0x0000, 0x010000, CRC(998b0e8d) SHA1(f2d0c43073d76d662c3a997b1fd081016e4c7a7d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 AD / ER4 0.1)" ) @@ -1191,39 +1543,7 @@ GAME_CUSTOM( 199?, m4eaw__af, m4eaw, "eon01dy.p1", 0x0000, 0x0100 GAME_CUSTOM( 199?, m4eaw__ag, m4eaw, "eon01k.p1", 0x0000, 0x010000, CRC(1d34dea7) SHA1(546db8247d0c78501fe4ec818d614e8f451b0076), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 K / ER4 0.1)" ) GAME_CUSTOM( 199?, m4eaw__ah, m4eaw, "eon01r.p1", 0x0000, 0x010000, CRC(7c70a508) SHA1(2c5835f36ef4c215ff9f6f6cc350f0916b397b7b), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 R / ER4 0.1)" ) GAME_CUSTOM( 199?, m4eaw__aj, m4eaw, "eon01y.p1", 0x0000, 0x010000, CRC(ddc4f7d1) SHA1(bbc21ba153541df1507e01d4a25a1a669c8eab62), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 Y / ER4 0.1)" ) -// "(C)1991 BARCREST" and "ER2 0.1" -GAME_CUSTOM( 199?, m4eaw__at, m4eaw, "er2s.p1", 0x0000, 0x010000, CRC(bfee8157) SHA1(3ce5a2ec16f06c753a054a9f645efbcd26f411ab), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1)" ) -GAME_CUSTOM( 199?, m4eaw__ak, m4eaw, "er2ad.p1", 0x0000, 0x010000, CRC(4e5fcc8b) SHA1(8176ca01ad49f39e1337a085cf3a1fd33803c517), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 AD)" ) -GAME_CUSTOM( 199?, m4eaw__al, m4eaw, "er2b.p1", 0x0000, 0x010000, CRC(999c6510) SHA1(bc70b88183df84ea0e18e1017ab9d74545ce7588), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 B)" ) -GAME_CUSTOM( 199?, m4eaw__am, m4eaw, "er2bd.p1", 0x0000, 0x010000, CRC(3f50573a) SHA1(46527b08d751372df09d61fd67054600b6e933f3), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 BD)" ) -GAME_CUSTOM( 199?, m4eaw__an, m4eaw, "er2d.p1", 0x0000, 0x010000, CRC(6c625759) SHA1(65de484632317b7bd1372f20e7cbdedc85a90ea4), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 D)" ) -GAME_CUSTOM( 199?, m4eaw__ao, m4eaw, "er2dk.p1", 0x0000, 0x010000, CRC(e1e1ab0b) SHA1(353863e2ef1e778b7fce035ae725053fb95c300e), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 KD)" ) -GAME_CUSTOM( 199?, m4eaw__ap, m4eaw, "er2dr.p1", 0x0000, 0x010000, CRC(0d2e1d3f) SHA1(f75f6cf9e0ce6ccf36df83e18f03fc1485242c88), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 RD)" ) -GAME_CUSTOM( 199?, m4eaw__aq, m4eaw, "er2dy.p1", 0x0000, 0x010000, CRC(f20c4b31) SHA1(744ce6065b3bea3a0c128a4848282cbca2bc8056), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 YD)" ) -GAME_CUSTOM( 199?, m4eaw__ar, m4eaw, "er2k.p1", 0x0000, 0x010000, CRC(2c3661bb) SHA1(5f5a6b47dacdb2184d3ac9646da616283743fcbf), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 K)" ) -GAME_CUSTOM( 199?, m4eaw__as, m4eaw, "er2r.p1", 0x0000, 0x010000, CRC(cb636e43) SHA1(44df3adc1d5af4c1930596f34f41884e7731be62), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 R)" ) -GAME_CUSTOM( 199?, m4eaw__au, m4eaw, "er2y.p1", 0x0000, 0x010000, CRC(91369b00) SHA1(7427fcf9e350bc9a3883577de5ee4a4ab5ff63b0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 Y)" ) -// "(C)1991 BARCREST" and "ER8 0.1" -GAME_CUSTOM( 199?, m4eaw__a9, m4eaw, "er8s.p1", 0x0000, 0x010000, CRC(5d36bbc6) SHA1(4d0cd8e939f22d919671dc97c3d97bf6191e738f), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1)" ) -GAME_CUSTOM( 199?, m4eaw__a3, m4eaw, "er8ad.p1", 0x0000, 0x010000, CRC(ba059e06) SHA1(f6bb9092c9d18bccde111f8e20e79b8b4e6d8593), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 AD)" ) -GAME_CUSTOM( 199?, m4eaw__a4, m4eaw, "er8b.p1", 0x0000, 0x010000, CRC(27c7f954) SHA1(93305d1d4a5781de56f1e54801e25b29b6713ef0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 B)" ) -GAME_CUSTOM( 199?, m4eaw__a5, m4eaw, "er8c.p1", 0x0000, 0x010000, CRC(cee94fb3) SHA1(01ec098016b6946c3fbf96b2071076316bbd5795), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 C)" ) -GAME_CUSTOM( 199?, m4eaw__a6, m4eaw, "er8dk.p1", 0x0000, 0x010000, CRC(789c5e1d) SHA1(5f5b686a770f4ab0cfa8e8ae21b3805ef6102516), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 KD)" ) -GAME_CUSTOM( 199?, m4eaw__a7, m4eaw, "er8dy.p1", 0x0000, 0x010000, CRC(4adf568b) SHA1(dd21b547211566ad5cb018a0205d887b7f860bc9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 YD)" ) -GAME_CUSTOM( 199?, m4eaw__a8, m4eaw, "er8k.p1", 0x0000, 0x010000, CRC(c76140e4) SHA1(6c097fdd018eb594a84ceb7712a45201490ca370), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 K)" ) -GAME_CUSTOM( 199?, m4eaw__ba, m4eaw, "er8y.p1", 0x0000, 0x010000, CRC(8a1aa409) SHA1(a7ae62e1038e52a111de3004e2160838e0d102d0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 Y)" ) -// "(C)1991 BARCREST" and "ERT 0.2" -GAME_CUSTOM( 199?, m4eaw__bk, m4eaw, "erts.p1", 0x0000, 0x010000, CRC(185b47bb) SHA1(377cb42878572a3e94dd6be6fb106ecacb3c5059), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2)" ) -GAME_CUSTOM( 199?, m4eaw__bb, m4eaw, "ertad.p1", 0x0000, 0x010000, CRC(75798f2d) SHA1(68939c187d841aa046a4f7dd8f39e8387969460c), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 AD)" ) -GAME_CUSTOM( 199?, m4eaw__bc, m4eaw, "ertb.p1", 0x0000, 0x010000, CRC(c6407839) SHA1(79d73d79b389682586fdf7c9c25d8e2ea5943bb6), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 B)" ) -GAME_CUSTOM( 199?, m4eaw__bd, m4eaw, "ertbd.p1", 0x0000, 0x010000, CRC(4365e267) SHA1(b1853c3ddb707cb114e6bb2d780b142b80f099b6), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 BD)" ) -GAME_CUSTOM( 199?, m4eaw__be, m4eaw, "ertd.p1", 0x0000, 0x010000, CRC(2fabc730) SHA1(8a43afd6048006e906892d35bb0cfaa127fc0415), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 D)" ) -GAME_CUSTOM( 199?, m4eaw__bf, m4eaw, "ertdk.p1", 0x0000, 0x010000, CRC(21264f37) SHA1(9819cf120e81525f18096152a555859a4f48f8ad), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 KD)" ) -GAME_CUSTOM( 199?, m4eaw__bg, m4eaw, "ertdr.p1", 0x0000, 0x010000, CRC(1b644f23) SHA1(94c5a307126cada90eeb45439aaab82a30228ffa), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 RD)" ) -GAME_CUSTOM( 199?, m4eaw__bh, m4eaw, "ertdy.p1", 0x0000, 0x010000, CRC(5a7c77fa) SHA1(37c212db131b682fd8d293a8cf8efad2e80a8a18), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 YD)" ) -GAME_CUSTOM( 199?, m4eaw__bi, m4eaw, "ertk.p1", 0x0000, 0x010000, CRC(19959bd3) SHA1(617f7079b39b0ef41ebb0b5f89053d723a28824d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 K)" ) -GAME_CUSTOM( 199?, m4eaw__bj, m4eaw, "ertr.p1", 0x0000, 0x010000, CRC(3264f04a) SHA1(88d1f6857f3a0acd89db1563fd5f24582b578765), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 R)" ) -GAME_CUSTOM( 199?, m4eaw__bl, m4eaw, "erty.p1", 0x0000, 0x010000, CRC(38adc77e) SHA1(7a925e2aa946fdcf38df454ec733da1ce9bdc495), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 Y)" ) + // "(C)1991 BARCREST" and "ER4 0.1" (startup is EUN 0.1) GAME_CUSTOM( 199?, m4eaw__bw, m4eaw, "eun01s.p1", 0x0000, 0x010000, CRC(d0b49fc6) SHA1(4062d9763010d42666660e383e52818d572b61b9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 / ER4 0.1)" ) GAME_CUSTOM( 199?, m4eaw__bm, m4eaw, "eun01ad.p1", 0x0000, 0x010000, CRC(0148eb57) SHA1(7ebf73402ffe68cfb045a906ed039407bd173b88), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 AD / ER4 0.1)" ) @@ -1238,89 +1558,139 @@ GAME_CUSTOM( 199?, m4eaw__bu, m4eaw, "eun01k.p1", 0x0000, 0x0100 GAME_CUSTOM( 199?, m4eaw__bv, m4eaw, "eun01r.p1", 0x0000, 0x010000, CRC(15b8eb9e) SHA1(e4babaf526e6dd45bb4b7f7441a08cfbec12c661), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 R / ER4 0.1)" ) GAME_CUSTOM( 199?, m4eaw__bx, m4eaw, "eun01y.p1", 0x0000, 0x010000, CRC(88d3c370) SHA1(6c3839a9c89ae67f80ab932ec70ebaf1240de9bb), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 Y / ER4 0.1)" ) -// bad dump? wrong size -ROM_START( m4eaw__bz ) \ - ROM_REGION( 0x010000, "maincpu", 0 ) - ROM_LOAD( "everyones a winner v2-5p", 0x8000, 0x008000, CRC(eb8f2fc5) SHA1(0d3614bd5ff561d17bef0d1e620f2f812b8fed5b)) - M4EAW_EXTRA_ROMS -ROM_END -GAME(199?, m4eaw__bz, m4eaw, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, "Barcrest", "Everyone's A Winner (Barcrest) (MPU4) (unknown rev, bad)", GAME_FLAGS ) +/***************************************************************************************************************************************************************************** +* +* Winner Takes All +* +*****************************************************************************************************************************************************************************/ #define M4WTA_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "wn5s.chr", 0x0000, 0x000048, CRC(b90e5068) SHA1(14c57dcd7242104eb48a9be36192170b97bc5110) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "winsnd.p1", 0x000000, 0x080000, CRC(a913ad0d) SHA1(5f39b661912da903ce8d6658b7848081b191ea56) ) \ ROM_LOAD( "winsnd.p2", 0x080000, 0x080000, CRC(6a22b39f) SHA1(0e0dbeac4310e03490b665fff514392481ad265f) ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( 0x10000, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4WTA_EXTRA_ROMS \ + ROM_END \ + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) + +// (C)1993 BARCREST and "WN5 0.1" +GAME_CUSTOM( 199?, m4wta__m, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn5s.p1", 0x0000, 0x010000, CRC(f6e925c1) SHA1(963f06462c73300757aad2371df4ebe28afca521), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1)" ) +GAME_CUSTOM( 199?, m4wta__f, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn5ad.p1", 0x0000, 0x010000, CRC(0eb0845d) SHA1(57a2ca27672119e71af3b990cedcf52dd89e24cc), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 AD)" ) +GAME_CUSTOM( 199?, m4wta__g, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn5b.p1", 0x0000, 0x010000, CRC(82cefba2) SHA1(07753a5f0d455422f33495a6f050c8e16a92e087), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 B)" ) +GAME_CUSTOM( 199?, m4wta__h, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn5bd.p1", 0x0000, 0x010000, CRC(19d25b26) SHA1(91459c87e95d9800c5f77fd0c7f72f8a1488dc37), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 BD)" ) +GAME_CUSTOM( 199?, m4wta__i, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn5d.p1", 0x0000, 0x010000, CRC(8a3d6bed) SHA1(a20f24cd5216976913c0405f54883d6080986867), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 D)" ) +GAME_CUSTOM( 199?, m4wta__j, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn5dk.p1", 0x0000, 0x010000, CRC(1dfcb2bc) SHA1(b1a73a7758c3126f7b13156835c91a4900cbe6e0), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 KD)" ) +GAME_CUSTOM( 199?, m4wta__k, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn5dy.p1", 0x0000, 0x010000, CRC(d45e1db0) SHA1(2524c4b60a89ea0ca15cf999fbd1f8d9029dfbb6), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 YD)" ) +GAME_CUSTOM( 199?, m4wta__l, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn5k.p1", 0x0000, 0x010000, CRC(71c34cb4) SHA1(e1b96dd30d8ab680128d76886691d06fcd2d48c0), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 K)" ) +GAME_CUSTOM( 199?, m4wta__n, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn5y.p1", 0x0000, 0x010000, CRC(7155f8b5) SHA1(f55f88fd7b0144cb7b64640d529b179dd056f5ec), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 Y)" ) +// "(C)1993 BARCREST" and "WNT 0.1" +GAME_CUSTOM( 199?, m4wta__4, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wnts.p1", 0x0000, 0x010000, CRC(3a9b0878) SHA1(85e86cca1a3a079746cd4401767ba1d9fc31a938), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1)" ) +GAME_CUSTOM( 199?, m4wta__x, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wntad.p1", 0x0000, 0x010000, CRC(8502766e) SHA1(2a47c8f8ce8711b30962c5e8ef9093bdd3543551), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 AD)" ) +GAME_CUSTOM( 199?, m4wta__y, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wntb.p1", 0x0000, 0x010000, CRC(1e3159f0) SHA1(ab9d0e9e6731b40c66c358d98c6481f31d9a0b0c), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 B)" ) +GAME_CUSTOM( 199?, m4wta__z, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wntbd.p1", 0x0000, 0x010000, CRC(91cc8978) SHA1(570ad4092bb148106fb2600f1e22b6cb6f57002a), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 BD)" ) +GAME_CUSTOM( 199?, m4wta__0, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wntd.p1", 0x0000, 0x010000, CRC(ad68d804) SHA1(f301d0d267dd0020903f06b67ee6494b71258c68), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 D)" ) +GAME_CUSTOM( 199?, m4wta__1, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wntdk.p1", 0x0000, 0x010000, CRC(3a6b65b8) SHA1(1da0448e53a45fa249c14b5655cd0dc957ebb646), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 KD)" ) +GAME_CUSTOM( 199?, m4wta__2, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wntdy.p1", 0x0000, 0x010000, CRC(2420634f) SHA1(5c6e891c34a6e2b3a6acb3856c1554145bb24d0d), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 YD)" ) +GAME_CUSTOM( 199?, m4wta__3, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wntk.p1", 0x0000, 0x010000, CRC(3d8d07c7) SHA1(4659e2459d956bbcf5ef2a605527317ccdafcccb), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 K)" ) +GAME_CUSTOM( 199?, m4wta__5, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wnty.p1", 0x0000, 0x010000, CRC(edaa5ae7) SHA1(d24b9f37d75f13f16718374e48e6c003b0b3333f), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 Y)" ) + +// (C)1993 BARCREST and "WIN 0.6" +GAME_CUSTOM( 199?, m4wta, 0, mod4oki_cheatchr_pal, mpu4, init_m4default, "wins.p1", 0x0000, 0x010000, CRC(d79d1e5b) SHA1(722657423a605d6d272d61e4e00b4055ed05f98d), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6)" ) +GAME_CUSTOM( 199?, m4wta__b, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "windy.p1", 0x0000, 0x010000, CRC(d8b78c2d) SHA1(d8c2a2ac30a9b876acfbe99e3c540ba0e82cde33), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6 YD)" ) +GAME_CUSTOM( 199?, m4wta__e, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "winy.p1", 0x0000, 0x010000, CRC(5ff8ed08) SHA1(9567db64e8ebf25ecb22236598cc88a3106f0e36), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6 Y)" ) +GAME_CUSTOM( 199?, m4wta__aa, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wtall20a", 0x0000, 0x010000, CRC(b53c951e) SHA1(24f96d16852a4fbaf49fbdf29a26d15877f07b18), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6 K)" ) +// (C)1993 BARCREST and "WN8 0.1" +GAME_CUSTOM( 199?, m4wta__u, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn8s.p1", 0x0000, 0x010000, CRC(5c5a0f31) SHA1(301e595141dd6eb9250d71e591780e15a7d36423), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1)" ) +GAME_CUSTOM( 199?, m4wta__o, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn8b.p1", 0x0000, 0x010000, CRC(7e84f99c) SHA1(bef41b3e7906bdaadfa5741e9ae40028f4fd360f), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 B)" ) +GAME_CUSTOM( 199?, m4wta__p, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn8c.p1", 0x0000, 0x010000, CRC(471ba65a) SHA1(6ede860bcf323ee75dd7f75a51e5d1166ee72abc), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 C)" ) +GAME_CUSTOM( 199?, m4wta__q, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn8d.p1", 0x0000, 0x010000, CRC(eb2bd01e) SHA1(df74f8eb8fa411bab20ab522fd7c511a1370fe90), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 D)" ) +GAME_CUSTOM( 199?, m4wta__r, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn8dk.p1", 0x0000, 0x010000, CRC(ec20a0bc) SHA1(61b615165a6e77cd85e1fa6aeb955307ec48d1b6), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4wta__s, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn8dy.p1", 0x0000, 0x010000, CRC(d2a1513c) SHA1(e4d2ad88846cbb6b393d3615bf10e1dea01de219), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4wta__t, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn8k.p1", 0x0000, 0x010000, CRC(3e15c690) SHA1(2fc1cca91ac5cc9abeac112e4d60e8fd57b07b94), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 K)" ) +GAME_CUSTOM( 199?, m4wta__v, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wn8y.p1", 0x0000, 0x010000, CRC(993cee6a) SHA1(26b2d5d3aa3465f90fe74960f183b8580ea2fbb1), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 Y)" ) + +// "(C)1996 B.W.B." and "WN4 1.1" +GAME_CUSTOM( 199?, m4wta__9, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wta_5p_4c.bin", 0x0000, 0x010000, CRC(54c51976) SHA1(70cae1f931615b993ac6a9e7ce2e529ad6d27da8), "Bwb","Winner Takes All (Barcrest) (MPU4) (WN4 1.1 K5)" ) +GAME_CUSTOM( 199?, m4wta__ab, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wt_05__4.1_1", 0x0000, 0x010000, CRC(5e05485e) SHA1(062f16ca92518f746f5410a2b9b551542e1a68e3), "Bwb","Winner Takes All (Barcrest) (MPU4) (WN4 1.1 5)" ) +// "(C)1996 B.W.B." and "WN5 3.0" +GAME_CUSTOM( 199?, m4wta__ac, m4wta, mod4oki_cheatchr_pal, mpu4, init_m4default, "wt_05__5.3_1", 0x0000, 0x010000, CRC(8a289bbd) SHA1(8ae0858716ed6aa02f6b4f93fd367c7cee85d13a), "Bwb","Winner Takes All (Barcrest) (MPU4) (WN5 3.0 5)" ) + +// below require different protection handling +// "(C)1993 BARCREST" and "WNT 0.1" +GAME_CUSTOM( 199?, m4wta__w, m4wta, mod4oki_bootleg_fixedret<0x1e>, mpu4, init_m4default, "wnta2010", 0x0000, 0x010000, CRC(5b08faf8) SHA1(f4657041562044e17febfe77ad1f849545dcdaec), "hack","Winner Takes All (Barcrest) (MPU4) (WNT 0.1, hack)" ) +// "(C)1996 B.W.B." and "WNC 1.3" +GAME_CUSTOM( 199?, m4wta__7, m4wta, mod4oki_bootleg_fixedret<0x1d>, mpu4, init_m4default, "wta510l", 0x0000, 0x010000, CRC(9ce140ae) SHA1(01d53a5da0161ac4ecc861309f645d6eb47b4af5), "hack","Winner Takes All (Barcrest) (MPU4) (WNC 1.3 5, hack, set 1)" ) +GAME_CUSTOM( 199?, m4wta__ad, m4wta, mod4oki_bootleg_fixedret<0x1d>, mpu4, init_m4default, "wta5.10", 0x0000, 0x010000, CRC(c1ae8e9a) SHA1(66c0b200202386a10b96b7141517a52921266950), "hack","Winner Takes All (Barcrest) (MPU4) (WNC 1.3 5, hack, set 2)" ) +// "(C)1996 B.W.B." and "WN8 2.2" +GAME_CUSTOM( 199?, m4wta__8, m4wta, mod4oki_bootleg_fixedret<0x2c>, mpu4, init_m4default, "wta58tl", 0x0000, 0x010000, CRC(7275e865) SHA1(d5550646a062609cfc052fab81c533ca69171875), "hack","Winner Takes All (Barcrest) (MPU4) (WN8 2.2 5, hack, set 1)" ) +GAME_CUSTOM( 199?, m4wta__ag, m4wta, mod4oki_bootleg_fixedret<0x2c>, mpu4, init_m4default, "wta5.8t", 0x0000, 0x010000, CRC(548122ab) SHA1(c611084e8a08d5556e458daf9cc721c0e5ba1948), "hack","Winner Takes All (Barcrest) (MPU4) (WN8 2.2 5, hack, set 2)" ) +GAME_CUSTOM( 199?, m4wta__ae, m4wta, mod4oki_bootleg_fixedret<0x2c>, mpu4, init_m4default, "wta5.4", 0x0000, 0x010000, CRC(00c64637) SHA1(54214edb107b28852a1bd3e095787bf9241e4fe3), "hack","Winner Takes All (Barcrest) (MPU4) (WN4 1.1 K5, hack?)" ) // bad char alarm +// "197 COCO" and "WN4 1.1" (hack) +GAME_CUSTOM( 199?, m4wta__d, m4wta, mod4oki_bootleg_fixedret<0x28>, mpu4, init_m4default, "wta55", 0x0000, 0x010000, CRC(df3e66cd) SHA1(68e769816cb1a71dea8a3ccf4636414c45c01646), "hack","Winner Takes All (Barcrest) (MPU4) (WN4 1.1, hack, set 1)" ) +GAME_CUSTOM( 199?, m4wta__af, m4wta, mod4oki_bootleg_fixedret<0x28>, mpu4, init_m4default, "wta5.5n", 0x0000, 0x010000, CRC(85eed9b5) SHA1(6a11ff6a031b788524d23018e3af44767176246a), "hack","Winner Takes All (Barcrest) (MPU4) (WN4 1.1, hack, set 2)" ) +// "BILLY WHIZZ" and "V1 0.1" +GAME_CUSTOM( 199?, m4wta__6, m4wta, mod4oki_bootleg_fixedret<0x60>, mpu4, init_m4default, "wta20p10.bin", 0x0000, 0x010000, CRC(c7f235b8) SHA1(a25f6f755140d70b0392985839b1729640cf5d5d), "hack","Winner Takes All (Barcrest) (MPU4) (V1 0.1, hack)" ) + +/***************************************************************************************************************************************************************************** +* +* Prize Winner Takes All +* +*****************************************************************************************************************************************************************************/ + +#define M4PRZWTA_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "pwnsnd.p1", 0x000000, 0x080000, CRC(c0f5e160) SHA1(eff218a36912fe599e9d73a96b49e75335bba272) ) \ + ROM_LOAD( "pwnsnd.p2", 0x080000, 0x080000, CRC(d81dfc8f) SHA1(5fcfcba836080b5752911d69dfe650614acbf845) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ - M4WTA_EXTRA_ROMS \ + M4PRZWTA_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) -// (C)1993 BARCREST and "WIN 0.6" -GAME_CUSTOM( 199?, m4wta, 0, "wins.p1", 0x0000, 0x010000, CRC(d79d1e5b) SHA1(722657423a605d6d272d61e4e00b4055ed05f98d), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6)" ) -GAME_CUSTOM( 199?, m4wta__b, m4wta, "windy.p1", 0x0000, 0x010000, CRC(d8b78c2d) SHA1(d8c2a2ac30a9b876acfbe99e3c540ba0e82cde33), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6 YD)" ) -GAME_CUSTOM( 199?, m4wta__e, m4wta, "winy.p1", 0x0000, 0x010000, CRC(5ff8ed08) SHA1(9567db64e8ebf25ecb22236598cc88a3106f0e36), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6 Y)" ) -GAME_CUSTOM( 199?, m4wta__aa, m4wta, "wtall20a", 0x0000, 0x010000, CRC(b53c951e) SHA1(24f96d16852a4fbaf49fbdf29a26d15877f07b18), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6 K)" ) -// (C)1993 BARCREST and "WN5 0.1" -GAME_CUSTOM( 199?, m4wta__m, m4wta, "wn5s.p1", 0x0000, 0x010000, CRC(f6e925c1) SHA1(963f06462c73300757aad2371df4ebe28afca521), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1)" ) -GAME_CUSTOM( 199?, m4wta__f, m4wta, "wn5ad.p1", 0x0000, 0x010000, CRC(0eb0845d) SHA1(57a2ca27672119e71af3b990cedcf52dd89e24cc), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 AD)" ) -GAME_CUSTOM( 199?, m4wta__g, m4wta, "wn5b.p1", 0x0000, 0x010000, CRC(82cefba2) SHA1(07753a5f0d455422f33495a6f050c8e16a92e087), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 B)" ) -GAME_CUSTOM( 199?, m4wta__h, m4wta, "wn5bd.p1", 0x0000, 0x010000, CRC(19d25b26) SHA1(91459c87e95d9800c5f77fd0c7f72f8a1488dc37), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 BD)" ) -GAME_CUSTOM( 199?, m4wta__i, m4wta, "wn5d.p1", 0x0000, 0x010000, CRC(8a3d6bed) SHA1(a20f24cd5216976913c0405f54883d6080986867), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 D)" ) -GAME_CUSTOM( 199?, m4wta__j, m4wta, "wn5dk.p1", 0x0000, 0x010000, CRC(1dfcb2bc) SHA1(b1a73a7758c3126f7b13156835c91a4900cbe6e0), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 KD)" ) -GAME_CUSTOM( 199?, m4wta__k, m4wta, "wn5dy.p1", 0x0000, 0x010000, CRC(d45e1db0) SHA1(2524c4b60a89ea0ca15cf999fbd1f8d9029dfbb6), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 YD)" ) -GAME_CUSTOM( 199?, m4wta__l, m4wta, "wn5k.p1", 0x0000, 0x010000, CRC(71c34cb4) SHA1(e1b96dd30d8ab680128d76886691d06fcd2d48c0), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 K)" ) -GAME_CUSTOM( 199?, m4wta__n, m4wta, "wn5y.p1", 0x0000, 0x010000, CRC(7155f8b5) SHA1(f55f88fd7b0144cb7b64640d529b179dd056f5ec), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 Y)" ) -// (C)1993 BARCREST and "WN8 0.1" -GAME_CUSTOM( 199?, m4wta__u, m4wta, "wn8s.p1", 0x0000, 0x010000, CRC(5c5a0f31) SHA1(301e595141dd6eb9250d71e591780e15a7d36423), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1)" ) -GAME_CUSTOM( 199?, m4wta__o, m4wta, "wn8b.p1", 0x0000, 0x010000, CRC(7e84f99c) SHA1(bef41b3e7906bdaadfa5741e9ae40028f4fd360f), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 B)" ) -GAME_CUSTOM( 199?, m4wta__p, m4wta, "wn8c.p1", 0x0000, 0x010000, CRC(471ba65a) SHA1(6ede860bcf323ee75dd7f75a51e5d1166ee72abc), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 C)" ) -GAME_CUSTOM( 199?, m4wta__q, m4wta, "wn8d.p1", 0x0000, 0x010000, CRC(eb2bd01e) SHA1(df74f8eb8fa411bab20ab522fd7c511a1370fe90), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 D)" ) -GAME_CUSTOM( 199?, m4wta__r, m4wta, "wn8dk.p1", 0x0000, 0x010000, CRC(ec20a0bc) SHA1(61b615165a6e77cd85e1fa6aeb955307ec48d1b6), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 KD)" ) -GAME_CUSTOM( 199?, m4wta__s, m4wta, "wn8dy.p1", 0x0000, 0x010000, CRC(d2a1513c) SHA1(e4d2ad88846cbb6b393d3615bf10e1dea01de219), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 YD)" ) -GAME_CUSTOM( 199?, m4wta__t, m4wta, "wn8k.p1", 0x0000, 0x010000, CRC(3e15c690) SHA1(2fc1cca91ac5cc9abeac112e4d60e8fd57b07b94), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 K)" ) -GAME_CUSTOM( 199?, m4wta__v, m4wta, "wn8y.p1", 0x0000, 0x010000, CRC(993cee6a) SHA1(26b2d5d3aa3465f90fe74960f183b8580ea2fbb1), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 Y)" ) -// "(C)1993 BARCREST" and "WNT 0.1" // bad char alarm, hack? -GAME_CUSTOM( 199?, m4wta__w, m4wta, "wnta2010", 0x0000, 0x010000, CRC(5b08faf8) SHA1(f4657041562044e17febfe77ad1f849545dcdaec), "hack","Winner Takes All (Barcrest) (MPU4) (WNT 0.1, hack)" ) -// "(C)1993 BARCREST" and "WNT 0.1" -GAME_CUSTOM( 199?, m4wta__4, m4wta, "wnts.p1", 0x0000, 0x010000, CRC(3a9b0878) SHA1(85e86cca1a3a079746cd4401767ba1d9fc31a938), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1)" ) -GAME_CUSTOM( 199?, m4wta__x, m4wta, "wntad.p1", 0x0000, 0x010000, CRC(8502766e) SHA1(2a47c8f8ce8711b30962c5e8ef9093bdd3543551), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 AD)" ) -GAME_CUSTOM( 199?, m4wta__y, m4wta, "wntb.p1", 0x0000, 0x010000, CRC(1e3159f0) SHA1(ab9d0e9e6731b40c66c358d98c6481f31d9a0b0c), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 B)" ) -GAME_CUSTOM( 199?, m4wta__z, m4wta, "wntbd.p1", 0x0000, 0x010000, CRC(91cc8978) SHA1(570ad4092bb148106fb2600f1e22b6cb6f57002a), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 BD)" ) -GAME_CUSTOM( 199?, m4wta__0, m4wta, "wntd.p1", 0x0000, 0x010000, CRC(ad68d804) SHA1(f301d0d267dd0020903f06b67ee6494b71258c68), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 D)" ) -GAME_CUSTOM( 199?, m4wta__1, m4wta, "wntdk.p1", 0x0000, 0x010000, CRC(3a6b65b8) SHA1(1da0448e53a45fa249c14b5655cd0dc957ebb646), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 KD)" ) -GAME_CUSTOM( 199?, m4wta__2, m4wta, "wntdy.p1", 0x0000, 0x010000, CRC(2420634f) SHA1(5c6e891c34a6e2b3a6acb3856c1554145bb24d0d), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 YD)" ) -GAME_CUSTOM( 199?, m4wta__3, m4wta, "wntk.p1", 0x0000, 0x010000, CRC(3d8d07c7) SHA1(4659e2459d956bbcf5ef2a605527317ccdafcccb), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 K)" ) -GAME_CUSTOM( 199?, m4wta__5, m4wta, "wnty.p1", 0x0000, 0x010000, CRC(edaa5ae7) SHA1(d24b9f37d75f13f16718374e48e6c003b0b3333f), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 Y)" ) -// "(C)1996 B.W.B." and "WNC 1.3" // bad char alarm -GAME_CUSTOM( 199?, m4wta__7, m4wta, "wta510l", 0x0000, 0x010000, CRC(9ce140ae) SHA1(01d53a5da0161ac4ecc861309f645d6eb47b4af5), "hack","Winner Takes All (Barcrest) (MPU4) (WNC 1.3 5, hack, set 1)" ) -GAME_CUSTOM( 199?, m4wta__ad, m4wta, "wta5.10", 0x0000, 0x010000, CRC(c1ae8e9a) SHA1(66c0b200202386a10b96b7141517a52921266950), "hack","Winner Takes All (Barcrest) (MPU4) (WNC 1.3 5, hack, set 2)" ) -// "(C)1996 B.W.B." and "WN8 2.2" // bad char alarm -GAME_CUSTOM( 199?, m4wta__8, m4wta, "wta58tl", 0x0000, 0x010000, CRC(7275e865) SHA1(d5550646a062609cfc052fab81c533ca69171875), "hack","Winner Takes All (Barcrest) (MPU4) (WN8 2.2 5, hack, set 1)" ) -GAME_CUSTOM( 199?, m4wta__ag, m4wta, "wta5.8t", 0x0000, 0x010000, CRC(548122ab) SHA1(c611084e8a08d5556e458daf9cc721c0e5ba1948), "hack","Winner Takes All (Barcrest) (MPU4) (WN8 2.2 5, hack, set 2)" ) -// "(C)1996 B.W.B." and "WN4 1.1" -GAME_CUSTOM( 199?, m4wta__9, m4wta, "wta_5p_4c.bin", 0x0000, 0x010000, CRC(54c51976) SHA1(70cae1f931615b993ac6a9e7ce2e529ad6d27da8), "Bwb","Winner Takes All (Barcrest) (MPU4) (WN4 1.1 K5)" ) -GAME_CUSTOM( 199?, m4wta__ab, m4wta, "wt_05__4.1_1", 0x0000, 0x010000, CRC(5e05485e) SHA1(062f16ca92518f746f5410a2b9b551542e1a68e3), "Bwb","Winner Takes All (Barcrest) (MPU4) (WN4 1.1 5)" ) -GAME_CUSTOM( 199?, m4wta__ae, m4wta, "wta5.4", 0x0000, 0x010000, CRC(00c64637) SHA1(54214edb107b28852a1bd3e095787bf9241e4fe3), "hack","Winner Takes All (Barcrest) (MPU4) (WN4 1.1 K5, hack?)" ) // bad char alarm -// "(C)1996 B.W.B." and "WN5 3.0" -GAME_CUSTOM( 199?, m4wta__ac, m4wta, "wt_05__5.3_1", 0x0000, 0x010000, CRC(8a289bbd) SHA1(8ae0858716ed6aa02f6b4f93fd367c7cee85d13a), "Bwb","Winner Takes All (Barcrest) (MPU4) (WN5 3.0 5)" ) -// "BILLY WHIZZ" and "V1 0.1" -GAME_CUSTOM( 199?, m4wta__6, m4wta, "wta20p10.bin", 0x0000, 0x010000, CRC(c7f235b8) SHA1(a25f6f755140d70b0392985839b1729640cf5d5d), "hack","Winner Takes All (Barcrest) (MPU4) (V1 0.1, hack)" ) -// "197 COCO" and "WN4 1.1" (hack) -GAME_CUSTOM( 199?, m4wta__d, m4wta, "wta55", 0x0000, 0x010000, CRC(df3e66cd) SHA1(68e769816cb1a71dea8a3ccf4636414c45c01646), "hack","Winner Takes All (Barcrest) (MPU4) (WN4 1.1, hack, set 1)" ) -GAME_CUSTOM( 199?, m4wta__af, m4wta, "wta5.5n", 0x0000, 0x010000, CRC(85eed9b5) SHA1(6a11ff6a031b788524d23018e3af44767176246a), "hack","Winner Takes All (Barcrest) (MPU4) (WN4 1.1, hack, set 2)" ) +// "(C)1993 BARCREST" and "PWN 0.4" +GAME_CUSTOM( 199?, m4przwta, 0, "pwns.p1", 0x0000, 0x020000, CRC(b3b87954) SHA1(f998ebf8047930f006213040ed5e6a9f90844143), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PWN 0.4)" ) +GAME_CUSTOM( 199?, m4przwta__p, m4przwta, "pwnr.p1", 0x0000, 0x020000, CRC(cf619ad2) SHA1(3eeccccb304afd5faf2563e0e65f8123e463d363), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PWN 0.4 R)" ) +GAME_CUSTOM( 199?, m4przwta__l, m4przwta, "pwna.p1", 0x0000, 0x020000, CRC(bbb32770) SHA1(36815dca6550a1a417b3e809b041a7b4670f5b75), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PWN 0.4 A)" ) +GAME_CUSTOM( 199?, m4przwta__m, m4przwta, "pwnb.p1", 0x0000, 0x020000, CRC(36a989b5) SHA1(631399c65b697417ed9a95961463b8349a97b142), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PWN 0.4 B)" ) +GAME_CUSTOM( 199?, m4przwta__n, m4przwta, "pwndy.p1", 0x0000, 0x020000, CRC(6b739a41) SHA1(64f4b380c725f6159c6201147ab4062d6375d98b), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PWN 0.4 YD)" ) +GAME_CUSTOM( 199?, m4przwta__o, m4przwta, "pwnk.p1", 0x0000, 0x020000, CRC(7c6e21e3) SHA1(d6aeb5948e0800050193575a3b5c06c11f46eed8), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PWN 0.4 K)" ) +// "(C)1993 BARCREST" and "PW8 0.2" +GAME_CUSTOM( 199?, m4przwta__j, m4przwta, "pw8s.p1", 0x0000, 0x020000, CRC(3d77c91d) SHA1(3ab79073f5d9c13f751892aa33c2668521887bf8), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2)" ) +GAME_CUSTOM( 199?, m4przwta__a, m4przwta, "pw8ad.p1", 0x0000, 0x020000, CRC(71257e43) SHA1(1db17aa1fc684873511a46e5e7421b459040d0cc), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 AD)" ) +GAME_CUSTOM( 199?, m4przwta__b, m4przwta, "pw8b.p1", 0x0000, 0x020000, CRC(52b2af18) SHA1(1ce00b94a2d16b5140a110e604b97af6860fd577), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 B)" ) +GAME_CUSTOM( 199?, m4przwta__c, m4przwta, "pw8bd.p1", 0x0000, 0x020000, CRC(fc3fd086) SHA1(8fa8b75faf2196e87acbafc3a48a2ba628f6cc66), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 BD)" ) +GAME_CUSTOM( 199?, m4przwta__d, m4przwta, "pw8d.p1", 0x0000, 0x020000, CRC(2fa9a46e) SHA1(4f351fc4e5e0ea9316893981420041d0d5613aec), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 D)" ) +GAME_CUSTOM( 199?, m4przwta__e, m4przwta, "pw8dj.p1", 0x0000, 0x020000, CRC(d8ea4655) SHA1(f3c02638d20eaef95e09e51301445c9a4c215514), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 DJ)" ) +GAME_CUSTOM( 199?, m4przwta__f, m4przwta, "pw8dk.p1", 0x0000, 0x020000, CRC(b6f878d0) SHA1(51bbeb36cc5c086442ec3951d2679fbf0a5ceebd), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 KD)" ) +GAME_CUSTOM( 199?, m4przwta__g, m4przwta, "pw8dy.p1", 0x0000, 0x020000, CRC(311b582e) SHA1(f53254b8c6f65087f67d60f0d0441228e1024cc8), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 YD)" ) +GAME_CUSTOM( 199?, m4przwta__h, m4przwta, "pw8j.p1", 0x0000, 0x020000, CRC(766739cb) SHA1(8b7cd7f02fb25f5e50febdb90c8f39f3a6840a35), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 J)" ) +GAME_CUSTOM( 199?, m4przwta__i, m4przwta, "pw8k.p1", 0x0000, 0x020000, CRC(1875074e) SHA1(fb25c4ed4ba9d6aa5fb45a8ba9c73b18062173f0), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 K)" ) +GAME_CUSTOM( 199?, m4przwta__k, m4przwta, "pw8y.p1", 0x0000, 0x020000, CRC(9f9627b0) SHA1(19c9dc7033b1e85676222a8b3a866392a4afdd1e), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 Y)" ) +/***************************************************************************************************************************************************************************** +* +* Let The Good Times Roll +* +*****************************************************************************************************************************************************************************/ + +// Wrong Sound, Need V1 + #define M4GOODTM_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "gtrsnd.p1", 0x000000, 0x080000, CRC(23317580) SHA1(c0c5244ddcf976211e2a5e5a0b1dbc6faaec22b4) ) \ ROM_LOAD( "gtrsnd.p2", 0x080000, 0x080000, CRC(866ce0d2) SHA1(46e800c7364a6d291c6af87b30c680c530100e74) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1328,7 +1698,7 @@ GAME_CUSTOM( 199?, m4wta__af, m4wta, "wta5.5n", ROM_LOAD( name, offset, length, hash ) \ M4GOODTM_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "GTR 2.0" GAME_CUSTOM( 199?, m4goodtm, 0, "gtr20s.p1", 0x0000, 0x020000, CRC(91d2632d) SHA1(b8a7ef106a16e0526626cd69e82d07616d5c07d9), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0)" ) @@ -1344,6 +1714,34 @@ GAME_CUSTOM( 199?, m4goodtm__ab, m4goodtm, "gtr20h.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4goodtm__ac, m4goodtm, "gtr20k.p1", 0x0000, 0x020000, CRC(7bc54fdd) SHA1(287c1a403429bae1cc3a4ba9dfe9b510777a64b1), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 K)" ) GAME_CUSTOM( 199?, m4goodtm__ad, m4goodtm, "gtr20r.p1", 0x0000, 0x020000, CRC(e12b9164) SHA1(a54993c4f9ffc08c03905e6f50e499eba13db0d6), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 R)" ) GAME_CUSTOM( 199?, m4goodtm__af, m4goodtm, "gtr20y.p1", 0x0000, 0x020000, CRC(4f29d412) SHA1(c6a72e6fa7daaa6d8622936d10ae745814f4a8b7), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 Y)" ) +// "(C)1993 BARCREST" and "GTS 1.0" +GAME_CUSTOM( 199?, m4goodtm__a5, m4goodtm, "gts10s.p1", 0x0000, 0x020000, CRC(2851ba23) SHA1(7597a2df22aa0e2670be2d5bb2407ea1feace3a0), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0)" ) +GAME_CUSTOM( 199?, m4goodtm__au, m4goodtm, "gts10ad.p1", 0x0000, 0x020000, CRC(b754490c) SHA1(26811ae53b3ee8ae0a381604109f0f77f096e2c6), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 AD)" ) +GAME_CUSTOM( 199?, m4goodtm__av, m4goodtm, "gts10b.p1", 0x0000, 0x020000, CRC(21410553) SHA1(2060269ab6dc9375b6e7101b3944305fcd4b6d12), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 B)" ) +GAME_CUSTOM( 199?, m4goodtm__aw, m4goodtm, "gts10bd.p1", 0x0000, 0x020000, CRC(fd93e15a) SHA1(b9574f34f1e7a92cc75d6aed8914f94ad661bba3), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 BD)" ) +GAME_CUSTOM( 199?, m4goodtm__ax, m4goodtm, "gts10d.p1", 0x0000, 0x020000, CRC(ac5bab96) SHA1(2b4ab1f096a5d63d5688228debb25b392b94a297), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 D)" ) +GAME_CUSTOM( 199?, m4goodtm__ay, m4goodtm, "gts10dh.p1", 0x0000, 0x020000, CRC(de001311) SHA1(a096937e1f2fd2f9046c0ea2363805112da76c95), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 DH)" ) +GAME_CUSTOM( 199?, m4goodtm__az, m4goodtm, "gts10dk.p1", 0x0000, 0x020000, CRC(045bf23d) SHA1(dd5567d4c07fba7ff1cc257db287e1a82d9b930a), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 KD)" ) +GAME_CUSTOM( 199?, m4goodtm__a0, m4goodtm, "gts10dr.p1", 0x0000, 0x020000, CRC(9eb52c84) SHA1(385b09e424863f3778605c6e768c9b1068eae66e), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 RD)" ) +GAME_CUSTOM( 199?, m4goodtm__a1, m4goodtm, "gts10dy.p1", 0x0000, 0x020000, CRC(30b769f2) SHA1(7cf1e66b992faf48b1fed39a005469e51d471a0b), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 YD)" ) +GAME_CUSTOM( 199?, m4goodtm__a2, m4goodtm, "gts10h.p1", 0x0000, 0x020000, CRC(02d2f718) SHA1(9f46ef4cc7d08c42cf617b471e599ca21b4cd72f), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 H)" ) +GAME_CUSTOM( 199?, m4goodtm__a3, m4goodtm, "gts10k.p1", 0x0000, 0x020000, CRC(d8891634) SHA1(0019d2b3dd1c59d37d9c13e912907a55f2a9ca5f), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 K)" ) +GAME_CUSTOM( 199?, m4goodtm__a4, m4goodtm, "gts10r.p1", 0x0000, 0x020000, CRC(4267c88d) SHA1(22047782c384caeb9cf2de69dcdd05f42ee137ad), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 R)" ) +GAME_CUSTOM( 199?, m4goodtm__a6, m4goodtm, "gts10y.p1", 0x0000, 0x020000, CRC(ec658dfb) SHA1(a9d8ba1b66811ccd336892160d47e5d42eb83a23), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 Y)" ) +// "(C)1993 BARCREST" and "GTS 0.2" +GAME_CUSTOM( 199?, m4goodtm__at, m4goodtm, "gts02s.t", 0x0000, 0x020000, CRC(e4f5ebcc) SHA1(3e070628375db980583c3b38e2676d73fbeaae68), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.2)" ) +// "(C)1993 BARCREST" and "GTR 1.1" +GAME_CUSTOM( 199?, m4goodtm__1, m4goodtm, "gtr11s", 0x0000, 0x020000, CRC(ff4bd1fb) SHA1(959a7975209e2d17c5b3e4adc72bd52bd3005035), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.1)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4GOODTM_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // "(C)1993 BARCREST" and "GTA 0.1" GAME_CUSTOM( 199?, m4goodtm__l, m4goodtm, "gta01s.p1", 0x0000, 0x020000, CRC(4340d9f6) SHA1(e9ccd419318bc3a3aba35a0104a98d1756b41731), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1)" ) GAME_CUSTOM( 199?, m4goodtm__a, m4goodtm, "gta01ad.p1", 0x0000, 0x020000, CRC(2b556e66) SHA1(50a042fdb53294f74ab23a41a8a850dd14ad580d), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1 AD)" ) @@ -1386,37 +1784,34 @@ GAME_CUSTOM( 199?, m4goodtm__ao, m4goodtm, "gts01h.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4goodtm__ap, m4goodtm, "gts01k.p1", 0x0000, 0x020000, CRC(5996b2ef) SHA1(874d69a4adc31667ea177b3a0350b77bb735ea8d), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 K)" ) GAME_CUSTOM( 199?, m4goodtm__aq, m4goodtm, "gts01r.p1", 0x0000, 0x020000, CRC(c3786c56) SHA1(c9659df6302046c466e6447b8b427628c88b773d), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 R)" ) GAME_CUSTOM( 199?, m4goodtm__as, m4goodtm, "gts01y.p1", 0x0000, 0x020000, CRC(6d7a2920) SHA1(7d31087e3645e05baf6b0100966d4773a6d023cd), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 Y)" ) -// "(C)1993 BARCREST" and "GTS 1.0" -GAME_CUSTOM( 199?, m4goodtm__a5, m4goodtm, "gts10s.p1", 0x0000, 0x020000, CRC(2851ba23) SHA1(7597a2df22aa0e2670be2d5bb2407ea1feace3a0), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0)" ) -GAME_CUSTOM( 199?, m4goodtm__au, m4goodtm, "gts10ad.p1", 0x0000, 0x020000, CRC(b754490c) SHA1(26811ae53b3ee8ae0a381604109f0f77f096e2c6), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 AD)" ) -GAME_CUSTOM( 199?, m4goodtm__av, m4goodtm, "gts10b.p1", 0x0000, 0x020000, CRC(21410553) SHA1(2060269ab6dc9375b6e7101b3944305fcd4b6d12), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 B)" ) -GAME_CUSTOM( 199?, m4goodtm__aw, m4goodtm, "gts10bd.p1", 0x0000, 0x020000, CRC(fd93e15a) SHA1(b9574f34f1e7a92cc75d6aed8914f94ad661bba3), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 BD)" ) -GAME_CUSTOM( 199?, m4goodtm__ax, m4goodtm, "gts10d.p1", 0x0000, 0x020000, CRC(ac5bab96) SHA1(2b4ab1f096a5d63d5688228debb25b392b94a297), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 D)" ) -GAME_CUSTOM( 199?, m4goodtm__ay, m4goodtm, "gts10dh.p1", 0x0000, 0x020000, CRC(de001311) SHA1(a096937e1f2fd2f9046c0ea2363805112da76c95), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 DH)" ) -GAME_CUSTOM( 199?, m4goodtm__az, m4goodtm, "gts10dk.p1", 0x0000, 0x020000, CRC(045bf23d) SHA1(dd5567d4c07fba7ff1cc257db287e1a82d9b930a), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 KD)" ) -GAME_CUSTOM( 199?, m4goodtm__a0, m4goodtm, "gts10dr.p1", 0x0000, 0x020000, CRC(9eb52c84) SHA1(385b09e424863f3778605c6e768c9b1068eae66e), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 RD)" ) -GAME_CUSTOM( 199?, m4goodtm__a1, m4goodtm, "gts10dy.p1", 0x0000, 0x020000, CRC(30b769f2) SHA1(7cf1e66b992faf48b1fed39a005469e51d471a0b), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 YD)" ) -GAME_CUSTOM( 199?, m4goodtm__a2, m4goodtm, "gts10h.p1", 0x0000, 0x020000, CRC(02d2f718) SHA1(9f46ef4cc7d08c42cf617b471e599ca21b4cd72f), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 H)" ) -GAME_CUSTOM( 199?, m4goodtm__a3, m4goodtm, "gts10k.p1", 0x0000, 0x020000, CRC(d8891634) SHA1(0019d2b3dd1c59d37d9c13e912907a55f2a9ca5f), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 K)" ) -GAME_CUSTOM( 199?, m4goodtm__a4, m4goodtm, "gts10r.p1", 0x0000, 0x020000, CRC(4267c88d) SHA1(22047782c384caeb9cf2de69dcdd05f42ee137ad), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 R)" ) -GAME_CUSTOM( 199?, m4goodtm__a6, m4goodtm, "gts10y.p1", 0x0000, 0x020000, CRC(ec658dfb) SHA1(a9d8ba1b66811ccd336892160d47e5d42eb83a23), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 Y)" ) -// "(C)1993 BARCREST" and "GTS 0.2" -GAME_CUSTOM( 199?, m4goodtm__at, m4goodtm, "gts02s.t", 0x0000, 0x020000, CRC(e4f5ebcc) SHA1(3e070628375db980583c3b38e2676d73fbeaae68), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.2)" ) // "(C)1993 BARCREST" and "GTK 0.2" GAME_CUSTOM( 199?, m4goodtm__n, m4goodtm, "gtk02k.p1", 0x0000, 0x020000, CRC(a1665c5d) SHA1(056dcd9370df56129a65267fb70bbfac498f5a97), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTK 0.2 K)" ) -// "(C)1993 BARCREST" and "GTR 1.1" -GAME_CUSTOM( 199?, m4goodtm__1, m4goodtm, "gtr11s", 0x0000, 0x020000, CRC(ff4bd1fb) SHA1(959a7975209e2d17c5b3e4adc72bd52bd3005035), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.1)" ) -// no copyright string and "GTR 1.0" -GAME_CUSTOM( 199?, m4goodtm__2, m4goodtm, "gtr15g", 0x0000, 0x020000, CRC(9da85042) SHA1(3148e654380f1bcca93c01a282f1c409e4f2d393), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0, hack)" ) -// no copyright string and "GTS 0.1" -GAME_CUSTOM( 199?, m4goodtm__3, m4goodtm, "gtr15t", 0x0000, 0x020000, CRC(581bcc5b) SHA1(cf80bba2b2e44c886b9bf6ae6ab1c83e2fbd7888), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1, hack)" ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4GOODTM_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// different protection +// no copyright string and "GTR 1.0" +GAME_CUSTOM( 199?, m4goodtm__2, m4goodtm, "gtr15g", 0x0000, 0x020000, CRC(9da85042) SHA1(3148e654380f1bcca93c01a282f1c409e4f2d393), "hack","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0, hack)" ) +// no copyright string and "GTS 0.1" +GAME_CUSTOM( 199?, m4goodtm__3, m4goodtm, "gtr15t", 0x0000, 0x020000, CRC(581bcc5b) SHA1(cf80bba2b2e44c886b9bf6ae6ab1c83e2fbd7888), "hack","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1, hack)" ) + + +/***************************************************************************************************************************************************************************** +* +* Jackpot Gems +* +*****************************************************************************************************************************************************************************/ #define M4JPGEM_EXTRA_ROMS \ ROM_REGION( 0x100000, "altmsm6376", 0 ) \ ROM_LOAD( "cg4snd.p1", 0x000000, 0x080000, CRC(e4addde8) SHA1(6b84de51cc5195d551e0787ff92bfa4371ab27a3) ) \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "jagsnd.p1", 0x000000, 0x080000, CRC(7488f7a7) SHA1(d581e9d6b5052ee8fee353a83e9d9031443d060a) ) @@ -1427,9 +1822,34 @@ GAME_CUSTOM( 199?, m4goodtm__3, m4goodtm, "gtr15t", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4JPGEM_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + + +// boots to hopper error, Q to run in 'Door Open' mode +// +// "(C)1991 BARCREST" and "CG4 0.1" (startup shows RRH 0.1) +GAME_CUSTOM( 199?, m4jpgem__bo, m4jpgem, "rrh01s.p1", 0x0000, 0x010000, CRC(dea2f376) SHA1(92f43c75950553d9b76af8179192d106de95fc03), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__be, m4jpgem, "rrh01ad.p1", 0x0000, 0x010000, CRC(d4f21930) SHA1(cba034b42a3587c0e173bc06d80142d7e494c849), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 AD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bf, m4jpgem, "rrh01b.p1", 0x0000, 0x010000, CRC(c85f9099) SHA1(f3c8f79c2e0cc58024202564761f4935f5d241b1), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 B / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bg, m4jpgem, "rrh01bd.p1", 0x0000, 0x010000, CRC(e2ee747a) SHA1(7f6cb93e3cbe4a2dd97d1ad15d17fa4f2f0a4b12), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 BD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bh, m4jpgem, "rrh01c.p1", 0x0000, 0x010000, CRC(00dfced2) SHA1(c497cb9835dca0d67f5ec6b6b1321a7b92612c9a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 C / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bi, m4jpgem, "rrh01d.p1", 0x0000, 0x010000, CRC(aef7ddbd) SHA1(8db2f1dbc11af7ef4357a90a77838c01588f8108), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 D / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bj, m4jpgem, "rrh01dk.p1", 0x0000, 0x010000, CRC(56206f0a) SHA1(3bdb5824ab6d748eb83b56f08cf2d1074a94b38a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 KD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bk, m4jpgem, "rrh01dr.p1", 0x0000, 0x010000, CRC(8f622573) SHA1(9bbfcb2f3cf5f6edd2c6222b25c4971a59d2c235), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 RD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bl, m4jpgem, "rrh01dy.p1", 0x0000, 0x010000, CRC(d89136fd) SHA1(40fd0978bc76d81bfb5dc2f1e4a0c1c95b7c4e00), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 YD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bm, m4jpgem, "rrh01k.p1", 0x0000, 0x010000, CRC(da4a08c9) SHA1(3a86c0a543a7192680663b465ddfd1fa338cfec5), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 K / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bn, m4jpgem, "rrh01r.p1", 0x0000, 0x010000, CRC(fb45c547) SHA1(8d9c35c47c0f03c9dc6727fc5f952d64e25336f7), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 R / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bp, m4jpgem, "rrh01y.p1", 0x0000, 0x010000, CRC(27014453) SHA1(febc118fcb8f048806237b38958c02d02b9f2874), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 Y / CG4 0.1)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4JPGEM_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) -// sets below give a hopper sense error (casino / club sets?) // "(C)1991 BARCREST" and "CG4 0.7" GAME_CUSTOM( 199?, m4jpgem, 0, "cg4s.p1", 0x0000, 0x010000, CRC(f25eba0b) SHA1(250189b7fb8aa82a8696c3a0099eb13ec74eeb10), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CG4 0.7)" ) GAME_CUSTOM( 199?, m4jpgem__g, m4jpgem, "cg4ad.p1", 0x0000, 0x010000, CRC(417c98c1) SHA1(2ce23e27742c418d5ebaa0f4f0597e29955ea57d), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CG4 0.7 AD)" ) @@ -1466,20 +1886,15 @@ GAME_CUSTOM( 199?, m4jpgem__0, m4jpgem, "cgu02dy.p1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4jpgem__1, m4jpgem, "cgu02k.p1", 0x0000, 0x010000, CRC(90058f14) SHA1(0e73410253e422ff2d4182b034624ab8dd996cb8), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 K / CG4 0.2)" ) GAME_CUSTOM( 199?, m4jpgem__2, m4jpgem, "cgu02r.p1", 0x0000, 0x010000, CRC(8f1d071b) SHA1(caa05465a12ca7ab6df0dce458caefb40dad818a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 R / CG4 0.2)" ) GAME_CUSTOM( 199?, m4jpgem__4, m4jpgem, "cgu02y.p1", 0x0000, 0x010000, CRC(a2468782) SHA1(5f9161cffc6d9ffe8c30c41434ab012c16a48dfd), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 Y / CG4 0.2)" ) -// "(C)1991 BARCREST" and "CG4 0.1" (startup shows RRH 0.1) -GAME_CUSTOM( 199?, m4jpgem__bo, m4jpgem, "rrh01s.p1", 0x0000, 0x010000, CRC(dea2f376) SHA1(92f43c75950553d9b76af8179192d106de95fc03), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__be, m4jpgem, "rrh01ad.p1", 0x0000, 0x010000, CRC(d4f21930) SHA1(cba034b42a3587c0e173bc06d80142d7e494c849), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 AD / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__bf, m4jpgem, "rrh01b.p1", 0x0000, 0x010000, CRC(c85f9099) SHA1(f3c8f79c2e0cc58024202564761f4935f5d241b1), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 B / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__bg, m4jpgem, "rrh01bd.p1", 0x0000, 0x010000, CRC(e2ee747a) SHA1(7f6cb93e3cbe4a2dd97d1ad15d17fa4f2f0a4b12), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 BD / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__bh, m4jpgem, "rrh01c.p1", 0x0000, 0x010000, CRC(00dfced2) SHA1(c497cb9835dca0d67f5ec6b6b1321a7b92612c9a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 C / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__bi, m4jpgem, "rrh01d.p1", 0x0000, 0x010000, CRC(aef7ddbd) SHA1(8db2f1dbc11af7ef4357a90a77838c01588f8108), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 D / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__bj, m4jpgem, "rrh01dk.p1", 0x0000, 0x010000, CRC(56206f0a) SHA1(3bdb5824ab6d748eb83b56f08cf2d1074a94b38a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 KD / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__bk, m4jpgem, "rrh01dr.p1", 0x0000, 0x010000, CRC(8f622573) SHA1(9bbfcb2f3cf5f6edd2c6222b25c4971a59d2c235), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 RD / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__bl, m4jpgem, "rrh01dy.p1", 0x0000, 0x010000, CRC(d89136fd) SHA1(40fd0978bc76d81bfb5dc2f1e4a0c1c95b7c4e00), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 YD / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__bm, m4jpgem, "rrh01k.p1", 0x0000, 0x010000, CRC(da4a08c9) SHA1(3a86c0a543a7192680663b465ddfd1fa338cfec5), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 K / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__bn, m4jpgem, "rrh01r.p1", 0x0000, 0x010000, CRC(fb45c547) SHA1(8d9c35c47c0f03c9dc6727fc5f952d64e25336f7), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 R / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__bp, m4jpgem, "rrh01y.p1", 0x0000, 0x010000, CRC(27014453) SHA1(febc118fcb8f048806237b38958c02d02b9f2874), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 Y / CG4 0.1)" ) -// sets below boot (regular arcade sets?) +// "(C)1991 BARCREST" and "JG8 0.1" +GAME_CUSTOM( 199?, m4jpgem__ar, m4jpgem, "jg8s.p1", 0x0000, 0x010000, CRC(8cdd650a) SHA1(c4cb87513f0d7986e158b3c5ab1f034c8ba933a9), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__ak, m4jpgem, "jg8b.p1", 0x0000, 0x010000, CRC(f2e3d009) SHA1(90c85f9a300d157d560b08ccabfe79f826780d74), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 B)" ) +GAME_CUSTOM( 199?, m4jpgem__al, m4jpgem, "jg8c.p1", 0x0000, 0x010000, CRC(cc24cf15) SHA1(0c4c28633f33c78570f5da17c64c2e90bf3d5cd0), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 C)" ) +GAME_CUSTOM( 199?, m4jpgem__am, m4jpgem, "jg8d.p1", 0x0000, 0x010000, CRC(58eff94c) SHA1(9acde535ad808789233876dd8076c03a8d56a9e7), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 D)" ) +GAME_CUSTOM( 199?, m4jpgem__an, m4jpgem, "jg8db.p1", 0x0000, 0x010000, CRC(3006a36a) SHA1(37297cae02c1fd5308ba9935537b35c565374a07), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 BD)" ) +GAME_CUSTOM( 199?, m4jpgem__ao, m4jpgem, "jg8dk.p1", 0x0000, 0x010000, CRC(199401d7) SHA1(33eef070e437386c7ad0d834b40353047f1a6a6f), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4jpgem__ap, m4jpgem, "jg8dy.p1", 0x0000, 0x010000, CRC(ead58bed) SHA1(cd0e151c843f5268edddb2f82555201deccac65a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4jpgem__aq, m4jpgem, "jg8k.p1", 0x0000, 0x010000, CRC(f5b14363) SHA1(f0ace838cc0d0c262006bb514eff75903d92d679), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 K)" ) // "(C)1991 BARCREST" and "JAG 0.4" GAME_CUSTOM( 199?, m4jpgem__9, m4jpgem, "jags.p1", 0x0000, 0x010000, CRC(dd93f084) SHA1(5cb25b3beb6d7a7b83227a6bb8382cfbcc285887), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JAG 0.4)" ) GAME_CUSTOM( 199?, m4jpgem__5, m4jpgem, "jagb.p1", 0x0000, 0x010000, CRC(75b9a4b6) SHA1(ecade0921cd535ee7f1b67767fa7d5ab3cd45b2c), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JAG 0.4 B)" ) @@ -1487,6 +1902,16 @@ GAME_CUSTOM( 199?, m4jpgem__6, m4jpgem, "jagd.p1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4jpgem__7, m4jpgem, "jagdk.p1", 0x0000, 0x010000, CRC(313f7a1f) SHA1(358a33878ca70f2bcdb1d5d79c39e357586ebe8b), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JAG 0.4 KD)" ) GAME_CUSTOM( 199?, m4jpgem__8, m4jpgem, "jagdy.p1", 0x0000, 0x010000, CRC(d105a41e) SHA1(365e382683362c815461801753fb03e2f084de65), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JAG 0.4 YD)" ) GAME_CUSTOM( 199?, m4jpgem__aa, m4jpgem, "jagy.p1", 0x0000, 0x010000, CRC(08d510ca) SHA1(b79c9fe8dc17152f3e8c601c27515beff1d67219), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JAG 0.4 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4JPGEM_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // "(C)1991 BARCREST" and "JG3 0.1" GAME_CUSTOM( 199?, m4jpgem__ai, m4jpgem, "jg3s.p1", 0x0000, 0x010000, CRC(91945adc) SHA1(d80321fc4c2e67461d69df2164e3e290caa905bc), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1)" ) GAME_CUSTOM( 199?, m4jpgem__ab, m4jpgem, "jg3ad.p1", 0x0000, 0x010000, CRC(501bb879) SHA1(a97519042b4a4ed03efbcad9f11f279184dec847), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1 AD)" ) @@ -1497,15 +1922,17 @@ GAME_CUSTOM( 199?, m4jpgem__af, m4jpgem, "jg3dk.p1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4jpgem__ag, m4jpgem, "jg3dy.p1", 0x0000, 0x010000, CRC(5d1c886f) SHA1(b49ab97ba6cdc810e7baa520ffad25f54c0d8412), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1 YD)" ) GAME_CUSTOM( 199?, m4jpgem__ah, m4jpgem, "jg3k.p1", 0x0000, 0x010000, CRC(8e7985ae) SHA1(8c8de22aab2508b2317d5edde779d54ebe67ac92), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1 K)" ) GAME_CUSTOM( 199?, m4jpgem__aj, m4jpgem, "jg3y.p1", 0x0000, 0x010000, CRC(bf96ad55) SHA1(48d828398f32c3ddfafeb84cfd777f8e668df1b3), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1 Y)" ) -// "(C)1991 BARCREST" and "JG8 0.1" -GAME_CUSTOM( 199?, m4jpgem__ar, m4jpgem, "jg8s.p1", 0x0000, 0x010000, CRC(8cdd650a) SHA1(c4cb87513f0d7986e158b3c5ab1f034c8ba933a9), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__ak, m4jpgem, "jg8b.p1", 0x0000, 0x010000, CRC(f2e3d009) SHA1(90c85f9a300d157d560b08ccabfe79f826780d74), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 B)" ) -GAME_CUSTOM( 199?, m4jpgem__al, m4jpgem, "jg8c.p1", 0x0000, 0x010000, CRC(cc24cf15) SHA1(0c4c28633f33c78570f5da17c64c2e90bf3d5cd0), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 C)" ) -GAME_CUSTOM( 199?, m4jpgem__am, m4jpgem, "jg8d.p1", 0x0000, 0x010000, CRC(58eff94c) SHA1(9acde535ad808789233876dd8076c03a8d56a9e7), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 D)" ) -GAME_CUSTOM( 199?, m4jpgem__an, m4jpgem, "jg8db.p1", 0x0000, 0x010000, CRC(3006a36a) SHA1(37297cae02c1fd5308ba9935537b35c565374a07), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 BD)" ) -GAME_CUSTOM( 199?, m4jpgem__ao, m4jpgem, "jg8dk.p1", 0x0000, 0x010000, CRC(199401d7) SHA1(33eef070e437386c7ad0d834b40353047f1a6a6f), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 KD)" ) -GAME_CUSTOM( 199?, m4jpgem__ap, m4jpgem, "jg8dy.p1", 0x0000, 0x010000, CRC(ead58bed) SHA1(cd0e151c843f5268edddb2f82555201deccac65a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 YD)" ) -GAME_CUSTOM( 199?, m4jpgem__aq, m4jpgem, "jg8k.p1", 0x0000, 0x010000, CRC(f5b14363) SHA1(f0ace838cc0d0c262006bb514eff75903d92d679), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 K)" ) + + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4JPGEM_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // "(C)1991 BARCREST" and "JGT 0.3" GAME_CUSTOM( 199?, m4jpgem__a1, m4jpgem, "jgts.p1", 0x0000, 0x010000, CRC(0e3810a7) SHA1(cf840bd84eba65d9dec2d6821a48112b6f2f9bca), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3)" ) GAME_CUSTOM( 199?, m4jpgem__as, m4jpgem, "jgtad.p1", 0x0000, 0x010000, CRC(90e10b6c) SHA1(548c7537829ca9395cac460ccf76e0d566898e44), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3 AD)" ) @@ -1531,6 +1958,13 @@ GAME_CUSTOM( 199?, m4jpgem__ba, m4jpgem, "jgu02k.p1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4jpgem__bb, m4jpgem, "jgu02r.p1", 0x0000, 0x010000, CRC(4bc55daa) SHA1(996f23bd66a4ef6ad8f77a28dc6ee67d9a293248), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2 R)" ) GAME_CUSTOM( 199?, m4jpgem__bd, m4jpgem, "jgu02y.p1", 0x0000, 0x010000, CRC(9b4325a8) SHA1(3d7c54691ed4d596acacec97e452a66b324957db), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2 Y)" ) + +/***************************************************************************************************************************************************************************** +* +* Jackpot Gems Classic +* +*****************************************************************************************************************************************************************************/ + #define M4JPGEMC_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ /* missing? */ @@ -1542,7 +1976,7 @@ GAME_CUSTOM( 199?, m4jpgem__bd, m4jpgem, "jgu02y.p1", 0x0000, 0x010000, CR ROM_LOAD( name, offset, length, hash ) \ M4JPGEMC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1991 BARCREST" and "CG4 0.1" (startup shows GTC) GAME_CUSTOM( 199?, m4jpgemc, 0, "gtc01s.p1", 0x0000, 0x010000, CRC(af33337b) SHA1(97d28e224b73baa9d6d7b0c309385f57b6dd5d9b), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1 / CG4 0.1)" ) @@ -1572,9 +2006,13 @@ GAME_CUSTOM( 199?, m4jpgemc__u, m4jpgemc, "hge01r.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4jpgemc__w, m4jpgemc, "hge01y.p1", 0x0000, 0x010000, CRC(a96db093) SHA1(17520306112cee6f082829811e1f8c432c6aa354), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1 Y / CG4 0.1)" ) +/***************************************************************************************************************************************************************************** +* +* Jolly Gems +* +*****************************************************************************************************************************************************************************/ + #define M4JOLGEM_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "jolly1.hex", 0x000000, 0x080000, CRC(de0edae5) SHA1(e3e21e28ae5e838bd6eacc7cf7b20204d7b0327d) ) \ ROM_LOAD( "jolly2.hex", 0x080000, 0x080000, CRC(08ae81a2) SHA1(6459a694cd820f1a55b636f7c5c77674d3fe4bdb) ) @@ -1586,8 +2024,7 @@ GAME_CUSTOM( 199?, m4jpgemc__w, m4jpgemc, "hge01y.p1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4JOLGEM_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) - + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "GEM 0.7" // yes, the 'type' bytes are in a different order here, with D coming before the others GAME_CUSTOM( 199?, m4jolgem, 0, "gem07s.p1", 0x0000, 0x020000, CRC(945ad0d2) SHA1(d636bc41a4f887d24affc0f5b644c5d5351cf0df), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7)" ) @@ -1601,6 +2038,30 @@ GAME_CUSTOM( 199?, m4jolgem__s, m4jolgem, "gem07dy.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4jolgem__t, m4jolgem, "gem07h.p1", 0x0000, 0x020000, CRC(307f0ba0) SHA1(518acd033599b188e972e51753ac610623038aca), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7 H)" ) GAME_CUSTOM( 199?, m4jolgem__u, m4jolgem, "gem07r.p1", 0x0000, 0x020000, CRC(ea24ea8c) SHA1(8d3598e44d219f1d66b63bf3ca4062eb84ecbe60), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7 R)" ) GAME_CUSTOM( 199?, m4jolgem__v, m4jolgem, "gem07y.p1", 0x0000, 0x020000, CRC(24a644f9) SHA1(b97b83ce0ebf315529efe6d5be051ad71f2e648a), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7 Y)" ) +// "(C)1993 BARCREST" and "GMS 0.5" +GAME_CUSTOM( 199?, m4jolgem__ak, m4jolgem, "gms05s.p1", 0x0000, 0x020000, CRC(1b830e70) SHA1(eb053a629bd7854759d14acd9793f7eb545fc008), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5)" ) +GAME_CUSTOM( 199?, m4jolgem__9, m4jolgem, "gms05ad.p1", 0x0000, 0x020000, CRC(77d4829c) SHA1(45a240cc2aa3829160854274c928d20655966087), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DA)" ) +GAME_CUSTOM( 199?, m4jolgem__aa, m4jolgem, "gms05b.p1", 0x0000, 0x020000, CRC(b929f905) SHA1(028d74687f5c6443d84e84a03666278b9df8e657), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 B)" ) +GAME_CUSTOM( 199?, m4jolgem__ab, m4jolgem, "gms05bd.p1", 0x0000, 0x020000, CRC(99e8e187) SHA1(cbb8d3403e6d21fce45b05d1889d17d0355857b4), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DB)" ) +GAME_CUSTOM( 199?, m4jolgem__ac, m4jolgem, "gms05d.p1", 0x0000, 0x020000, CRC(172bbc73) SHA1(932907d70b18d25fa912fe895602b0adc52b8e6c), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 D)" ) +GAME_CUSTOM( 199?, m4jolgem__ad, m4jolgem, "gms05dh.p1", 0x0000, 0x020000, CRC(d95dde12) SHA1(e509f65b8f0575193002dd0906b1751cae9352f7), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DH)" ) +GAME_CUSTOM( 199?, m4jolgem__ae, m4jolgem, "gms05dk.p1", 0x0000, 0x020000, CRC(b009840f) SHA1(5c8f7c081e577642fc7738f7d6fc816155ffc99b), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DK)" ) +GAME_CUSTOM( 199?, m4jolgem__af, m4jolgem, "gms05dr.p1", 0x0000, 0x020000, CRC(03063f3e) SHA1(83995208d6c392eacee794c75075296d87e07b13), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DR)" ) +GAME_CUSTOM( 199?, m4jolgem__ag, m4jolgem, "gms05dy.p1", 0x0000, 0x020000, CRC(cd84914b) SHA1(8470ba93c518893771ee45190bce5f6f93df7b68), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DY)" ) +GAME_CUSTOM( 199?, m4jolgem__ah, m4jolgem, "gms05h.p1", 0x0000, 0x020000, CRC(f99cc690) SHA1(c3cf8aaf8376e9d4eff37afdd818802f9ec4fe64), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 H)" ) +GAME_CUSTOM( 199?, m4jolgem__ai, m4jolgem, "gms05k.p1", 0x0000, 0x020000, CRC(90c89c8d) SHA1(4b8e23c9a6bd85563be041d8e95175dc4c39b8e7), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 K)" ) +GAME_CUSTOM( 199?, m4jolgem__aj, m4jolgem, "gms05r.p1", 0x0000, 0x020000, CRC(23c727bc) SHA1(0187a14a789f018e6161f2ae160f82c87d03b6a8), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 R)" ) +GAME_CUSTOM( 199?, m4jolgem__al, m4jolgem, "gms05y.p1", 0x0000, 0x020000, CRC(ed4589c9) SHA1(899622c22d29c0ef05bf562176943c9749e236a2), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4JOLGEM_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // "(C)1993 BARCREST" and "GEM 0.5" GAME_CUSTOM( 199?, m4jolgem__a, m4jolgem, "gem05s", 0x0000, 0x020000, CRC(b7ceafc2) SHA1(b66d846da5ff20df912d31695eaef146dbbe759e), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.5)" ) // "(C)1993 BARCREST" and "GEM 0.6" @@ -1629,30 +2090,43 @@ GAME_CUSTOM( 199?, m4jolgem__4, m4jolgem, "gms04h.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4jolgem__5, m4jolgem, "gms04k.p1", 0x0000, 0x020000, CRC(88fdbc75) SHA1(b1842e2f29e2f3d81c6679a407827601955f02f4), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 K)" ) GAME_CUSTOM( 199?, m4jolgem__6, m4jolgem, "gms04r.p1", 0x0000, 0x020000, CRC(3bf20744) SHA1(9b8d1273545abbf5a7e8e0735e4f23ce024505b9), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 R)" ) GAME_CUSTOM( 199?, m4jolgem__8, m4jolgem, "gms04y.p1", 0x0000, 0x020000, CRC(f570a931) SHA1(dd50e4626feb9a3e6f0868fa9030204c737f1567), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 Y)" ) -// "(C)1993 BARCREST" and "GMS 0.5" -GAME_CUSTOM( 199?, m4jolgem__ak, m4jolgem, "gms05s.p1", 0x0000, 0x020000, CRC(1b830e70) SHA1(eb053a629bd7854759d14acd9793f7eb545fc008), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5)" ) -GAME_CUSTOM( 199?, m4jolgem__9, m4jolgem, "gms05ad.p1", 0x0000, 0x020000, CRC(77d4829c) SHA1(45a240cc2aa3829160854274c928d20655966087), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DA)" ) -GAME_CUSTOM( 199?, m4jolgem__aa, m4jolgem, "gms05b.p1", 0x0000, 0x020000, CRC(b929f905) SHA1(028d74687f5c6443d84e84a03666278b9df8e657), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 B)" ) -GAME_CUSTOM( 199?, m4jolgem__ab, m4jolgem, "gms05bd.p1", 0x0000, 0x020000, CRC(99e8e187) SHA1(cbb8d3403e6d21fce45b05d1889d17d0355857b4), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DB)" ) -GAME_CUSTOM( 199?, m4jolgem__ac, m4jolgem, "gms05d.p1", 0x0000, 0x020000, CRC(172bbc73) SHA1(932907d70b18d25fa912fe895602b0adc52b8e6c), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 D)" ) -GAME_CUSTOM( 199?, m4jolgem__ad, m4jolgem, "gms05dh.p1", 0x0000, 0x020000, CRC(d95dde12) SHA1(e509f65b8f0575193002dd0906b1751cae9352f7), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DH)" ) -GAME_CUSTOM( 199?, m4jolgem__ae, m4jolgem, "gms05dk.p1", 0x0000, 0x020000, CRC(b009840f) SHA1(5c8f7c081e577642fc7738f7d6fc816155ffc99b), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DK)" ) -GAME_CUSTOM( 199?, m4jolgem__af, m4jolgem, "gms05dr.p1", 0x0000, 0x020000, CRC(03063f3e) SHA1(83995208d6c392eacee794c75075296d87e07b13), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DR)" ) -GAME_CUSTOM( 199?, m4jolgem__ag, m4jolgem, "gms05dy.p1", 0x0000, 0x020000, CRC(cd84914b) SHA1(8470ba93c518893771ee45190bce5f6f93df7b68), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DY)" ) -GAME_CUSTOM( 199?, m4jolgem__ah, m4jolgem, "gms05h.p1", 0x0000, 0x020000, CRC(f99cc690) SHA1(c3cf8aaf8376e9d4eff37afdd818802f9ec4fe64), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 H)" ) -GAME_CUSTOM( 199?, m4jolgem__ai, m4jolgem, "gms05k.p1", 0x0000, 0x020000, CRC(90c89c8d) SHA1(4b8e23c9a6bd85563be041d8e95175dc4c39b8e7), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 K)" ) -GAME_CUSTOM( 199?, m4jolgem__aj, m4jolgem, "gms05r.p1", 0x0000, 0x020000, CRC(23c727bc) SHA1(0187a14a789f018e6161f2ae160f82c87d03b6a8), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 R)" ) -GAME_CUSTOM( 199?, m4jolgem__al, m4jolgem, "gms05y.p1", 0x0000, 0x020000, CRC(ed4589c9) SHA1(899622c22d29c0ef05bf562176943c9749e236a2), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 Y)" ) // "(C)1993 BARCREST" and "GMS 0.3" GAME_CUSTOM( 199?, m4jolgem__ao, m4jolgem, "jjem0", 0x0000, 0x020000, CRC(9b54a881) SHA1(3b1bfacf8fe295c771c558154fe2fca70f049df0), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.3 K)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4JOLGEM_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // "(C)1999 BWB" and "JGS 1.0" GAME_CUSTOM( 199?, m4jolgem__ap, m4jolgem, "jgs_xa_x.1_0", 0x0000, 0x020000, CRC(7ac16252) SHA1(b01b2333e1e99f9404a7e0ac80e5e8ee834ec39d), "Bwb","Jolly Gems (Barcrest) (MPU4) (JGS 1.0 CK)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4JOLGEM_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// different protection // no copyright string and "GEM 0.6" GAME_CUSTOM( 199?, m4jolgem__am, m4jolgem, "jgem15g", 0x0000, 0x020000, CRC(8288eb80) SHA1(bfb1004b49914b6ae1b0608c9e5c61efe4635ba3), "hack","Jolly Gems (Barcrest) (MPU4) (GEM 0.6, hack)" ) // no copyright string and "GMS 0.4" GAME_CUSTOM( 199?, m4jolgem__an, m4jolgem, "jgem15t", 0x0000, 0x020000, CRC(248f0b95) SHA1(89257c583d6540ffc0fa39f7cb31a87ec8f1f45b), "hack","Jolly Gems (Barcrest) (MPU4) (GMS 0.4, hack)" ) +/***************************************************************************************************************************************************************************** +* +* Hit The Top +* +*****************************************************************************************************************************************************************************/ + #define M4HITTOP_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "hi4snd.p1", 0x000000, 0x080000, CRC(066f262b) SHA1(fd48da486592740c68ee497396602199101711a6) ) \ @@ -1667,41 +2141,8 @@ GAME_CUSTOM( 199?, m4jolgem__an, m4jolgem, "jgem15t", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4HITTOP_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) -// "(C)1991 BARCREST" and "HI4 0.3" -GAME_CUSTOM( 199?, m4hittop, 0, "hi4s.p1", 0x0000, 0x010000, CRC(3a04ee7a) SHA1(d23e9da2c22f6983a855bc519597ea9cea84f2dd), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3)" ) -GAME_CUSTOM( 199?, m4hittop__k, m4hittop, "hi4ad.p1", 0x0000, 0x010000, CRC(eeb958f3) SHA1(ee7f7615df2141ad5183288101949b74c4543de9), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 AD)" ) -GAME_CUSTOM( 199?, m4hittop__l, m4hittop, "hi4b.p1", 0x0000, 0x010000, CRC(68af264b) SHA1(e7f75b5294cc7541f9397c492c171c79b7a21a36), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 AB" ) -GAME_CUSTOM( 199?, m4hittop__m, m4hittop, "hi4bd.p1", 0x0000, 0x010000, CRC(d72cd485) SHA1(d0d38cbb518c824d4a8107e1711f85120c39bc4c), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 BD)" ) -GAME_CUSTOM( 199?, m4hittop__n, m4hittop, "hi4d.p1", 0x0000, 0x010000, CRC(59d7364c) SHA1(1e665b178b8bf7314ca5b5ea97dc185491fc2930), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 D)" ) -GAME_CUSTOM( 199?, m4hittop__o, m4hittop, "hi4dk.p1", 0x0000, 0x010000, CRC(76d4bb70) SHA1(7365f072a7e3e8141e15fbf56c3355bc6310895f), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 KD)" ) -GAME_CUSTOM( 199?, m4hittop__p, m4hittop, "hi4dy.p1", 0x0000, 0x010000, CRC(b1ddf7fe) SHA1(a334619b5dfc7a44e9082cc37cb5187413adb29f), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 YD)" ) -GAME_CUSTOM( 199?, m4hittop__q, m4hittop, "hi4k.p1", 0x0000, 0x010000, CRC(99cb8bc9) SHA1(106bf6e327643c49024f9422d6b87f5b157b452f), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 K)" ) -GAME_CUSTOM( 199?, m4hittop__r, m4hittop, "hi4y.p1", 0x0000, 0x010000, CRC(c60e01e6) SHA1(c4a7ea44c36c78401cab3ef87d7e02add0b48ab5), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 Y)" ) -// "(C)1991 BARCREST" and "CHU 0.1" -GAME_CUSTOM( 199?, m4hittop__i, m4hittop, "chus.p1", 0x0000, 0x010000, CRC(8a39816e) SHA1(3869f7ae0c9b681cfb07e2f6c1a94fc81fa13fe3), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1)" ) -GAME_CUSTOM( 199?, m4hittop__a, m4hittop, "chuad.p1", 0x0000, 0x010000, CRC(01d3b86c) SHA1(27af0e76661495d5b91ee6a53507f9a5d4e5ab85), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 AD)" ) -GAME_CUSTOM( 199?, m4hittop__b, m4hittop, "chub.p1", 0x0000, 0x010000, CRC(17ff4ed4) SHA1(f193a00a46c82d4989af18055f9f69d93df79ec6), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 B)" ) -GAME_CUSTOM( 199?, m4hittop__c, m4hittop, "chubd.p1", 0x0000, 0x010000, CRC(3e7a6b1b) SHA1(8939a0cac8578ff5e1d1ab2b3a64b3809793c44a), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 BD)" ) -GAME_CUSTOM( 199?, m4hittop__d, m4hittop, "chud.p1", 0x0000, 0x010000, CRC(26875ed3) SHA1(06dbf594e2c5202ee624f4202f634281a89a3870), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 D)" ) -GAME_CUSTOM( 199?, m4hittop__e, m4hittop, "chudk.p1", 0x0000, 0x010000, CRC(10c1f6c3) SHA1(e6ff6ea40f35cfd9ed7643e69eca62775f20b3a2), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 KD)" ) -GAME_CUSTOM( 199?, m4hittop__f, m4hittop, "chudy.p1", 0x0000, 0x010000, CRC(65302d8c) SHA1(de340cc182212b576cae46669492d0d760d2f288), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 YD)" ) -GAME_CUSTOM( 199?, m4hittop__g, m4hittop, "chuk.p1", 0x0000, 0x010000, CRC(7f333a2c) SHA1(73719997c200ec5291ceaa12f8667979a731212e), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 K)" ) -GAME_CUSTOM( 199?, m4hittop__h, m4hittop, "chur.p1", 0x0000, 0x010000, CRC(dbb89a00) SHA1(70b2f2c78011b8b470aa58153d524f920d553b28), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 R)" ) -GAME_CUSTOM( 199?, m4hittop__j, m4hittop, "chuy.p1", 0x0000, 0x010000, CRC(e0902d74) SHA1(a34db63f1354853ad5a1026e4402ccd2e564c7d7), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 Y)" ) -// "(C)1991 BARCREST" and "HIT 0.4" -GAME_CUSTOM( 199?, m4hittop__1, m4hittop, "hit04s.p1", 0x0000, 0x010000, CRC(05376f9f) SHA1(e59bdd6541669b150bb68eb97ea316c3fe451778), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4)" ) -GAME_CUSTOM( 199?, m4hittop__s, m4hittop, "hit04ad.p1", 0x0000, 0x010000, CRC(cc9d10fa) SHA1(b7ce14fecfd8142fa7127c23f152c749dae74701), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 AD)" ) -GAME_CUSTOM( 199?, m4hittop__t, m4hittop, "hit04b.p1", 0x0000, 0x010000, CRC(da511063) SHA1(3f4fb8518cb2057ec4c2bb13fd3e61ee73bfa457), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 B)" ) -GAME_CUSTOM( 199?, m4hittop__u, m4hittop, "hit04bd.p1", 0x0000, 0x010000, CRC(40a84b97) SHA1(416f78c19e08f405a3b36f886f69e7b88e5aa90a), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 BD)" ) -GAME_CUSTOM( 199?, m4hittop__v, m4hittop, "hit04d.p1", 0x0000, 0x010000, CRC(89607e84) SHA1(280209ca3030383547cc91eee2f71a810768353f), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 D)" ) -GAME_CUSTOM( 199?, m4hittop__w, m4hittop, "hit04dk.p1", 0x0000, 0x010000, CRC(b89e606f) SHA1(9096126b719ecd92185d9c1d50d13c9339d09583), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 KD)" ) -GAME_CUSTOM( 199?, m4hittop__x, m4hittop, "hit04dr.p1", 0x0000, 0x010000, CRC(1b4d8099) SHA1(505e0948a78b5d57f0986896ab900d25a20d7877), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 RD)" ) -GAME_CUSTOM( 199?, m4hittop__y, m4hittop, "hit04dy.p1", 0x0000, 0x010000, CRC(25f54881) SHA1(9f4ae52295df5810cbe6c18cae66877bec006a28), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 YD)" ) -GAME_CUSTOM( 199?, m4hittop__z, m4hittop, "hit04k.p1", 0x0000, 0x010000, CRC(5ef3f78d) SHA1(e72727b3dc7793c36f182b3e7d363741254c0be7), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 K)" ) -GAME_CUSTOM( 199?, m4hittop__0, m4hittop, "hit04r.p1", 0x0000, 0x010000, CRC(d87a9f60) SHA1(614224b80afaa6e407f9b40b45b8aecdf999e13a), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 R)" ) -GAME_CUSTOM( 199?, m4hittop__2, m4hittop, "hit04y.p1", 0x0000, 0x010000, CRC(c398df63) SHA1(5e93cb95da37b1593d030e99e97996252ad6cda1), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 Y)" ) // "(C)1991 BARCREST" and "HT2 0.1" GAME_CUSTOM( 199?, m4hittop__ac, m4hittop, "ht201s.p1", 0x0000, 0x010000, CRC(37b20464) SHA1(e87b0a2023416fa7b63201e19850319723eb6c10), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1)" ) GAME_CUSTOM( 199?, m4hittop__3, m4hittop, "ht201ad.p1", 0x0000, 0x010000, CRC(b0f3873b) SHA1(6e7d1b20dff4b81ebd171d6d92c95e46817bdf90), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1 AD)" ) @@ -1726,6 +2167,16 @@ GAME_CUSTOM( 199?, m4hittop__ak, m4hittop, "ht501dy.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4hittop__al, m4hittop, "ht501k.p1", 0x0000, 0x010000, CRC(93269e53) SHA1(7e40ac4e9f4b26755867353fdccadf0f976402b4), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1 K)" ) GAME_CUSTOM( 199?, m4hittop__am, m4hittop, "ht501r.p1", 0x0000, 0x010000, CRC(9aec0493) SHA1(6b0b7e5f4a988ff4d2bc123978adc09195eb4232), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1 R)" ) GAME_CUSTOM( 199?, m4hittop__ao, m4hittop, "ht501y.p1", 0x0000, 0x010000, CRC(a7f8ece6) SHA1(f4472c040c9255eaef5b1109c3bec44f4978b600), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4HITTOP_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // "(C)1991 BARCREST" and "HTT 0.5" GAME_CUSTOM( 199?, m4hittop__aw, m4hittop, "htts.p1", 0x0000, 0x010000, CRC(6c794eb2) SHA1(347a7c74b1fd7631fbcd398bf5e7c36af088109e), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5)" ) GAME_CUSTOM( 199?, m4hittop__ap, m4hittop, "httad.p1", 0x0000, 0x010000, CRC(e5a3df45) SHA1(70bebb33cbe466c379f278347d0b47862b1d01a8), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5 AD)" ) @@ -1737,12 +2188,76 @@ GAME_CUSTOM( 199?, m4hittop__au, m4hittop, "httdy.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4hittop__av, m4hittop, "httk.p1", 0x0000, 0x010000, CRC(581dd34a) SHA1(00cad1860f5edf056b8f9397ca46165593be4755), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5 K)" ) GAME_CUSTOM( 199?, m4hittop__ax, m4hittop, "htty.p1", 0x0000, 0x010000, CRC(c9b402b2) SHA1(2165c1892fc1f0b9b0c39127f322f15c9e1912b1), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5 Y)" ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4HITTOP_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1991 BARCREST" and "HI4 0.3" +GAME_CUSTOM( 199?, m4hittop, 0, "hi4s.p1", 0x0000, 0x010000, CRC(3a04ee7a) SHA1(d23e9da2c22f6983a855bc519597ea9cea84f2dd), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3)" ) +GAME_CUSTOM( 199?, m4hittop__k, m4hittop, "hi4ad.p1", 0x0000, 0x010000, CRC(eeb958f3) SHA1(ee7f7615df2141ad5183288101949b74c4543de9), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 AD)" ) +GAME_CUSTOM( 199?, m4hittop__l, m4hittop, "hi4b.p1", 0x0000, 0x010000, CRC(68af264b) SHA1(e7f75b5294cc7541f9397c492c171c79b7a21a36), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 AB" ) +GAME_CUSTOM( 199?, m4hittop__m, m4hittop, "hi4bd.p1", 0x0000, 0x010000, CRC(d72cd485) SHA1(d0d38cbb518c824d4a8107e1711f85120c39bc4c), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 BD)" ) +GAME_CUSTOM( 199?, m4hittop__n, m4hittop, "hi4d.p1", 0x0000, 0x010000, CRC(59d7364c) SHA1(1e665b178b8bf7314ca5b5ea97dc185491fc2930), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 D)" ) +GAME_CUSTOM( 199?, m4hittop__o, m4hittop, "hi4dk.p1", 0x0000, 0x010000, CRC(76d4bb70) SHA1(7365f072a7e3e8141e15fbf56c3355bc6310895f), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 KD)" ) +GAME_CUSTOM( 199?, m4hittop__p, m4hittop, "hi4dy.p1", 0x0000, 0x010000, CRC(b1ddf7fe) SHA1(a334619b5dfc7a44e9082cc37cb5187413adb29f), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 YD)" ) +GAME_CUSTOM( 199?, m4hittop__q, m4hittop, "hi4k.p1", 0x0000, 0x010000, CRC(99cb8bc9) SHA1(106bf6e327643c49024f9422d6b87f5b157b452f), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 K)" ) +GAME_CUSTOM( 199?, m4hittop__r, m4hittop, "hi4y.p1", 0x0000, 0x010000, CRC(c60e01e6) SHA1(c4a7ea44c36c78401cab3ef87d7e02add0b48ab5), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 Y)" ) +// "(C)1991 BARCREST" and "CHU 0.1" +GAME_CUSTOM( 199?, m4hittop__i, m4hittop, "chus.p1", 0x0000, 0x010000, CRC(8a39816e) SHA1(3869f7ae0c9b681cfb07e2f6c1a94fc81fa13fe3), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1)" ) +GAME_CUSTOM( 199?, m4hittop__a, m4hittop, "chuad.p1", 0x0000, 0x010000, CRC(01d3b86c) SHA1(27af0e76661495d5b91ee6a53507f9a5d4e5ab85), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 AD)" ) +GAME_CUSTOM( 199?, m4hittop__b, m4hittop, "chub.p1", 0x0000, 0x010000, CRC(17ff4ed4) SHA1(f193a00a46c82d4989af18055f9f69d93df79ec6), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 B)" ) +GAME_CUSTOM( 199?, m4hittop__c, m4hittop, "chubd.p1", 0x0000, 0x010000, CRC(3e7a6b1b) SHA1(8939a0cac8578ff5e1d1ab2b3a64b3809793c44a), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 BD)" ) +GAME_CUSTOM( 199?, m4hittop__d, m4hittop, "chud.p1", 0x0000, 0x010000, CRC(26875ed3) SHA1(06dbf594e2c5202ee624f4202f634281a89a3870), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 D)" ) +GAME_CUSTOM( 199?, m4hittop__e, m4hittop, "chudk.p1", 0x0000, 0x010000, CRC(10c1f6c3) SHA1(e6ff6ea40f35cfd9ed7643e69eca62775f20b3a2), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 KD)" ) +GAME_CUSTOM( 199?, m4hittop__f, m4hittop, "chudy.p1", 0x0000, 0x010000, CRC(65302d8c) SHA1(de340cc182212b576cae46669492d0d760d2f288), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 YD)" ) +GAME_CUSTOM( 199?, m4hittop__g, m4hittop, "chuk.p1", 0x0000, 0x010000, CRC(7f333a2c) SHA1(73719997c200ec5291ceaa12f8667979a731212e), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 K)" ) +GAME_CUSTOM( 199?, m4hittop__h, m4hittop, "chur.p1", 0x0000, 0x010000, CRC(dbb89a00) SHA1(70b2f2c78011b8b470aa58153d524f920d553b28), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 R)" ) +GAME_CUSTOM( 199?, m4hittop__j, m4hittop, "chuy.p1", 0x0000, 0x010000, CRC(e0902d74) SHA1(a34db63f1354853ad5a1026e4402ccd2e564c7d7), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 Y)" ) + + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4HITTOP_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + + +// doesn't read from protection +// "(C)1991 BARCREST" and "HIT 0.4" +GAME_CUSTOM( 199?, m4hittop__1, m4hittop, "hit04s.p1", 0x0000, 0x010000, CRC(05376f9f) SHA1(e59bdd6541669b150bb68eb97ea316c3fe451778), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4)" ) +GAME_CUSTOM( 199?, m4hittop__s, m4hittop, "hit04ad.p1", 0x0000, 0x010000, CRC(cc9d10fa) SHA1(b7ce14fecfd8142fa7127c23f152c749dae74701), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 AD)" ) +GAME_CUSTOM( 199?, m4hittop__t, m4hittop, "hit04b.p1", 0x0000, 0x010000, CRC(da511063) SHA1(3f4fb8518cb2057ec4c2bb13fd3e61ee73bfa457), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 B)" ) +GAME_CUSTOM( 199?, m4hittop__u, m4hittop, "hit04bd.p1", 0x0000, 0x010000, CRC(40a84b97) SHA1(416f78c19e08f405a3b36f886f69e7b88e5aa90a), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 BD)" ) +GAME_CUSTOM( 199?, m4hittop__v, m4hittop, "hit04d.p1", 0x0000, 0x010000, CRC(89607e84) SHA1(280209ca3030383547cc91eee2f71a810768353f), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 D)" ) +GAME_CUSTOM( 199?, m4hittop__w, m4hittop, "hit04dk.p1", 0x0000, 0x010000, CRC(b89e606f) SHA1(9096126b719ecd92185d9c1d50d13c9339d09583), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 KD)" ) +GAME_CUSTOM( 199?, m4hittop__x, m4hittop, "hit04dr.p1", 0x0000, 0x010000, CRC(1b4d8099) SHA1(505e0948a78b5d57f0986896ab900d25a20d7877), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 RD)" ) +GAME_CUSTOM( 199?, m4hittop__y, m4hittop, "hit04dy.p1", 0x0000, 0x010000, CRC(25f54881) SHA1(9f4ae52295df5810cbe6c18cae66877bec006a28), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 YD)" ) +GAME_CUSTOM( 199?, m4hittop__z, m4hittop, "hit04k.p1", 0x0000, 0x010000, CRC(5ef3f78d) SHA1(e72727b3dc7793c36f182b3e7d363741254c0be7), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 K)" ) +GAME_CUSTOM( 199?, m4hittop__0, m4hittop, "hit04r.p1", 0x0000, 0x010000, CRC(d87a9f60) SHA1(614224b80afaa6e407f9b40b45b8aecdf999e13a), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 R)" ) +GAME_CUSTOM( 199?, m4hittop__2, m4hittop, "hit04y.p1", 0x0000, 0x010000, CRC(c398df63) SHA1(5e93cb95da37b1593d030e99e97996252ad6cda1), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 Y)" ) + + + +/***************************************************************************************************************************************************************************** +* +* Nudge Nudge Wink Wink Classic +* +*****************************************************************************************************************************************************************************/ + +// 17ALM (need hopper, use Q to open door and run in demo mode) #define M4NNWW_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "m574.chr", 0x0000, 0x000048, CRC(cc4b7911) SHA1(9f8a96a1f8b0f9b33b852e93483ce5c684703349) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "cn4snd.p1", 0x0000, 0x080000, CRC(720011ce) SHA1(fa9108463131ea7e64525e080ac0eff2f6708db8) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1750,188 +2265,291 @@ GAME_CUSTOM( 199?, m4hittop__ax, m4hittop, "htty.p1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4NNWW_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // the rom codes, and startup message differ in several of these, I've put the startup display code first (which seems to match the rom label) followed by the code stored in the ROM header // I think the code in the header was just not updated properly. + // "(C)1991 BARCREST" and "NN4 0.2" -GAME_CUSTOM( 199?, m4nnww, 0, "nn5s.p1", 0x0000, 0x010000, CRC(459e5663) SHA1(66ae821e5202d6d3ba05be44d0c1f26da60a3a32), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__aq, m4nnww, "nn5bd.p1", 0x0000, 0x010000, CRC(56cc9559) SHA1(53e109a579e422932dd25c52cf2beca51d3a53e3), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 BD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__ai, m4nnww, "nn5ad.p1", 0x0000, 0x010000, CRC(22537184) SHA1(aef542a34e2b14a5db624e42d1cd2682de237b52), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 AD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__aj, m4nnww, "nn5b.p1", 0x0000, 0x010000, CRC(e2a99408) SHA1(a0868a38c290a84926089c60d1b5555706485bff), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 B / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__ak, m4nnww, "nn5d.p1", 0x0000, 0x010000, CRC(ef1a21b6) SHA1(ba763b06583af1273e384b878fbacc68f88714dc), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 D / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__al, m4nnww, "nn5dk.p1", 0x0000, 0x010000, CRC(74c48e28) SHA1(db6be2275b6122845c662dd5f12266b66e888221), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 KD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__am, m4nnww, "nn5dr.p1", 0x0000, 0x010000, CRC(f52c9f87) SHA1(e8b1037c9ed5d9452abccb6b07bae46b45c4705e), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 RD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__an, m4nnww, "nn5dy.p1", 0x0000, 0x010000, CRC(6847b769) SHA1(1b4d42774c72a3c7b40551c7181413ea1fca0b88), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 YD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__ao, m4nnww, "nn5k.p1", 0x0000, 0x010000, CRC(ceab49d9) SHA1(633e7bab6a30176dbcea2bd3e7bab0f7833409ba), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 K / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__ap, m4nnww, "nn5r.p1", 0x0000, 0x010000, CRC(144523cd) SHA1(d12586ccea659ecb75af944d87ddd480da917eaf), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 R / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__ar, m4nnww, "nn5y.p1", 0x0000, 0x010000, CRC(892e0b23) SHA1(ff3f550e20e71e868d52b60740f743a7d2d6c645), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 Y / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww, 0, "nn5s.p1", 0x0000, 0x010000, CRC(459e5663) SHA1(66ae821e5202d6d3ba05be44d0c1f26da60a3a32), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN5 0.2 / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__aq, m4nnww, "nn5bd.p1", 0x0000, 0x010000, CRC(56cc9559) SHA1(53e109a579e422932dd25c52cf2beca51d3a53e3), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN5 0.2 BD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__ai, m4nnww, "nn5ad.p1", 0x0000, 0x010000, CRC(22537184) SHA1(aef542a34e2b14a5db624e42d1cd2682de237b52), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN5 0.2 AD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__aj, m4nnww, "nn5b.p1", 0x0000, 0x010000, CRC(e2a99408) SHA1(a0868a38c290a84926089c60d1b5555706485bff), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN5 0.2 B / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__ak, m4nnww, "nn5d.p1", 0x0000, 0x010000, CRC(ef1a21b6) SHA1(ba763b06583af1273e384b878fbacc68f88714dc), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN5 0.2 D / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__al, m4nnww, "nn5dk.p1", 0x0000, 0x010000, CRC(74c48e28) SHA1(db6be2275b6122845c662dd5f12266b66e888221), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN5 0.2 KD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__am, m4nnww, "nn5dr.p1", 0x0000, 0x010000, CRC(f52c9f87) SHA1(e8b1037c9ed5d9452abccb6b07bae46b45c4705e), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN5 0.2 RD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__an, m4nnww, "nn5dy.p1", 0x0000, 0x010000, CRC(6847b769) SHA1(1b4d42774c72a3c7b40551c7181413ea1fca0b88), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN5 0.2 YD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__ao, m4nnww, "nn5k.p1", 0x0000, 0x010000, CRC(ceab49d9) SHA1(633e7bab6a30176dbcea2bd3e7bab0f7833409ba), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN5 0.2 K / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__ap, m4nnww, "nn5r.p1", 0x0000, 0x010000, CRC(144523cd) SHA1(d12586ccea659ecb75af944d87ddd480da917eaf), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN5 0.2 R / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__ar, m4nnww, "nn5y.p1", 0x0000, 0x010000, CRC(892e0b23) SHA1(ff3f550e20e71e868d52b60740f743a7d2d6c645), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN5 0.2 Y / NN4 0.2)" ) // "(C)1991 BARCREST" and "NN4 0.1" (startup CN1 0.1) -GAME_CUSTOM( 199?, m4nnww__l, m4nnww, "cni01s.p1", 0x0000, 0x010000, CRC(5ed6a396) SHA1(299767467b56d1aa93602f98cc387e7ff18bda9d), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 / NN4 0.1)" ) -GAME_CUSTOM( 199?, m4nnww__b, m4nnww, "cni01ad.p1", 0x0000, 0x010000, CRC(788e47b1) SHA1(6d07500a38b54e1a9038e35d82fdb4a0f22d23ba), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 AD / NN4 0.1)" ) -GAME_CUSTOM( 199?, m4nnww__c, m4nnww, "cni01b.p1", 0x0000, 0x010000, CRC(33512643) SHA1(865ed3b68fe3b737833734513b5045c5db97791e), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 B / NN4 0.1)" ) -GAME_CUSTOM( 199?, m4nnww__d, m4nnww, "cni01bd.p1", 0x0000, 0x010000, CRC(8a00d73b) SHA1(702579ea1bc586aacd5cba889919f3e86ea05771), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 BD / NN4 0.1)" ) -GAME_CUSTOM( 199?, m4nnww__e, m4nnww, "cni01c.p1", 0x0000, 0x010000, CRC(b836ee44) SHA1(832914461492f120894ec7e63f6aa1ad00b89b41), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 C / NN4 0.1)" ) -GAME_CUSTOM( 199?, m4nnww__f, m4nnww, "cni01d.p1", 0x0000, 0x010000, CRC(94fbe9cb) SHA1(7daabf1cd315f8d18796ba34f8c2ec271cc1e396), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 D / NN4 0.1)" ) -GAME_CUSTOM( 199?, m4nnww__g, m4nnww, "cni01dk.p1", 0x0000, 0x010000, CRC(708fbcca) SHA1(7e97d8adf660099873a94d1915c79f110614cb11), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 KD / NN4 0.1)" ) -GAME_CUSTOM( 199?, m4nnww__h, m4nnww, "cni01dr.p1", 0x0000, 0x010000, CRC(5b7ed753) SHA1(8072ac849dc61e50963ae6730fa32823bd038c77), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 RD / NN4 0.1)" ) -GAME_CUSTOM( 199?, m4nnww__i, m4nnww, "cni01dy.p1", 0x0000, 0x010000, CRC(fcf6da8b) SHA1(95d86af30035884211ed26ccb5db9aae12ac7bf2), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 YD / NN4 0.1)" ) -GAME_CUSTOM( 199?, m4nnww__j, m4nnww, "cni01k.p1", 0x0000, 0x010000, CRC(f7c90833) SHA1(3b3b44e61f24e9fb45f465fd9c381fe81b6851a0), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 AK / NN4 0.1)" ) -GAME_CUSTOM( 199?, m4nnww__k, m4nnww, "cni01r.p1", 0x0000, 0x010000, CRC(c611b1eb) SHA1(524ee18da8a086d15277d9fb0ea383ee3d49d47a), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 R / NN4 0.1)" ) -GAME_CUSTOM( 199?, m4nnww__m, m4nnww, "cni01y.p1", 0x0000, 0x010000, CRC(d3612bf2) SHA1(40a8ff08a38c4411946a67f380891945d166d199), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 Y / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__l, m4nnww, "cni01s.p1", 0x0000, 0x010000, CRC(5ed6a396) SHA1(299767467b56d1aa93602f98cc387e7ff18bda9d), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN1 0.1 / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__b, m4nnww, "cni01ad.p1", 0x0000, 0x010000, CRC(788e47b1) SHA1(6d07500a38b54e1a9038e35d82fdb4a0f22d23ba), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN1 0.1 AD / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__c, m4nnww, "cni01b.p1", 0x0000, 0x010000, CRC(33512643) SHA1(865ed3b68fe3b737833734513b5045c5db97791e), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN1 0.1 B / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__d, m4nnww, "cni01bd.p1", 0x0000, 0x010000, CRC(8a00d73b) SHA1(702579ea1bc586aacd5cba889919f3e86ea05771), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN1 0.1 BD / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__e, m4nnww, "cni01c.p1", 0x0000, 0x010000, CRC(b836ee44) SHA1(832914461492f120894ec7e63f6aa1ad00b89b41), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN1 0.1 C / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__f, m4nnww, "cni01d.p1", 0x0000, 0x010000, CRC(94fbe9cb) SHA1(7daabf1cd315f8d18796ba34f8c2ec271cc1e396), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN1 0.1 D / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__g, m4nnww, "cni01dk.p1", 0x0000, 0x010000, CRC(708fbcca) SHA1(7e97d8adf660099873a94d1915c79f110614cb11), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN1 0.1 KD / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__h, m4nnww, "cni01dr.p1", 0x0000, 0x010000, CRC(5b7ed753) SHA1(8072ac849dc61e50963ae6730fa32823bd038c77), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN1 0.1 RD / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__i, m4nnww, "cni01dy.p1", 0x0000, 0x010000, CRC(fcf6da8b) SHA1(95d86af30035884211ed26ccb5db9aae12ac7bf2), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN1 0.1 YD / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__j, m4nnww, "cni01k.p1", 0x0000, 0x010000, CRC(f7c90833) SHA1(3b3b44e61f24e9fb45f465fd9c381fe81b6851a0), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN1 0.1 AK / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__k, m4nnww, "cni01r.p1", 0x0000, 0x010000, CRC(c611b1eb) SHA1(524ee18da8a086d15277d9fb0ea383ee3d49d47a), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN1 0.1 R / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__m, m4nnww, "cni01y.p1", 0x0000, 0x010000, CRC(d3612bf2) SHA1(40a8ff08a38c4411946a67f380891945d166d199), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN1 0.1 Y / NN4 0.1)" ) // "(C)1991 BARCREST" and "NN4 0.2" (startup CNU 0.2) -GAME_CUSTOM( 199?, m4nnww__w, m4nnww, "cnus.p1", 0x0000, 0x010000, CRC(6afee8e1) SHA1(35464eef29a5a66b8efea890987ff120ca5b7409), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__n, m4nnww, "cnuad.p1", 0x0000, 0x010000, CRC(f4b28628) SHA1(7323525a44477e2a3f89562f6094ed7bb47a16cc), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 AD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__o, m4nnww, "cnub.p1", 0x0000, 0x010000, CRC(735260a3) SHA1(e08fff6314d7cb4e396107366fdc16dcbf7f5d67), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 B / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__p, m4nnww, "cnubd.p1", 0x0000, 0x010000, CRC(fbe1ee39) SHA1(21bdaa6f9af686b4e44958ee09a131d0e12c2c53), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 BD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__q, m4nnww, "cnud.p1", 0x0000, 0x010000, CRC(d3a0eff1) SHA1(2b18c3e14a43d072ae5702bc77fcac65dbd8305c), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 D / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__r, m4nnww, "cnudk.p1", 0x0000, 0x010000, CRC(a7b506e8) SHA1(40d712076b434a339dfa60b937eec91038568312), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 KD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__s, m4nnww, "cnudr.p1", 0x0000, 0x010000, CRC(e163caea) SHA1(273a13567e5cb7fd071dfc9c8a9bc923e25d7679), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 RD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__t, m4nnww, "cnudy.p1", 0x0000, 0x010000, CRC(7c08e204) SHA1(34c906f3a284fde0c997232738a51b709a0dca93), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 YD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__u, m4nnww, "cnuk.p1", 0x0000, 0x010000, CRC(b9c08873) SHA1(9c5a754a7b57c8ab4334afdcbe30884a7181ac48), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 K / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__v, m4nnww, "cnur.p1", 0x0000, 0x010000, CRC(729d89ea) SHA1(c98a89dd8f85dde7ab005bcb7eba1fcc31162e08), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 R / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__x, m4nnww, "cnuy.p1", 0x0000, 0x010000, CRC(eff6a104) SHA1(021baf5fe88defca05627a85501622d86e846233), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 Y / NN4 0.2)" ) -// "(C)1991 BARCREST" and "NN3 0.1" -GAME_CUSTOM( 199?, m4nnww__7, m4nnww, "nn3xs.p1", 0x0000, 0x010000, CRC(13d02d21) SHA1(8e4dac8e60538884d3f3a92fc1bb9f41276be4c8), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 X)" ) -GAME_CUSTOM( 199?, m4nnww__y, m4nnww, "nn3xad.p1", 0x0000, 0x010000, CRC(8ccfceb8) SHA1(762ab26826d3d2a4dd7999a71724389344e9dafb), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 XAD)" ) -GAME_CUSTOM( 199?, m4nnww__z, m4nnww, "nn3xb.p1", 0x0000, 0x010000, CRC(9b0dd473) SHA1(9975dafea8c7d6ccfc9f826adb1a0d3d0ed9740a), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 BX)" ) -GAME_CUSTOM( 199?, m4nnww__0, m4nnww, "nn3xbd.p1", 0x0000, 0x010000, CRC(21bf4a89) SHA1(200c9ccc4bc2a93fcd0f68bb00ad4391bdeecda1), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 BXD)" ) -GAME_CUSTOM( 199?, m4nnww__1, m4nnww, "nn3xd.p1", 0x0000, 0x010000, CRC(11e22c45) SHA1(6da31eea7b25612d99cc79f6f9579622f105c862), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 XD)" ) -GAME_CUSTOM( 199?, m4nnww__2, m4nnww, "nn3xdk.p1", 0x0000, 0x010000, CRC(0f4642c6) SHA1(53a0b8bc102c2b1c0db71887470b70852b09a4e9), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 KXD)" ) -GAME_CUSTOM( 199?, m4nnww__3, m4nnww, "nn3xdy.p1", 0x0000, 0x010000, CRC(ba3c1cf0) SHA1(ab94227018c3f9173e6a648749d455afd1ed36ce), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 YXD)" ) -GAME_CUSTOM( 199?, m4nnww__4, m4nnww, "nn3xk.p1", 0x0000, 0x010000, CRC(ec3a9831) SHA1(0b3ba86faf39cf3a1e42cb1c31fd2c50c24d65dc), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 KX)" ) -GAME_CUSTOM( 199?, m4nnww__5, m4nnww, "nn3xr.p1", 0x0000, 0x010000, CRC(6416481c) SHA1(b06ed4964d9cbf403905504ac68abdab53131476), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 RX)" ) -GAME_CUSTOM( 199?, m4nnww__6, m4nnww, "nn3xrd.p1", 0x0000, 0x010000, CRC(0fd3f9b9) SHA1(99115b217cfc54b52469ffc77e7a7592907c53ea), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 RD)" ) // X not set here -GAME_CUSTOM( 199?, m4nnww__8, m4nnww, "nn3xy.p1", 0x0000, 0x010000, CRC(8a5d0f4b) SHA1(ef727e7ee8bb20d1b201927186a1a4f83e1e7497), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 YX)" ) +GAME_CUSTOM( 199?, m4nnww__w, m4nnww, "cnus.p1", 0x0000, 0x010000, CRC(6afee8e1) SHA1(35464eef29a5a66b8efea890987ff120ca5b7409), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNU 0.2 / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__n, m4nnww, "cnuad.p1", 0x0000, 0x010000, CRC(f4b28628) SHA1(7323525a44477e2a3f89562f6094ed7bb47a16cc), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNU 0.2 AD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__o, m4nnww, "cnub.p1", 0x0000, 0x010000, CRC(735260a3) SHA1(e08fff6314d7cb4e396107366fdc16dcbf7f5d67), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNU 0.2 B / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__p, m4nnww, "cnubd.p1", 0x0000, 0x010000, CRC(fbe1ee39) SHA1(21bdaa6f9af686b4e44958ee09a131d0e12c2c53), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNU 0.2 BD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__q, m4nnww, "cnud.p1", 0x0000, 0x010000, CRC(d3a0eff1) SHA1(2b18c3e14a43d072ae5702bc77fcac65dbd8305c), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNU 0.2 D / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__r, m4nnww, "cnudk.p1", 0x0000, 0x010000, CRC(a7b506e8) SHA1(40d712076b434a339dfa60b937eec91038568312), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNU 0.2 KD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__s, m4nnww, "cnudr.p1", 0x0000, 0x010000, CRC(e163caea) SHA1(273a13567e5cb7fd071dfc9c8a9bc923e25d7679), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNU 0.2 RD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__t, m4nnww, "cnudy.p1", 0x0000, 0x010000, CRC(7c08e204) SHA1(34c906f3a284fde0c997232738a51b709a0dca93), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNU 0.2 YD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__u, m4nnww, "cnuk.p1", 0x0000, 0x010000, CRC(b9c08873) SHA1(9c5a754a7b57c8ab4334afdcbe30884a7181ac48), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNU 0.2 K / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__v, m4nnww, "cnur.p1", 0x0000, 0x010000, CRC(729d89ea) SHA1(c98a89dd8f85dde7ab005bcb7eba1fcc31162e08), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNU 0.2 R / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__x, m4nnww, "cnuy.p1", 0x0000, 0x010000, CRC(eff6a104) SHA1(021baf5fe88defca05627a85501622d86e846233), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNU 0.2 Y / NN4 0.2)" ) // "(C)1991 BARCREST" and "NN4 0.2" -GAME_CUSTOM( 199?, m4nnww__ag, m4nnww, "nn4s.p1", 0x0000, 0x010000, CRC(ec4f01ee) SHA1(443da7ed359a3e208417f7bca0dc52a09594a927), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__9, m4nnww, "nn4ad.p1", 0x0000, 0x010000, CRC(827b832f) SHA1(4448ccb03282b9d39c6a00d02cea4d8ce2225b0e), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 AD)" ) -GAME_CUSTOM( 199?, m4nnww__aa, m4nnww, "nn4b.p1", 0x0000, 0x010000, CRC(65e16330) SHA1(cfd18693155b4b7c5692064a2f693eb198d02749), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 B)" ) -GAME_CUSTOM( 199?, m4nnww__ab, m4nnww, "nn4bd.p1", 0x0000, 0x010000, CRC(b467ee65) SHA1(79030aa06ca8fd9c8becff62d56628939e9b5075), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 BD)" ) -GAME_CUSTOM( 199?, m4nnww__ac, m4nnww, "nn4d.p1", 0x0000, 0x010000, CRC(548dacb9) SHA1(55949910374fae419ba015b70780e3e9e269caa0), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 D)" ) -GAME_CUSTOM( 199?, m4nnww__ad, m4nnww, "nn4dk.p1", 0x0000, 0x010000, CRC(9053aa15) SHA1(99d1e6d8776434a4ec69a565d673b45402467b8d), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 KD)" ) -GAME_CUSTOM( 199?, m4nnww__ae, m4nnww, "nn4dy.p1", 0x0000, 0x010000, CRC(5fcd5a18) SHA1(b1b3283a303114ca1daab89cea44211ece7188ef), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 YD)" ) -GAME_CUSTOM( 199?, m4nnww__af, m4nnww, "nn4k.p1", 0x0000, 0x010000, CRC(09a808c0) SHA1(c74c3acb2c1f52fd1e83003fb1a022f80f55e0b8), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 K)" ) -GAME_CUSTOM( 199?, m4nnww__ah, m4nnww, "nn4y.p1", 0x0000, 0x010000, CRC(a1eff941) SHA1(369ec89b82f97c3d8266d41e5eb27be7770bdca4), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 Y)" ) -// "(C)1991 BARCREST" and "NNU 5.2" -GAME_CUSTOM( 199?, m4nnww__at, m4nnww, "nnus.p1", 0x0000, 0x010000, CRC(3e3a829e) SHA1(5aa3a56e007bad4dacdc3c993c87569e4250eecd), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NNU 5.2)" ) -GAME_CUSTOM( 199?, m4nnww__au, m4nnww, "nnux.p1", 0x0000, 0x010000, CRC(38806ebf) SHA1(a897a33e3260de1b284b01a65d1da7cbe05d51f8), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NNU 5.2 X)" ) -GAME_CUSTOM( 199?, m4nnww__av, m4nnww, "nnuxb.p1", 0x0000, 0x010000, CRC(c4dba8df) SHA1(0f8516cc9b2f0be9d1c936667974cd8116018dad), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NNU 5.2 BX)" ) -GAME_CUSTOM( 199?, m4nnww__aw, m4nnww, "nnuxc.p1", 0x0000, 0x010000, CRC(797e0c4d) SHA1(211b0a804643731275d0075461f8d94985fde1db), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NNU 5.2 CX)" ) -// "(C)1991 BARCREST" and "NNU 4.0" -GAME_CUSTOM( 199?, m4nnww__as, m4nnww, "nnu40x.bin", 0x0000, 0x010000, CRC(63e3d7df) SHA1(1a5a00185ec5150f5b05765f06297d7884540aaf), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NNU 4.0 X)" ) -// "(C)1991 BARCREST" and "NN4 0.1" (startup CH3 0.1) -GAME_CUSTOM( 199?, m4nnww__ax, m4nnww, "nnwink.hex", 0x0000, 0x010000, CRC(f77bd6c4) SHA1(1631040fbfe3fc37c2cbd3145857c31d16b92bde), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CH3 0.1 B / NN4 0.1)" ) -// "(C)1991 BARCREST" and "NN4 0.1" (startup CF3 0.1) -GAME_CUSTOM( 199?, m4nnww__a, m4nnww, "cf301s", 0x0000, 0x010000, CRC(1d8abf59) SHA1(81e47797baddd777fbbb1b1e044df1bfe3d49cb2), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CF3 0.1 / NN4 0.1)" ) -// no copyright string and "NNU 3.4" -GAME_CUSTOM( 199?, m4nnww__ay, m4nnww, "nnww2010", 0x0000, 0x010000, CRC(67b1c7b5) SHA1(495e25bc2051ab78e473cd0c36e0c1825c06db14), "hack","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NNU 3.4, hack, set 1)" ) -GAME_CUSTOM( 199?, m4nnww__az, m4nnww, "wink2010", 0x0000, 0x010000, CRC(056a2ffa) SHA1(9da96d70ff850b6672ae7009253e179fa7159db4), "hack","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NNU 3.4, hack, set 2)" ) +GAME_CUSTOM( 199?, m4nnww__ag, m4nnww, "nn4s.p1", 0x0000, 0x010000, CRC(ec4f01ee) SHA1(443da7ed359a3e208417f7bca0dc52a09594a927), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__9, m4nnww, "nn4ad.p1", 0x0000, 0x010000, CRC(827b832f) SHA1(4448ccb03282b9d39c6a00d02cea4d8ce2225b0e), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN4 0.2 AD)" ) +GAME_CUSTOM( 199?, m4nnww__aa, m4nnww, "nn4b.p1", 0x0000, 0x010000, CRC(65e16330) SHA1(cfd18693155b4b7c5692064a2f693eb198d02749), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN4 0.2 B)" ) +GAME_CUSTOM( 199?, m4nnww__ab, m4nnww, "nn4bd.p1", 0x0000, 0x010000, CRC(b467ee65) SHA1(79030aa06ca8fd9c8becff62d56628939e9b5075), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN4 0.2 BD)" ) +GAME_CUSTOM( 199?, m4nnww__ac, m4nnww, "nn4d.p1", 0x0000, 0x010000, CRC(548dacb9) SHA1(55949910374fae419ba015b70780e3e9e269caa0), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN4 0.2 D)" ) +GAME_CUSTOM( 199?, m4nnww__ad, m4nnww, "nn4dk.p1", 0x0000, 0x010000, CRC(9053aa15) SHA1(99d1e6d8776434a4ec69a565d673b45402467b8d), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN4 0.2 KD)" ) +GAME_CUSTOM( 199?, m4nnww__ae, m4nnww, "nn4dy.p1", 0x0000, 0x010000, CRC(5fcd5a18) SHA1(b1b3283a303114ca1daab89cea44211ece7188ef), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN4 0.2 YD)" ) +GAME_CUSTOM( 199?, m4nnww__af, m4nnww, "nn4k.p1", 0x0000, 0x010000, CRC(09a808c0) SHA1(c74c3acb2c1f52fd1e83003fb1a022f80f55e0b8), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN4 0.2 K)" ) +GAME_CUSTOM( 199?, m4nnww__ah, m4nnww, "nn4y.p1", 0x0000, 0x010000, CRC(a1eff941) SHA1(369ec89b82f97c3d8266d41e5eb27be7770bdca4), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (NN4 0.2 Y)" ) - -#define M4RFYM_EXTRA_ROMS \ - ROM_REGION( 0x10, "fakechr", 0 ) \ - ROM_LOAD( "rft20.10_chr", 0x0000, 0x000010, CRC(87cdda8d) SHA1(3d17d42d5eaf5dcc04b856ec07689cab6183b12d) ) \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "runsnd.p1", 0x000000, 0x080000, CRC(a37a3a6d) SHA1(b82c7e90508795a53b91d7dab7938abf07e8ab4c) ) \ - ROM_LOAD( "runsnd.p2", 0x080000, 0x080000, CRC(1c03046f) SHA1(5235b2f60f12cbee11fb5e54e1858a11a755f460) ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4NNWW_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// most of the sets below were in marked 'classic' while the sets above weren't, but this version with samples appears to always be called 'Classic' + +/// "(C)1991 BARCREST" and "NN4 0.2" (CN3 0.2 on startup) +GAME_CUSTOM( 199?, m4nnwwc, m4nnww, "cn302s.p1", 0x0000, 0x010000, CRC(87703a1a) SHA1(6582ffa42a61b60e92e456a794c4c219a9901a1c), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__7, m4nnww, "cn302c.p1", 0x0000, 0x010000, CRC(fd9de050) SHA1(14c80deba1396aa5be0a1d02964ecd4b946f2ee8), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 C / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__y, m4nnww, "cn302ad.p1", 0x0000, 0x010000, CRC(7a6acd9b) SHA1(9a1f0ed19d66428c6b541ce1c8e169d9b4be3ef1), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 AD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__z, m4nnww, "cn302b.p1", 0x0000, 0x010000, CRC(b69cb520) SHA1(7313f2740960ca86ecea8609fe8fd58d84a3248c), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 B / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__0, m4nnww, "cn302bd.p1", 0x0000, 0x010000, CRC(ab828a0b) SHA1(53fa6dad9bdae1d46479596c98cf2c3f4454bb95), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 BD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__1, m4nnww, "cn302d.p1", 0x0000, 0x010000, CRC(8c6ac365) SHA1(a32b104968aaa4da060072a241a4c54fbdf3c404), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 D / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__2, m4nnww, "cn302dk.p1", 0x0000, 0x010000, CRC(24cbab96) SHA1(77fe3b21fc9470653bada31c700ce926d55ce82e), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 KD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__3, m4nnww, "cn302dr.p1", 0x0000, 0x010000, CRC(09069f0e) SHA1(68b2a34644ee1fca3ce5191e2f25aa808b85fb09), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 RD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__4, m4nnww, "cn302dy.p1", 0x0000, 0x010000, CRC(946db7e0) SHA1(fe29c1da478e3f1a53ad55c661ddcc7003679304), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 YD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__5, m4nnww, "cn302k.p1", 0x0000, 0x010000, CRC(7a3202f1) SHA1(2dd5e8195120b1efc3eb51214cf054432fc50aed), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 K / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__6, m4nnww, "cn302r.p1", 0x0000, 0x010000, CRC(e7cf9e1e) SHA1(66a1e54fc928c09d16f7ac1c002685eee841315f), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 R / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__8, m4nnww, "cn302y.p1", 0x0000, 0x010000, CRC(7aa4b6f0) SHA1(2c185a9a7c8a4957fb5901305883661c41cb0cb4), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 Y / NN4 0.2)" ) +/// "(C)1991 BARCREST" and "NN4 0.2" (CF3 0.2 on startup) +GAME_CUSTOM( 199?, m4nnwwc__k, m4nnww, "cf302s.p1", 0x0000, 0x010000, CRC(7a3e8ead) SHA1(590dc78b98f9928d6fa87ef661234f88dccfdff8), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__a, m4nnww, "cf302ad.p1", 0x0000, 0x010000, CRC(6c6aa0cd) SHA1(5a58a19c35b0b195f3b4e7a21f57ca61d45ec1fb), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 AD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__b, m4nnww, "cf302b.p1", 0x0000, 0x010000, CRC(9ca07939) SHA1(6eb0a5675bb803a11c4c874dc0516d94c48194b7), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 B / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__c, m4nnww, "cf302bd.p1", 0x0000, 0x010000, CRC(8ba33b7d) SHA1(ebfb62a390de512dc1482cfb9ab64196cbcc5831), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 BD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__d, m4nnww, "cf302c.p1", 0x0000, 0x010000, CRC(26be2dc4) SHA1(157ca96ebd36f2fbfb501945d0351cc3be38f3b7), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 C / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__e, m4nnww, "cf302d.p1", 0x0000, 0x010000, CRC(b52d5b47) SHA1(1583963b0bac1288bd20ed0550ad793be0980b03), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 D / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__f, m4nnww, "cf302dk.p1", 0x0000, 0x010000, CRC(c3d4c74d) SHA1(9a34c1f2fabb20da17988f63c9190ec4dd0b65fb), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 KD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__g, m4nnww, "cf302dr.p1", 0x0000, 0x010000, CRC(0b25e6b9) SHA1(5fd42abbe985dbdcfe09da50673551330dd26175), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 RD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__h, m4nnww, "cf302dy.p1", 0x0000, 0x010000, CRC(420b47c1) SHA1(0cb1a843cec3ace21d806fe98212250201a72f12), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 YD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__i, m4nnww, "cf302k.p1", 0x0000, 0x010000, CRC(07ca4c45) SHA1(8f6ee3c17527b05a6652845019919d490cc00c64), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 K / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__j, m4nnww, "cf302r.p1", 0x0000, 0x010000, CRC(e09f43bd) SHA1(65dcdf8d223936c4415ddc3f734b83367d6b8db7), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 R / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__l, m4nnww, "cf302y.p1", 0x0000, 0x010000, CRC(c1063a32) SHA1(e1c8fc463b1a1db87110f272a8727435f9d9b97a), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 Y / NN4 0.2)" ) +/// "(C)1991 BARCREST" and "NN4 0.2" (CH3 0.2 on startup) +GAME_CUSTOM( 199?, m4nnwwc__w, m4nnww, "ch302s.p1", 0x0000, 0x010000, CRC(e7d0ceb2) SHA1(b75d58136b9e1e4bfde86730ef4e95bc98494813), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__m, m4nnww, "ch302ad.p1", 0x0000, 0x010000, CRC(20405f4e) SHA1(7f87c881f428f704c98b0f4be459980062ccd29a), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 AD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__n, m4nnww, "ch302b.p1", 0x0000, 0x010000, CRC(cf7543ac) SHA1(2fe810741bfc18f800ad8028724218557d93a830), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 B / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__o, m4nnww, "ch302bd.p1", 0x0000, 0x010000, CRC(4c3e5664) SHA1(87a1f2133cad624683dac89f1da85d70b018f846), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 BD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__p, m4nnww, "ch302c.p1", 0x0000, 0x010000, CRC(dcde4d0a) SHA1(d1535f8754d2c0f8183c2c9db97edafdcdfed82e), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 C / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__q, m4nnww, "ch302d.p1", 0x0000, 0x010000, CRC(e1a02108) SHA1(fa8271a1246a3ae1289bb314494743cfec31f4e2), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 D / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__r, m4nnww, "ch302dk.p1", 0x0000, 0x010000, CRC(a3f636af) SHA1(c3de325ef5baa3cccd4c9997e615e87521b9e537), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 KD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__s, m4nnww, "ch302dr.p1", 0x0000, 0x010000, CRC(0620b0c0) SHA1(31aabba5f5b096254908221f884b5088a5a6e883), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 RD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__t, m4nnww, "ch302dy.p1", 0x0000, 0x010000, CRC(9b4b982e) SHA1(c7c9c501eb1c936ffb8bc2fe1fe9258e92b1d548), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 YD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__u, m4nnww, "ch302k.p1", 0x0000, 0x010000, CRC(908d8b10) SHA1(a80a5ce1a83d05f1e68e66d14bacc424bc833aa7), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 K / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__v, m4nnww, "ch302r.p1", 0x0000, 0x010000, CRC(c31c4c28) SHA1(e94c7588211044dae7c5ac587e6232b0ace2fc7b), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 R / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnwwc__x, m4nnww, "ch302y.p1", 0x0000, 0x010000, CRC(5e7764c6) SHA1(05a61a57ac906cbea1d72fffd1c8ea707852b895), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 / NN4 0.2)" ) +// "(C)1991 BARCREST" and "NN4 0.1" (startup CH3 0.1) +GAME_CUSTOM( 199?, m4nnww__ax, m4nnww, "nnwink.hex", 0x0000, 0x010000, CRC(f77bd6c4) SHA1(1631040fbfe3fc37c2cbd3145857c31d16b92bde), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.1 B / NN4 0.1)" ) +// "(C)1991 BARCREST" and "NN4 0.1" (CN3 0.1 on startup) (this or set below is probably hacked, as version numbers are identical) +GAME_CUSTOM( 199?, m4nnwwc__9, m4nnww, "cnc03s.p1", 0x0000, 0x010000, CRC(57a03b29) SHA1(52cc8eb3f02c4a812de06ceec0588ca930e07876), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.1 / NN4 0.1)" ) +// "(C)1991 BARCREST" and "NN4 0.1" (CN3 0.1 on startup) +GAME_CUSTOM( 199?, m4nnww__a, m4nnww, "cf301s", 0x0000, 0x010000, CRC(1d8abf59) SHA1(81e47797baddd777fbbb1b1e044df1bfe3d49cb2), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.1 / NN4 0.1)" ) + +GAME_CUSTOM( 199?, m4nnww__ay, m4nnww, "ch301s", 0x0000, 0x010000, CRC(d31c9081) SHA1(21d1f4cc3de2343d830e3ee02e3a53abd12b6b9d), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.1)" ) + + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4NNWW_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)2000 BWB" and "CNN 2.0" +GAME_CUSTOM( 199?, m4nnwwc__aa, m4nnww, "cl__x__x.2_0", 0x0000, 0x010000, CRC(c3de4791) SHA1(220d32b961b6710d508c0c7e6b2d8e4d292746f4), "Bwb","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNN 2.0)" ) +GAME_CUSTOM( 199?, m4nnwwc__ab, m4nnww, "cl__x_dx.2_0", 0x0000, 0x010000, CRC(c79833f8) SHA1(b3519b55f6f2a4f081b69483ac0b8860aa8190d9), "Bwb","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNN 2.0 D)" ) +GAME_CUSTOM( 199?, m4nnwwc__ac, m4nnww, "cl__xa_x.2_0", 0x0000, 0x010000, CRC(4c3021a1) SHA1(7e7258808dd1693adb956a5e6b076f925eb0a026), "Bwb","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNN 2.0 K)" ) +GAME_CUSTOM( 199?, m4nnwwc__ad, m4nnww, "cl__xb_x.2_0", 0x0000, 0x010000, CRC(75a5add7) SHA1(6802ec81b4ebcde9ed014a0440fdc50211a8a350), "Bwb","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNN 2.0 B)" ) + + +/***************************************************************************************************************************************************************************** +* +* Run For Your Money +* +*****************************************************************************************************************************************************************************/ + +#define M4RFYM_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "runsnd.p1", 0x000000, 0x080000, CRC(a37a3a6d) SHA1(b82c7e90508795a53b91d7dab7938abf07e8ab4c) ) \ + ROM_LOAD( "runsnd.p2", 0x080000, 0x080000, CRC(1c03046f) SHA1(5235b2f60f12cbee11fb5e54e1858a11a755f460) ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4RFYM_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "RUN 0.5" -GAME_CUSTOM( 199?, m4rfym, 0, "runs.p1", 0x0000, 0x010000, CRC(e20f5a06) SHA1(f0f71f8870db7003fce96f1dfe09804cf17c3ab3), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5)" ) -GAME_CUSTOM( 199?, m4rfym__ar, m4rfym, "rund.p1", 0x0000, 0x010000, CRC(2be2a66d) SHA1(a66d74ccf1783912673cfcb6c1ae7fbb6d70ca0e), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 D)" ) -GAME_CUSTOM( 199?, m4rfym__ao, m4rfym, "runc.p1", 0x0000, 0x010000, CRC(09f53ddf) SHA1(f46be95bfacac751102a5f4d4a0917a5e51a653e), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 C)" ) -GAME_CUSTOM( 199?, m4rfym__ap, m4rfym, "rundy.p1", 0x0000, 0x010000, CRC(a6f69a24) SHA1(8370287dcc890fcb7529d3d4c7a3c2e2e688f6a8), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 YD)" ) -GAME_CUSTOM( 199?, m4rfym__aq, m4rfym, "runk.p1", 0x0000, 0x010000, CRC(a2828b82) SHA1(0ae371a441df679fd9c699771ae9f58ce960d4a1), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 K)" ) -GAME_CUSTOM( 199?, m4rfym__as, m4rfym, "runy.p1", 0x0000, 0x010000, CRC(0e311ab4) SHA1(c98540c07e9cc23ec70ecfbcb2f4d66f2c716fc3), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 Y)" ) -// "(C)1993 BARCREST" and "AP1 0.1" -GAME_CUSTOM( 199?, m4rfym__h, m4rfym, "ap1s.p1", 0x0000, 0x010000, CRC(7474509c) SHA1(c87e20f10806ec87fd33f97b43b8378d304f7d67), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1)" ) -GAME_CUSTOM( 199?, m4rfym__a, m4rfym, "ap1ad.p1", 0x0000, 0x010000, CRC(d1adbf80) SHA1(08801f38b8ba5034fd83b53b6cfff864104525b4), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 AD)" ) -GAME_CUSTOM( 199?, m4rfym__b, m4rfym, "ap1b.p1", 0x0000, 0x010000, CRC(4939f186) SHA1(389d46d603e75d3aaeeca990f4e1143c61f1565f), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 B)" ) -GAME_CUSTOM( 199?, m4rfym__c, m4rfym, "ap1bd.p1", 0x0000, 0x010000, CRC(08a33b2c) SHA1(ef38e9cd0c9bc8393530e36060c803d1250c46a6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 BD)" ) -GAME_CUSTOM( 199?, m4rfym__d, m4rfym, "ap1d.p1", 0x0000, 0x010000, CRC(edef44fe) SHA1(4907804c1bebc1f13aa3eb9dad0e9189de8e9601), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 D)" ) -GAME_CUSTOM( 199?, m4rfym__e, m4rfym, "ap1dk.p1", 0x0000, 0x010000, CRC(873a402c) SHA1(1315a4ad18544ca5d65526ea0f620cac528e4cad), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 KD)" ) -GAME_CUSTOM( 199?, m4rfym__f, m4rfym, "ap1dy.p1", 0x0000, 0x010000, CRC(e8436c00) SHA1(1c2f171e55c3519d63d6c4dd0d56df4e1daad6af), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 YD)" ) -GAME_CUSTOM( 199?, m4rfym__g, m4rfym, "ap1k.p1", 0x0000, 0x010000, CRC(9afeb1e7) SHA1(5fc5d73a2c976d227a0598fb1dd802c6336415d1), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 K)" ) -GAME_CUSTOM( 199?, m4rfym__i, m4rfym, "ap1y.p1", 0x0000, 0x010000, CRC(152bf7cb) SHA1(8dd8b621f9dac430c293b29ca03814fc21a148b9), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 Y)" ) -// "(C)1993 BARCREST" and "AP5 0.2" -GAME_CUSTOM( 199?, m4rfym__s, m4rfym, "ap502s.p1", 0x0000, 0x010000, CRC(8502a09a) SHA1(e635552b7f0c7b2e142d7f4d0f1fd93edac6132d), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2)" ) -GAME_CUSTOM( 199?, m4rfym__j, m4rfym, "ap502ad.p1", 0x0000, 0x010000, CRC(ab059e57) SHA1(45ba91989b0fd1a44628f696b78eae2a349e3e4a), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 AD)" ) -GAME_CUSTOM( 199?, m4rfym__k, m4rfym, "ap502b.p1", 0x0000, 0x010000, CRC(9ed27a6e) SHA1(2d655305a178e4ebe43f3d429dfec5a2ef6b9873), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 B)" ) -GAME_CUSTOM( 199?, m4rfym__l, m4rfym, "ap502bd.p1", 0x0000, 0x010000, CRC(48e83fcd) SHA1(3e2de0416722df5004f00baae2d3f6846ff596e5), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 BD)" ) -GAME_CUSTOM( 199?, m4rfym__m, m4rfym, "ap502d.p1", 0x0000, 0x010000, CRC(d0560301) SHA1(c35e97391c588f6567eeb253eb9de59bec9e1724), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 D)" ) -GAME_CUSTOM( 199?, m4rfym__n, m4rfym, "ap502dk.p1", 0x0000, 0x010000, CRC(82aa8d80) SHA1(e42d10537dcc5aaae59472681b215b0eb0821c25), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 KD)" ) -GAME_CUSTOM( 199?, m4rfym__o, m4rfym, "ap502dr.p1", 0x0000, 0x010000, CRC(1cfb3102) SHA1(b1d3a533de0ff93e15f7c039e75af0ef6c8eec57), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 RD)" ) -GAME_CUSTOM( 199?, m4rfym__p, m4rfym, "ap502dy.p1", 0x0000, 0x010000, CRC(819019ec) SHA1(36d2093a7a592850533d4206e0c9dd28cdc17568), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 YD)" ) -GAME_CUSTOM( 199?, m4rfym__q, m4rfym, "ap502k.p1", 0x0000, 0x010000, CRC(5064a894) SHA1(3e67358fe5ed9bfac05f621d7e72e5be7aae67df), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 K)" ) -GAME_CUSTOM( 199?, m4rfym__r, m4rfym, "ap502r.p1", 0x0000, 0x010000, CRC(2503c7da) SHA1(2478bab8b19ab68ff01be8fae2e86e47894b3d7c), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 R)" ) -GAME_CUSTOM( 199?, m4rfym__t, m4rfym, "ap502y.p1", 0x0000, 0x010000, CRC(b868ef34) SHA1(a773503afd2f59b71e0b9a7e202d3e7120ec88ff), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 Y)" ) +GAME_CUSTOM( 199?, m4rfym, 0, mod4oki_cheatchr_pal, mpu4, init_m4default, "runs.p1", 0x0000, 0x010000, CRC(e20f5a06) SHA1(f0f71f8870db7003fce96f1dfe09804cf17c3ab3), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5)" ) +GAME_CUSTOM( 199?, m4rfym__ar, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "rund.p1", 0x0000, 0x010000, CRC(2be2a66d) SHA1(a66d74ccf1783912673cfcb6c1ae7fbb6d70ca0e), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 D)" ) +GAME_CUSTOM( 199?, m4rfym__ao, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "runc.p1", 0x0000, 0x010000, CRC(09f53ddf) SHA1(f46be95bfacac751102a5f4d4a0917a5e51a653e), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 C)" ) +GAME_CUSTOM( 199?, m4rfym__ap, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "rundy.p1", 0x0000, 0x010000, CRC(a6f69a24) SHA1(8370287dcc890fcb7529d3d4c7a3c2e2e688f6a8), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 YD)" ) +GAME_CUSTOM( 199?, m4rfym__aq, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "runk.p1", 0x0000, 0x010000, CRC(a2828b82) SHA1(0ae371a441df679fd9c699771ae9f58ce960d4a1), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 K)" ) +GAME_CUSTOM( 199?, m4rfym__as, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "runy.p1", 0x0000, 0x010000, CRC(0e311ab4) SHA1(c98540c07e9cc23ec70ecfbcb2f4d66f2c716fc3), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 Y)" ) // "(C)1993 BARCREST" and "APR 0.1" -GAME_CUSTOM( 199?, m4rfym__2, m4rfym, "aprs.p1", 0x0000, 0x010000, CRC(a114a96a) SHA1(b0a9091cac86750329513a0927dd39b76995b2f2), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1)" ) -GAME_CUSTOM( 199?, m4rfym__u, m4rfym, "aprad.p1", 0x0000, 0x010000, CRC(936f59ac) SHA1(325708d965d56a9a7482dbeaa089ca871d5c01b5), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 AD)" ) -GAME_CUSTOM( 199?, m4rfym__v, m4rfym, "aprb.p1", 0x0000, 0x010000, CRC(72ad662a) SHA1(11f1695e05ecf34a58f8df3ffbc72ab2dd7d02c9), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 B)" ) -GAME_CUSTOM( 199?, m4rfym__w, m4rfym, "aprbd.p1", 0x0000, 0x010000, CRC(13af990d) SHA1(604d2173e3d6d25252b30b5bf386b53470c35581), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 BD)" ) -GAME_CUSTOM( 199?, m4rfym__x, m4rfym, "aprc.p1", 0x0000, 0x010000, CRC(fd3ece9a) SHA1(e11d1d258a415865f7477cdfddcd47e9bdb1c9b5), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 C)" ) -GAME_CUSTOM( 199?, m4rfym__y, m4rfym, "aprd.p1", 0x0000, 0x010000, CRC(8c19b732) SHA1(e7aeea41cf649fe2a28414ddedacdf72f56d32fe), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 D)" ) -GAME_CUSTOM( 199?, m4rfym__z, m4rfym, "aprdk.p1", 0x0000, 0x010000, CRC(58a41fcd) SHA1(e8c92dfb5c9662c90d363b5b7a7e0a4b4894d4cb), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 KD)" ) -GAME_CUSTOM( 199?, m4rfym__0, m4rfym, "aprdy.p1", 0x0000, 0x010000, CRC(9496cfad) SHA1(cb24779db99d283f1df86864886f21ad333cb98b), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 YD)" ) -GAME_CUSTOM( 199?, m4rfym__1, m4rfym, "aprk.p1", 0x0000, 0x010000, CRC(7277ef07) SHA1(dc509d125f8d377d4b2cb011d32be5bdba1daa17), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 K)" ) -GAME_CUSTOM( 199?, m4rfym__3, m4rfym, "apry.p1", 0x0000, 0x010000, CRC(bf2120bc) SHA1(473374a9510dd53e39b94bfcf1369e13647239e6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 Y)" ) -// "(C)1993 BARCREST" and "RU5 0.1" -GAME_CUSTOM( 199?, m4rfym__af, m4rfym, "ru5s.p1", 0x0000, 0x010000, CRC(41795ea3) SHA1(6bfb6da6c0f7e762d628ce8a9dcdcbc3c0326ca6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1)" ) -GAME_CUSTOM( 199?, m4rfym__8, m4rfym, "ru5ad.p1", 0x0000, 0x010000, CRC(1c3e1f39) SHA1(a45cdaaa875e52cf5cd5adf986c98f4a22a14785), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 AD)" ) -GAME_CUSTOM( 199?, m4rfym__9, m4rfym, "ru5b.p1", 0x0000, 0x010000, CRC(41e44d37) SHA1(8eb409b96864fb0f7c3bf5c66a20a63c8cbc68af), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 B)" ) -GAME_CUSTOM( 199?, m4rfym__aa, m4rfym, "ru5bd.p1", 0x0000, 0x010000, CRC(8d4db415) SHA1(b023a13f89b7e5c2f72fd213179f723621871faf), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 BD)" ) -GAME_CUSTOM( 199?, m4rfym__ab, m4rfym, "ru5d.p1", 0x0000, 0x010000, CRC(fcb70a63) SHA1(df81c3c26c066c1326b20b9e0dda2863ee9635a6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 D)" ) -GAME_CUSTOM( 199?, m4rfym__ac, m4rfym, "ru5dk.p1", 0x0000, 0x010000, CRC(b4d83863) SHA1(02aebf94773d0a9454119b4ad663b6d8475fc8d3), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 KD)" ) -GAME_CUSTOM( 199?, m4rfym__ad, m4rfym, "ru5dy.p1", 0x0000, 0x010000, CRC(66375af5) SHA1(0a6d10357c163e5e27e7436f8190070e36e3ef90), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 YD)" ) -GAME_CUSTOM( 199?, m4rfym__ae, m4rfym, "ru5k.p1", 0x0000, 0x010000, CRC(7871c141) SHA1(e1e9d2972c87d2835b1e5a62502160cb4abb7736), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 K)" ) -GAME_CUSTOM( 199?, m4rfym__ag, m4rfym, "ru5y.p1", 0x0000, 0x010000, CRC(ee217541) SHA1(68474c2e430d95ded2856183b9a02be917d092d6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 Y)" ) +GAME_CUSTOM( 199?, m4rfym__2, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "aprs.p1", 0x0000, 0x010000, CRC(a114a96a) SHA1(b0a9091cac86750329513a0927dd39b76995b2f2), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1)" ) +GAME_CUSTOM( 199?, m4rfym__u, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "aprad.p1", 0x0000, 0x010000, CRC(936f59ac) SHA1(325708d965d56a9a7482dbeaa089ca871d5c01b5), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 AD)" ) +GAME_CUSTOM( 199?, m4rfym__v, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "aprb.p1", 0x0000, 0x010000, CRC(72ad662a) SHA1(11f1695e05ecf34a58f8df3ffbc72ab2dd7d02c9), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 B)" ) +GAME_CUSTOM( 199?, m4rfym__w, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "aprbd.p1", 0x0000, 0x010000, CRC(13af990d) SHA1(604d2173e3d6d25252b30b5bf386b53470c35581), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 BD)" ) +GAME_CUSTOM( 199?, m4rfym__x, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "aprc.p1", 0x0000, 0x010000, CRC(fd3ece9a) SHA1(e11d1d258a415865f7477cdfddcd47e9bdb1c9b5), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 C)" ) +GAME_CUSTOM( 199?, m4rfym__y, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "aprd.p1", 0x0000, 0x010000, CRC(8c19b732) SHA1(e7aeea41cf649fe2a28414ddedacdf72f56d32fe), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 D)" ) +GAME_CUSTOM( 199?, m4rfym__z, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "aprdk.p1", 0x0000, 0x010000, CRC(58a41fcd) SHA1(e8c92dfb5c9662c90d363b5b7a7e0a4b4894d4cb), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 KD)" ) +GAME_CUSTOM( 199?, m4rfym__0, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "aprdy.p1", 0x0000, 0x010000, CRC(9496cfad) SHA1(cb24779db99d283f1df86864886f21ad333cb98b), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 YD)" ) +GAME_CUSTOM( 199?, m4rfym__1, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "aprk.p1", 0x0000, 0x010000, CRC(7277ef07) SHA1(dc509d125f8d377d4b2cb011d32be5bdba1daa17), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 K)" ) +GAME_CUSTOM( 199?, m4rfym__3, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "apry.p1", 0x0000, 0x010000, CRC(bf2120bc) SHA1(473374a9510dd53e39b94bfcf1369e13647239e6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 Y)" ) // "(C)1993 BARCREST" and "RU8 0.1" -GAME_CUSTOM( 199?, m4rfym__am, m4rfym, "ru8s.p1", 0x0000, 0x010000, CRC(d6ce5891) SHA1(c130e7bf614c67767c9af6f38e3cd41ce63d11ef), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1)" ) -GAME_CUSTOM( 199?, m4rfym__ah, m4rfym, "ru8c.p1", 0x0000, 0x010000, CRC(93290724) SHA1(37b17b08f77b308289d4392900576dc66a0377eb), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 C)" ) -GAME_CUSTOM( 199?, m4rfym__ai, m4rfym, "ru8d.p1", 0x0000, 0x010000, CRC(3e7d6ebb) SHA1(a836a52aef9fe4a9021835e99109b7fefb4ead76), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 D)" ) -GAME_CUSTOM( 199?, m4rfym__aj, m4rfym, "ru8dk.p1", 0x0000, 0x010000, CRC(b2983dc1) SHA1(412bf4a643c807371fa465fb5f9a85bc3e46623d), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 KD)" ) -GAME_CUSTOM( 199?, m4rfym__ak, m4rfym, "ru8dy.p1", 0x0000, 0x010000, CRC(7d06cdcc) SHA1(d68f6ee59eb7689df30412288db4e9ee6c4bf178), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 YD)" ) -GAME_CUSTOM( 199?, m4rfym__al, m4rfym, "ru8k.p1", 0x0000, 0x010000, CRC(42f6226e) SHA1(c4bac8efd9c17f96dd9d973e9f64c85ceeacb36b), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 K)" ) -GAME_CUSTOM( 199?, m4rfym__an, m4rfym, "ru8y.p1", 0x0000, 0x010000, CRC(f1fc1e75) SHA1(f6f1008349505ee0c494fcdde27db2a15147b6cb), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 Y)" ) +GAME_CUSTOM( 199?, m4rfym__am, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru8s.p1", 0x0000, 0x010000, CRC(d6ce5891) SHA1(c130e7bf614c67767c9af6f38e3cd41ce63d11ef), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1)" ) +GAME_CUSTOM( 199?, m4rfym__ah, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru8c.p1", 0x0000, 0x010000, CRC(93290724) SHA1(37b17b08f77b308289d4392900576dc66a0377eb), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 C)" ) +GAME_CUSTOM( 199?, m4rfym__ai, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru8d.p1", 0x0000, 0x010000, CRC(3e7d6ebb) SHA1(a836a52aef9fe4a9021835e99109b7fefb4ead76), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 D)" ) +GAME_CUSTOM( 199?, m4rfym__aj, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru8dk.p1", 0x0000, 0x010000, CRC(b2983dc1) SHA1(412bf4a643c807371fa465fb5f9a85bc3e46623d), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4rfym__ak, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru8dy.p1", 0x0000, 0x010000, CRC(7d06cdcc) SHA1(d68f6ee59eb7689df30412288db4e9ee6c4bf178), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4rfym__al, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru8k.p1", 0x0000, 0x010000, CRC(42f6226e) SHA1(c4bac8efd9c17f96dd9d973e9f64c85ceeacb36b), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 K)" ) +GAME_CUSTOM( 199?, m4rfym__an, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru8y.p1", 0x0000, 0x010000, CRC(f1fc1e75) SHA1(f6f1008349505ee0c494fcdde27db2a15147b6cb), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 Y)" ) + +// "(C)1993 BARCREST" and "AP1 0.1" +GAME_CUSTOM( 199?, m4rfym__h, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap1s.p1", 0x0000, 0x010000, CRC(7474509c) SHA1(c87e20f10806ec87fd33f97b43b8378d304f7d67), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1)" ) +GAME_CUSTOM( 199?, m4rfym__a, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap1ad.p1", 0x0000, 0x010000, CRC(d1adbf80) SHA1(08801f38b8ba5034fd83b53b6cfff864104525b4), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 AD)" ) +GAME_CUSTOM( 199?, m4rfym__b, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap1b.p1", 0x0000, 0x010000, CRC(4939f186) SHA1(389d46d603e75d3aaeeca990f4e1143c61f1565f), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 B)" ) +GAME_CUSTOM( 199?, m4rfym__c, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap1bd.p1", 0x0000, 0x010000, CRC(08a33b2c) SHA1(ef38e9cd0c9bc8393530e36060c803d1250c46a6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 BD)" ) +GAME_CUSTOM( 199?, m4rfym__d, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap1d.p1", 0x0000, 0x010000, CRC(edef44fe) SHA1(4907804c1bebc1f13aa3eb9dad0e9189de8e9601), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 D)" ) +GAME_CUSTOM( 199?, m4rfym__e, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap1dk.p1", 0x0000, 0x010000, CRC(873a402c) SHA1(1315a4ad18544ca5d65526ea0f620cac528e4cad), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 KD)" ) +GAME_CUSTOM( 199?, m4rfym__f, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap1dy.p1", 0x0000, 0x010000, CRC(e8436c00) SHA1(1c2f171e55c3519d63d6c4dd0d56df4e1daad6af), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 YD)" ) +GAME_CUSTOM( 199?, m4rfym__g, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap1k.p1", 0x0000, 0x010000, CRC(9afeb1e7) SHA1(5fc5d73a2c976d227a0598fb1dd802c6336415d1), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 K)" ) +GAME_CUSTOM( 199?, m4rfym__i, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap1y.p1", 0x0000, 0x010000, CRC(152bf7cb) SHA1(8dd8b621f9dac430c293b29ca03814fc21a148b9), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 Y)" ) +// "(C)1993 BARCREST" and "AP5 0.2" +GAME_CUSTOM( 199?, m4rfym__s, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap502s.p1", 0x0000, 0x010000, CRC(8502a09a) SHA1(e635552b7f0c7b2e142d7f4d0f1fd93edac6132d), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2)" ) +GAME_CUSTOM( 199?, m4rfym__j, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap502ad.p1", 0x0000, 0x010000, CRC(ab059e57) SHA1(45ba91989b0fd1a44628f696b78eae2a349e3e4a), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 AD)" ) +GAME_CUSTOM( 199?, m4rfym__k, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap502b.p1", 0x0000, 0x010000, CRC(9ed27a6e) SHA1(2d655305a178e4ebe43f3d429dfec5a2ef6b9873), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 B)" ) +GAME_CUSTOM( 199?, m4rfym__l, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap502bd.p1", 0x0000, 0x010000, CRC(48e83fcd) SHA1(3e2de0416722df5004f00baae2d3f6846ff596e5), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 BD)" ) +GAME_CUSTOM( 199?, m4rfym__m, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap502d.p1", 0x0000, 0x010000, CRC(d0560301) SHA1(c35e97391c588f6567eeb253eb9de59bec9e1724), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 D)" ) +GAME_CUSTOM( 199?, m4rfym__n, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap502dk.p1", 0x0000, 0x010000, CRC(82aa8d80) SHA1(e42d10537dcc5aaae59472681b215b0eb0821c25), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 KD)" ) +GAME_CUSTOM( 199?, m4rfym__o, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap502dr.p1", 0x0000, 0x010000, CRC(1cfb3102) SHA1(b1d3a533de0ff93e15f7c039e75af0ef6c8eec57), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 RD)" ) +GAME_CUSTOM( 199?, m4rfym__p, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap502dy.p1", 0x0000, 0x010000, CRC(819019ec) SHA1(36d2093a7a592850533d4206e0c9dd28cdc17568), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 YD)" ) +GAME_CUSTOM( 199?, m4rfym__q, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap502k.p1", 0x0000, 0x010000, CRC(5064a894) SHA1(3e67358fe5ed9bfac05f621d7e72e5be7aae67df), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 K)" ) +GAME_CUSTOM( 199?, m4rfym__r, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap502r.p1", 0x0000, 0x010000, CRC(2503c7da) SHA1(2478bab8b19ab68ff01be8fae2e86e47894b3d7c), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 R)" ) +GAME_CUSTOM( 199?, m4rfym__t, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ap502y.p1", 0x0000, 0x010000, CRC(b868ef34) SHA1(a773503afd2f59b71e0b9a7e202d3e7120ec88ff), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 Y)" ) +// "(C)1993 BARCREST" and "RU5 0.1" +GAME_CUSTOM( 199?, m4rfym__af, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru5s.p1", 0x0000, 0x010000, CRC(41795ea3) SHA1(6bfb6da6c0f7e762d628ce8a9dcdcbc3c0326ca6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1)" ) +GAME_CUSTOM( 199?, m4rfym__8, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru5ad.p1", 0x0000, 0x010000, CRC(1c3e1f39) SHA1(a45cdaaa875e52cf5cd5adf986c98f4a22a14785), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 AD)" ) +GAME_CUSTOM( 199?, m4rfym__9, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru5b.p1", 0x0000, 0x010000, CRC(41e44d37) SHA1(8eb409b96864fb0f7c3bf5c66a20a63c8cbc68af), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 B)" ) +GAME_CUSTOM( 199?, m4rfym__aa, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru5bd.p1", 0x0000, 0x010000, CRC(8d4db415) SHA1(b023a13f89b7e5c2f72fd213179f723621871faf), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 BD)" ) +GAME_CUSTOM( 199?, m4rfym__ab, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru5d.p1", 0x0000, 0x010000, CRC(fcb70a63) SHA1(df81c3c26c066c1326b20b9e0dda2863ee9635a6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 D)" ) +GAME_CUSTOM( 199?, m4rfym__ac, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru5dk.p1", 0x0000, 0x010000, CRC(b4d83863) SHA1(02aebf94773d0a9454119b4ad663b6d8475fc8d3), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 KD)" ) +GAME_CUSTOM( 199?, m4rfym__ad, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru5dy.p1", 0x0000, 0x010000, CRC(66375af5) SHA1(0a6d10357c163e5e27e7436f8190070e36e3ef90), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 YD)" ) +GAME_CUSTOM( 199?, m4rfym__ae, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru5k.p1", 0x0000, 0x010000, CRC(7871c141) SHA1(e1e9d2972c87d2835b1e5a62502160cb4abb7736), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 K)" ) +GAME_CUSTOM( 199?, m4rfym__ag, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ru5y.p1", 0x0000, 0x010000, CRC(ee217541) SHA1(68474c2e430d95ded2856183b9a02be917d092d6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 Y)" ) // "(C)1993 BARCREST" and "RUT 0.1" -GAME_CUSTOM( 199?, m4rfym__a0, m4rfym, "ruts.p1", 0x0000, 0x010000, CRC(efaf4e03) SHA1(da19d6e28a6727eb9afb69c23fd5685f0dbcc31a), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1)" ) -GAME_CUSTOM( 199?, m4rfym__at, m4rfym, "rutad.p1", 0x0000, 0x010000, CRC(f27090c9) SHA1(28b7bb8046f67a3f8b90069de845b0b791b57078), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 AD)" ) -GAME_CUSTOM( 199?, m4rfym__au, m4rfym, "rutb.p1", 0x0000, 0x010000, CRC(cb7a74bf) SHA1(24274c7e3b40642d698f5c3a9a10cfeb23faaf1b), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 B)" ) -GAME_CUSTOM( 199?, m4rfym__av, m4rfym, "rutbd.p1", 0x0000, 0x010000, CRC(19aba8f2) SHA1(cb726130837149c25adb5d87718b72259cb63a63), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 BD)" ) -GAME_CUSTOM( 199?, m4rfym__aw, m4rfym, "rutd.p1", 0x0000, 0x010000, CRC(16a872bd) SHA1(47ad5eb9b473805e2eb86e0d4d9ef4b2e6e3c926), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 D)" ) -GAME_CUSTOM( 199?, m4rfym__ax, m4rfym, "rutdk.p1", 0x0000, 0x010000, CRC(a8259673) SHA1(443081395ea0c1b0a07e6cd4b17670b3e01bb50f), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 KD)" ) -GAME_CUSTOM( 199?, m4rfym__ay, m4rfym, "rutdy.p1", 0x0000, 0x010000, CRC(6b799f68) SHA1(87482236f1116983e80a7f190710524d3809cd3a), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 YD)" ) -GAME_CUSTOM( 199?, m4rfym__az, m4rfym, "rutk.p1", 0x0000, 0x010000, CRC(20962e5e) SHA1(0be43050d403750b67c796a007b503e132014f4c), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 K)" ) -GAME_CUSTOM( 199?, m4rfym__a1, m4rfym, "ruty.p1", 0x0000, 0x010000, CRC(abb708c5) SHA1(6fe3b52a0ba484576fc83ed35aefeda01d275aec), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 Y)" ) -// "(C)1996 B.W.B." and "RUC 1.3" (but hack?) -GAME_CUSTOM( 199?, m4rfym__6, m4rfym, "rfym510l", 0x0000, 0x010000, CRC(24af47f3) SHA1(3d1ec9b013f3f7b497cfb62b42fbb2fa914b24b6), "hack","Run For Your Money (Barcrest) (MPU4) (RUC 1.3 K5, hack, set 1)" ) -GAME_CUSTOM( 199?, m4rfym__a3, m4rfym, "rfym5.10", 0x0000, 0x010000, CRC(c2ce2cc2) SHA1(d5633e01f669ee8772ed77befa90180c6aa0111c), "hack","Run For Your Money (Barcrest) (MPU4) (RUC 1.3 K5, hack, set 2)" ) +GAME_CUSTOM( 199?, m4rfym__a0, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ruts.p1", 0x0000, 0x010000, CRC(efaf4e03) SHA1(da19d6e28a6727eb9afb69c23fd5685f0dbcc31a), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1)" ) +GAME_CUSTOM( 199?, m4rfym__at, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "rutad.p1", 0x0000, 0x010000, CRC(f27090c9) SHA1(28b7bb8046f67a3f8b90069de845b0b791b57078), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 AD)" ) +GAME_CUSTOM( 199?, m4rfym__au, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "rutb.p1", 0x0000, 0x010000, CRC(cb7a74bf) SHA1(24274c7e3b40642d698f5c3a9a10cfeb23faaf1b), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 B)" ) +GAME_CUSTOM( 199?, m4rfym__av, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "rutbd.p1", 0x0000, 0x010000, CRC(19aba8f2) SHA1(cb726130837149c25adb5d87718b72259cb63a63), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 BD)" ) +GAME_CUSTOM( 199?, m4rfym__aw, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "rutd.p1", 0x0000, 0x010000, CRC(16a872bd) SHA1(47ad5eb9b473805e2eb86e0d4d9ef4b2e6e3c926), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 D)" ) +GAME_CUSTOM( 199?, m4rfym__ax, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "rutdk.p1", 0x0000, 0x010000, CRC(a8259673) SHA1(443081395ea0c1b0a07e6cd4b17670b3e01bb50f), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 KD)" ) +GAME_CUSTOM( 199?, m4rfym__ay, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "rutdy.p1", 0x0000, 0x010000, CRC(6b799f68) SHA1(87482236f1116983e80a7f190710524d3809cd3a), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 YD)" ) +GAME_CUSTOM( 199?, m4rfym__az, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "rutk.p1", 0x0000, 0x010000, CRC(20962e5e) SHA1(0be43050d403750b67c796a007b503e132014f4c), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 K)" ) +GAME_CUSTOM( 199?, m4rfym__a1, m4rfym, mod4oki_cheatchr_pal, mpu4, init_m4default, "ruty.p1", 0x0000, 0x010000, CRC(abb708c5) SHA1(6fe3b52a0ba484576fc83ed35aefeda01d275aec), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 Y)" ) +// bootlegs // "(C)1996 B.W.B." and "RU4 1.1" (but hack?) -GAME_CUSTOM( 199?, m4rfym__a4, m4rfym, "rfym5.4", 0x0000, 0x010000, CRC(fe613006) SHA1(898b90893bfcb121575952c22c16570a27948bce), "hack","Run For Your Money (Barcrest) (MPU4) (RU4 1.1 K5, hack, set 1)" ) -// "(C)1996 B.W.B." and "RU8 1.2" (but hack?) -GAME_CUSTOM( 199?, m4rfym__a5, m4rfym, "rfym5.8t", 0x0000, 0x010000, CRC(c600718a) SHA1(168fa558f1b5b91fb805d483f3f4351ac80f90ff), "hack","Run For Your Money (Barcrest) (MPU4) (RU8 1.2 K5, hack)" ) -// "BILL AND BEN" and "V1 8 0.1" (hack) -GAME_CUSTOM( 199?, m4rfym__4, m4rfym, "rfym20", 0x0000, 0x010000, CRC(5e1d70e2) SHA1(2da1b8033a77d367c4b5c3d83a0e5def4e5e5d78), "hack","Run For Your Money (Barcrest) (MPU4) (V1 8 0.1 C, hack, set 1)" ) -GAME_CUSTOM( 199?, m4rfym__5, m4rfym, "rfym2010", 0x0000, 0x010000, CRC(ec440e7e) SHA1(21f8d4708b5d779dcefcc1e921a5efe17dd6f8c7), "hack","Run For Your Money (Barcrest) (MPU4) (V1 8 0.1 C, hack, set 2)" ) -GAME_CUSTOM( 199?, m4rfym__a2, m4rfym, "rfym20.10", 0x0000, 0x010000, CRC(947d00d2) SHA1(2c99da689541de247e35ac39eadfe070ac3196b5), "hack","Run For Your Money (Barcrest) (MPU4) (V1 8 0.1 C, hack, set 3)" ) +GAME_CUSTOM( 199?, m4rfym__a4, m4rfym, mod4oki_bootleg_fixedret<0x2c>, mpu4, init_m4default, "rfym5.4", 0x0000, 0x010000, CRC(fe613006) SHA1(898b90893bfcb121575952c22c16570a27948bce), "hack","Run For Your Money (Barcrest) (MPU4) (RU4 1.1 K5, hack, set 1)" ) // "1997 COCO" and "RU4 1.1" (hack) -GAME_CUSTOM( 199?, m4rfym__7, m4rfym, "rfym55", 0x0000, 0x010000, CRC(b7d638d8) SHA1(6064ceffd94ff149d8bcb117fd823de52030ac64), "hack","Run For Your Money (Barcrest) (MPU4) (RU4 1.1 K5, hack, set 2)" ) +GAME_CUSTOM( 199?, m4rfym__7, m4rfym, mod4oki_bootleg_fixedret<0x28>, mpu4, init_m4default, "rfym55", 0x0000, 0x010000, CRC(b7d638d8) SHA1(6064ceffd94ff149d8bcb117fd823de52030ac64), "hack","Run For Your Money (Barcrest) (MPU4) (RU4 1.1 K5, hack, set 2)" ) +// different protection +// "(C)1996 B.W.B." and "RU8 1.2" (but hack?) +GAME_CUSTOM( 199?, m4rfym__a5, m4rfym, mod4oki_bootleg_fixedret<0x2d>, mpu4, init_m4default, "rfym5.8t", 0x0000, 0x010000, CRC(c600718a) SHA1(168fa558f1b5b91fb805d483f3f4351ac80f90ff), "hack","Run For Your Money (Barcrest) (MPU4) (RU8 1.2 K5, hack)" ) +// "(C)1996 B.W.B." and "RUC 1.3" (but hack?) +GAME_CUSTOM( 199?, m4rfym__6, m4rfym, mod4oki_bootleg_fixedret<0x1c>, mpu4, init_m4default, "rfym510l", 0x0000, 0x010000, CRC(24af47f3) SHA1(3d1ec9b013f3f7b497cfb62b42fbb2fa914b24b6), "hack","Run For Your Money (Barcrest) (MPU4) (RUC 1.3 K5, hack, set 1)" ) +GAME_CUSTOM( 199?, m4rfym__a3, m4rfym, mod4oki_bootleg_fixedret<0x1c>, mpu4, init_m4default, "rfym5.10", 0x0000, 0x010000, CRC(c2ce2cc2) SHA1(d5633e01f669ee8772ed77befa90180c6aa0111c), "hack","Run For Your Money (Barcrest) (MPU4) (RUC 1.3 K5, hack, set 2)" ) +// "BILL AND BEN" and "V1 8 0.1" (hack) +GAME_CUSTOM( 199?, m4rfym__4, m4rfym, mod4oki_bootleg_fixedret<0x1e>, mpu4, init_m4default, "rfym20", 0x0000, 0x010000, CRC(5e1d70e2) SHA1(2da1b8033a77d367c4b5c3d83a0e5def4e5e5d78), "hack","Run For Your Money (Barcrest) (MPU4) (V1 8 0.1 C, hack, set 1)" ) +GAME_CUSTOM( 199?, m4rfym__5, m4rfym, mod4oki_bootleg_fixedret<0x60>, mpu4, init_m4default, "rfym2010", 0x0000, 0x010000, CRC(ec440e7e) SHA1(21f8d4708b5d779dcefcc1e921a5efe17dd6f8c7), "hack","Run For Your Money (Barcrest) (MPU4) (V1 8 0.1 C, hack, set 2)" ) +GAME_CUSTOM( 199?, m4rfym__a2, m4rfym, mod4oki_bootleg_fixedret<0x1e>, mpu4, init_m4default, "rfym20.10", 0x0000, 0x010000, CRC(947d00d2) SHA1(2c99da689541de247e35ac39eadfe070ac3196b5), "hack","Run For Your Money (Barcrest) (MPU4) (V1 8 0.1 C, hack, set 3)" ) + + +/***************************************************************************************************************************************************************************** +* +* Prize Run For Your Money +* +*****************************************************************************************************************************************************************************/ + +#define M4PRZRFM_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ + /* missing? */ +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4PRZRFM_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "PRU 0.2" +GAME_CUSTOM( 199?, m4przrfm, 0, "prus.p1", 0x0000, 0x010000, CRC(d6c22253) SHA1(f9a25dd1c6f16849a6eb1febdc2da16080cc6838), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (PRU 0.2)" ) +GAME_CUSTOM( 199?, m4przrfm__d, m4przrfm, "prub.p1", 0x0000, 0x010000, CRC(748f220f) SHA1(5d729057d521fa656375610e424cfd4088f6ea02), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (PRU 0.2 B)" ) +GAME_CUSTOM( 199?, m4przrfm__a, m4przrfm, "prud.p1", 0x0000, 0x010000, CRC(426bf7c1) SHA1(998b7968d4ed2fb0d1fcaf13929c76670100d9df), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (PRU 0.2 D)" ) +GAME_CUSTOM( 199?, m4przrfm__b, m4przrfm, "prudy.p1", 0x0000, 0x010000, CRC(e9f76ebd) SHA1(8f1151e123e73ac40fdb6f071960d1ed3e72692a), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (PRU 0.2 YD)" ) +GAME_CUSTOM( 199?, m4przrfm__c, m4przrfm, "pruk.p1", 0x0000, 0x010000, CRC(b995d098) SHA1(22107fbbc8c4e026fc34159114cdbfcd130f814e), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (PRU 0.2 K)" ) +GAME_CUSTOM( 199?, m4przrfm__e, m4przrfm, "pruy.p1", 0x0000, 0x010000, CRC(fcd8add4) SHA1(14e922daf24d981a3a65463bf64213722d8ba758), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (PRU 0.2 Y)" ) +// "(C)1993 BARCREST" and "RM8 0.1" +GAME_CUSTOM( 199?, m4przrfm__n, m4przrfm, "rm8s.p1", 0x0000, 0x010000, CRC(9ab83f24) SHA1(bdc72a9d6f22244a2be86b035fac84433705ce78), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1)" ) +GAME_CUSTOM( 199?, m4przrfm__f, m4przrfm, "rm8b.p1", 0x0000, 0x010000, CRC(181da11e) SHA1(c06a9626a541a56d707f9b80806714020cefa7b2), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 B)" ) +GAME_CUSTOM( 199?, m4przrfm__g, m4przrfm, "rm8bd.p1", 0x0000, 0x010000, CRC(b3d983b5) SHA1(7881c31617855983981f93190afddb0aa880ce0a), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 BD)" ) +GAME_CUSTOM( 199?, m4przrfm__h, m4przrfm, "rm8d.p1", 0x0000, 0x010000, CRC(94377ab0) SHA1(2c43dfd11eeca53faae661d7af4a986fdbb6d7e9), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 D)" ) +GAME_CUSTOM( 199?, m4przrfm__i, m4przrfm, "rm8dj.p1", 0x0000, 0x010000, CRC(601b8f3b) SHA1(3cc130adb5e78e9a5380b27a219a022201293988), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 DJ)" ) +GAME_CUSTOM( 199?, m4przrfm__j, m4przrfm, "rm8dk.p1", 0x0000, 0x010000, CRC(8b281018) SHA1(5d1f68662b206f9c9948d32fdcda98d99a53987b), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4przrfm__k, m4przrfm, "rm8dy.p1", 0x0000, 0x010000, CRC(bac738e3) SHA1(21bd359cfeaf1e33268cecef08d8c7d23d89360c), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4przrfm__l, m4przrfm, "rm8j.p1", 0x0000, 0x010000, CRC(b825b8fd) SHA1(6fa58784018fd7be6528e60d8642803cca55c15d), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 J)" ) +GAME_CUSTOM( 199?, m4przrfm__m, m4przrfm, "rm8k.p1", 0x0000, 0x010000, CRC(3f559f9e) SHA1(f70c127490859a3b4c405fd0efd18168dd3b0728), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 K)" ) +GAME_CUSTOM( 199?, m4przrfm__o, m4przrfm, "rm8y.p1", 0x0000, 0x010000, CRC(47a3873e) SHA1(51baf82a7a4dee10b1a2f7862030f960912d8d7c), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 Y)" ) + + +/***************************************************************************************************************************************************************************** +* +* Ready Steady Go +* +*****************************************************************************************************************************************************************************/ #define M4READY_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "rgosnd.p1", 0x000000, 0x080000, CRC(d9345794) SHA1(4ed060fe61b3530e88ba9afea1fb69efed47c955) ) \ ROM_LOAD( "rgosnd.p2", 0x080000, 0x080000, CRC(4656f94e) SHA1(2f276ced34a43bb7fc69304f519b913d699c3450) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -1939,7 +2557,9 @@ GAME_CUSTOM( 199?, m4rfym__7, m4rfym, "rfym55", 0x0000, 0x010000, CRC(b ROM_LOAD( name, offset, length, hash ) \ M4READY_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// all boot with tri98, hopper alarm, press Q to run open door // "(C)1991 BARCREST" and "RGO 0.8" GAME_CUSTOM( 199?, m4ready, 0, "rgos.p1", 0x0000, 0x010000, CRC(d00d3540) SHA1(0fd6a08477d05d1c129038c8de47de68a28c0a56), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8)" ) @@ -2025,12 +2645,17 @@ GAME_CUSTOM( 199?, m4ready__a0, m4ready, "rgt10dr.p1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4ready__a1, m4ready, "rgt10dy.p1", 0x0000, 0x010000, CRC(fe2498e9) SHA1(bd81c775daf860c2484af88a8b11b75df00ccaaa), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0 YD)" ) +/***************************************************************************************************************************************************************************** +* +* Magnificent 7s +* +*****************************************************************************************************************************************************************************/ + #define M4MAG7S_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "mag7.chr", 0x0000, 0x000048, CRC(4835e911) SHA1(7171cdabf6cf76e09ea55b41f0f8a98b94032486) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "ma7snd1.bin", 0x000000, 0x080000, CRC(f0e31329) SHA1(60b94c3223c8863fe801b93f65ff65e94f3dec83) ) \ ROM_LOAD( "ma7snd2.bin", 0x080000, 0x080000, CRC(12110d16) SHA1(fa93a263d1e3fa8b0b2f618f52e5145330f4315d) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -2038,7 +2663,7 @@ GAME_CUSTOM( 199?, m4ready__a1, m4ready, "rgt10dy.p1", 0x0000, 0x010000, CR ROM_LOAD( name, offset, length, hash ) \ M4MAG7S_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4jackpot8per, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4jackpot8per, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "MAS 1.2" GAME_CUSTOM( 199?, m4mag7s, 0, "mas12s.p1", 0x0000, 0x020000, CRC(0a94e574) SHA1(e4516638fb7f783e79cfcdbbef1188965351eae2), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MAS 1.2)" ) @@ -2071,6 +2696,16 @@ GAME_CUSTOM( 199?, m4mag7s__j, m4mag7s, "ma715h.p1", 0x0000, 0x020000 GAME_CUSTOM( 199?, m4mag7s__k, m4mag7s, "ma715k.p1", 0x0000, 0x020000, CRC(4717cbd2) SHA1(b88b17dda9e16ecbcce55bdb99c23d9e8267b7b9), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MA7 1.5 K)" ) GAME_CUSTOM( 199?, m4mag7s__l, m4mag7s, "ma715r.p1", 0x0000, 0x020000, CRC(ddf9156b) SHA1(b8fb10944d910cd72a3268a80e8cd1b07dbee8f3), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MA7 1.5 R)" ) GAME_CUSTOM( 199?, m4mag7s__n, m4mag7s, "ma715y.p1", 0x0000, 0x020000, CRC(73fb501d) SHA1(2449da89e811ebf27970a8a9336107f85d876229), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MA7 1.5 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4MAG7S_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4jackpot8per, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // "(C)1993 BARCREST" and "MA7 1.6" GAME_CUSTOM( 199?, m4mag7s__z, m4mag7s, "ma716s.p1", 0x0000, 0x020000, CRC(30fd2e9f) SHA1(9ed06ee736a09b36f48fb3b69be03b39861b0ea5), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MA7 1.6)" ) GAME_CUSTOM( 199?, m4mag7s__o, m4mag7s, "ma716ad.p1", 0x0000, 0x020000, CRC(7632ce64) SHA1(2308d777110aa7636c4c0fc08be23d1732ba3b69), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MA7 1.6 AD)" ) @@ -2085,8 +2720,6 @@ GAME_CUSTOM( 199?, m4mag7s__w, m4mag7s, "ma716h.p1", 0x0000, 0x020000 GAME_CUSTOM( 199?, m4mag7s__x, m4mag7s, "ma716k.p1", 0x0000, 0x020000, CRC(35463bfd) SHA1(c288189f5ca7f00d1ae66521f77976275da39cc1), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MA7 1.6 K)" ) GAME_CUSTOM( 199?, m4mag7s__y, m4mag7s, "ma716r.p1", 0x0000, 0x020000, CRC(afa8e544) SHA1(83f7d80ec359ba832caa9814e9a9fa04174ae596), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MA7 1.6 R)" ) GAME_CUSTOM( 199?, m4mag7s__0, m4mag7s, "ma716y.p1", 0x0000, 0x020000, CRC(01aaa032) SHA1(9b27b5b90cbf89e537110964837507cff4573094), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MA7 1.6 Y)" ) -// "(C)1993 BARCREST" and "MA7 1.6" but doesn't display anything, bad? hack? -GAME_CUSTOM( 199?, m4mag7s__3, m4mag7s, "mag7s1-6_15.bin", 0x0000, 0x020000, CRC(2a4d7328) SHA1(78b6b358e7ff3efd086512550e7690f59ee4b225), "hack","Magnificent 7s (Barcrest) (MPU4) (MA7 1.6, hack)" ) // "(C)1993 BARCREST" and "MAS 1.3" GAME_CUSTOM( 199?, m4mag7s__at, m4mag7s, "mas13s.p1", 0x0000, 0x020000, CRC(80ca53c0) SHA1(19e67a259fca2fca3990f032d7825d67309d47d3), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MAS 1.3)" ) GAME_CUSTOM( 199?, m4mag7s__ah, m4mag7s, "mas13ad.p1", 0x0000, 0x020000, CRC(f39f7e0e) SHA1(39453c09c2e8b84fce9e53fbe86244f2381e2ac5), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MAS 1.3 AD)" ) @@ -2102,21 +2735,66 @@ GAME_CUSTOM( 199?, m4mag7s__aq, m4mag7s, "mas13h.p1", 0x0000, 0x020000 GAME_CUSTOM( 199?, m4mag7s__ar, m4mag7s, "mas13k.p1", 0x0000, 0x020000, CRC(3b419349) SHA1(d72f6493a6f7631b44f27e9cde499bdd192b5e0a), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MAS 1.3 K)" ) GAME_CUSTOM( 199?, m4mag7s__as, m4mag7s, "mas13r.p1", 0x0000, 0x020000, CRC(884e2878) SHA1(c4f070019116543f4683c088d915709c040145ff), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MAS 1.3 R)" ) GAME_CUSTOM( 199?, m4mag7s__au, m4mag7s, "mas13y.p1", 0x0000, 0x020000, CRC(bca2b3b7) SHA1(ff48b91578230bc77529cb59fbcb7e3bd77b946d), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MAS 1.3 Y)" ) -// "(C)1993 BARCREST" and "MAS 1.0" (but doesn't boot and doesn't have the usual looking data in the 1st half, maybe bad, maybe 1st half was erased by another game for another platform, check) -GAME_CUSTOM( 199?, m4mag7s__av, m4mag7s, "mas10w.p1", 0x0000, 0x020000, CRC(e2fcc14a) SHA1(69b37a2d130b34636d5ff8e646d2be6d7e8b19f9), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MAS 1.0, bad?)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4MAG7S_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4jackpot8per, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // "(C)1998 B.W.B." and "M7 2.0" GAME_CUSTOM( 199?, m4mag7s__aw, m4mag7s, "m7_sj_dc.2r1", 0x0000, 0x020000, CRC(0eefd40c) SHA1(2c30bc42d23c7cfb0a382b47f7ed865865341e2f), "Bwb","Magnificent 7s (Barcrest) (MPU4) (M7 2.0 CD)" ) GAME_CUSTOM( 199?, m4mag7s__ax, m4mag7s, "m7_sja_c.2r1", 0x0000, 0x020000, CRC(3933772c) SHA1(5e9d12a9f58ce5129634b8a4c8c0f083031df295), "Bwb","Magnificent 7s (Barcrest) (MPU4) (M7 2.0 CK)" ) + + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4MAG7S_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4jackpot8per, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// different protection + // no copyright string and "MA7 1.5" GAME_CUSTOM( 199?, m4mag7s__1, m4mag7s, "mag715g", 0x0000, 0x020000, CRC(5a28a94b) SHA1(16621ac2294dd7f0b9e58125ba800331e879f39e), "hack","Magnificent 7s (Barcrest) (MPU4) (MA7 1.5, hack)" ) // no copyright string and "MAS 1.2" GAME_CUSTOM( 199?, m4mag7s__2, m4mag7s, "mag715t", 0x0000, 0x020000, CRC(cdea8e84) SHA1(ad38be8bb5e1247c53c7b48ec6dceebe3e757c9c), "hack","Magnificent 7s (Barcrest) (MPU4) (MAS 1.2, hack)" ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4MAG7S_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki, mpu4jackpot8per, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + + +// probably bad + +// "(C)1993 BARCREST" and "MA7 1.6" but doesn't display anything, bad? hack? +GAME_CUSTOM( 199?, m4mag7s__3, m4mag7s, "mag7s1-6_15.bin", 0x0000, 0x020000, CRC(2a4d7328) SHA1(78b6b358e7ff3efd086512550e7690f59ee4b225), "hack","Magnificent 7s (Barcrest) (MPU4) (MA7 1.6, hack)" ) +// "(C)1993 BARCREST" and "MAS 1.0" (but doesn't boot and doesn't have the usual looking data in the 1st half, maybe bad, maybe 1st half was erased by another game for another platform, check) +GAME_CUSTOM( 199?, m4mag7s__av, m4mag7s, "mas10w.p1", 0x0000, 0x020000, CRC(e2fcc14a) SHA1(69b37a2d130b34636d5ff8e646d2be6d7e8b19f9), "Barcrest","Magnificent 7s (Barcrest) (MPU4) (MAS 1.0, bad?)" ) + + +/***************************************************************************************************************************************************************************** +* +* Make A Mint +* +*****************************************************************************************************************************************************************************/ #define M4MAKMNT_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "mamsnd.p1", 0x000000, 0x080000, CRC(8dc408e3) SHA1(48a9ffc5cf4fd04ed1320619ca915bbfa2406750) ) \ ROM_LOAD( "mamsnd.p2", 0x080000, 0x080000, CRC(6034e17a) SHA1(11e044c87b5fc6461b0c6cfac5c419daee930d7b) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -2124,20 +2802,8 @@ GAME_CUSTOM( 199?, m4mag7s__2, m4mag7s, "mag715t", 0x0000, 0x020000 ROM_LOAD( name, offset, length, hash ) \ M4MAKMNT_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) -// "(C)1993 BARCREST" and "MAM 0.3" -GAME_CUSTOM( 199?, m4makmnt, 0, "mams.p1", 0x0000, 0x020000, CRC(af08e1e6) SHA1(c7e87d351f67592084d758ee53ba4d354bb28866), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3)" ) -GAME_CUSTOM( 199?, m4makmnt__o, m4makmnt, "mamad.p1", 0x0000, 0x020000, CRC(82f63f55) SHA1(2cbc514a49e826505580a57f17ee696bdf9bf436), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 AD)" ) -GAME_CUSTOM( 199?, m4makmnt__p, m4makmnt, "mamb.p1", 0x0000, 0x020000, CRC(233c2e35) SHA1(823fc5736469c7e1d1da72bec8d64aabb277f9ab), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 B)" ) -GAME_CUSTOM( 199?, m4makmnt__q, m4makmnt, "mambd.p1", 0x0000, 0x020000, CRC(0fec9190) SHA1(6cea986853efc042c6325f31f790f80ae2993308), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 BD)" ) -GAME_CUSTOM( 199?, m4makmnt__r, m4makmnt, "mamc.p1", 0x0000, 0x020000, CRC(14769327) SHA1(435406a46a60666bbe6ebc9392b21d5b0404cffd), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 C)" ) -GAME_CUSTOM( 199?, m4makmnt__s, m4makmnt, "mamd.p1", 0x0000, 0x020000, CRC(5e272543) SHA1(c974b21ba488568e12d47f51f21d3b94d40255f3), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 D)" ) -GAME_CUSTOM( 199?, m4makmnt__t, m4makmnt, "mamdk.p1", 0x0000, 0x020000, CRC(452b39c6) SHA1(8b065391abd01c7b9d6c5beb95cf17a52c8ebe1a), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 KD)" ) -GAME_CUSTOM( 199?, m4makmnt__u, m4makmnt, "mamdy.p1", 0x0000, 0x020000, CRC(c2c81938) SHA1(de95d1e28af33dc96343cc615a945c5dfe3f04a7), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 YD)" ) -GAME_CUSTOM( 199?, m4makmnt__v, m4makmnt, "mamk.p1", 0x0000, 0x020000, CRC(69fb8663) SHA1(741b6e7b97d0c9b243e8e318ed169f92f8fbd5e9), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 K)" ) -GAME_CUSTOM( 199?, m4makmnt__w, m4makmnt, "mamr.p1", 0x0000, 0x020000, CRC(daf43d52) SHA1(066cf554178d4e4fdff10c1e93567618f711d196), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 R)" ) -GAME_CUSTOM( 199?, m4makmnt__x, m4makmnt, "mamy.p1", 0x0000, 0x020000, CRC(ee18a69d) SHA1(d3cf2c5ed4ec00be4d68c895ca3973da1acccb79), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 Y)" ) // "(C)1993 BARCREST" and "MAM 0.4" GAME_CUSTOM( 199?, m4makmnt__k, m4makmnt, "mam04s.p1", 0x0000, 0x020000, CRC(08eac690) SHA1(e35793da266bd9dd8a018ba9773f368e36ce501d), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.4)" ) GAME_CUSTOM( 199?, m4makmnt__a, m4makmnt, "mam04ad.p1", 0x0000, 0x020000, CRC(9b750bc7) SHA1(10a86f0a0d18ce0be502a9d36282f6b5eef0ece5), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.4 AD)" ) @@ -2151,19 +2817,6 @@ GAME_CUSTOM( 199?, m4makmnt__h, m4makmnt, "mam04dy.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4makmnt__i, m4makmnt, "mam04k.p1", 0x0000, 0x020000, CRC(c59b47ff) SHA1(8022c6c988532d3f98edf5c59c97403ab2d0fb90), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.4 K)" ) GAME_CUSTOM( 199?, m4makmnt__j, m4makmnt, "mam04r.p1", 0x0000, 0x020000, CRC(7694fcce) SHA1(a67c76551240129914cc071543db96962f3b198f), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.4 R)" ) GAME_CUSTOM( 199?, m4makmnt__l, m4makmnt, "mam04y.p1", 0x0000, 0x020000, CRC(42786701) SHA1(6efb0cbf630cd1b87715e692f76e368e3fba0856), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.4 Y)" ) -// "(C)1993 BARCREST" and "MMG 0.4" -GAME_CUSTOM( 199?, m4makmnt__9, m4makmnt, "mmg04s.p1", 0x0000, 0x020000, CRC(1c46683e) SHA1(d08589bb32056ea599e6ffbbb795f46f8eff0782), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4)" ) -GAME_CUSTOM( 199?, m4makmnt__z, m4makmnt, "mmg04ad.p1", 0x0000, 0x020000, CRC(9cbf9691) SHA1(a68f2e9e0ec03dc47017c221a3e780e5cc992a15), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 AD)" ) -GAME_CUSTOM( 199?, m4makmnt__0, m4makmnt, "mmg04b.p1", 0x0000, 0x020000, CRC(2507742d) SHA1(3bdd6f43da4d4c923bedcc1eba5cb1e1b92ee473), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 B)" ) -GAME_CUSTOM( 199?, m4makmnt__1, m4makmnt, "mmg04bd.p1", 0x0000, 0x020000, CRC(11a53854) SHA1(e52ee92f39645380864e86c694a345c028cb42cf), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 BD)" ) -GAME_CUSTOM( 199?, m4makmnt__2, m4makmnt, "mmg04c.p1", 0x0000, 0x020000, CRC(124dc93f) SHA1(f58a4d6830ece84467a0b247ba66132d659d1383), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 C)" ) -GAME_CUSTOM( 199?, m4makmnt__3, m4makmnt, "mmg04d.p1", 0x0000, 0x020000, CRC(581c7f5b) SHA1(224a9e4f6078d38606c7b08a15df05fbcb31a209), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 D)" ) -GAME_CUSTOM( 199?, m4makmnt__4, m4makmnt, "mmg04dk.p1", 0x0000, 0x020000, CRC(5b629002) SHA1(e08f55e157973518837d1045fe714221d5ba812d), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 KD)" ) -GAME_CUSTOM( 199?, m4makmnt__5, m4makmnt, "mmg04dr.p1", 0x0000, 0x020000, CRC(e86d2b33) SHA1(594c4fdba38f2463467e4906981738dafc15369d), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 RD)" ) -GAME_CUSTOM( 199?, m4makmnt__6, m4makmnt, "mmg04dy.p1", 0x0000, 0x020000, CRC(dc81b0fc) SHA1(3154899d80375413936d2c08edaaf2e97d490c5b), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 YD)" ) -GAME_CUSTOM( 199?, m4makmnt__7, m4makmnt, "mmg04k.p1", 0x0000, 0x020000, CRC(6fc0dc7b) SHA1(4ad8ef1e666e4796d3a09ba4bda9e48c60266380), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 K)" ) -GAME_CUSTOM( 199?, m4makmnt__8, m4makmnt, "mmg04r.p1", 0x0000, 0x020000, CRC(dccf674a) SHA1(a8b2ebeec8587e0655349baca700afc552c3e62d), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 R)" ) -GAME_CUSTOM( 199?, m4makmnt__aa, m4makmnt, "mmg04y.p1", 0x0000, 0x020000, CRC(e823fc85) SHA1(10414bbac8ac3bdbf11bc4092370c499fb9db650), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 Y)" ) // "(C)1993 BARCREST" and "MMG 0.5" GAME_CUSTOM( 199?, m4makmnt__al, m4makmnt, "mmg05s.p1", 0x0000, 0x020000, CRC(771c17c8) SHA1(d9e595ae020c48769fcbf3de718b6986b6fd8bc5), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.5)" ) GAME_CUSTOM( 199?, m4makmnt__ab, m4makmnt, "mmg05ad.p1", 0x0000, 0x020000, CRC(d1e70066) SHA1(9635da90808628ae84c6073fef9622a8f37bd069), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.5 AD)" ) @@ -2177,8 +2830,55 @@ GAME_CUSTOM( 199?, m4makmnt__ai, m4makmnt, "mmg05dy.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4makmnt__aj, m4makmnt, "mmg05k.p1", 0x0000, 0x020000, CRC(86c49da9) SHA1(bf29075a87574009f9ad8fd36e2d3a84c50e6b26), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.5 K)" ) GAME_CUSTOM( 199?, m4makmnt__ak, m4makmnt, "mmg05r.p1", 0x0000, 0x020000, CRC(35cb2698) SHA1(6371313a179559240ddb55976546ecc8d511e104), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.5 R)" ) GAME_CUSTOM( 199?, m4makmnt__am, m4makmnt, "mmg05y.p1", 0x0000, 0x020000, CRC(0127bd57) SHA1(3d1b59fda52f09fd8af59177b3f5c614b453ac25), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.5 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4MAKMNT_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "MAM 0.3" +GAME_CUSTOM( 199?, m4makmnt, 0, "mams.p1", 0x0000, 0x020000, CRC(af08e1e6) SHA1(c7e87d351f67592084d758ee53ba4d354bb28866), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3)" ) +GAME_CUSTOM( 199?, m4makmnt__o, m4makmnt, "mamad.p1", 0x0000, 0x020000, CRC(82f63f55) SHA1(2cbc514a49e826505580a57f17ee696bdf9bf436), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 AD)" ) +GAME_CUSTOM( 199?, m4makmnt__p, m4makmnt, "mamb.p1", 0x0000, 0x020000, CRC(233c2e35) SHA1(823fc5736469c7e1d1da72bec8d64aabb277f9ab), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 B)" ) +GAME_CUSTOM( 199?, m4makmnt__q, m4makmnt, "mambd.p1", 0x0000, 0x020000, CRC(0fec9190) SHA1(6cea986853efc042c6325f31f790f80ae2993308), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 BD)" ) +GAME_CUSTOM( 199?, m4makmnt__r, m4makmnt, "mamc.p1", 0x0000, 0x020000, CRC(14769327) SHA1(435406a46a60666bbe6ebc9392b21d5b0404cffd), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 C)" ) +GAME_CUSTOM( 199?, m4makmnt__s, m4makmnt, "mamd.p1", 0x0000, 0x020000, CRC(5e272543) SHA1(c974b21ba488568e12d47f51f21d3b94d40255f3), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 D)" ) +GAME_CUSTOM( 199?, m4makmnt__t, m4makmnt, "mamdk.p1", 0x0000, 0x020000, CRC(452b39c6) SHA1(8b065391abd01c7b9d6c5beb95cf17a52c8ebe1a), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 KD)" ) +GAME_CUSTOM( 199?, m4makmnt__u, m4makmnt, "mamdy.p1", 0x0000, 0x020000, CRC(c2c81938) SHA1(de95d1e28af33dc96343cc615a945c5dfe3f04a7), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 YD)" ) +GAME_CUSTOM( 199?, m4makmnt__v, m4makmnt, "mamk.p1", 0x0000, 0x020000, CRC(69fb8663) SHA1(741b6e7b97d0c9b243e8e318ed169f92f8fbd5e9), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 K)" ) +GAME_CUSTOM( 199?, m4makmnt__w, m4makmnt, "mamr.p1", 0x0000, 0x020000, CRC(daf43d52) SHA1(066cf554178d4e4fdff10c1e93567618f711d196), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 R)" ) +GAME_CUSTOM( 199?, m4makmnt__x, m4makmnt, "mamy.p1", 0x0000, 0x020000, CRC(ee18a69d) SHA1(d3cf2c5ed4ec00be4d68c895ca3973da1acccb79), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3 Y)" ) +// "(C)1993 BARCREST" and "MMG 0.4" +GAME_CUSTOM( 199?, m4makmnt__9, m4makmnt, "mmg04s.p1", 0x0000, 0x020000, CRC(1c46683e) SHA1(d08589bb32056ea599e6ffbbb795f46f8eff0782), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4)" ) +GAME_CUSTOM( 199?, m4makmnt__z, m4makmnt, "mmg04ad.p1", 0x0000, 0x020000, CRC(9cbf9691) SHA1(a68f2e9e0ec03dc47017c221a3e780e5cc992a15), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 AD)" ) +GAME_CUSTOM( 199?, m4makmnt__0, m4makmnt, "mmg04b.p1", 0x0000, 0x020000, CRC(2507742d) SHA1(3bdd6f43da4d4c923bedcc1eba5cb1e1b92ee473), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 B)" ) +GAME_CUSTOM( 199?, m4makmnt__1, m4makmnt, "mmg04bd.p1", 0x0000, 0x020000, CRC(11a53854) SHA1(e52ee92f39645380864e86c694a345c028cb42cf), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 BD)" ) +GAME_CUSTOM( 199?, m4makmnt__2, m4makmnt, "mmg04c.p1", 0x0000, 0x020000, CRC(124dc93f) SHA1(f58a4d6830ece84467a0b247ba66132d659d1383), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 C)" ) +GAME_CUSTOM( 199?, m4makmnt__3, m4makmnt, "mmg04d.p1", 0x0000, 0x020000, CRC(581c7f5b) SHA1(224a9e4f6078d38606c7b08a15df05fbcb31a209), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 D)" ) +GAME_CUSTOM( 199?, m4makmnt__4, m4makmnt, "mmg04dk.p1", 0x0000, 0x020000, CRC(5b629002) SHA1(e08f55e157973518837d1045fe714221d5ba812d), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 KD)" ) +GAME_CUSTOM( 199?, m4makmnt__5, m4makmnt, "mmg04dr.p1", 0x0000, 0x020000, CRC(e86d2b33) SHA1(594c4fdba38f2463467e4906981738dafc15369d), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 RD)" ) +GAME_CUSTOM( 199?, m4makmnt__6, m4makmnt, "mmg04dy.p1", 0x0000, 0x020000, CRC(dc81b0fc) SHA1(3154899d80375413936d2c08edaaf2e97d490c5b), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 YD)" ) +GAME_CUSTOM( 199?, m4makmnt__7, m4makmnt, "mmg04k.p1", 0x0000, 0x020000, CRC(6fc0dc7b) SHA1(4ad8ef1e666e4796d3a09ba4bda9e48c60266380), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 K)" ) +GAME_CUSTOM( 199?, m4makmnt__8, m4makmnt, "mmg04r.p1", 0x0000, 0x020000, CRC(dccf674a) SHA1(a8b2ebeec8587e0655349baca700afc552c3e62d), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 R)" ) +GAME_CUSTOM( 199?, m4makmnt__aa, m4makmnt, "mmg04y.p1", 0x0000, 0x020000, CRC(e823fc85) SHA1(10414bbac8ac3bdbf11bc4092370c499fb9db650), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4 Y)" ) // "(C)1993 BARCREST" and "MMG 0.2" GAME_CUSTOM( 199?, m4makmnt__y, m4makmnt, "mint2010", 0x0000, 0x020000, CRC(e60d10b9) SHA1(3abe7a7f33a73827ed6585d92fe53d4058c87baf), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.2)" ) + +// smaller ROMs + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4MAKMNT_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // "(C)1997 B.W.B." and "MA_ 3.1" GAME_CUSTOM( 199?, m4makmnt__an, m4makmnt, "ma_x6__5.3_1", 0x0000, 0x010000, CRC(2fe3c309) SHA1(5dba65b29ea5492a78866863629d89f9a8588959), "Bwb","Make A Mint (Barcrest) (MPU4) (MA_ 3.1)" ) GAME_CUSTOM( 199?, m4makmnt__ap, m4makmnt, "ma_x6_d5.3_1", 0x0000, 0x010000, CRC(a93dba0d) SHA1(6fabe994ac6c9ea4ce2bae99df699fa100098926), "Bwb","Make A Mint (Barcrest) (MPU4) (MA_ 3.1 D)" ) @@ -2187,99 +2887,212 @@ GAME_CUSTOM( 199?, m4makmnt__ar, m4makmnt, "ma_x6a_5.3_1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4makmnt__ao, m4makmnt, "ma_x6__c.3_1", 0x0000, 0x010000, CRC(e9259a4d) SHA1(9a8e9590403f507f83197a898af5d543bda81b2b), "Bwb","Make A Mint (Barcrest) (MPU4) (MA_ 3.0)" ) GAME_CUSTOM( 199?, m4makmnt__aq, m4makmnt, "ma_x6_dc.3_1", 0x0000, 0x010000, CRC(805d75c2) SHA1(b2433556b72f89887c1e404c80d85c940535e8af), "Bwb","Make A Mint (Barcrest) (MPU4) (MA_ 3.0 D)" ) GAME_CUSTOM( 199?, m4makmnt__as, m4makmnt, "ma_x6a_c.3_1", 0x0000, 0x010000, CRC(43ede82a) SHA1(d6ec3dd170c56e90018568480bca72cd8390aa2d), "Bwb","Make A Mint (Barcrest) (MPU4) (MA_ 3.0 K)" ) -// "(C)1993 BARCREST" and "MMG 0.4" (but hack, doesn't want standard characterizer) -GAME_CUSTOM( 199?, m4makmnt__m, m4makmnt, "mam15g", 0x0000, 0x020000, CRC(d3fd61f9) SHA1(1c738f818ea84f4bfca3c62fd9c34ce5e983b10a), "hack","Make A Mint (Barcrest) (MPU4) (MMG 0.4, hack)" ) -// no copyright string and "MAM 0.3" -GAME_CUSTOM( 199?, m4makmnt__n, m4makmnt, "mam15t", 0x0000, 0x020000, CRC(a5975cbe) SHA1(eb6dd70c79c6b051190055d71ec8421080e5ba39), "hack","Make A Mint (Barcrest) (MPU4) (MAM 0.3 C, hack)" ) -#define M4VIVAES_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "viva.chr", 0x0000, 0x000048, CRC(4662e1fb) SHA1(54074bcc67adedb3dc6df80bdc60e0222f934156) ) \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "vivasnd1.bin", 0x000000, 0x080000, CRC(e7975c75) SHA1(407c3bcff29f4b6599de2c35d96f62c72a897bd1) ) \ - ROM_LOAD( "vivasnd2.bin", 0x080000, 0x080000, CRC(9f22f32d) SHA1(af64f6bde0b825d474c42c56f6e2253b28d4f90f) ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4MAKMNT_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + + +// different protection +// "(C)1993 BARCREST" and "MMG 0.4" (but hack, doesn't want standard characterizer) +GAME_CUSTOM( 199?, m4makmnt__m, m4makmnt, "mam15g", 0x0000, 0x020000, CRC(d3fd61f9) SHA1(1c738f818ea84f4bfca3c62fd9c34ce5e983b10a), "hack","Make A Mint (Barcrest) (MPU4) (MMG 0.4, hack)" ) +// no copyright string and "MAM 0.3" +GAME_CUSTOM( 199?, m4makmnt__n, m4makmnt, "mam15t", 0x0000, 0x020000, CRC(a5975cbe) SHA1(eb6dd70c79c6b051190055d71ec8421080e5ba39), "hack","Make A Mint (Barcrest) (MPU4) (MAM 0.3 C, hack)" ) + + + +/***************************************************************************************************************************************************************************** +* +* Viva Espana +* +*****************************************************************************************************************************************************************************/ + +#define M4VIVAES_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "vivasnd1.bin", 0x000000, 0x080000, CRC(e7975c75) SHA1(407c3bcff29f4b6599de2c35d96f62c72a897bd1) ) \ + ROM_LOAD( "vivasnd2.bin", 0x080000, 0x080000, CRC(9f22f32d) SHA1(af64f6bde0b825d474c42c56f6e2253b28d4f90f) ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4VIVAES_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "EP8 0.1" -GAME_CUSTOM( 199?, m4vivaes, 0, "ep8s.p1", 0x0000, 0x010000, CRC(51537f2d) SHA1(a837a525cd7da724f338c47e716be175c37070b0), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1)" ) -GAME_CUSTOM( 199?, m4vivaes__a, m4vivaes, "ep8ad.p1", 0x0000, 0x010000, CRC(1591cc9b) SHA1(b7574b71955d7780f3f127670e458befad951383), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1AD)" ) -GAME_CUSTOM( 199?, m4vivaes__b, m4vivaes, "ep8b.p1", 0x0000, 0x010000, CRC(33b085b3) SHA1(5fc22ee8ae2d597392c82b09a830893bb04e1014), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1B)" ) -GAME_CUSTOM( 199?, m4vivaes__c, m4vivaes, "ep8bd.p1", 0x0000, 0x010000, CRC(d1eedaac) SHA1(9773fbb9b15dbbe313d76b0746698fbc12e26dd2), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1BD)" ) -GAME_CUSTOM( 199?, m4vivaes__d, m4vivaes, "ep8c.p1", 0x0000, 0x010000, CRC(d2a8aaf5) SHA1(7aabe3e0522877700453068c30c74cbe2c058e9a), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1C)" ) -GAME_CUSTOM( 199?, m4vivaes__e, m4vivaes, "ep8d.p1", 0x0000, 0x010000, CRC(06f87010) SHA1(636707d4077bee0ea2f221904fa0e187ea4a1e31), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1D)" ) -GAME_CUSTOM( 199?, m4vivaes__f, m4vivaes, "ep8dk.p1", 0x0000, 0x010000, CRC(e87b56da) SHA1(f3de0ab0badc9bd14505822c63f110b9b2521d55), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1KD)" ) -GAME_CUSTOM( 199?, m4vivaes__g, m4vivaes, "ep8dy.p1", 0x0000, 0x010000, CRC(d20ec7ed) SHA1(dffd4fcaf360b2b9f4b7241fe80bb6ee983b6d57), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1YD)" ) -GAME_CUSTOM( 199?, m4vivaes__h, m4vivaes, "ep8k.p1", 0x0000, 0x010000, CRC(0a2509c5) SHA1(d0fd30953cbc36363a6d4941b4a0805f9663aebb), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1K)" ) -GAME_CUSTOM( 199?, m4vivaes__i, m4vivaes, "ep8y.p1", 0x0000, 0x010000, CRC(4cc454e4) SHA1(a08ec2a4a17600eba86300dcb6b150b1b5a7fc74), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1Y)" ) +GAME_CUSTOM( 199?, m4vivaes, 0, mod4oki_cheatchr_pal, mpu4, init_m4default, "ep8s.p1", 0x0000, 0x010000, CRC(51537f2d) SHA1(a837a525cd7da724f338c47e716be175c37070b0), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1)" ) +GAME_CUSTOM( 199?, m4vivaes__a, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ep8ad.p1", 0x0000, 0x010000, CRC(1591cc9b) SHA1(b7574b71955d7780f3f127670e458befad951383), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1AD)" ) +GAME_CUSTOM( 199?, m4vivaes__b, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ep8b.p1", 0x0000, 0x010000, CRC(33b085b3) SHA1(5fc22ee8ae2d597392c82b09a830893bb04e1014), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1B)" ) +GAME_CUSTOM( 199?, m4vivaes__c, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ep8bd.p1", 0x0000, 0x010000, CRC(d1eedaac) SHA1(9773fbb9b15dbbe313d76b0746698fbc12e26dd2), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1BD)" ) +GAME_CUSTOM( 199?, m4vivaes__d, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ep8c.p1", 0x0000, 0x010000, CRC(d2a8aaf5) SHA1(7aabe3e0522877700453068c30c74cbe2c058e9a), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1C)" ) +GAME_CUSTOM( 199?, m4vivaes__e, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ep8d.p1", 0x0000, 0x010000, CRC(06f87010) SHA1(636707d4077bee0ea2f221904fa0e187ea4a1e31), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1D)" ) +GAME_CUSTOM( 199?, m4vivaes__f, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ep8dk.p1", 0x0000, 0x010000, CRC(e87b56da) SHA1(f3de0ab0badc9bd14505822c63f110b9b2521d55), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1KD)" ) +GAME_CUSTOM( 199?, m4vivaes__g, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ep8dy.p1", 0x0000, 0x010000, CRC(d20ec7ed) SHA1(dffd4fcaf360b2b9f4b7241fe80bb6ee983b6d57), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1YD)" ) +GAME_CUSTOM( 199?, m4vivaes__h, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ep8k.p1", 0x0000, 0x010000, CRC(0a2509c5) SHA1(d0fd30953cbc36363a6d4941b4a0805f9663aebb), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1K)" ) +GAME_CUSTOM( 199?, m4vivaes__i, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ep8y.p1", 0x0000, 0x010000, CRC(4cc454e4) SHA1(a08ec2a4a17600eba86300dcb6b150b1b5a7fc74), "Barcrest","Viva Espana (Barcrest) (MPU4) (EP8 0.1Y)" ) // "(C)1993 BARCREST" and "ESP 0.3" -GAME_CUSTOM( 199?, m4vivaes__k, m4vivaes, "espc.p1", 0x0000, 0x010000, CRC(9534d0d0) SHA1(8e4a1081821d472eb4d9aa01e38b6956a1388d28), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.3C)" ) -GAME_CUSTOM( 199?, m4vivaes__l, m4vivaes, "espd.p1", 0x0000, 0x010000, CRC(012fbc14) SHA1(5e4a1cd7989f804ac52c7cbf46d7f9c1d7200336), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.3D)" ) -GAME_CUSTOM( 199?, m4vivaes__m, m4vivaes, "espdy.p1", 0x0000, 0x010000, CRC(90efbb8e) SHA1(a7338c5d71719b86f524f35d7edd176f41383f15), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.3YD)" ) -GAME_CUSTOM( 199?, m4vivaes__n, m4vivaes, "espk.p1", 0x0000, 0x010000, CRC(775a56d6) SHA1(b0e47b56315948a7162ae00c3f5197fbb7b81ec5), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.3K)" ) -GAME_CUSTOM( 199?, m4vivaes__o, m4vivaes, "esps.p1", 0x0000, 0x010000, CRC(0c83b014) SHA1(e7cc513b66534b4fec89170d7b739c99a1ba3831), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.3)" ) -GAME_CUSTOM( 199?, m4vivaes__p, m4vivaes, "espy.p1", 0x0000, 0x010000, CRC(020aa8bb) SHA1(497dae13fe9f9eba624db907e9f4a5bef1584a64), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.3Y)" ) +GAME_CUSTOM( 199?, m4vivaes__k, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "espc.p1", 0x0000, 0x010000, CRC(9534d0d0) SHA1(8e4a1081821d472eb4d9aa01e38b6956a1388d28), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.3C)" ) +GAME_CUSTOM( 199?, m4vivaes__l, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "espd.p1", 0x0000, 0x010000, CRC(012fbc14) SHA1(5e4a1cd7989f804ac52c7cbf46d7f9c1d7200336), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.3D)" ) +GAME_CUSTOM( 199?, m4vivaes__m, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "espdy.p1", 0x0000, 0x010000, CRC(90efbb8e) SHA1(a7338c5d71719b86f524f35d7edd176f41383f15), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.3YD)" ) +GAME_CUSTOM( 199?, m4vivaes__n, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "espk.p1", 0x0000, 0x010000, CRC(775a56d6) SHA1(b0e47b56315948a7162ae00c3f5197fbb7b81ec5), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.3K)" ) +GAME_CUSTOM( 199?, m4vivaes__o, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "esps.p1", 0x0000, 0x010000, CRC(0c83b014) SHA1(e7cc513b66534b4fec89170d7b739c99a1ba3831), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.3)" ) +GAME_CUSTOM( 199?, m4vivaes__p, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "espy.p1", 0x0000, 0x010000, CRC(020aa8bb) SHA1(497dae13fe9f9eba624db907e9f4a5bef1584a64), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.3Y)" ) // "(C)1993 BARCREST" and "ESP 0.2" -GAME_CUSTOM( 199?, m4vivaes__aq, m4vivaes, "vspa20st", 0x0000, 0x010000, CRC(267388eb) SHA1(2621724ebdd5031fc513692ff90989bf3b6115d1), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.2)" ) -// "(C)1993 BARCREST" and "VE5 0.2" -GAME_CUSTOM( 199?, m4vivaes__q, m4vivaes, "ve5ad.p1", 0x0000, 0x010000, CRC(c545d5f0) SHA1(6ad168d2c1f2da2fff85fe0e21a3191cba8f5838), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2AD)" ) -GAME_CUSTOM( 199?, m4vivaes__r, m4vivaes, "ve5b.p1", 0x0000, 0x010000, CRC(ed02fa94) SHA1(9980b2f78ea8f40715e77fd8fafe883739ac1165), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2B)" ) -GAME_CUSTOM( 199?, m4vivaes__s, m4vivaes, "ve5bd.p1", 0x0000, 0x010000, CRC(fce73b5c) SHA1(35e635ade9b4a7a992c568e317190d12576f78c9), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2BD)" ) -GAME_CUSTOM( 199?, m4vivaes__t, m4vivaes, "ve5d.p1", 0x0000, 0x010000, CRC(e739556d) SHA1(0816aa256cf8ac253ff37999595e981e90874d39), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2D)" ) -GAME_CUSTOM( 199?, m4vivaes__u, m4vivaes, "ve5dk.p1", 0x0000, 0x010000, CRC(64f174d0) SHA1(f51b28607715931a9d4c1c14fc71b4f8bb8e56fb), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2KD)" ) -GAME_CUSTOM( 199?, m4vivaes__v, m4vivaes, "ve5dy.p1", 0x0000, 0x010000, CRC(fe6339c6) SHA1(82f14d80e96b65eeea08f1029ffaebf2e505091e), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2YD)" ) -GAME_CUSTOM( 199?, m4vivaes__w, m4vivaes, "ve5k.p1", 0x0000, 0x010000, CRC(05428018) SHA1(b6884a1bfd2cf8268258d3d9a8d2c482ba92e5af), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2K)" ) -GAME_CUSTOM( 199?, m4vivaes__x, m4vivaes, "ve5s.p1", 0x0000, 0x010000, CRC(65df6cf1) SHA1(26eadbad30b93df6dfd37f984be2dec77f1d6442), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2)" ) -GAME_CUSTOM( 199?, m4vivaes__y, m4vivaes, "ve5y.p1", 0x0000, 0x010000, CRC(2fe06579) SHA1(9e11b371edd8fab78e9594ed864f8eb487112150), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2Y)" ) -// "(C)1993 BARCREST" and "VET 0.2" -GAME_CUSTOM( 199?, m4vivaes__2, m4vivaes, "vetad.p1", 0x0000, 0x010000, CRC(fb9564dc) SHA1(9782d04eaec7d9c19138abf4f2dd3daa6c745c2a), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2AD)" ) -GAME_CUSTOM( 199?, m4vivaes__3, m4vivaes, "vetb.p1", 0x0000, 0x010000, CRC(2a8d7beb) SHA1(e503bdc388c2ab7551cc84dd9e45b85bd2420ef8), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2B)" ) -GAME_CUSTOM( 199?, m4vivaes__4, m4vivaes, "vetbd.p1", 0x0000, 0x010000, CRC(ebaffb7d) SHA1(b54a581927fc28ce14ab9efe6fe62e074831a42a), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2BD)" ) -GAME_CUSTOM( 199?, m4vivaes__5, m4vivaes, "vetd.p1", 0x0000, 0x010000, CRC(365dff45) SHA1(6ce756f1d6133e05c46e8e7b7ad554f9f512b722), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2D)" ) -GAME_CUSTOM( 199?, m4vivaes__6, m4vivaes, "vetdk.p1", 0x0000, 0x010000, CRC(5fb1ba90) SHA1(57a7f225d7bd8ed78c2ebf5d363e06b7694efc5f), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2KD)" ) -GAME_CUSTOM( 199?, m4vivaes__7, m4vivaes, "vetdy.p1", 0x0000, 0x010000, CRC(100261cb) SHA1(f834c5b848059673b9e9824854e6600dae6c4499), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2YD)" ) -GAME_CUSTOM( 199?, m4vivaes__8, m4vivaes, "vetk.p1", 0x0000, 0x010000, CRC(db48f34b) SHA1(013d84b27c4ea6d7b538011c22a3cd573f1d12cc), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2K)" ) -GAME_CUSTOM( 199?, m4vivaes__9, m4vivaes, "vets.p1", 0x0000, 0x010000, CRC(d7e00f9d) SHA1(df2d85ff9eae7adf662b7d8a9c6f874ec8c07183), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2)" ) -GAME_CUSTOM( 199?, m4vivaes__aa, m4vivaes, "vety.p1", 0x0000, 0x010000, CRC(ba3b19c7) SHA1(6e9ee238ec6a272ef16ebfba0dc49bc076e741de), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2Y)" ) -// a lot of the Bwb sets just give characterizer alarm (different protection? hacks?) some boot, 2 boot without scrambled reels, so are probably hacked to not use the characterizer -// "(C)1995 B.W.B." and "VE5 6.0" -GAME_CUSTOM( 199?, m4vivaes__ai, m4vivaes, "vesp510l", 0x0000, 0x010000, CRC(15c33530) SHA1(888625c383e52825c06cbf1e7022cd8b02bf549c), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 6.0C, set 1)" ) -GAME_CUSTOM( 199?, m4vivaes__aj, m4vivaes, "vesp55", 0x0000, 0x010000, CRC(9cc395ef) SHA1(d62cb55664246e3fada3d971ee317eef51739018), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 6.0C, set 2)" ) -GAME_CUSTOM( 199?, m4vivaes__ag, m4vivaes, "vesp5.8c", 0x0000, 0x010000, CRC(266d42cf) SHA1(b1e583652d6184db2a5f03cb7ae3f694627591c8), "Bwb / hack?","Viva Espana (Barcrest) (MPU4) (VE5 6.0C, set 3)" ) // reels don't seem scrambled on this, hack / bootleg? -GAME_CUSTOM( 199?, m4vivaes__ah, m4vivaes, "vesp5.8t", 0x0000, 0x010000, CRC(bf8c9dfa) SHA1(69f28d3ce04efdb89db688dbc2341d19c27c5ba8), "Bwb / hack?","Viva Espana (Barcrest) (MPU4) (VE5 6.0)" ) // reels don't seem scrambled on this, hack / bootleg? -// "(C)1995 B.W.B." and "VE5 5.0" -GAME_CUSTOM( 199?, m4vivaes__z, m4vivaes, "vesp05_11", 0x0000, 0x010000, CRC(32100a2e) SHA1(bb7324267708a0c0850fb77885df9868954d86cd), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 5.0, set 1)" ) -GAME_CUSTOM( 199?, m4vivaes__ao, m4vivaes, "vesp_5.4", 0x0000, 0x010000, CRC(3b6762ce) SHA1(9dc53dce453a7b124ea2b65a590aff6c7d05831f), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 5.0, set 2)" ) -GAME_CUSTOM( 199?, m4vivaes__ap, m4vivaes, "vesp_5.8", 0x0000, 0x010000, CRC(63abf642) SHA1(6b585147a771e4bd445b525aafc25293845f660b), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 5.0, set 3)" ) -// "(C)1995 B.W.B." and "VE105.0" -GAME_CUSTOM( 199?, m4vivaes__am, m4vivaes, "vesp_10.8", 0x0000, 0x010000, CRC(8054766d) SHA1(8e7fd6f8cd74d2760e2923af32813ca93fbf98e6), "Bwb","Viva Espana (Barcrest) (MPU4) (VE105.0, set 1)" ) -GAME_CUSTOM( 199?, m4vivaes__al, m4vivaes, "vesp_10.4", 0x0000, 0x010000, CRC(95e95339) SHA1(59633b7c01da25237342bce7e989259bf723ba6f), "Bwb","Viva Espana (Barcrest) (MPU4) (VE105.0, set 2)" ) -GAME_CUSTOM( 199?, m4vivaes__0, m4vivaes, "vesp10_11", 0x0000, 0x010000, CRC(2a1dfcb2) SHA1(7d4ef072c41779554a2b8046688957585821e356), "Bwb","Viva Espana (Barcrest) (MPU4) (VE105.0, set 3)" ) -GAME_CUSTOM( 199?, m4vivaes__ad, m4vivaes, "ve_10a__.5_1", 0x0000, 0x010000, CRC(afdc0a2f) SHA1(ab8fec2c48db07c0aba31930893fe7211b306468), "Bwb","Viva Espana (Barcrest) (MPU4) (VE105.0, set 4)" ) // boots -// "(C)1995 B.W.B." and "VE5 3.0" -GAME_CUSTOM( 199?, m4vivaes__ac, m4vivaes, "ve_05a__.3_1", 0x0000, 0x010000, CRC(92e0e121) SHA1(f32c8f1c8008794283bd32f9440e0a580f77b5b3), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 3.0)" ) // boots -// "(C)1995 B.W.B." and "VE5 4.0" -GAME_CUSTOM( 199?, m4vivaes__ae, m4vivaes, "vei05___.4_1", 0x0000, 0x010000, CRC(687a511b) SHA1(362e1d5557b6b7d551c9b9c5ef70d7944b44a3ce), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 4.0C, set 1)" ) // boots -GAME_CUSTOM( 199?, m4vivaes__ak, m4vivaes, "vesp58c", 0x0000, 0x010000, CRC(d8cc868d) SHA1(0b9fa8b61998badbd870827e32af4937548b583e), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 4.0C, set 2)" ) // boots -// "(C)1995 B.W.B." and "VE104.0" -GAME_CUSTOM( 199?, m4vivaes__af, m4vivaes, "vei10___.4_1", 0x0000, 0x010000, CRC(b9e2471f) SHA1(3fa561466332ed14e233d97bf9170ec08a019bd0), "Bwb","Viva Espana (Barcrest) (MPU4) (VE104.0)" ) // boots -// no copyright string and "8V1 0.3" -GAME_CUSTOM( 199?, m4vivaes__1, m4vivaes, "vesp20_11", 0x0000, 0x010000, CRC(06233420) SHA1(06101dbe871617ae6ff098e070316ec98a15b704), "hack", "Viva Espana (Barcrest) (MPU4) (8V1 0.3, hack, set 1)" ) -GAME_CUSTOM( 199?, m4vivaes__an, m4vivaes, "vesp_20_.8", 0x0000, 0x010000, CRC(35f90f05) SHA1(0013ff32c809603efdad782306140bd7086be965), "hack", "Viva Espana (Barcrest) (MPU4) (8V1 0.3, hack, set 2)" ) -// "(C)1997 CUCKOO" and "VE5 6.0" (hack) -GAME_CUSTOM( 199?, m4vivaes__j, m4vivaes, "5p5vivaespana6-0.bin", 0x0000, 0x010000, CRC(adf02a7b) SHA1(2c61e175b920a67098503eb4d80b07b828c9f91d), "hack", "Viva Espana (Barcrest) (MPU4) (VE5 6.0, hack)" ) +GAME_CUSTOM( 199?, m4vivaes__aq, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "vspa20st", 0x0000, 0x010000, CRC(267388eb) SHA1(2621724ebdd5031fc513692ff90989bf3b6115d1), "Barcrest","Viva Espana (Barcrest) (MPU4) (ESP 0.2)" ) +// "(C)1993 BARCREST" and "VE5 0.2" +GAME_CUSTOM( 199?, m4vivaes__q, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ve5ad.p1", 0x0000, 0x010000, CRC(c545d5f0) SHA1(6ad168d2c1f2da2fff85fe0e21a3191cba8f5838), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2AD)" ) +GAME_CUSTOM( 199?, m4vivaes__r, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ve5b.p1", 0x0000, 0x010000, CRC(ed02fa94) SHA1(9980b2f78ea8f40715e77fd8fafe883739ac1165), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2B)" ) +GAME_CUSTOM( 199?, m4vivaes__s, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ve5bd.p1", 0x0000, 0x010000, CRC(fce73b5c) SHA1(35e635ade9b4a7a992c568e317190d12576f78c9), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2BD)" ) +GAME_CUSTOM( 199?, m4vivaes__t, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ve5d.p1", 0x0000, 0x010000, CRC(e739556d) SHA1(0816aa256cf8ac253ff37999595e981e90874d39), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2D)" ) +GAME_CUSTOM( 199?, m4vivaes__u, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ve5dk.p1", 0x0000, 0x010000, CRC(64f174d0) SHA1(f51b28607715931a9d4c1c14fc71b4f8bb8e56fb), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2KD)" ) +GAME_CUSTOM( 199?, m4vivaes__v, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ve5dy.p1", 0x0000, 0x010000, CRC(fe6339c6) SHA1(82f14d80e96b65eeea08f1029ffaebf2e505091e), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2YD)" ) +GAME_CUSTOM( 199?, m4vivaes__w, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ve5k.p1", 0x0000, 0x010000, CRC(05428018) SHA1(b6884a1bfd2cf8268258d3d9a8d2c482ba92e5af), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2K)" ) +GAME_CUSTOM( 199?, m4vivaes__x, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ve5s.p1", 0x0000, 0x010000, CRC(65df6cf1) SHA1(26eadbad30b93df6dfd37f984be2dec77f1d6442), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2)" ) +GAME_CUSTOM( 199?, m4vivaes__y, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ve5y.p1", 0x0000, 0x010000, CRC(2fe06579) SHA1(9e11b371edd8fab78e9594ed864f8eb487112150), "Barcrest","Viva Espana (Barcrest) (MPU4) (VE5 0.2Y)" ) +// "(C)1993 BARCREST" and "VET 0.2" +GAME_CUSTOM( 199?, m4vivaes__2, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "vetad.p1", 0x0000, 0x010000, CRC(fb9564dc) SHA1(9782d04eaec7d9c19138abf4f2dd3daa6c745c2a), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2AD)" ) +GAME_CUSTOM( 199?, m4vivaes__3, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "vetb.p1", 0x0000, 0x010000, CRC(2a8d7beb) SHA1(e503bdc388c2ab7551cc84dd9e45b85bd2420ef8), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2B)" ) +GAME_CUSTOM( 199?, m4vivaes__4, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "vetbd.p1", 0x0000, 0x010000, CRC(ebaffb7d) SHA1(b54a581927fc28ce14ab9efe6fe62e074831a42a), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2BD)" ) +GAME_CUSTOM( 199?, m4vivaes__5, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "vetd.p1", 0x0000, 0x010000, CRC(365dff45) SHA1(6ce756f1d6133e05c46e8e7b7ad554f9f512b722), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2D)" ) +GAME_CUSTOM( 199?, m4vivaes__6, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "vetdk.p1", 0x0000, 0x010000, CRC(5fb1ba90) SHA1(57a7f225d7bd8ed78c2ebf5d363e06b7694efc5f), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2KD)" ) +GAME_CUSTOM( 199?, m4vivaes__7, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "vetdy.p1", 0x0000, 0x010000, CRC(100261cb) SHA1(f834c5b848059673b9e9824854e6600dae6c4499), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2YD)" ) +GAME_CUSTOM( 199?, m4vivaes__8, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "vetk.p1", 0x0000, 0x010000, CRC(db48f34b) SHA1(013d84b27c4ea6d7b538011c22a3cd573f1d12cc), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2K)" ) +GAME_CUSTOM( 199?, m4vivaes__9, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "vets.p1", 0x0000, 0x010000, CRC(d7e00f9d) SHA1(df2d85ff9eae7adf662b7d8a9c6f874ec8c07183), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2)" ) +GAME_CUSTOM( 199?, m4vivaes__aa, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "vety.p1", 0x0000, 0x010000, CRC(ba3b19c7) SHA1(6e9ee238ec6a272ef16ebfba0dc49bc076e741de), "Barcrest","Viva Espana (Barcrest) (MPU4) (VET 0.2Y)" ) + +// "(C)1995 B.W.B." and "VE105.0" +GAME_CUSTOM( 199?, m4vivaes__ad, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ve_10a__.5_1", 0x0000, 0x010000, CRC(afdc0a2f) SHA1(ab8fec2c48db07c0aba31930893fe7211b306468), "Bwb","Viva Espana (Barcrest) (MPU4) (VE105.0, set 4)" ) // boots +// "(C)1995 B.W.B." and "VE5 4.0" +GAME_CUSTOM( 199?, m4vivaes__ae, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "vei05___.4_1", 0x0000, 0x010000, CRC(687a511b) SHA1(362e1d5557b6b7d551c9b9c5ef70d7944b44a3ce), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 4.0C, set 1)" ) // boots +// "(C)1995 B.W.B." and "VE104.0" +GAME_CUSTOM( 199?, m4vivaes__af, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "vei10___.4_1", 0x0000, 0x010000, CRC(b9e2471f) SHA1(3fa561466332ed14e233d97bf9170ec08a019bd0), "Bwb","Viva Espana (Barcrest) (MPU4) (VE104.0)" ) // boots + +// "(C)1995 B.W.B." and "VE5 3.0" +GAME_CUSTOM( 199?, m4vivaes__ac, m4vivaes, mod4oki_cheatchr_pal, mpu4, init_m4default, "ve_05a__.3_1", 0x0000, 0x010000, CRC(92e0e121) SHA1(f32c8f1c8008794283bd32f9440e0a580f77b5b3), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 3.0)" ) // boots + +// unprotected (possible hacks) + +// "(C)1995 B.W.B." and "VE5 6.0" +GAME_CUSTOM( 199?, m4vivaes__ai, m4vivaes, mod4oki, mpu4, init_m4default, "vesp510l", 0x0000, 0x010000, CRC(15c33530) SHA1(888625c383e52825c06cbf1e7022cd8b02bf549c), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 6.0C, set 1)" ) +GAME_CUSTOM( 199?, m4vivaes__aj, m4vivaes, mod4oki, mpu4, init_m4default, "vesp55", 0x0000, 0x010000, CRC(9cc395ef) SHA1(d62cb55664246e3fada3d971ee317eef51739018), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 6.0C, set 2)" ) +GAME_CUSTOM( 199?, m4vivaes__ag, m4vivaes, mod4oki, mpu4, init_m4default, "vesp5.8c", 0x0000, 0x010000, CRC(266d42cf) SHA1(b1e583652d6184db2a5f03cb7ae3f694627591c8), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 6.0C, set 3)" ) +GAME_CUSTOM( 199?, m4vivaes__ah, m4vivaes, mod4oki, mpu4, init_m4default, "vesp5.8t", 0x0000, 0x010000, CRC(bf8c9dfa) SHA1(69f28d3ce04efdb89db688dbc2341d19c27c5ba8), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 6.0)" ) // "(C)1995 B.W.B." and "VE5 5.0" +// "(C)1995 B.W.B." and "VE5 5.0" +GAME_CUSTOM( 199?, m4vivaes__z, m4vivaes, mod4oki, mpu4, init_m4default, "vesp05_11", 0x0000, 0x010000, CRC(32100a2e) SHA1(bb7324267708a0c0850fb77885df9868954d86cd), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 5.0, set 1)" ) +GAME_CUSTOM( 199?, m4vivaes__ao, m4vivaes, mod4oki, mpu4, init_m4default, "vesp_5.4", 0x0000, 0x010000, CRC(3b6762ce) SHA1(9dc53dce453a7b124ea2b65a590aff6c7d05831f), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 5.0, set 2)" ) +GAME_CUSTOM( 199?, m4vivaes__ap, m4vivaes, mod4oki, mpu4, init_m4default, "vesp_5.8", 0x0000, 0x010000, CRC(63abf642) SHA1(6b585147a771e4bd445b525aafc25293845f660b), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 5.0, set 3)" ) +// "(C)1995 B.W.B." and "VE5 4.0" +GAME_CUSTOM( 199?, m4vivaes__ak, m4vivaes, mod4oki, mpu4, init_m4default, "vesp58c", 0x0000, 0x010000, CRC(d8cc868d) SHA1(0b9fa8b61998badbd870827e32af4937548b583e), "Bwb","Viva Espana (Barcrest) (MPU4) (VE5 4.0C, set 2)" ) // boots +// "(C)1995 B.W.B." and "VE105.0" +GAME_CUSTOM( 199?, m4vivaes__am, m4vivaes, mod4oki, mpu4, init_m4default, "vesp_10.8", 0x0000, 0x010000, CRC(8054766d) SHA1(8e7fd6f8cd74d2760e2923af32813ca93fbf98e6), "Bwb","Viva Espana (Barcrest) (MPU4) (VE105.0, set 1)" ) +GAME_CUSTOM( 199?, m4vivaes__al, m4vivaes, mod4oki, mpu4, init_m4default, "vesp_10.4", 0x0000, 0x010000, CRC(95e95339) SHA1(59633b7c01da25237342bce7e989259bf723ba6f), "Bwb","Viva Espana (Barcrest) (MPU4) (VE105.0, set 2)" ) +GAME_CUSTOM( 199?, m4vivaes__0, m4vivaes, mod4oki, mpu4, init_m4default, "vesp10_11", 0x0000, 0x010000, CRC(2a1dfcb2) SHA1(7d4ef072c41779554a2b8046688957585821e356), "Bwb","Viva Espana (Barcrest) (MPU4) (VE105.0, set 3)" ) + +// different protection + +// no copyright string and "8V1 0.3" +GAME_CUSTOM( 199?, m4vivaes__1, m4vivaes, mod4oki_bootleg_fixedret<0x1f>, mpu4, init_m4default, "vesp20_11", 0x0000, 0x010000, CRC(06233420) SHA1(06101dbe871617ae6ff098e070316ec98a15b704), "hack", "Viva Espana (Barcrest) (MPU4) (8V1 0.3, hack, set 1)" ) +GAME_CUSTOM( 199?, m4vivaes__an, m4vivaes, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4default, "vesp_20_.8", 0x0000, 0x010000, CRC(35f90f05) SHA1(0013ff32c809603efdad782306140bd7086be965), "hack", "Viva Espana (Barcrest) (MPU4) (8V1 0.3, hack, set 2)" ) + +// "(C)1997 CUCKOO" and "VE5 6.0" (hack) +GAME_CUSTOM( 199?, m4vivaes__j, m4vivaes, mod4oki_bootleg_fixedret<0xb6>, mpu4, init_m4default, "5p5vivaespana6-0.bin", 0x0000, 0x010000, CRC(adf02a7b) SHA1(2c61e175b920a67098503eb4d80b07b828c9f91d), "hack", "Viva Espana (Barcrest) (MPU4) (VE5 6.0, hack)" ) + + + +/***************************************************************************************************************************************************************************** +* +* Viva Espana Showcase +* +*****************************************************************************************************************************************************************************/ + +#define M4VIVESS_EXTRA_ROMS \ + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ + /* missing */ +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4VIVESS_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "SE8 0.1" +GAME_CUSTOM( 199?, m4vivess, 0, "se8s.p1", 0x0000, 0x010000, CRC(d5c261de) SHA1(5f70944ffe03109ad16f162370fd3653d131034d), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1)" ) +GAME_CUSTOM( 199?, m4vivess__a, m4vivess, "se8ad.p1", 0x0000, 0x010000, CRC(4f799dfe) SHA1(e85108ab0aad92a64eabf5c7562068caf22f8d5b), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 AD)" ) +GAME_CUSTOM( 199?, m4vivess__b, m4vivess, "se8b.p1", 0x0000, 0x010000, CRC(876efabb) SHA1(6ca1d37416b5401ba10977dad6a5881bdc7246ed), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 B)" ) +GAME_CUSTOM( 199?, m4vivess__c, m4vivess, "se8bd.p1", 0x0000, 0x010000, CRC(39fe1c08) SHA1(99a04561555c819fc2954897e7831cf2c38db702), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 BD)" ) +GAME_CUSTOM( 199?, m4vivess__d, m4vivess, "se8d.p1", 0x0000, 0x010000, CRC(86cfec8e) SHA1(22e66ab075148c084db703358554b5496837d936), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 D)" ) +GAME_CUSTOM( 199?, m4vivess__f, m4vivess, "se8dk.p1", 0x0000, 0x010000, CRC(006b907e) SHA1(368915ec502bff70c1bdb0724ba6e32a9892aa5e), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4vivess__g, m4vivess, "se8dy.p1", 0x0000, 0x010000, CRC(36dcf85f) SHA1(e635501e6ba7dc4e56f1e00b472b32c030aa6592), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4vivess__i, m4vivess, "se8k.p1", 0x0000, 0x010000, CRC(befb76cd) SHA1(f60e17538acd6f5b20e786f8a51a0471ee3246c8), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 K)" ) +GAME_CUSTOM( 199?, m4vivess__j, m4vivess, "se8y.p1", 0x0000, 0x010000, CRC(8be03e81) SHA1(f51024036f56b2009905e9c08bb292f2a280c0f6), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 Y)" ) +// "(C)1993 BARCREST" and "SES 0.2" +GAME_CUSTOM( 199?, m4vivess__o, m4vivess, "sess.p1", 0x0000, 0x010000, CRC(0e8d5c05) SHA1(bf05e4e83d6d4fb7c471e8ca22df21b357d8ed9b), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SES 0.2)" ) +GAME_CUSTOM( 199?, m4vivess__k, m4vivess, "sesb.p1", 0x0000, 0x010000, CRC(0e3dc285) SHA1(53cf28228192b6e83d0ff95c8de2fb978720d363), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SES 0.2 B)" ) +GAME_CUSTOM( 199?, m4vivess__l, m4vivess, "sesd.p1", 0x0000, 0x010000, CRC(549aaf0b) SHA1(084aca4429e27ce2642991aae8738d85c0157e54), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SES 0.2 D)" ) +GAME_CUSTOM( 199?, m4vivess__m, m4vivess, "sesdy.p1", 0x0000, 0x010000, CRC(1869edd8) SHA1(b76dfa439eef641817a9bdf9c737cb06ac54efea), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SES 0.2 YD)" ) +GAME_CUSTOM( 199?, m4vivess__n, m4vivess, "sesk.p1", 0x0000, 0x010000, CRC(ebdb5ec4) SHA1(f7ec6e8c0142a0885fda066f379e7bd22f5844e5), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SES 0.2 K)" ) +GAME_CUSTOM( 199?, m4vivess__p, m4vivess, "sesy.p1", 0x0000, 0x010000, CRC(126472e9) SHA1(3bebd273debbc9b71fce83cdc1031927698f7775), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SES 0.2 Y)" ) + + +/***************************************************************************************************************************************************************************** +* +* Prize Viva Espana +* +*****************************************************************************************************************************************************************************/ + +#define M4PRZVE_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "pessnd.p1", 0x000000, 0x080000, CRC(e7975c75) SHA1(407c3bcff29f4b6599de2c35d96f62c72a897bd1) ) \ + ROM_LOAD( "pessnd.p2", 0x080000, 0x080000, CRC(9f22f32d) SHA1(af64f6bde0b825d474c42c56f6e2253b28d4f90f) ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4PRZVE_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "PES 0.4" +GAME_CUSTOM( 199?, m4przve, 0, "pess.p1", 0x0000, 0x010000, CRC(d8e79833) SHA1(f68fd1bd057a353832c7de3e2818906ab2b844b7), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PES 0.4)" ) +GAME_CUSTOM( 199?, m4przve__l, m4przve, "pesb.p1", 0x0000, 0x010000, CRC(bf0ffed9) SHA1(ab8cd98ae7dfb3582aad7ae8c669a6d97f144f88), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PES 0.4 B)" ) +GAME_CUSTOM( 199?, m4przve__m, m4przve, "pesd.p1", 0x0000, 0x010000, CRC(6f7b1e16) SHA1(412a22ebb61b77541da067ba74621c8e54364471), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PES 0.4 D)" ) +GAME_CUSTOM( 199?, m4przve__n, m4przve, "pesdy.p1", 0x0000, 0x010000, CRC(94db27b4) SHA1(fe745a991a5e78fc9054480d3ce5bf6b7f5f9fe4), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PES 0.4 YD)" ) +GAME_CUSTOM( 199?, m4przve__o, m4przve, "pesk.p1", 0x0000, 0x010000, CRC(9e7b9f58) SHA1(86c2a83964f925448dda189546d9909b10e52673), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PES 0.4 K)" ) +GAME_CUSTOM( 199?, m4przve__p, m4przve, "pesy.p1", 0x0000, 0x010000, CRC(fbfc1563) SHA1(870239cab39eff33303fe06dfd1dd3db708f0f2d), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PES 0.4 Y)" ) +// "(C)1993 BARCREST" and "PE8 0.1" +GAME_CUSTOM( 199?, m4przve__j, m4przve, "pe8s.p1", 0x0000, 0x010000, CRC(e8463e69) SHA1(923d6c79470a65cf66b089ef09898acea928aa9b), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1)" ) +GAME_CUSTOM( 199?, m4przve__a, m4przve, "pe8ad.p1", 0x0000, 0x010000, CRC(3a81422e) SHA1(bb77365ed7bc7c2cd9e1cfe6e266c6edfd3562a3), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 AD)" ) +GAME_CUSTOM( 199?, m4przve__b, m4przve, "pe8b.p1", 0x0000, 0x010000, CRC(9f36b112) SHA1(265451557afcfdc1aa8e77616f4b871698b20c5f), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 B)" ) +GAME_CUSTOM( 199?, m4przve__c, m4przve, "pe8bd.p1", 0x0000, 0x010000, CRC(af0689b5) SHA1(0e3cf464c855b0dcfeac403bda80818287707abe), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 BD)" ) +GAME_CUSTOM( 199?, m4przve__d, m4przve, "pe8d.p1", 0x0000, 0x010000, CRC(d21ee810) SHA1(bb95e217a383332a6617644bf17239c1ebd7c7e7), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 D)" ) +GAME_CUSTOM( 199?, m4przve__e, m4przve, "pe8dj.p1", 0x0000, 0x010000, CRC(2bdf3b80) SHA1(2d27373e01c4308c9b0818c8193b459b1b335634), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 DJ)" ) +GAME_CUSTOM( 199?, m4przve__f, m4przve, "pe8dk.p1", 0x0000, 0x010000, CRC(fcece282) SHA1(95e5bfeef8618f422501bcb9b703887587b3067a), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4przve__g, m4przve, "pe8dy.p1", 0x0000, 0x010000, CRC(6abc5682) SHA1(ae8754f0e214738adae4bc856cd72b0920aaa67a), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4przve__h, m4przve, "pe8j.p1", 0x0000, 0x010000, CRC(d3bf07f1) SHA1(3e539f24ef25c8d6fbfbdcd469fa8a2908dd2ec2), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 J)" ) +GAME_CUSTOM( 199?, m4przve__i, m4przve, "pe8k.p1", 0x0000, 0x010000, CRC(efba0d3f) SHA1(2205b94f5a6ed23e834cfeb0d3ebe5ed66d942a1), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 K)" ) +GAME_CUSTOM( 199?, m4przve__k, m4przve, "pe8y.p1", 0x0000, 0x010000, CRC(c324b75f) SHA1(bf3409a193539e1e032c856a5316bec674043d57), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 Y)" ) + + +/***************************************************************************************************************************************************************************** +* +* Pot Black +* +*****************************************************************************************************************************************************************************/ #define M4POTBLK_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "pbsnd1.hex", 0x000000, 0x080000, CRC(72a3331d) SHA1(b7475ba0ad86a6277e3d4f7b4311a98f3fc29802) ) \ ROM_LOAD( "pbsnd2.hex", 0x080000, 0x080000, CRC(c2460eec) SHA1(7c62fbc69ffaa788bf3839e37a75a812a7b8caef) ) @@ -2291,8 +3104,24 @@ GAME_CUSTOM( 199?, m4vivaes__j, m4vivaes, "5p5vivaespana6-0.bin", 0x0000, 0 ROM_LOAD( name, offset, length, hash ) \ M4POTBLK_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) +// "(C)1993 BARCREST" and "PBS 0.6" +GAME_CUSTOM( 199?, m4potblk__ar, m4potblk, "pbs06s.p1", 0x0000, 0x020000, CRC(d2b42b29) SHA1(a077605b1f9f3082a03882b4f5b360a530a97135), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6)" ) +GAME_CUSTOM( 199?, m4potblk__af, m4potblk, "pbs06ad.p1", 0x0000, 0x020000, CRC(6344d6c7) SHA1(7c01149d9f21a15b1067a42d3f8def2868f15181), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 AD)" ) +GAME_CUSTOM( 199?, m4potblk__ag, m4potblk, "pbs06b.p1", 0x0000, 0x020000, CRC(2056d268) SHA1(ac978d59ff3cead2678d56579e404eb7494ab957), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 B)" ) +GAME_CUSTOM( 199?, m4potblk__ah, m4potblk, "pbs06bd.p1", 0x0000, 0x020000, CRC(ee5e7802) SHA1(568b6b2e6d58ee766a74badb60118dc0899b8b68), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 BD)" ) +GAME_CUSTOM( 199?, m4potblk__ai, m4potblk, "pbs06c.p1", 0x0000, 0x020000, CRC(171c6f7a) SHA1(e0c7455b64105cdd41ab24ef4cec7b044732faf6), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 C)" ) +GAME_CUSTOM( 199?, m4potblk__aj, m4potblk, "pbs06d.p1", 0x0000, 0x020000, CRC(03c52023) SHA1(534fbee8e19217002c428cc2d9a6693b8bccf974), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 D)" ) +GAME_CUSTOM( 199?, m4potblk__ak, m4potblk, "pbs06dh.p1", 0x0000, 0x020000, CRC(93457374) SHA1(40f4ed7260f234b69084676448705b53ff4700e4), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 DH)" ) +GAME_CUSTOM( 199?, m4potblk__al, m4potblk, "pbs06dk.p1", 0x0000, 0x020000, CRC(a499d054) SHA1(6c740d6e765c5ac3690814f71cb340a67f0bb113), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 KD)" ) +GAME_CUSTOM( 199?, m4potblk__am, m4potblk, "pbs06dr.p1", 0x0000, 0x020000, CRC(17966b65) SHA1(2a785268954388dba259df162298316e0d187ceb), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 RD)" ) +GAME_CUSTOM( 199?, m4potblk__an, m4potblk, "pbs06dy.p1", 0x0000, 0x020000, CRC(237af0aa) SHA1(c6f1cf33506517eac98d449c54be33d1f220241c), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 YD)" ) +GAME_CUSTOM( 199?, m4potblk__ao, m4potblk, "pbs06h.p1", 0x0000, 0x020000, CRC(5d4dd91e) SHA1(a715dde45ce7f3c6e62cb08eb5eaacb918803280), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 H)" ) +GAME_CUSTOM( 199?, m4potblk__ap, m4potblk, "pbs06k.p1", 0x0000, 0x020000, CRC(6a917a3e) SHA1(b8e6fb7ea83c5a363fdd756a5479a51d15cb246d), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 K)" ) +GAME_CUSTOM( 199?, m4potblk__aq, m4potblk, "pbs06r.p1", 0x0000, 0x020000, CRC(d99ec10f) SHA1(62ffc2772495fd165b2ad9f76a54154f51464394), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 R)" ) +GAME_CUSTOM( 199?, m4potblk__as, m4potblk, "pbs06y.p1", 0x0000, 0x020000, CRC(ed725ac0) SHA1(4c2c38e1c2ce7e15c409e06b6f21410f04b70348), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 Y)" ) +// hopper error //"(C)1993 BARCREST" and "PBG 1.6" GAME_CUSTOM( 199?, m4potblk, 0, "pbg16s.p1", 0x0000, 0x020000, CRC(36a1c679) SHA1(bf2eb5c2a07e61b7a2c0d8402b0e0583adfa22dc), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6)" ) GAME_CUSTOM( 199?, m4potblk__q, m4potblk, "pbg16ad.p1", 0x0000, 0x020000, CRC(919e90ba) SHA1(b32459b394595a5c3d238c6eec47c7d4d34fcdf8), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 AD)" ) @@ -2307,6 +3136,16 @@ GAME_CUSTOM( 199?, m4potblk__y, m4potblk, "pbg16h.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4potblk__z, m4potblk, "pbg16k.p1", 0x0000, 0x020000, CRC(228c4534) SHA1(e4a4e7ec059e4da568c507d8f1f006c04e1c13c4), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 K)" ) GAME_CUSTOM( 199?, m4potblk__0, m4potblk, "pbg16r.p1", 0x0000, 0x020000, CRC(b8629b8d) SHA1(08fc4498b45f2e939c4c465d4d979aa4532b5ce4), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 R)" ) GAME_CUSTOM( 199?, m4potblk__1, m4potblk, "pbg16y.p1", 0x0000, 0x020000, CRC(1660defb) SHA1(9f6112759b029e71056a92137f890910b6afb708), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4POTBLK_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // "(C)1993 BARCREST" and "PBG 1.4" GAME_CUSTOM( 199?, m4potblk__c, m4potblk, "pbg14s.p1", 0x0000, 0x020000, CRC(c9316c92) SHA1(d9248069c4702d4ce780ab82bdb783ba5aea034b), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.4)" ) // "(C)1993 BARCREST" and "PBG 1.5" @@ -2337,21 +3176,6 @@ GAME_CUSTOM( 199?, m4potblk__aa, m4potblk, "pbs04h.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4potblk__ab, m4potblk, "pbs04k.p1", 0x0000, 0x020000, CRC(bb3b077b) SHA1(584fd9f1578c61e1a1c30068c42b16716c5d490f), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.4 K)" ) GAME_CUSTOM( 199?, m4potblk__ac, m4potblk, "pbs04r.p1", 0x0000, 0x020000, CRC(0834bc4a) SHA1(0064b1ec9db506c4dd14ed7ffeffa08bebc117b1), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.4 R)" ) GAME_CUSTOM( 199?, m4potblk__ae, m4potblk, "pbs04y.p1", 0x0000, 0x020000, CRC(3cd82785) SHA1(fb2cb5acfc60d0896da9c22b7a9370e7c0271cf7), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.4 Y)" ) -// "(C)1993 BARCREST" and "PBS 0.6" -GAME_CUSTOM( 199?, m4potblk__ar, m4potblk, "pbs06s.p1", 0x0000, 0x020000, CRC(d2b42b29) SHA1(a077605b1f9f3082a03882b4f5b360a530a97135), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6)" ) -GAME_CUSTOM( 199?, m4potblk__af, m4potblk, "pbs06ad.p1", 0x0000, 0x020000, CRC(6344d6c7) SHA1(7c01149d9f21a15b1067a42d3f8def2868f15181), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 AD)" ) -GAME_CUSTOM( 199?, m4potblk__ag, m4potblk, "pbs06b.p1", 0x0000, 0x020000, CRC(2056d268) SHA1(ac978d59ff3cead2678d56579e404eb7494ab957), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 B)" ) -GAME_CUSTOM( 199?, m4potblk__ah, m4potblk, "pbs06bd.p1", 0x0000, 0x020000, CRC(ee5e7802) SHA1(568b6b2e6d58ee766a74badb60118dc0899b8b68), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 BD)" ) -GAME_CUSTOM( 199?, m4potblk__ai, m4potblk, "pbs06c.p1", 0x0000, 0x020000, CRC(171c6f7a) SHA1(e0c7455b64105cdd41ab24ef4cec7b044732faf6), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 C)" ) -GAME_CUSTOM( 199?, m4potblk__aj, m4potblk, "pbs06d.p1", 0x0000, 0x020000, CRC(03c52023) SHA1(534fbee8e19217002c428cc2d9a6693b8bccf974), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 D)" ) -GAME_CUSTOM( 199?, m4potblk__ak, m4potblk, "pbs06dh.p1", 0x0000, 0x020000, CRC(93457374) SHA1(40f4ed7260f234b69084676448705b53ff4700e4), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 DH)" ) -GAME_CUSTOM( 199?, m4potblk__al, m4potblk, "pbs06dk.p1", 0x0000, 0x020000, CRC(a499d054) SHA1(6c740d6e765c5ac3690814f71cb340a67f0bb113), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 KD)" ) -GAME_CUSTOM( 199?, m4potblk__am, m4potblk, "pbs06dr.p1", 0x0000, 0x020000, CRC(17966b65) SHA1(2a785268954388dba259df162298316e0d187ceb), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 RD)" ) -GAME_CUSTOM( 199?, m4potblk__an, m4potblk, "pbs06dy.p1", 0x0000, 0x020000, CRC(237af0aa) SHA1(c6f1cf33506517eac98d449c54be33d1f220241c), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 YD)" ) -GAME_CUSTOM( 199?, m4potblk__ao, m4potblk, "pbs06h.p1", 0x0000, 0x020000, CRC(5d4dd91e) SHA1(a715dde45ce7f3c6e62cb08eb5eaacb918803280), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 H)" ) -GAME_CUSTOM( 199?, m4potblk__ap, m4potblk, "pbs06k.p1", 0x0000, 0x020000, CRC(6a917a3e) SHA1(b8e6fb7ea83c5a363fdd756a5479a51d15cb246d), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 K)" ) -GAME_CUSTOM( 199?, m4potblk__aq, m4potblk, "pbs06r.p1", 0x0000, 0x020000, CRC(d99ec10f) SHA1(62ffc2772495fd165b2ad9f76a54154f51464394), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 R)" ) -GAME_CUSTOM( 199?, m4potblk__as, m4potblk, "pbs06y.p1", 0x0000, 0x020000, CRC(ed725ac0) SHA1(4c2c38e1c2ce7e15c409e06b6f21410f04b70348), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6 Y)" ) // "(C)1997 B.W.B." and "PO 1.2" GAME_CUSTOM( 199?, m4potblk__at, m4potblk, "po_x6__5.1_1", 0x0000, 0x020000, CRC(1fe40fd1) SHA1(5e16ff5b1019d83c1f40d63f89c16030dae0ab11), "Bwb","Pot Black (Barcrest) (MPU4) (PO 1.2)" ) GAME_CUSTOM( 199?, m4potblk__av, m4potblk, "po_x6_d5.1_1", 0x0000, 0x020000, CRC(404d5a99) SHA1(7a846df3b7f9f0108d84e4a4c2d199e5971b6375), "Bwb","Pot Black (Barcrest) (MPU4) (PO 1.2 D)" ) @@ -2359,18 +3183,36 @@ GAME_CUSTOM( 199?, m4potblk__av, m4potblk, "po_x6_d5.1_1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4potblk__au, m4potblk, "po_x6__t.1_1", 0x0000, 0x020000, CRC(c9314f6e) SHA1(4f9226883f9e1963c568eea327775688fb966431), "Bwb","Pot Black (Barcrest) (MPU4) (PO 1.1)" ) GAME_CUSTOM( 199?, m4potblk__aw, m4potblk, "po_x6_dt.1_1", 0x0000, 0x020000, CRC(7213fd77) SHA1(07482cb54d4f03aad62c54d66322f7101f6c8dcf), "Bwb","Pot Black (Barcrest) (MPU4) (PO 1.1 D)" ) GAME_CUSTOM( 199?, m4potblk__ax, m4potblk, "po_x6a_t.1_1", 0x0000, 0x020000, CRC(1b47a76a) SHA1(3587e4c0b50e359529e132376af3cd239194db31), "Bwb","Pot Black (Barcrest) (MPU4) (PO 1.1 K)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4POTBLK_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + + +// different protection // no copyright string and "PBG 1.5" GAME_CUSTOM( 199?, m4potblk__a, m4potblk, "pb15g", 0x0000, 0x020000, CRC(650a54be) SHA1(80a5bb95857c911c1972f8be5bf794637cb02323), "hack","Pot Black (Barcrest) (MPU4) (PBG 1.5 Y, hack)" ) // no copyright string and "PBS 0.4" GAME_CUSTOM( 199?, m4potblk__b, m4potblk, "pb15t", 0x0000, 0x020000, CRC(98628744) SHA1(1a0df7036c36f3b87d5a239e1c9edfd7c74d2ae8), "hack","Pot Black (Barcrest) (MPU4) (PBS 0.4 C, hack)" ) +/***************************************************************************************************************************************************************************** +* +* Place Your Bets +* +*****************************************************************************************************************************************************************************/ + + #define M4PLACBT_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "pyb.chr", 0x0000, 0x000048, CRC(663e9d8e) SHA1(08e898967d41fbc582c9bfdebb461ad51269089d) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "pybsnd.p1", 0x000000, 0x080000, CRC(3a91784a) SHA1(7297ccec3264aa9f1e7b3a2841f5f8a1e4ca6c54) ) \ ROM_LOAD( "pybsnd.p2", 0x080000, 0x080000, CRC(a82f0096) SHA1(45b6b5a2ae06b45add9cdbb9f5e6f834687b4902) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -2378,21 +3220,8 @@ GAME_CUSTOM( 199?, m4potblk__b, m4potblk, "pb15t", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4PLACBT_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) -// "(C)1993 BARCREST" and "PYB 0.7" -GAME_CUSTOM( 199?, m4placbt, 0, "pyb07s.p1", 0x0000, 0x020000, CRC(ad02705a) SHA1(027bcbbd828e4fd23831af9554d582857e6784e1), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7)" ) -GAME_CUSTOM( 199?, m4placbt__m, m4placbt, "pyb07ad.p1", 0x0000, 0x020000, CRC(427a7489) SHA1(fb0a24da5ef7a948152e8180968aaaebbd85afa0), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 AD)" ) -GAME_CUSTOM( 199?, m4placbt__n, m4placbt, "pyb07b.p1", 0x0000, 0x020000, CRC(35cdf803) SHA1(94953da72c2ee8792f53bf677483ffed15d4709c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 B)" ) -GAME_CUSTOM( 199?, m4placbt__o, m4placbt, "pyb07bd.p1", 0x0000, 0x020000, CRC(cf60da4c) SHA1(8667308f750e944894f68f20b70d42244b751e22), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 BD)" ) -GAME_CUSTOM( 199?, m4placbt__p, m4placbt, "pyb07c.p1", 0x0000, 0x020000, CRC(02874511) SHA1(b5acdcfb7d901faa1271eb16e5d36d0a484d97cb), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 C)" ) -GAME_CUSTOM( 199?, m4placbt__q, m4placbt, "pyb07d.p1", 0x0000, 0x020000, CRC(48d6f375) SHA1(1891b6f8f4599d94280bcb68e9d0e9259351e2b8), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 D)" ) -GAME_CUSTOM( 199?, m4placbt__r, m4placbt, "pyb07dk.p1", 0x0000, 0x020000, CRC(85a7721a) SHA1(e3af55577b4ad4ae48e95b576e336cb019f3ecd0), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 KD)" ) -GAME_CUSTOM( 199?, m4placbt__s, m4placbt, "pyb07dr.p1", 0x0000, 0x020000, CRC(36a8c92b) SHA1(a1091dea9ffe53c9ba1495f7e0d2aebe92d9bb64), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 RD)" ) -GAME_CUSTOM( 199?, m4placbt__t, m4placbt, "pyb07dy.p1", 0x0000, 0x020000, CRC(024452e4) SHA1(a92c887ab467be6bcccaec1cd5dcc1304eddba19), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 YD)" ) -GAME_CUSTOM( 199?, m4placbt__u, m4placbt, "pyb07k.p1", 0x0000, 0x020000, CRC(7f0a5055) SHA1(5620d8a3333f2f56ea24bcecf1a791e6ee0f43d9), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 K)" ) -GAME_CUSTOM( 199?, m4placbt__v, m4placbt, "pyb07r.p1", 0x0000, 0x020000, CRC(cc05eb64) SHA1(1329decc84de231e8c1929f057233b25cc8b5942), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 R)" ) -GAME_CUSTOM( 199?, m4placbt__w, m4placbt, "pyb07y.p1", 0x0000, 0x020000, CRC(f8e970ab) SHA1(66a54a9c2750ea1aa4ce562aad74c98775865ed6), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 Y)" ) // "(C)1993 BARCREST" and "PYB 0.6" GAME_CUSTOM( 199?, m4placbt__k, m4placbt, "pyb06s.p1", 0x0000, 0x020000, CRC(acd9d628) SHA1(93d8f0ffa3b9ebdd9fef39b2bc49bb85b2fac00f), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.6)" ) GAME_CUSTOM( 199?, m4placbt__a, m4placbt, "pyb06ad.p1", 0x0000, 0x020000, CRC(e08b6176) SHA1(ccfb43ee033b4ed36e8656bcb4ba62230dde8466), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.6 AD)" ) @@ -2406,19 +3235,6 @@ GAME_CUSTOM( 199?, m4placbt__h, m4placbt, "pyb06dy.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4placbt__i, m4placbt, "pyb06k.p1", 0x0000, 0x020000, CRC(fc8fc803) SHA1(81fa3104075b56f51c35d944fa3652aa8cce988c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.6 K)" ) GAME_CUSTOM( 199?, m4placbt__j, m4placbt, "pyb06r.p1", 0x0000, 0x020000, CRC(4f807332) SHA1(e3852ac9811d780ac87f375acaf5ec1026071b2e), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.6 R)" ) GAME_CUSTOM( 199?, m4placbt__l, m4placbt, "pyb06y.p1", 0x0000, 0x020000, CRC(7b6ce8fd) SHA1(096fb2e8a4ac5f723810766bc4245d403814a20f), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.6 Y)" ) -// "(C)1993 BARCREST" and "PYH 0.6" -GAME_CUSTOM( 199?, m4placbt__an, m4placbt, "pyh06s.p1", 0x0000, 0x020000, CRC(10b75ddf) SHA1(d093ac51c64642400d2cf24a713dc7adb4a6a9d0), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6)" ) -GAME_CUSTOM( 199?, m4placbt__ad, m4placbt, "pyh06ad.p1", 0x0000, 0x020000, CRC(7ae70380) SHA1(c0e2b67ade2275a903359b6df7f55e44ef78828f), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 AD)" ) -GAME_CUSTOM( 199?, m4placbt__ae, m4placbt, "pyh06b.p1", 0x0000, 0x020000, CRC(dc588857) SHA1(dd2d2ffa87c61b200aa82337beea7d2205f1176c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 B)" ) -GAME_CUSTOM( 199?, m4placbt__af, m4placbt, "pyh06bd.p1", 0x0000, 0x020000, CRC(f7fdad45) SHA1(78334007b0a414fd3d2b8ec1645d1f04e711eb77), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 BD)" ) -GAME_CUSTOM( 199?, m4placbt__ag, m4placbt, "pyh06c.p1", 0x0000, 0x020000, CRC(eb123545) SHA1(410400c219fb15f3267c2f94737fa9d2785318a0), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 C)" ) -GAME_CUSTOM( 199?, m4placbt__ah, m4placbt, "pyh06d.p1", 0x0000, 0x020000, CRC(a1438321) SHA1(53f7e0156b137bea91264fe662642083ca9f5f9c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 D)" ) -GAME_CUSTOM( 199?, m4placbt__ai, m4placbt, "pyh06dk.p1", 0x0000, 0x020000, CRC(bd3a0513) SHA1(98dfd874dcbee5a3c16a0ebf42f944bf0ba50672), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 KD)" ) -GAME_CUSTOM( 199?, m4placbt__aj, m4placbt, "pyh06dr.p1", 0x0000, 0x020000, CRC(0e35be22) SHA1(8ff910601bfec1b47e50ba92cdb80c1bdfe287ec), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 RD)" ) -GAME_CUSTOM( 199?, m4placbt__ak, m4placbt, "pyh06dy.p1", 0x0000, 0x020000, CRC(3ad925ed) SHA1(af584333e443127071b874bafea0c8667da33f6c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 YD)" ) -GAME_CUSTOM( 199?, m4placbt__al, m4placbt, "pyh06k.p1", 0x0000, 0x020000, CRC(969f2001) SHA1(e934aa7e95e91f155ee82e8eaac5c949b35e024b), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 K)" ) -GAME_CUSTOM( 199?, m4placbt__am, m4placbt, "pyh06r.p1", 0x0000, 0x020000, CRC(25909b30) SHA1(8a44e59a46ffec3badb27ee62e7e9bb0adff62a4), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 R)" ) -GAME_CUSTOM( 199?, m4placbt__ao, m4placbt, "pyh06y.p1", 0x0000, 0x020000, CRC(117c00ff) SHA1(ace5d8c4f4e0647c89608db2c2ad35f241be3672), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 Y)" ) // "(C)1993 BARCREST" and "PYH 0.5" GAME_CUSTOM( 199?, m4placbt__ab, m4placbt, "pyh05s.p1", 0x0000, 0x020000, CRC(3c544ad9) SHA1(50780424382fd4ccd023a784e43bb60b8f862456), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.5)" ) GAME_CUSTOM( 199?, m4placbt__1, m4placbt, "pyh05ad.p1", 0x0000, 0x020000, CRC(948d1ad6) SHA1(66c580f0ef9035de5f50600db51d63336a8d3fbb), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.5 AD)" ) @@ -2436,15 +3252,67 @@ GAME_CUSTOM( 199?, m4placbt__ac, m4placbt, "pyh05y.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4placbt__0, m4placbt, "pyh04s", 0x0000, 0x020000, CRC(c824b937) SHA1(9bc0a1e75540520ef3448dc7a3c95c81f93abe78), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.4)" ) // "(C)1993 BARCREST" and "PYH 0.1" GAME_CUSTOM( 199?, m4placbt__x, m4placbt, "pyb10h", 0x0000, 0x020000, CRC(69be6185) SHA1(f697350912505cd857acae2733ad8b48e67cab6b), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.1)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4PLACBT_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "PYB 0.7" +GAME_CUSTOM( 199?, m4placbt, 0, "pyb07s.p1", 0x0000, 0x020000, CRC(ad02705a) SHA1(027bcbbd828e4fd23831af9554d582857e6784e1), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7)" ) +GAME_CUSTOM( 199?, m4placbt__m, m4placbt, "pyb07ad.p1", 0x0000, 0x020000, CRC(427a7489) SHA1(fb0a24da5ef7a948152e8180968aaaebbd85afa0), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 AD)" ) +GAME_CUSTOM( 199?, m4placbt__n, m4placbt, "pyb07b.p1", 0x0000, 0x020000, CRC(35cdf803) SHA1(94953da72c2ee8792f53bf677483ffed15d4709c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 B)" ) +GAME_CUSTOM( 199?, m4placbt__o, m4placbt, "pyb07bd.p1", 0x0000, 0x020000, CRC(cf60da4c) SHA1(8667308f750e944894f68f20b70d42244b751e22), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 BD)" ) +GAME_CUSTOM( 199?, m4placbt__p, m4placbt, "pyb07c.p1", 0x0000, 0x020000, CRC(02874511) SHA1(b5acdcfb7d901faa1271eb16e5d36d0a484d97cb), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 C)" ) +GAME_CUSTOM( 199?, m4placbt__q, m4placbt, "pyb07d.p1", 0x0000, 0x020000, CRC(48d6f375) SHA1(1891b6f8f4599d94280bcb68e9d0e9259351e2b8), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 D)" ) +GAME_CUSTOM( 199?, m4placbt__r, m4placbt, "pyb07dk.p1", 0x0000, 0x020000, CRC(85a7721a) SHA1(e3af55577b4ad4ae48e95b576e336cb019f3ecd0), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 KD)" ) +GAME_CUSTOM( 199?, m4placbt__s, m4placbt, "pyb07dr.p1", 0x0000, 0x020000, CRC(36a8c92b) SHA1(a1091dea9ffe53c9ba1495f7e0d2aebe92d9bb64), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 RD)" ) +GAME_CUSTOM( 199?, m4placbt__t, m4placbt, "pyb07dy.p1", 0x0000, 0x020000, CRC(024452e4) SHA1(a92c887ab467be6bcccaec1cd5dcc1304eddba19), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 YD)" ) +GAME_CUSTOM( 199?, m4placbt__u, m4placbt, "pyb07k.p1", 0x0000, 0x020000, CRC(7f0a5055) SHA1(5620d8a3333f2f56ea24bcecf1a791e6ee0f43d9), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 K)" ) +GAME_CUSTOM( 199?, m4placbt__v, m4placbt, "pyb07r.p1", 0x0000, 0x020000, CRC(cc05eb64) SHA1(1329decc84de231e8c1929f057233b25cc8b5942), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 R)" ) +GAME_CUSTOM( 199?, m4placbt__w, m4placbt, "pyb07y.p1", 0x0000, 0x020000, CRC(f8e970ab) SHA1(66a54a9c2750ea1aa4ce562aad74c98775865ed6), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7 Y)" ) +// "(C)1993 BARCREST" and "PYH 0.6" +GAME_CUSTOM( 199?, m4placbt__an, m4placbt, "pyh06s.p1", 0x0000, 0x020000, CRC(10b75ddf) SHA1(d093ac51c64642400d2cf24a713dc7adb4a6a9d0), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6)" ) +GAME_CUSTOM( 199?, m4placbt__ad, m4placbt, "pyh06ad.p1", 0x0000, 0x020000, CRC(7ae70380) SHA1(c0e2b67ade2275a903359b6df7f55e44ef78828f), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 AD)" ) +GAME_CUSTOM( 199?, m4placbt__ae, m4placbt, "pyh06b.p1", 0x0000, 0x020000, CRC(dc588857) SHA1(dd2d2ffa87c61b200aa82337beea7d2205f1176c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 B)" ) +GAME_CUSTOM( 199?, m4placbt__af, m4placbt, "pyh06bd.p1", 0x0000, 0x020000, CRC(f7fdad45) SHA1(78334007b0a414fd3d2b8ec1645d1f04e711eb77), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 BD)" ) +GAME_CUSTOM( 199?, m4placbt__ag, m4placbt, "pyh06c.p1", 0x0000, 0x020000, CRC(eb123545) SHA1(410400c219fb15f3267c2f94737fa9d2785318a0), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 C)" ) +GAME_CUSTOM( 199?, m4placbt__ah, m4placbt, "pyh06d.p1", 0x0000, 0x020000, CRC(a1438321) SHA1(53f7e0156b137bea91264fe662642083ca9f5f9c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 D)" ) +GAME_CUSTOM( 199?, m4placbt__ai, m4placbt, "pyh06dk.p1", 0x0000, 0x020000, CRC(bd3a0513) SHA1(98dfd874dcbee5a3c16a0ebf42f944bf0ba50672), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 KD)" ) +GAME_CUSTOM( 199?, m4placbt__aj, m4placbt, "pyh06dr.p1", 0x0000, 0x020000, CRC(0e35be22) SHA1(8ff910601bfec1b47e50ba92cdb80c1bdfe287ec), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 RD)" ) +GAME_CUSTOM( 199?, m4placbt__ak, m4placbt, "pyh06dy.p1", 0x0000, 0x020000, CRC(3ad925ed) SHA1(af584333e443127071b874bafea0c8667da33f6c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 YD)" ) +GAME_CUSTOM( 199?, m4placbt__al, m4placbt, "pyh06k.p1", 0x0000, 0x020000, CRC(969f2001) SHA1(e934aa7e95e91f155ee82e8eaac5c949b35e024b), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 K)" ) +GAME_CUSTOM( 199?, m4placbt__am, m4placbt, "pyh06r.p1", 0x0000, 0x020000, CRC(25909b30) SHA1(8a44e59a46ffec3badb27ee62e7e9bb0adff62a4), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 R)" ) +GAME_CUSTOM( 199?, m4placbt__ao, m4placbt, "pyh06y.p1", 0x0000, 0x020000, CRC(117c00ff) SHA1(ace5d8c4f4e0647c89608db2c2ad35f241be3672), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4PLACBT_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + + +// different protection // no copyright string and "PYH 0.5" GAME_CUSTOM( 199?, m4placbt__y, m4placbt, "pyb15g", 0x0000, 0x020000, CRC(369fd852) SHA1(4c532a59451352aa54a1e47d12f04403d2e9c8cb), "hack","Place Your Bets (Barcrest) (MPU4) (PYH 0.5 Y, hack)" ) // no copyright string and "PYB 0.6" GAME_CUSTOM( 199?, m4placbt__z, m4placbt, "pyb15t", 0x0000, 0x020000, CRC(c38d7b04) SHA1(5785344084498cab4ce2734b3d8c0dc8f0cbed5a), "hack","Place Your Bets (Barcrest) (MPU4) (PYB 0.6 C, hack)" ) +/***************************************************************************************************************************************************************************** +* +* Cloud Nine +* +*****************************************************************************************************************************************************************************/ + #define M4C9_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "du91.chr", 0x0000, 0x000048, CRC(9724122d) SHA1(a41687eec84cad453c1a2a89317078f48ca0895f) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "c9s.hex", 0x0000, 0x080000, CRC(ae952e15) SHA1(a9eed61c3d65ded5e1faa67362f181393cb6339a) ) #undef GAME_CUSTOM @@ -2454,21 +3322,8 @@ GAME_CUSTOM( 199?, m4placbt__z, m4placbt, "pyb15t", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4C9_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) -// "(C)1991 BARCREST" and "C92 1.1" -GAME_CUSTOM( 199?, m4c9, 0, "c9211.p1", 0x0000, 0x010000, CRC(44e5cc87) SHA1(36fca9493d36ee6988d02da1b4c575278c43748c), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1)" ) -GAME_CUSTOM( 199?, m4c9__o, m4c9, "c9211ad.p1", 0x0000, 0x010000, CRC(dcabab11) SHA1(d73f33da37decfc403975a844916b49d527ee8f8), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 AD)" ) -GAME_CUSTOM( 199?, m4c9__p, m4c9, "c9211b.p1", 0x0000, 0x010000, CRC(2f10f98b) SHA1(4add53d98f31f4a8bedb621906e91e92622d2c95), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 B)" ) -GAME_CUSTOM( 199?, m4c9__q, m4c9, "c9211bd.p1", 0x0000, 0x010000, CRC(6dc2add7) SHA1(26a2b9cd629132d7ba48c9ea3476c574006ad4af), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 BD)" ) -GAME_CUSTOM( 199?, m4c9__r, m4c9, "c9211c.p1", 0x0000, 0x010000, CRC(760ee71b) SHA1(ed124fc56a59c06b6ba8d250af5dbfd6154e55c3), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 C)" ) -GAME_CUSTOM( 199?, m4c9__s, m4c9, "c9211d.p1", 0x0000, 0x010000, CRC(1dd0166f) SHA1(d8f11fc2cd2efe0f6436ffbb31dd6b5c16bbe3ec), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 D)" ) -GAME_CUSTOM( 199?, m4c9__t, m4c9, "c9211dk.p1", 0x0000, 0x010000, CRC(0ee51f5c) SHA1(c773bf537f92a25b6d2f362d5ea1307eec8f1663), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 KD)" ) -GAME_CUSTOM( 199?, m4c9__u, m4c9, "c9211dr.p1", 0x0000, 0x010000, CRC(35c30093) SHA1(c3b56e468cad9ef0f80983b9c05daa3f38c80a2c), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 RD)" ) -GAME_CUSTOM( 199?, m4c9__v, m4c9, "c9211dy.p1", 0x0000, 0x010000, CRC(a8a8287d) SHA1(5e0de3b864251491d243984c5499650dafd8bb56), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 YD)" ) -GAME_CUSTOM( 199?, m4c9__w, m4c9, "c9211k.p1", 0x0000, 0x010000, CRC(4f9b6b6d) SHA1(5722c0698c3915eb380b24468539dccad6978218), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 K)" ) -GAME_CUSTOM( 199?, m4c9__x, m4c9, "c9211r.p1", 0x0000, 0x010000, CRC(43f8b759) SHA1(cb0f731f1584e4d23602d276c085b31be6966bb1), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 R)" ) -GAME_CUSTOM( 199?, m4c9__y, m4c9, "c9211y.p1", 0x0000, 0x010000, CRC(de939fb7) SHA1(a305bdf247f498f86cd681fba7d0593a668067c7), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 Y)" ) // "(C)1991 BARCREST" and "CT3 0.2" GAME_CUSTOM( 199?, m4c9__a, m4c9, "c915.hex", 0x0000, 0x010000, CRC(dabfa3f3) SHA1(f507c78e61cba74e9b776bebaf0cc4fa40b6de95), "Barcrest","Cloud Nine (Barcrest) (MPU4) (CT3 0.2)" ) GAME_CUSTOM( 199?, m4c9__ab, m4c9, "ct302ad.p1", 0x0000, 0x010000, CRC(2f29a7e9) SHA1(059f73b6a9c2a1d8f9b8bbef9050c61c2d4f13bb), "Barcrest","Cloud Nine (Barcrest) (MPU4) (CT3 0.2 AD)" ) @@ -2482,22 +3337,6 @@ GAME_CUSTOM( 199?, m4c9__ai, m4c9, "ct302dy.p1", 0x0000, 0x010000, CRC(8da GAME_CUSTOM( 199?, m4c9__aj, m4c9, "ct302k.p1", 0x0000, 0x010000, CRC(cfb85369) SHA1(c5726477aeea5a70e8eef74e57732fe85abea737), "Barcrest","Cloud Nine (Barcrest) (MPU4) (CT3 0.2 K)" ) GAME_CUSTOM( 199?, m4c9__ak, m4c9, "ct302r.p1", 0x0000, 0x010000, CRC(10c64611) SHA1(d85df4ca0fc13ddab219a5602019e54471b83aaf), "Barcrest","Cloud Nine (Barcrest) (MPU4) (CT3 0.2 R)" ) GAME_CUSTOM( 199?, m4c9__al, m4c9, "ct302y.p1", 0x0000, 0x010000, CRC(46514a44) SHA1(71e698c88488a67e94c322cb393f637c7e35d633), "Barcrest","Cloud Nine (Barcrest) (MPU4) (CT3 0.2 Y)" ) -// "(C)1991 BARCREST" and "C92 1.0" -GAME_CUSTOM( 199?, m4c9__b, m4c9, "c9210dk.p1", 0x0000, 0x010000, CRC(169a3ce4) SHA1(74d5d533c145908d17bb3e6ac6fea6e3c826ef1e), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.0 KD)" ) -// "(C)1991 BARCREST" and "C95 1.0" -GAME_CUSTOM( 199?, m4c9__l, m4c9, "c9510s.p1", 0x0000, 0x010000, CRC(dc70433e) SHA1(86f158909fea49baf4239821ccf092d8ef1027b7), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0)" ) -GAME_CUSTOM( 199?, m4c9__c, m4c9, "c9510ad.p1", 0x0000, 0x010000, CRC(e1a6a573) SHA1(d653d8dce8d8df4151e2fcd8b93964e326bfbe7f), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 AD)" ) -GAME_CUSTOM( 199?, m4c9__d, m4c9, "c9510b.p1", 0x0000, 0x010000, CRC(80c1d5bb) SHA1(5928f58f7963710e4ec9043aae4f656d98888e5b), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 B)" ) -GAME_CUSTOM( 199?, m4c9__e, m4c9, "c9510bd.p1", 0x0000, 0x010000, CRC(0aadc7d5) SHA1(143d937ef7b17d86d2e41065bb8f851b548ac8a3), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 BD)" ) -GAME_CUSTOM( 199?, m4c9__f, m4c9, "c9510d.p1", 0x0000, 0x010000, CRC(e669989f) SHA1(a9ee5e1d309585f21882681a06f064f6ed03951f), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 D)" ) -GAME_CUSTOM( 199?, m4c9__g, m4c9, "c9510dk.p1", 0x0000, 0x010000, CRC(43be243e) SHA1(3974051fe47a192c135eceb2a7966e6a41b01a3d), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 KD)" ) -GAME_CUSTOM( 199?, m4c9__h, m4c9, "c9510dr.p1", 0x0000, 0x010000, CRC(8edf7aa6) SHA1(ac15a8c1d0e24cc99452b560b68a664e16e8d82f), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 RD)" ) -GAME_CUSTOM( 199?, m4c9__i, m4c9, "c9510dy.p1", 0x0000, 0x010000, CRC(b0ffae04) SHA1(81921a45a06c38a5391ed3edec57da74b220a181), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 YD)" ) -GAME_CUSTOM( 199?, m4c9__j, m4c9, "c9510k.p1", 0x0000, 0x010000, CRC(665b330a) SHA1(75fe5fbe6f3b11a21092f6d18f7f50980c92febe), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 K)" ) -GAME_CUSTOM( 199?, m4c9__k, m4c9, "c9510r.p1", 0x0000, 0x010000, CRC(a9f25224) SHA1(3fe4091b27a2d789a8c5d00cb4fc00289639588f), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 R)" ) -GAME_CUSTOM( 199?, m4c9__m, m4c9, "c9510y.p1", 0x0000, 0x010000, CRC(3a93bc6a) SHA1(2832b48b6391746dbcea3484715dd6a169c081af), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 Y)" ) -// "(C)1991 BARCREST" and "CLN 4.0" -GAME_CUSTOM( 199?, m4c9__n, m4c9, "clnv.p1", 0x0000, 0x010000, CRC(486097d8) SHA1(33e9eab0fb1c750160a8cb2b75eca73145d6956e), "Barcrest","Cloud Nine (Barcrest) (MPU4) (CLN 4.0 V)" ) // V isn't usually a valid code.. hack? // "(C)1991 BARCREST" and "CT2 0.2" GAME_CUSTOM( 199?, m4c9__9, m4c9, "ct202s.p1", 0x0000, 0x010000, CRC(19214c6e) SHA1(93c8c40fd7b3a8873715e7bee88a09a995b44b28), "Barcrest","Cloud Nine (Barcrest) (MPU4) (CT2 0.2)" ) GAME_CUSTOM( 199?, m4c9__z, m4c9, "ct202ad.p1", 0x0000, 0x010000, CRC(c8484dfd) SHA1(778fc30597b942fd75f5230ef3193b9f599abd03), "Barcrest","Cloud Nine (Barcrest) (MPU4) (CT2 0.2 AD)" ) @@ -2524,119 +3363,165 @@ GAME_CUSTOM( 199?, m4c9__at, m4c9, "ct502dy.p1", 0x0000, 0x010000, CRC(54d GAME_CUSTOM( 199?, m4c9__au, m4c9, "ct502k.p1", 0x0000, 0x010000, CRC(f53ee613) SHA1(678f59b923054e6d91ea1bd91515b6522f192a8c), "Barcrest","Cloud Nine (Barcrest) (MPU4) (CT5 0.2 K)" ) GAME_CUSTOM( 199?, m4c9__av, m4c9, "ct502r.p1", 0x0000, 0x010000, CRC(b678557d) SHA1(fbf3c367d40d2f914906eb7cd7e95713bfe7fc30), "Barcrest","Cloud Nine (Barcrest) (MPU4) (CT5 0.2 R)" ) GAME_CUSTOM( 199?, m4c9__ax, m4c9, "ct502y.p1", 0x0000, 0x010000, CRC(f4cc4dc9) SHA1(d23757467830dfbdeed2a52a0c7e31276124d24d), "Barcrest","Cloud Nine (Barcrest) (MPU4) (CT5 0.2 Y)" ) -// "(C)1993 B.W.B." and "SC9 5.0" -GAME_CUSTOM( 199?, m4c9__a2, m4c9, "c9o20__1.1", 0x0000, 0x010000, CRC(e05fa532) SHA1(63d070416a4e6979302901bb33e20c994cb3723e), "Bwb","Cloud Nine (Barcrest) (MPU4) (SC9 5.0)" ) -GAME_CUSTOM( 199?, m4c9__a3, m4c9, "c9o20d_1.1", 0x0000, 0x010000, CRC(047b2d83) SHA1(b83f8fe6477226ef3e75f406020ea4f8b3d55c32), "Bwb","Cloud Nine (Barcrest) (MPU4) (SC9 5.0 D)" ) -// no copyright string and "SC9 1.0" (hack or early Bwb set?) Reels aren't scrambled either, so no characterizer? -GAME_CUSTOM( 199?, m4c9__ay, m4c9, "c9o02__1.1", 0x0000, 0x010000, CRC(109f7040) SHA1(3fe9da13d9746e1cdaf6dcd539e4af624d2cec71), "hack?","Cloud Nine (Barcrest) (MPU4) (SC9 1.0, hack?, set 1)" ) -GAME_CUSTOM( 199?, m4c9__az, m4c9, "c9o05__1.1", 0x0000, 0x010000, CRC(2c821aa8) SHA1(33fba7dea0f66e7b0251971864d5a2923f96f8cd), "hack?","Cloud Nine (Barcrest) (MPU4) (SC9 1.0, hack?, set 2)" ) -GAME_CUSTOM( 199?, m4c9__a0, m4c9, "c9o10__1.1", 0x0000, 0x010000, CRC(c5063185) SHA1(ca98038ccd85ebc370cacce8583ddbc1f759558d), "hack?","Cloud Nine (Barcrest) (MPU4) (SC9 1.0, hack?, set 3)" ) -GAME_CUSTOM( 199?, m4c9__a1, m4c9, "c9o10d_1.1", 0x0000, 0x010000, CRC(6b20b16d) SHA1(15079fc5f14f545c291d357a795e6b41ca1d5a47), "hack?","Cloud Nine (Barcrest) (MPU4) (SC9 1.0, hack?, set 4)" ) // doesn't have 'D' set but is a dataport set + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4C9_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1991 BARCREST" and "C92 1.1" +GAME_CUSTOM( 199?, m4c9, 0, "c9211.p1", 0x0000, 0x010000, CRC(44e5cc87) SHA1(36fca9493d36ee6988d02da1b4c575278c43748c), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1)" ) +GAME_CUSTOM( 199?, m4c9__o, m4c9, "c9211ad.p1", 0x0000, 0x010000, CRC(dcabab11) SHA1(d73f33da37decfc403975a844916b49d527ee8f8), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 AD)" ) +GAME_CUSTOM( 199?, m4c9__p, m4c9, "c9211b.p1", 0x0000, 0x010000, CRC(2f10f98b) SHA1(4add53d98f31f4a8bedb621906e91e92622d2c95), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 B)" ) +GAME_CUSTOM( 199?, m4c9__q, m4c9, "c9211bd.p1", 0x0000, 0x010000, CRC(6dc2add7) SHA1(26a2b9cd629132d7ba48c9ea3476c574006ad4af), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 BD)" ) +GAME_CUSTOM( 199?, m4c9__r, m4c9, "c9211c.p1", 0x0000, 0x010000, CRC(760ee71b) SHA1(ed124fc56a59c06b6ba8d250af5dbfd6154e55c3), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 C)" ) +GAME_CUSTOM( 199?, m4c9__s, m4c9, "c9211d.p1", 0x0000, 0x010000, CRC(1dd0166f) SHA1(d8f11fc2cd2efe0f6436ffbb31dd6b5c16bbe3ec), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 D)" ) +GAME_CUSTOM( 199?, m4c9__t, m4c9, "c9211dk.p1", 0x0000, 0x010000, CRC(0ee51f5c) SHA1(c773bf537f92a25b6d2f362d5ea1307eec8f1663), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 KD)" ) +GAME_CUSTOM( 199?, m4c9__u, m4c9, "c9211dr.p1", 0x0000, 0x010000, CRC(35c30093) SHA1(c3b56e468cad9ef0f80983b9c05daa3f38c80a2c), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 RD)" ) +GAME_CUSTOM( 199?, m4c9__v, m4c9, "c9211dy.p1", 0x0000, 0x010000, CRC(a8a8287d) SHA1(5e0de3b864251491d243984c5499650dafd8bb56), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 YD)" ) +GAME_CUSTOM( 199?, m4c9__w, m4c9, "c9211k.p1", 0x0000, 0x010000, CRC(4f9b6b6d) SHA1(5722c0698c3915eb380b24468539dccad6978218), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 K)" ) +GAME_CUSTOM( 199?, m4c9__x, m4c9, "c9211r.p1", 0x0000, 0x010000, CRC(43f8b759) SHA1(cb0f731f1584e4d23602d276c085b31be6966bb1), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 R)" ) +GAME_CUSTOM( 199?, m4c9__y, m4c9, "c9211y.p1", 0x0000, 0x010000, CRC(de939fb7) SHA1(a305bdf247f498f86cd681fba7d0593a668067c7), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.1 Y)" ) +// "(C)1991 BARCREST" and "C92 1.0" +GAME_CUSTOM( 199?, m4c9__b, m4c9, "c9210dk.p1", 0x0000, 0x010000, CRC(169a3ce4) SHA1(74d5d533c145908d17bb3e6ac6fea6e3c826ef1e), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C92 1.0 KD)" ) +// "(C)1991 BARCREST" and "C95 1.0" +GAME_CUSTOM( 199?, m4c9__l, m4c9, "c9510s.p1", 0x0000, 0x010000, CRC(dc70433e) SHA1(86f158909fea49baf4239821ccf092d8ef1027b7), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0)" ) +GAME_CUSTOM( 199?, m4c9__c, m4c9, "c9510ad.p1", 0x0000, 0x010000, CRC(e1a6a573) SHA1(d653d8dce8d8df4151e2fcd8b93964e326bfbe7f), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 AD)" ) +GAME_CUSTOM( 199?, m4c9__d, m4c9, "c9510b.p1", 0x0000, 0x010000, CRC(80c1d5bb) SHA1(5928f58f7963710e4ec9043aae4f656d98888e5b), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 B)" ) +GAME_CUSTOM( 199?, m4c9__e, m4c9, "c9510bd.p1", 0x0000, 0x010000, CRC(0aadc7d5) SHA1(143d937ef7b17d86d2e41065bb8f851b548ac8a3), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 BD)" ) +GAME_CUSTOM( 199?, m4c9__f, m4c9, "c9510d.p1", 0x0000, 0x010000, CRC(e669989f) SHA1(a9ee5e1d309585f21882681a06f064f6ed03951f), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 D)" ) +GAME_CUSTOM( 199?, m4c9__g, m4c9, "c9510dk.p1", 0x0000, 0x010000, CRC(43be243e) SHA1(3974051fe47a192c135eceb2a7966e6a41b01a3d), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 KD)" ) +GAME_CUSTOM( 199?, m4c9__h, m4c9, "c9510dr.p1", 0x0000, 0x010000, CRC(8edf7aa6) SHA1(ac15a8c1d0e24cc99452b560b68a664e16e8d82f), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 RD)" ) +GAME_CUSTOM( 199?, m4c9__i, m4c9, "c9510dy.p1", 0x0000, 0x010000, CRC(b0ffae04) SHA1(81921a45a06c38a5391ed3edec57da74b220a181), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 YD)" ) +GAME_CUSTOM( 199?, m4c9__j, m4c9, "c9510k.p1", 0x0000, 0x010000, CRC(665b330a) SHA1(75fe5fbe6f3b11a21092f6d18f7f50980c92febe), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 K)" ) +GAME_CUSTOM( 199?, m4c9__k, m4c9, "c9510r.p1", 0x0000, 0x010000, CRC(a9f25224) SHA1(3fe4091b27a2d789a8c5d00cb4fc00289639588f), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 R)" ) +GAME_CUSTOM( 199?, m4c9__m, m4c9, "c9510y.p1", 0x0000, 0x010000, CRC(3a93bc6a) SHA1(2832b48b6391746dbcea3484715dd6a169c081af), "Barcrest","Cloud Nine (Barcrest) (MPU4) (C95 1.0 Y)" ) +/***************************************************************************************************************************************************************************** +* +* Tutti Fruity +* +*****************************************************************************************************************************************************************************/ + +// what's the difference between these sound roms, does one pair belong with the now split out m4tutbwb sets? #define M4TUTFRT_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ ROM_REGION( 0x100000, "altmsm6376", 0 ) \ ROM_LOAD( "tftsnd02.p1", 0x000000, 0x080000, CRC(9789e60f) SHA1(7299eb4b6bb2fc90e8a36859102aad5daf66b163) ) \ ROM_LOAD( "tftsnd02.p2", 0x080000, 0x080000, CRC(0bdc1dc9) SHA1(909af8ff4d0e3e36e280e9553a73bb1dfdb62144) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "tfsnd1.hex", 0x000000, 0x080000, CRC(a5b623fa) SHA1(eb4d84a7d3977ddea42c4995dddaabace73e6f8a) ) \ ROM_LOAD( "tfsnd2.hex", 0x080000, 0x080000, CRC(1275e528) SHA1(0c3c901cb2be1e84dba123677205108cf0388343) ) + #undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4TUTFRT_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) -// "(C)1991 BARCREST" and "TF4 0.4" (TFT 0.4 on startup) -GAME_CUSTOM( 199?, m4tutfrt, 0, "tft04s.p1", 0x0000, 0x010000, CRC(c20c3589) SHA1(55d1bc5d5f4ae14acafb36bd640faaf4ffccc6eb), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 / TF4 0.4)" ) -GAME_CUSTOM( 199?, m4tutfrt__ai, m4tutfrt, "tft04ad.p1", 0x0000, 0x010000, CRC(2994aa14) SHA1(af0e618f24cdedd14e3a347701313360d9fc73d1), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 AD / TF4 0.4)" ) -GAME_CUSTOM( 199?, m4tutfrt__aj, m4tutfrt, "tft04b.p1", 0x0000, 0x010000, CRC(e95eab06) SHA1(70e85e38493ac1fd30a79582bab45af5227d835a), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 B / TF4 0.4)" ) -GAME_CUSTOM( 199?, m4tutfrt__ak, m4tutfrt, "tft04bd.p1", 0x0000, 0x010000, CRC(060d3572) SHA1(e78b6248d3aef6cd08f4b30e0b00bd4cf254e630), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 BD / TF4 0.4)" ) -GAME_CUSTOM( 199?, m4tutfrt__al, m4tutfrt, "tft04c.p1", 0x0000, 0x010000, CRC(3499fe77) SHA1(3f82ca6d856bddf82581790c46abf725963335a0), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 C / TF4 0.4)" ) -GAME_CUSTOM( 199?, m4tutfrt__am, m4tutfrt, "tft04d.p1", 0x0000, 0x010000, CRC(10626059) SHA1(c7b2fd2b65946fe82950ff506a56bd08b7c2ef71), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 D / TF4 0.4)" ) -GAME_CUSTOM( 199?, m4tutfrt__an, m4tutfrt, "tft04dk.p1", 0x0000, 0x010000, CRC(40700fe2) SHA1(1f121adae094c2d11a66b5e8ae4b026e85fc7f73), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 KD / TF4 0.4)" ) -GAME_CUSTOM( 199?, m4tutfrt__ao, m4tutfrt, "tft04dr.p1", 0x0000, 0x010000, CRC(feeb4417) SHA1(e2f2c55c48067ad67188ff5a75caa08d8726cb77), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 RD / TF4 0.4)" ) -GAME_CUSTOM( 199?, m4tutfrt__ap, m4tutfrt, "tft04dy.p1", 0x0000, 0x010000, CRC(63806cf9) SHA1(850c707c65b8dba6b6914389d573a8b7b7b12cdb), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 YD / TF4 0.4)" ) -GAME_CUSTOM( 199?, m4tutfrt__aq, m4tutfrt, "tft04k.p1", 0x0000, 0x010000, CRC(ffbf53e1) SHA1(a003bb5d94b43d6ae9b45c599cccb0006bd8a89a), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 K / TF4 0.4)" ) -GAME_CUSTOM( 199?, m4tutfrt__ar, m4tutfrt, "tft04r.p1", 0x0000, 0x010000, CRC(cbf79555) SHA1(0aacb3f28984637919294a18f40858e8f46a18b3), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 R / TF4 0.4)" ) -GAME_CUSTOM( 199?, m4tutfrt__as, m4tutfrt, "tft04y.p1", 0x0000, 0x010000, CRC(569cbdbb) SHA1(8a978dfba876e5a2e12226f5fe55c29b5f079fad), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 Y / TF4 0.4)" ) -// "(C)1991 BARCREST" and "CTU 0.1" -GAME_CUSTOM( 199?, m4tutfrt__i, m4tutfrt, "ctus.p1", 0x0000, 0x010000, CRC(1b282170) SHA1(e3082aed6e96587de56c5593d32d0129c47fe667), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1)" ) -GAME_CUSTOM( 199?, m4tutfrt__a, m4tutfrt, "ctuad.p1", 0x0000, 0x010000, CRC(0ec1661b) SHA1(162ddc30c341fd8eda8ce57a60edf06b4e39a24f), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 AD)" ) -GAME_CUSTOM( 199?, m4tutfrt__b, m4tutfrt, "ctub.p1", 0x0000, 0x010000, CRC(f4289621) SHA1(a4078552146c88c05845cbdcd551e4564840fea4), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 B)" ) -GAME_CUSTOM( 199?, m4tutfrt__c, m4tutfrt, "ctubd.p1", 0x0000, 0x010000, CRC(38dd0b51) SHA1(04df9511f366cc575a1a06d3a5d60ec0245f64a7), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 BD)" ) -GAME_CUSTOM( 199?, m4tutfrt__d, m4tutfrt, "ctud.p1", 0x0000, 0x010000, CRC(6033fae5) SHA1(f5bdd1821344d4546eea8caa52d76e3bd509810e), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 D)" ) -GAME_CUSTOM( 199?, m4tutfrt__e, m4tutfrt, "ctudk.p1", 0x0000, 0x010000, CRC(36dd1e41) SHA1(ad5ad7cae12634149d38e286e6873b81bda52871), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 KD)" ) -GAME_CUSTOM( 199?, m4tutfrt__f, m4tutfrt, "ctudy.p1", 0x0000, 0x010000, CRC(58c02db6) SHA1(faf85caeaa0678b5771d801cf3d9645d7767767c), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 YD)" ) -GAME_CUSTOM( 199?, m4tutfrt__g, m4tutfrt, "ctuk.p1", 0x0000, 0x010000, CRC(4c247447) SHA1(f5aebb4a75632c9a74dca1f3e9559399c89ac679), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 K)" ) -GAME_CUSTOM( 199?, m4tutfrt__h, m4tutfrt, "ctur.p1", 0x0000, 0x010000, CRC(705a2b52) SHA1(40b0738146d073f93877a15f63830ff3e07814c1), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 R)" ) -GAME_CUSTOM( 199?, m4tutfrt__j, m4tutfrt, "ctuy.p1", 0x0000, 0x010000, CRC(ed3103bc) SHA1(eefb72728e026fad3dd031665510ee0aba23e14b), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 Y)" ) // "(C)1991 BARCREST" and "F1U 0.1" -GAME_CUSTOM( 199?, m4tutfrt__u, m4tutfrt, "f1u01s.p1", 0x0000, 0x010000, CRC(d69668d2) SHA1(86ea656a3a4d4e6701c70b5e730ae8402cd70342), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1)" ) -GAME_CUSTOM( 199?, m4tutfrt__k, m4tutfrt, "f1u01ad.p1", 0x0000, 0x010000, CRC(7573d8cf) SHA1(fe1553ca8f588554fdd495dc2f048e50e00590bb), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 AD)" ) -GAME_CUSTOM( 199?, m4tutfrt__l, m4tutfrt, "f1u01b.p1", 0x0000, 0x010000, CRC(158d1a3a) SHA1(da80334e9982f778a908a6fe89a593863e7c763e), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 B)" ) -GAME_CUSTOM( 199?, m4tutfrt__m, m4tutfrt, "f1u01bd.p1", 0x0000, 0x010000, CRC(9844e568) SHA1(a580176338cdeed5fb4d1744b537bde1f499293e), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 BD)" ) -GAME_CUSTOM( 199?, m4tutfrt__n, m4tutfrt, "f1u01c.p1", 0x0000, 0x010000, CRC(4709bd66) SHA1(c15f64767315ea0434a57b9e494a9e8090f1e05a), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 C)" ) -GAME_CUSTOM( 199?, m4tutfrt__o, m4tutfrt, "f1u01d.p1", 0x0000, 0x010000, CRC(3a3c6745) SHA1(f270bccb4bdedb5cfaf0130da6e480dc31889682), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 D)" ) -GAME_CUSTOM( 199?, m4tutfrt__p, m4tutfrt, "f1u01dk.p1", 0x0000, 0x010000, CRC(4fa79f23) SHA1(ce9a0815d96a94d564edf5a775af94ea10070ff5), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 KD)" ) -GAME_CUSTOM( 199?, m4tutfrt__q, m4tutfrt, "f1u01dr.p1", 0x0000, 0x010000, CRC(6fcc4d76) SHA1(27d8fdd5965ba565cb5b6113b7cba5e820650419), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 RD)" ) -GAME_CUSTOM( 199?, m4tutfrt__r, m4tutfrt, "f1u01dy.p1", 0x0000, 0x010000, CRC(cdd43fc2) SHA1(6f4da20de3040675592b4338a1d72654800c20eb), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 YD)" ) -GAME_CUSTOM( 199?, m4tutfrt__s, m4tutfrt, "f1u01k.p1", 0x0000, 0x010000, CRC(7e9c3110) SHA1(56ab6e5362ce8795c65d0cf11742e3ddb6d8b8a3), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 K)" ) -GAME_CUSTOM( 199?, m4tutfrt__t, m4tutfrt, "f1u01r.p1", 0x0000, 0x010000, CRC(0e6b2132) SHA1(8757713677e2eb0400c69d3cdde6506662e0ef0b), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 R)" ) -GAME_CUSTOM( 199?, m4tutfrt__v, m4tutfrt, "f1u01y.p1", 0x0000, 0x010000, CRC(33e7d5fd) SHA1(96f53fbb228e98ce3a848b2c72bdb8876c9de160), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 Y)" ) -// "(C)1991 BARCREST" and "F3U 0.1" -GAME_CUSTOM( 199?, m4tutfrt__6, m4tutfrt, "f3u01s.p1", 0x0000, 0x010000, CRC(dce2e5be) SHA1(3c218cdb939d5b7cc650c820737ae3ac653435ce), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1)" ) -GAME_CUSTOM( 199?, m4tutfrt__w, m4tutfrt, "f3u01ad.p1", 0x0000, 0x010000, CRC(acb1bfb3) SHA1(8aa22c45d98ecec324fa031b46689496f9a2842c), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 AD)" ) -GAME_CUSTOM( 199?, m4tutfrt__x, m4tutfrt, "f3u01b.p1", 0x0000, 0x010000, CRC(a0d14e25) SHA1(16f2444334608702748a3b0b2556ac1a7760615a), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 B)" ) -GAME_CUSTOM( 199?, m4tutfrt__y, m4tutfrt, "f3u01bd.p1", 0x0000, 0x010000, CRC(9aadd2f9) SHA1(4dbff4f6fd4d02778733eb846a354177f0e204a5), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 BD)" ) -GAME_CUSTOM( 199?, m4tutfrt__z, m4tutfrt, "f3u01c.p1", 0x0000, 0x010000, CRC(a3ad34d5) SHA1(e8c435f80b4fd3f7af16f341e107a85a33f1fe1c), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 C)" ) -GAME_CUSTOM( 199?, m4tutfrt__0, m4tutfrt, "f3u01d.p1", 0x0000, 0x010000, CRC(c6790301) SHA1(fb0b619e75e1227f4d293b613e80d8d653517eec), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 D)" ) -GAME_CUSTOM( 199?, m4tutfrt__1, m4tutfrt, "f3u01dk.p1", 0x0000, 0x010000, CRC(ee0554fe) SHA1(12cd26d6205fec35590fd23682c578f06466eb01), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 KD)" ) -GAME_CUSTOM( 199?, m4tutfrt__2, m4tutfrt, "f3u01dr.p1", 0x0000, 0x010000, CRC(32d761eb) SHA1(aa1098629d2a1c98c606a71a7cf0ae97f381aebe), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 RD)" ) -GAME_CUSTOM( 199?, m4tutfrt__3, m4tutfrt, "f3u01dy.p1", 0x0000, 0x010000, CRC(3ad66969) SHA1(4c79edc52095cfa1fae8215caaaaf434cd38199d), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 YD)" ) -GAME_CUSTOM( 199?, m4tutfrt__4, m4tutfrt, "f3u01k.p1", 0x0000, 0x010000, CRC(2b6c0f0f) SHA1(64e50adc6656225c9cdaaee64ae59cafcd1623ee), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 K)" ) -GAME_CUSTOM( 199?, m4tutfrt__5, m4tutfrt, "f3u01r.p1", 0x0000, 0x010000, CRC(93cb1bfb) SHA1(e29439caed4a2f4512e50ff158427b61b5a9c4a9), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 R)" ) -GAME_CUSTOM( 199?, m4tutfrt__7, m4tutfrt, "f3u01y.p1", 0x0000, 0x010000, CRC(9aae0ca2) SHA1(83192225d886848ee0320973fb9dbd85cf9045b8), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 Y)" ) +GAME_CUSTOM( 199?, m4tutfrt__u, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f1u01s.p1", 0x0000, 0x010000, CRC(d69668d2) SHA1(86ea656a3a4d4e6701c70b5e730ae8402cd70342), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1)" ) +GAME_CUSTOM( 199?, m4tutfrt__k, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f1u01ad.p1", 0x0000, 0x010000, CRC(7573d8cf) SHA1(fe1553ca8f588554fdd495dc2f048e50e00590bb), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 AD)" ) +GAME_CUSTOM( 199?, m4tutfrt__l, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f1u01b.p1", 0x0000, 0x010000, CRC(158d1a3a) SHA1(da80334e9982f778a908a6fe89a593863e7c763e), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 B)" ) +GAME_CUSTOM( 199?, m4tutfrt__m, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f1u01bd.p1", 0x0000, 0x010000, CRC(9844e568) SHA1(a580176338cdeed5fb4d1744b537bde1f499293e), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 BD)" ) +GAME_CUSTOM( 199?, m4tutfrt__n, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f1u01c.p1", 0x0000, 0x010000, CRC(4709bd66) SHA1(c15f64767315ea0434a57b9e494a9e8090f1e05a), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 C)" ) +GAME_CUSTOM( 199?, m4tutfrt__o, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f1u01d.p1", 0x0000, 0x010000, CRC(3a3c6745) SHA1(f270bccb4bdedb5cfaf0130da6e480dc31889682), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 D)" ) +GAME_CUSTOM( 199?, m4tutfrt__p, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f1u01dk.p1", 0x0000, 0x010000, CRC(4fa79f23) SHA1(ce9a0815d96a94d564edf5a775af94ea10070ff5), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 KD)" ) +GAME_CUSTOM( 199?, m4tutfrt__q, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f1u01dr.p1", 0x0000, 0x010000, CRC(6fcc4d76) SHA1(27d8fdd5965ba565cb5b6113b7cba5e820650419), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 RD)" ) +GAME_CUSTOM( 199?, m4tutfrt__r, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f1u01dy.p1", 0x0000, 0x010000, CRC(cdd43fc2) SHA1(6f4da20de3040675592b4338a1d72654800c20eb), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 YD)" ) +GAME_CUSTOM( 199?, m4tutfrt__s, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f1u01k.p1", 0x0000, 0x010000, CRC(7e9c3110) SHA1(56ab6e5362ce8795c65d0cf11742e3ddb6d8b8a3), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 K)" ) +GAME_CUSTOM( 199?, m4tutfrt__t, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f1u01r.p1", 0x0000, 0x010000, CRC(0e6b2132) SHA1(8757713677e2eb0400c69d3cdde6506662e0ef0b), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 R)" ) +GAME_CUSTOM( 199?, m4tutfrt__v, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f1u01y.p1", 0x0000, 0x010000, CRC(33e7d5fd) SHA1(96f53fbb228e98ce3a848b2c72bdb8876c9de160), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F1U 0.1 Y)" ) +// "(C)1991 BARCREST" and "F2U 0.1" these were marked 'Tutti Fruity Classic' but appear to be revisions of these sets +GAME_CUSTOM( 199?, m4tutcl, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f2u01s.p1", 0x0000, 0x010000, CRC(25b68f22) SHA1(7f484dbc841e1e87d9f5e322cf497b6b68e4a096), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1)" ) +GAME_CUSTOM( 199?, m4tutcl__j, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f2u01ad.p1", 0x0000, 0x010000, CRC(65537552) SHA1(b0a761dcc6e0a9f01cfb934b570356ca67fdd099), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 AD)" ) +GAME_CUSTOM( 199?, m4tutcl__a, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f2u01b.p1", 0x0000, 0x010000, CRC(2cae37df) SHA1(5aed985476b7b747a99a4046b846ee4a359776af), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 B)" ) +GAME_CUSTOM( 199?, m4tutcl__b, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f2u01bd.p1", 0x0000, 0x010000, CRC(0dd91ccf) SHA1(bcdfc39025d02e7a51f69757238dfa44fe9d3655), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 BD)" ) +GAME_CUSTOM( 199?, m4tutcl__c, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f2u01c.p1", 0x0000, 0x010000, CRC(6b6d9bb9) SHA1(140e9cbb8b484116e5fb9a7670d41fb0bcb37ec0), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 C)" ) +GAME_CUSTOM( 199?, m4tutcl__d, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f2u01d.p1", 0x0000, 0x010000, CRC(b477a20d) SHA1(51daf5e61a2ebcb3cb9884421b9e8f32df51ec07), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 D)" ) +GAME_CUSTOM( 199?, m4tutcl__e, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f2u01dk.p1", 0x0000, 0x010000, CRC(ccd14dd3) SHA1(c93ff69e0534e8190c10e0c819ed439d4e61a472), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 KD)" ) +GAME_CUSTOM( 199?, m4tutcl__f, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f2u01dr.p1", 0x0000, 0x010000, CRC(d4918506) SHA1(2081ead45ff744cafcf3c4164c86acf609e54632), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 RD)" ) +GAME_CUSTOM( 199?, m4tutcl__g, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f2u01dy.p1", 0x0000, 0x010000, CRC(24dd0a73) SHA1(a75129e414dd8cbe5f6f44e39b1d3dc3d7dfafb2), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 YD)" ) +GAME_CUSTOM( 199?, m4tutcl__h, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f2u01k.p1", 0x0000, 0x010000, CRC(b9cec403) SHA1(90a1f49202ea9b79e2ab097cf95cf94088c52926), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 K)" ) +GAME_CUSTOM( 199?, m4tutcl__i, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f2u01r.p1", 0x0000, 0x010000, CRC(471e39d7) SHA1(874db6f2d04ed0b2c6756efba5fa1140d2fbfc58), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 R)" ) +GAME_CUSTOM( 199?, m4tutcl__k, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f2u01y.p1", 0x0000, 0x010000, CRC(5a583a6f) SHA1(0421d079de12a7379c13832108e8608c9a01f41d), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 Y)" ) +// "(C)1991 BARCREST" and "F3U 0.1m4tutfrt +GAME_CUSTOM( 199?, m4tutfrt__6, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f3u01s.p1", 0x0000, 0x010000, CRC(dce2e5be) SHA1(3c218cdb939d5b7cc650c820737ae3ac653435ce), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1)" ) +GAME_CUSTOM( 199?, m4tutfrt__w, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f3u01ad.p1", 0x0000, 0x010000, CRC(acb1bfb3) SHA1(8aa22c45d98ecec324fa031b46689496f9a2842c), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 AD)" ) +GAME_CUSTOM( 199?, m4tutfrt__x, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f3u01b.p1", 0x0000, 0x010000, CRC(a0d14e25) SHA1(16f2444334608702748a3b0b2556ac1a7760615a), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 B)" ) +GAME_CUSTOM( 199?, m4tutfrt__y, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f3u01bd.p1", 0x0000, 0x010000, CRC(9aadd2f9) SHA1(4dbff4f6fd4d02778733eb846a354177f0e204a5), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 BD)" ) +GAME_CUSTOM( 199?, m4tutfrt__z, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f3u01c.p1", 0x0000, 0x010000, CRC(a3ad34d5) SHA1(e8c435f80b4fd3f7af16f341e107a85a33f1fe1c), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 C)" ) +GAME_CUSTOM( 199?, m4tutfrt__0, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f3u01d.p1", 0x0000, 0x010000, CRC(c6790301) SHA1(fb0b619e75e1227f4d293b613e80d8d653517eec), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 D)" ) +GAME_CUSTOM( 199?, m4tutfrt__1, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f3u01dk.p1", 0x0000, 0x010000, CRC(ee0554fe) SHA1(12cd26d6205fec35590fd23682c578f06466eb01), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 KD)" ) +GAME_CUSTOM( 199?, m4tutfrt__2, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f3u01dr.p1", 0x0000, 0x010000, CRC(32d761eb) SHA1(aa1098629d2a1c98c606a71a7cf0ae97f381aebe), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 RD)" ) +GAME_CUSTOM( 199?, m4tutfrt__3, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f3u01dy.p1", 0x0000, 0x010000, CRC(3ad66969) SHA1(4c79edc52095cfa1fae8215caaaaf434cd38199d), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 YD)" ) +GAME_CUSTOM( 199?, m4tutfrt__4, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f3u01k.p1", 0x0000, 0x010000, CRC(2b6c0f0f) SHA1(64e50adc6656225c9cdaaee64ae59cafcd1623ee), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 K)" ) +GAME_CUSTOM( 199?, m4tutfrt__5, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f3u01r.p1", 0x0000, 0x010000, CRC(93cb1bfb) SHA1(e29439caed4a2f4512e50ff158427b61b5a9c4a9), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 R)" ) +GAME_CUSTOM( 199?, m4tutfrt__7, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "f3u01y.p1", 0x0000, 0x010000, CRC(9aae0ca2) SHA1(83192225d886848ee0320973fb9dbd85cf9045b8), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F3U 0.1 Y)" ) +// expects chr sequence starting 00 30 10 44 70 10 44 30 54 14 40 74 10 40 (cosmiccasino) (same as some 10 X 10 and Cosmic Casio sets?) +// "(C)1991 BARCREST" and "TF4 0.4" (TFT 0.4 on startup) +GAME_CUSTOM( 199?, m4tutfrt, 0, mod4oki_cheatchr_pal, mpu4, init_m4default, "tft04s.p1", 0x0000, 0x010000, CRC(c20c3589) SHA1(55d1bc5d5f4ae14acafb36bd640faaf4ffccc6eb), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 / TF4 0.4)" ) +GAME_CUSTOM( 199?, m4tutfrt__ai, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tft04ad.p1", 0x0000, 0x010000, CRC(2994aa14) SHA1(af0e618f24cdedd14e3a347701313360d9fc73d1), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 AD / TF4 0.4)" ) +GAME_CUSTOM( 199?, m4tutfrt__aj, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tft04b.p1", 0x0000, 0x010000, CRC(e95eab06) SHA1(70e85e38493ac1fd30a79582bab45af5227d835a), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 B / TF4 0.4)" ) +GAME_CUSTOM( 199?, m4tutfrt__ak, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tft04bd.p1", 0x0000, 0x010000, CRC(060d3572) SHA1(e78b6248d3aef6cd08f4b30e0b00bd4cf254e630), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 BD / TF4 0.4)" ) +GAME_CUSTOM( 199?, m4tutfrt__al, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tft04c.p1", 0x0000, 0x010000, CRC(3499fe77) SHA1(3f82ca6d856bddf82581790c46abf725963335a0), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 C / TF4 0.4)" ) +GAME_CUSTOM( 199?, m4tutfrt__am, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tft04d.p1", 0x0000, 0x010000, CRC(10626059) SHA1(c7b2fd2b65946fe82950ff506a56bd08b7c2ef71), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 D / TF4 0.4)" ) +GAME_CUSTOM( 199?, m4tutfrt__an, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tft04dk.p1", 0x0000, 0x010000, CRC(40700fe2) SHA1(1f121adae094c2d11a66b5e8ae4b026e85fc7f73), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 KD / TF4 0.4)" ) +GAME_CUSTOM( 199?, m4tutfrt__ao, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tft04dr.p1", 0x0000, 0x010000, CRC(feeb4417) SHA1(e2f2c55c48067ad67188ff5a75caa08d8726cb77), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 RD / TF4 0.4)" ) +GAME_CUSTOM( 199?, m4tutfrt__ap, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tft04dy.p1", 0x0000, 0x010000, CRC(63806cf9) SHA1(850c707c65b8dba6b6914389d573a8b7b7b12cdb), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 YD / TF4 0.4)" ) +GAME_CUSTOM( 199?, m4tutfrt__aq, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tft04k.p1", 0x0000, 0x010000, CRC(ffbf53e1) SHA1(a003bb5d94b43d6ae9b45c599cccb0006bd8a89a), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 K / TF4 0.4)" ) +GAME_CUSTOM( 199?, m4tutfrt__ar, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tft04r.p1", 0x0000, 0x010000, CRC(cbf79555) SHA1(0aacb3f28984637919294a18f40858e8f46a18b3), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 R / TF4 0.4)" ) +GAME_CUSTOM( 199?, m4tutfrt__as, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tft04y.p1", 0x0000, 0x010000, CRC(569cbdbb) SHA1(8a978dfba876e5a2e12226f5fe55c29b5f079fad), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TFT 0.4 Y / TF4 0.4)" ) +// "(C)1991 BARCREST" and "CTU 0.1" +GAME_CUSTOM( 199?, m4tutfrt__i, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "ctus.p1", 0x0000, 0x010000, CRC(1b282170) SHA1(e3082aed6e96587de56c5593d32d0129c47fe667), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1)" ) +GAME_CUSTOM( 199?, m4tutfrt__a, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "ctuad.p1", 0x0000, 0x010000, CRC(0ec1661b) SHA1(162ddc30c341fd8eda8ce57a60edf06b4e39a24f), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 AD)" ) +GAME_CUSTOM( 199?, m4tutfrt__b, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "ctub.p1", 0x0000, 0x010000, CRC(f4289621) SHA1(a4078552146c88c05845cbdcd551e4564840fea4), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 B)" ) +GAME_CUSTOM( 199?, m4tutfrt__c, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "ctubd.p1", 0x0000, 0x010000, CRC(38dd0b51) SHA1(04df9511f366cc575a1a06d3a5d60ec0245f64a7), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 BD)" ) +GAME_CUSTOM( 199?, m4tutfrt__d, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "ctud.p1", 0x0000, 0x010000, CRC(6033fae5) SHA1(f5bdd1821344d4546eea8caa52d76e3bd509810e), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 D)" ) +GAME_CUSTOM( 199?, m4tutfrt__e, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "ctudk.p1", 0x0000, 0x010000, CRC(36dd1e41) SHA1(ad5ad7cae12634149d38e286e6873b81bda52871), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 KD)" ) +GAME_CUSTOM( 199?, m4tutfrt__f, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "ctudy.p1", 0x0000, 0x010000, CRC(58c02db6) SHA1(faf85caeaa0678b5771d801cf3d9645d7767767c), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 YD)" ) +GAME_CUSTOM( 199?, m4tutfrt__g, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "ctuk.p1", 0x0000, 0x010000, CRC(4c247447) SHA1(f5aebb4a75632c9a74dca1f3e9559399c89ac679), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 K)" ) +GAME_CUSTOM( 199?, m4tutfrt__h, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "ctur.p1", 0x0000, 0x010000, CRC(705a2b52) SHA1(40b0738146d073f93877a15f63830ff3e07814c1), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 R)" ) +GAME_CUSTOM( 199?, m4tutfrt__j, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "ctuy.p1", 0x0000, 0x010000, CRC(ed3103bc) SHA1(eefb72728e026fad3dd031665510ee0aba23e14b), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (CTU 0.1 Y)" ) // "(C)1991 BARCREST" and "TF4 0.2" -GAME_CUSTOM( 199?, m4tutfrt__af, m4tutfrt, "tf4s.p1", 0x0000, 0x010000, CRC(2d298c58) SHA1(568c2babdb002da871df7a36d16e4f7810cac265), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2)" ) -GAME_CUSTOM( 199?, m4tutfrt__8, m4tutfrt, "tf4ad.p1", 0x0000, 0x010000, CRC(6ddc90a9) SHA1(76dd22c5e65fc46360123e200016d11a8946d2f3), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 AD)" ) -GAME_CUSTOM( 199?, m4tutfrt__9, m4tutfrt, "tf4b.p1", 0x0000, 0x010000, CRC(c3a70eac) SHA1(ea5a39e33af96e84ce0ea184850d5f580dbf19ce), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 B)" ) -GAME_CUSTOM( 199?, m4tutfrt__aa, m4tutfrt, "tf4bd.p1", 0x0000, 0x010000, CRC(54ae2498) SHA1(54a63a0de794eb2ce321f79b09a56485d9e77715), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 BD)" ) -GAME_CUSTOM( 199?, m4tutfrt__ab, m4tutfrt, "tf4d.p1", 0x0000, 0x010000, CRC(d8ff9045) SHA1(ae7307212614c6f1b4e3d72d3a1ae68ca1d0b470), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 D)" ) -GAME_CUSTOM( 199?, m4tutfrt__ac, m4tutfrt, "tf4dk.p1", 0x0000, 0x010000, CRC(a2e3b67f) SHA1(dea9958caba08b5cdec6eec9e4c17038ecb0ca55), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 KD)" ) -GAME_CUSTOM( 199?, m4tutfrt__ad, m4tutfrt, "tf4dy.p1", 0x0000, 0x010000, CRC(ff4f26c4) SHA1(21ef226bf92deeab15c9368d707bf75b7104e7c3), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 YD)" ) -GAME_CUSTOM( 199?, m4tutfrt__ae, m4tutfrt, "tf4k.p1", 0x0000, 0x010000, CRC(1a4eb247) SHA1(f6b4c85dd8b155b672bd96ea7ee6630df773c6ca), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 K)" ) -GAME_CUSTOM( 199?, m4tutfrt__ag, m4tutfrt, "tf4y.p1", 0x0000, 0x010000, CRC(06cd8b06) SHA1(92205e9edd42f80de67d5d6652de8ea80bc60af7), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 Y)" ) +GAME_CUSTOM( 199?, m4tutfrt__af, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tf4s.p1", 0x0000, 0x010000, CRC(2d298c58) SHA1(568c2babdb002da871df7a36d16e4f7810cac265), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2)" ) +GAME_CUSTOM( 199?, m4tutfrt__8, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tf4ad.p1", 0x0000, 0x010000, CRC(6ddc90a9) SHA1(76dd22c5e65fc46360123e200016d11a8946d2f3), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 AD)" ) +GAME_CUSTOM( 199?, m4tutfrt__9, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tf4b.p1", 0x0000, 0x010000, CRC(c3a70eac) SHA1(ea5a39e33af96e84ce0ea184850d5f580dbf19ce), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 B)" ) +GAME_CUSTOM( 199?, m4tutfrt__aa, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tf4bd.p1", 0x0000, 0x010000, CRC(54ae2498) SHA1(54a63a0de794eb2ce321f79b09a56485d9e77715), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 BD)" ) +GAME_CUSTOM( 199?, m4tutfrt__ab, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tf4d.p1", 0x0000, 0x010000, CRC(d8ff9045) SHA1(ae7307212614c6f1b4e3d72d3a1ae68ca1d0b470), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 D)" ) +GAME_CUSTOM( 199?, m4tutfrt__ac, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tf4dk.p1", 0x0000, 0x010000, CRC(a2e3b67f) SHA1(dea9958caba08b5cdec6eec9e4c17038ecb0ca55), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 KD)" ) +GAME_CUSTOM( 199?, m4tutfrt__ad, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tf4dy.p1", 0x0000, 0x010000, CRC(ff4f26c4) SHA1(21ef226bf92deeab15c9368d707bf75b7104e7c3), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 YD)" ) +GAME_CUSTOM( 199?, m4tutfrt__ae, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tf4k.p1", 0x0000, 0x010000, CRC(1a4eb247) SHA1(f6b4c85dd8b155b672bd96ea7ee6630df773c6ca), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 K)" ) +GAME_CUSTOM( 199?, m4tutfrt__ag, m4tutfrt, mod4oki_cheatchr_pal, mpu4, init_m4default, "tf4y.p1", 0x0000, 0x010000, CRC(06cd8b06) SHA1(92205e9edd42f80de67d5d6652de8ea80bc60af7), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (TF4 0.2 Y)" ) + +// different protection // "I.G.T SUCKS" and "F2U 0.1" -GAME_CUSTOM( 199?, m4tutfrt__at, m4tutfrt, "tut25.bin", 0x0000, 0x010000, CRC(c98fb5bb) SHA1(1a3bc343a38b5978a919b454e9a2e806dce7a78a), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 B, hack, set 1)" ) -GAME_CUSTOM( 199?, m4tutfrt__au, m4tutfrt, "tut25patched.bin", 0x0000, 0x010000, CRC(b4443cf5) SHA1(e79ec52730146f1591140555b814cbd20b5dfe78), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 B, hack, set 2)" ) +GAME_CUSTOM( 199?, m4tutfrt__at, m4tutfrt, mod4oki_bootleg_fixedret<0x58>, mpu4, init_m4default, "tut25.bin", 0x0000, 0x010000, CRC(c98fb5bb) SHA1(1a3bc343a38b5978a919b454e9a2e806dce7a78a), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 B, hack, set 1)" ) +// unprotected, doesn't read from chr +GAME_CUSTOM( 199?, m4tutfrt__au, m4tutfrt, mod4oki, mpu4, init_m4default, "tut25patched.bin", 0x0000, 0x010000, CRC(b4443cf5) SHA1(e79ec52730146f1591140555b814cbd20b5dfe78), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1 B, hack, set 2)" ) -// I think these might be for a different game with the same name, maybe MPU4 Video. -GAME_CUSTOM( 199?, m4tutfrt__av, m4tutfrt, "tu_05___.1a3", 0x0000, 0x010000, CRC(97acc82d) SHA1(be53e60cb8a33b91a7f5556715ab4befe7170dd2), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4tutfrt__aw, m4tutfrt, "tu_05_d_.1a3", 0x0000, 0x010000, CRC(33bb3018) SHA1(2c2f49c31919682ac03e61a665ce15d835e22467), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4tutfrt__ax, m4tutfrt, "tu_10___.1a3", 0x0000, 0x010000, CRC(7878827f) SHA1(ac692ae50e63e632d45e7240c2520df83d2baaf5), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4tutfrt__ay, m4tutfrt, "tu_20___.1a3", 0x0000, 0x010000, CRC(cada1c42) SHA1(6a4048da89a0bffeebfd21549c2d9812cc275bd5), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4tutfrt__az, m4tutfrt, "tu_20_b_.1a3", 0x0000, 0x010000, CRC(a8f1bc11) SHA1(03596171540e6490133f374cca69f4fd0359952e), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4tutfrt__a0, m4tutfrt, "tu_20_d_.1a3", 0x0000, 0x010000, CRC(6ecde477) SHA1(694296eb226c59069800d6936c9dee2623105db0), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4tutfrt__a1, m4tutfrt, "tu_20_k_.1a3", 0x0000, 0x010000, CRC(0ce64424) SHA1(7415c9de9982aa7f15f71ef791cbd8ad5a9331d3), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4tutfrt__a2, m4tutfrt, "tu_20bg_.1a3", 0x0000, 0x010000, CRC(31a6196d) SHA1(1113737dd3b209afda14ec273d923e2057ea7d99), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4tutfrt__a3, m4tutfrt, "tuf20__1.0", 0x0000, 0x010000, CRC(ddadbcb6) SHA1(2d2934ec73d979de45d0998f8975361d33358dd3), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4tutfrt__a4, m4tutfrt, "tuf20ad1.0", 0x0000, 0x010000, CRC(5a74ead3) SHA1(3216c8d0c67aaeb18f791a6e1f3f6e30145d6beb), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4tutfrt__a5, m4tutfrt, "tui05___.1a3", 0x0000, 0x010000, CRC(42e3d400) SHA1(4cf914141dfc1f88704403b467176da77369da06), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 11)" ) + +/***************************************************************************************************************************************************************************** +* +* Cash Attack +* +*****************************************************************************************************************************************************************************/ #define M4CASHAT_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "cas1.hex", 0x000000, 0x080000, CRC(4711c483) SHA1(af1ceb317b7bb1c2d0c3f7a99049679c356e1860) ) \ ROM_LOAD( "cas2.hex", 0x080000, 0x080000, CRC(26ec235c) SHA1(51de955e5def47b82ac8891d09dc0b0e5e19c01d) ) + + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -2644,8 +3529,9 @@ GAME_CUSTOM( 199?, m4tutfrt__a5, m4tutfrt, "tui05___.1a3", 0x0000, 0 ROM_LOAD( name, offset, length, hash ) \ M4CASHAT_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) +// boot to 'wrong sound, need v1' with tri98.chr, and can be started // "(C)1993 BARCREST" and "CSA 1.2" // yes D comes first many times in these as the flag is earlier GAME_CUSTOM( 199?, m4cashat, 0, "csa12s.p1", 0x0000, 0x020000, CRC(61c8af36) SHA1(d81a4056b573194a8627a3618f805d379140ff6a), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.2)" ) GAME_CUSTOM( 199?, m4cashat__ar, m4cashat, "csa12y.p1", 0x0000, 0x020000, CRC(0374584a) SHA1(446e1d122d5b38e4ee11d98a4235d7198d98b541), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.2 Y)" ) @@ -2660,20 +3546,6 @@ GAME_CUSTOM( 199?, m4cashat__an, m4cashat, "csa12dy.p1", 0x0000, 0x020 GAME_CUSTOM( 199?, m4cashat__ao, m4cashat, "csa12h.p1", 0x0000, 0x020000, CRC(8e6ef68f) SHA1(b6ac0993938bb065f02498a71628cf532085b347), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.2 H)" ) GAME_CUSTOM( 199?, m4cashat__ap, m4cashat, "csa12k.p1", 0x0000, 0x020000, CRC(20e7aa01) SHA1(093786b0992c1d9ce5e2d2cfad1eaf1d8e6dc733), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.2 K)" ) GAME_CUSTOM( 199?, m4cashat__aq, m4cashat, "csa12r.p1", 0x0000, 0x020000, CRC(fabc4b2d) SHA1(3710b7b4bf56e46c60a60fcae82342bf201e38dc), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.2 R)" ) -// "(C)1993 BARCREST" and "CSA 1.1" -GAME_CUSTOM( 199?, m4cashat__ae, m4cashat, "csa11s.p1", 0x0000, 0x020000, CRC(bef7a119) SHA1(88fc2003a7adda928e2e0fb78db32c7ffcbda924), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1)" ) -GAME_CUSTOM( 199?, m4cashat__3, m4cashat, "csa11ad.p1", 0x0000, 0x020000, CRC(7c1daa59) SHA1(9c0479094ba2f985803e58360b738b0baa2e410a), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 DA)" ) -GAME_CUSTOM( 199?, m4cashat__4, m4cashat, "csa11b.p1", 0x0000, 0x020000, CRC(c740daba) SHA1(afa5bdf9f6aacb3a5126aa828e4d0d2518efe663), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 B)" ) -GAME_CUSTOM( 199?, m4cashat__5, m4cashat, "csa11bd.p1", 0x0000, 0x020000, CRC(55fccfd1) SHA1(b7c748573e5fb32a6be5e069e7f165a11c62b7d5), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 DB)" ) -GAME_CUSTOM( 199?, m4cashat__6, m4cashat, "csa11d.p1", 0x0000, 0x020000, CRC(ecff6f1b) SHA1(3f37d8e20d5663e376c9dc5876a910a320edcf7d), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 D)" ) -GAME_CUSTOM( 199?, m4cashat__7, m4cashat, "csa11dh.p1", 0x0000, 0x020000, CRC(bbc0acca) SHA1(80d95505041fd4c869f9d835d0527070f2f582d9), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 DH)" ) -GAME_CUSTOM( 199?, m4cashat__8, m4cashat, "csa11dk.p1", 0x0000, 0x020000, CRC(1549f044) SHA1(22bc130106a23d0e9c354b4aa97d7b7fd8776082), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 DK)" ) -GAME_CUSTOM( 199?, m4cashat__9, m4cashat, "csa11dr.p1", 0x0000, 0x020000, CRC(cf121168) SHA1(aa52b528ac565684399dc58aeb56691457727035), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 DR)" ) -GAME_CUSTOM( 199?, m4cashat__aa, m4cashat, "csa11dy.p1", 0x0000, 0x020000, CRC(36da020f) SHA1(ca202c7127450d905e4717776e1f1d32fa89279b), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 DY)" ) -GAME_CUSTOM( 199?, m4cashat__ab, m4cashat, "csa11h.p1", 0x0000, 0x020000, CRC(297cb9a1) SHA1(63460eed75242fc7c27ee1fc9da28221e7bb21b1), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 H)" ) -GAME_CUSTOM( 199?, m4cashat__ac, m4cashat, "csa11k.p1", 0x0000, 0x020000, CRC(87f5e52f) SHA1(30b7f8c17198045bba30aaabbe74b3c1dc7d0320), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 K)" ) -GAME_CUSTOM( 199?, m4cashat__ad, m4cashat, "csa11r.p1", 0x0000, 0x020000, CRC(5dae0403) SHA1(6f2238f0fe0797bf0926044bb251fed6f97dbed6), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 R)" ) -GAME_CUSTOM( 199?, m4cashat__af, m4cashat, "csa11y.p1", 0x0000, 0x020000, CRC(a4661764) SHA1(740be82275358b8e3dcec5982b18a083d043d99d), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 Y)" ) // "(C)1993 BARCREST" and "CAA 2.3" GAME_CUSTOM( 199?, m4cashat__y, m4cashat, "caa23s.p1", 0x0000, 0x020000, CRC(26a49cdd) SHA1(ee28a22eeb8c4e8ddf041122505f9846d6b6d7d6), "Barcrest","Cash Attack (Barcrest) (MPU4) (CAA 2.3)" ) GAME_CUSTOM( 199?, m4cashat__n, m4cashat, "caa23ad.p1", 0x0000, 0x020000, CRC(a8641c35) SHA1(18dad4634e27e4f0b791c331b9efcf5e1d56d3bb), "Barcrest","Cash Attack (Barcrest) (MPU4) (CAA 2.3 DA)" ) @@ -2688,6 +3560,31 @@ GAME_CUSTOM( 199?, m4cashat__v, m4cashat, "caa23h.p1", 0x0000, 0x020 GAME_CUSTOM( 199?, m4cashat__w, m4cashat, "caa23k.p1", 0x0000, 0x020000, CRC(8186a4a1) SHA1(0d8f59df0fb5a1044f6fb7d81f50f9c9b94add9b), "Barcrest","Cash Attack (Barcrest) (MPU4) (CAA 2.3 K)" ) GAME_CUSTOM( 199?, m4cashat__x, m4cashat, "caa23r.p1", 0x0000, 0x020000, CRC(32891f90) SHA1(c832c2610606bc5a3beeff8f85c31af496b14427), "Barcrest","Cash Attack (Barcrest) (MPU4) (CAA 2.3 R)" ) GAME_CUSTOM( 199?, m4cashat__z, m4cashat, "caa23y.p1", 0x0000, 0x020000, CRC(cb410cf7) SHA1(31d34a766939a9b2a23be00c2ffd658d854b3ab4), "Barcrest","Cash Attack (Barcrest) (MPU4) (CAA 2.3 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4CASHAT_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + + +// "(C)1993 BARCREST" and "CSA 1.1" +GAME_CUSTOM( 199?, m4cashat__ae, m4cashat, "csa11s.p1", 0x0000, 0x020000, CRC(bef7a119) SHA1(88fc2003a7adda928e2e0fb78db32c7ffcbda924), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1)" ) +GAME_CUSTOM( 199?, m4cashat__3, m4cashat, "csa11ad.p1", 0x0000, 0x020000, CRC(7c1daa59) SHA1(9c0479094ba2f985803e58360b738b0baa2e410a), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 DA)" ) +GAME_CUSTOM( 199?, m4cashat__4, m4cashat, "csa11b.p1", 0x0000, 0x020000, CRC(c740daba) SHA1(afa5bdf9f6aacb3a5126aa828e4d0d2518efe663), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 B)" ) +GAME_CUSTOM( 199?, m4cashat__5, m4cashat, "csa11bd.p1", 0x0000, 0x020000, CRC(55fccfd1) SHA1(b7c748573e5fb32a6be5e069e7f165a11c62b7d5), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 DB)" ) +GAME_CUSTOM( 199?, m4cashat__6, m4cashat, "csa11d.p1", 0x0000, 0x020000, CRC(ecff6f1b) SHA1(3f37d8e20d5663e376c9dc5876a910a320edcf7d), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 D)" ) +GAME_CUSTOM( 199?, m4cashat__7, m4cashat, "csa11dh.p1", 0x0000, 0x020000, CRC(bbc0acca) SHA1(80d95505041fd4c869f9d835d0527070f2f582d9), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 DH)" ) +GAME_CUSTOM( 199?, m4cashat__8, m4cashat, "csa11dk.p1", 0x0000, 0x020000, CRC(1549f044) SHA1(22bc130106a23d0e9c354b4aa97d7b7fd8776082), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 DK)" ) +GAME_CUSTOM( 199?, m4cashat__9, m4cashat, "csa11dr.p1", 0x0000, 0x020000, CRC(cf121168) SHA1(aa52b528ac565684399dc58aeb56691457727035), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 DR)" ) +GAME_CUSTOM( 199?, m4cashat__aa, m4cashat, "csa11dy.p1", 0x0000, 0x020000, CRC(36da020f) SHA1(ca202c7127450d905e4717776e1f1d32fa89279b), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 DY)" ) +GAME_CUSTOM( 199?, m4cashat__ab, m4cashat, "csa11h.p1", 0x0000, 0x020000, CRC(297cb9a1) SHA1(63460eed75242fc7c27ee1fc9da28221e7bb21b1), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 H)" ) +GAME_CUSTOM( 199?, m4cashat__ac, m4cashat, "csa11k.p1", 0x0000, 0x020000, CRC(87f5e52f) SHA1(30b7f8c17198045bba30aaabbe74b3c1dc7d0320), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 K)" ) +GAME_CUSTOM( 199?, m4cashat__ad, m4cashat, "csa11r.p1", 0x0000, 0x020000, CRC(5dae0403) SHA1(6f2238f0fe0797bf0926044bb251fed6f97dbed6), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 R)" ) +GAME_CUSTOM( 199?, m4cashat__af, m4cashat, "csa11y.p1", 0x0000, 0x020000, CRC(a4661764) SHA1(740be82275358b8e3dcec5982b18a083d043d99d), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1 Y)" ) // "(C)1993 BARCREST" and "CAA 2.2" GAME_CUSTOM( 199?, m4cashat__l, m4cashat, "caa22s.p1", 0x0000, 0x020000, CRC(e7edf653) SHA1(f2bdf45cc18ad4b45b47d2b2b4641460fcdfa963), "Barcrest","Cash Attack (Barcrest) (MPU4) (CAA 2.2)" ) GAME_CUSTOM( 199?, m4cashat__a, m4cashat, "caa22ad.p1", 0x0000, 0x020000, CRC(b6274874) SHA1(7c2dc0f3e8e7bb76f3b90300141b320fa0ca39ac), "Barcrest","Cash Attack (Barcrest) (MPU4) (CAA 2.2 DA)" ) @@ -2702,173 +3599,202 @@ GAME_CUSTOM( 199?, m4cashat__i, m4cashat, "caa22h.p1", 0x0000, 0x020 GAME_CUSTOM( 199?, m4cashat__j, m4cashat, "caa22k.p1", 0x0000, 0x020000, CRC(ce17906d) SHA1(18a302132e683b00509982c09c6e3b00ae1201a0), "Barcrest","Cash Attack (Barcrest) (MPU4) (CAA 2.2 K)" ) GAME_CUSTOM( 199?, m4cashat__k, m4cashat, "caa22r.p1", 0x0000, 0x020000, CRC(7d182b5c) SHA1(801d1b032e94cc45302a9f84ba7f9ce2b74f6449), "Barcrest","Cash Attack (Barcrest) (MPU4) (CAA 2.2 R)" ) GAME_CUSTOM( 199?, m4cashat__m, m4cashat, "caa22y.p1", 0x0000, 0x020000, CRC(84d0383b) SHA1(791666ce17fd65067df446a3320efd22bce23925), "Barcrest","Cash Attack (Barcrest) (MPU4) (CAA 2.2 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4CASHAT_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + + +// different protection +// // no copyright string and "CAA 2.3" -GAME_CUSTOM( 199?, m4cashat__0, m4cashat, "casattack8.bin", 0x0000, 0x020000, CRC(e29ea247) SHA1(ad00ea3bfd2eab51b20fd786cb1ce84de0d98173), "hack","Cash Attack (Barcrest) (MPU4) (CAA 2.3, hack, set 1)" ) GAME_CUSTOM( 199?, m4cashat__1, m4cashat, "catt15g", 0x0000, 0x020000, CRC(3f7a8863) SHA1(df8ed393aeb3a5ec3fd5bdc01c9dbbb630e6d254), "hack","Cash Attack (Barcrest) (MPU4) (CAA 2.3, hack, set 2)" ) // no copyright string and "CSA 1.2" GAME_CUSTOM( 199?, m4cashat__2, m4cashat, "catt15t", 0x0000, 0x020000, CRC(c6760c3a) SHA1(b7f4a3af52faf7e430e5b4ec75e2dc97e3f07dc0), "hack","Cash Attack (Barcrest) (MPU4) (CSA 1.2, hack)" ) - -#define M4RHR_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ - ROM_REGION( 0x100000, "altmsm6376", 0 ) \ - ROM_LOAD( "redhotroll10.bin", 0x0000, 0x080000, CRC(64513503) SHA1(4233492f3f6e7ad8459f1ab733727910d3b4bcf8) ) /* not a valid OKI rom? */ \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "rhrsnd1.hex", 0x0000, 0x080000, CRC(3e80f8bd) SHA1(2e3a195b49448da11cc0c089a8a9b462894c766b) ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4CASHAT_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x68>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// no copyright string and "CAA 2.3" +GAME_CUSTOM( 199?, m4cashat__0, m4cashat, "casattack8.bin", 0x0000, 0x020000, CRC(e29ea247) SHA1(ad00ea3bfd2eab51b20fd786cb1ce84de0d98173), "hack","Cash Attack (Barcrest) (MPU4) (CAA 2.3, hack, set 1)" ) + +/***************************************************************************************************************************************************************************** +* +* Red Hot Roll +* +*****************************************************************************************************************************************************************************/ + +// This ROM was included, but it isn't a sample ROM in the correct format for this hardware +// ROM_LOAD( "redhotroll10.bin", 0x0000, 0x080000, CRC(64513503) SHA1(4233492f3f6e7ad8459f1ab733727910d3b4bcf8) ) /* not a valid OKI rom? */ + + +#define M4RHR_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "rhrsnd1.hex", 0x0000, 0x080000, CRC(3e80f8bd) SHA1(2e3a195b49448da11cc0c089a8a9b462894c766b) ) + + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4RHR_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) + +// hopper error, use Q to run Open Door +// + +// "(C)1991 BARCREST" and "CR4 0.2" (HHN 0.2 on startup) +GAME_CUSTOM( 199?, m4rhr__i, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhr15.hex", 0x0000, 0x010000, CRC(895ebbda) SHA1(f2117e743a30f3c9fc6af7fd7843bc333699db9d), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.2 KD / CR4 0.2)" ) +// "(C)1991 BARCREST" and "CRU 0.3" (CLD 0.3 on startup) +GAME_CUSTOM( 199?, m4rhrc, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cld03s.p1", 0x0000, 0x010000, CRC(03f8a6bf) SHA1(29ee59fd60d89fca0f236be8b4c12c885db032e7), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CLD 0.3 / CRU 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__j, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cld03ad.p1", 0x0000, 0x010000, CRC(821fde63) SHA1(61f77eeb01331e735cc8c736526d09371e6bdf56), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CLD 0.3 AD / CRU 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__a, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cld03b.p1", 0x0000, 0x010000, CRC(c67a2e82) SHA1(b76110c73d5bd0290fdd31d8300914f63a56c25e), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CLD 0.3 B / CRU 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__b, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cld03bd.p1", 0x0000, 0x010000, CRC(0995fd93) SHA1(c3cc84f78adc54f4698280bf7d0831bb54c3fc3f), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CLD 0.3 BD / CRU 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__c, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cld03c.p1", 0x0000, 0x010000, CRC(6e7b319f) SHA1(3da4feb72cb9d4ee24a8e0568f8d9c80a71caf9b), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CLD 0.3 C / CRU 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__d, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cld03d.p1", 0x0000, 0x010000, CRC(dc46afb0) SHA1(c461ac2ef3fcffac96536b1b1c26abe052edf35c), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CLD 0.3 D / CRU 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__e, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cld03dk.p1", 0x0000, 0x010000, CRC(f0b6b60f) SHA1(9addae6af20986c92c3ce71ce9756a6f3db5ebff), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CLD 0.3 KD / CRU 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__f, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cld03dr.p1", 0x0000, 0x010000, CRC(703ab87b) SHA1(089597927f94bdacc4226900a944cbec85fe2286), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CLD 0.3 RD / CRU 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__g, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cld03dy.p1", 0x0000, 0x010000, CRC(ed519095) SHA1(ac174166bf2cc6ab81f9782f1be4a9fbe226f34d), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CLD 0.3 YD / CRU 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__h, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cld03k.p1", 0x0000, 0x010000, CRC(3bad05a9) SHA1(1b00ac52f6c87b5c79088b6fc3e6d00f57876ebc), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CLD 0.3 K / CRU 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__i, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cld03r.p1", 0x0000, 0x010000, CRC(2de70bdc) SHA1(d8d0170ca71fde4c79d0b465d09d4bb31acf40cf), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CLD 0.3 R / CRU 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__k, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cld03y.p1", 0x0000, 0x010000, CRC(b08c2332) SHA1(1cdf7fc0e95a50766df2d1cd51cb803b922c30c8), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CLD 0.3 Y / CRU 0.3)" ) +// "(C)1991 BARCREST" and "CR4 0.3" (HHN 0.3 on startup) +GAME_CUSTOM( 199?, m4rhrc__v, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "hhn03s.p1", 0x0000, 0x010000, CRC(b531ae78) SHA1(87d043541c23b88b8ec4067c67be77812095faaa), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.3 / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__l, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "hhn03ad.p1", 0x0000, 0x010000, CRC(e7da568e) SHA1(00f9eecd06131bc5770a6ab650b3548f5b7a8c15), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.3 AD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__m, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "hhn03b.p1", 0x0000, 0x010000, CRC(406e47cd) SHA1(193aed33ac62eb04d89cf63beb33e8e4e28e286e), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.3 B / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__n, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "hhn03bd.p1", 0x0000, 0x010000, CRC(66aed369) SHA1(6c3151790292a277a1d44a1fceae985e52014749), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.3 BD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__o, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "hhn03c.p1", 0x0000, 0x010000, CRC(452e623c) SHA1(9350d7e30d8fc2b0f37528a7d0ce6797bab6f504), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.3 C / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__p, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "hhn03d.p1", 0x0000, 0x010000, CRC(e9ce4ee5) SHA1(45fe3832cc37e8ecbc5101b8b7b94f6243504e3f), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.3 D / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__q, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "hhn03dk.p1", 0x0000, 0x010000, CRC(2d750f34) SHA1(1672d5a8b4a338cac87281e1329f111f468dc611), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.3 KD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__r, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "hhn03dr.p1", 0x0000, 0x010000, CRC(88a3895b) SHA1(3e2dcf6728712620724774c16a5d84dbec9c5ab3), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.3 RD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__s, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "hhn03dy.p1", 0x0000, 0x010000, CRC(15c8a1b5) SHA1(5a2f28f290fa087b5010f778d4ad8d6c63a3d13e), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.3 YD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__t, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "hhn03k.p1", 0x0000, 0x010000, CRC(95450230) SHA1(3c1c239e84a89ef6acd44ac9c81d33021ac6b0e3), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.3 K / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__u, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "hhn03r.p1", 0x0000, 0x010000, CRC(d96d6825) SHA1(89c3f5494d97326369f10c982842310592456874), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.3 R / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__w, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "hhn03y.p1", 0x0000, 0x010000, CRC(440640cb) SHA1(de6b6edcdc99aaa0122ecd24a9a7437e6b44aad2), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.3 Y / CR4 0.3)" ) +// "(C)1991 BARCREST" and "CR4 0.3" (RRD 0.3 on startup) +GAME_CUSTOM( 199?, m4rhrc__7, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rrd03s.p1", 0x0000, 0x010000, CRC(e59b79dd) SHA1(32e515bdc861a4d548caedd56a1825c91a318a34), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RRD 0.3 / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__x, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rrd03ad.p1", 0x0000, 0x010000, CRC(6f49d7d1) SHA1(2195a3ad4836e8ffd2e7e6a90e94319d5a5a0ce8), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RRD 0.3 AD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__y, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rrd03b.p1", 0x0000, 0x010000, CRC(e8447a3d) SHA1(8bf5936782e0fbec25a8ef892b8df04b6543bc74), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RRD 0.3 B / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__z, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rrd03bd.p1", 0x0000, 0x010000, CRC(52cf0357) SHA1(ab4668df6d5ad9614410aede7ad4e030283b78ca), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RRD 0.3 BD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__0, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rrd03c.p1", 0x0000, 0x010000, CRC(b03e7b76) SHA1(0b2779b584f8fa0e25e2a5248ecb8fb88aa53413), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RRD 0.3 AC/ CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__1, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rrd03d.p1", 0x0000, 0x010000, CRC(44740c79) SHA1(ab1efb2090ef62795c17a685c7acb45820eb1a9d), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RRD 0.3 D / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__2, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rrd03dk.p1", 0x0000, 0x010000, CRC(78f18187) SHA1(33764416c6e5cccd6ae5fdc5c0d679e1ef451785), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RRD 0.3 KD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__3, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rrd03dr.p1", 0x0000, 0x010000, CRC(039c2869) SHA1(2eb887b36d86295d0e6aacc74d0a6223d32baa5a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RRD 0.3 RD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__4, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rrd03dy.p1", 0x0000, 0x010000, CRC(b60b6e51) SHA1(eb6ed1de44d7c982ac8aa0621d4c1ed8e41db5de), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RRD 0.3 YD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__5, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rrd03k.p1", 0x0000, 0x010000, CRC(31adc6d6) SHA1(ea68d0d13978bf6cfa7fb9aa1cf91ddfd6258a3a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RRD 0.3 K / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__6, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rrd03r.p1", 0x0000, 0x010000, CRC(11c61483) SHA1(66cd30096bca2f4356acaaa15179c00301c8bc3a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RRD 0.3 R / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhrc__8, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rrd03y.p1", 0x0000, 0x010000, CRC(66fff07a) SHA1(586279533d6d85abf7e97124c9c5342a6a1b0496), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RRD 0.3 Y / CR4 0.3)" ) + +GAME_CUSTOM( 199?, m4rhrc__9, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cru0_2.bin", 0x0000, 0x010000, CRC(e3c01944) SHA1(33a2b2c05686f53811349b2980e590fdc4b72756), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CLD 0.2C)" ) // "(C)1991 BARCREST" and "CR4 0.9" -GAME_CUSTOM( 199?, m4rhr, 0, "cr4s.p1", 0x0000, 0x010000, CRC(836c3e49) SHA1(34dde2fd4fe82ab4a9e16dcf7915705f7b8a007f), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9)" ) -GAME_CUSTOM( 199?, m4rhr__a, m4rhr, "cr4ad.p1", 0x0000, 0x010000, CRC(b99b3d14) SHA1(2ff68b33881e9b3c2db48c335ccbad783013084a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 AD)" ) -GAME_CUSTOM( 199?, m4rhr__b, m4rhr, "cr4b.p1", 0x0000, 0x010000, CRC(ae2691b8) SHA1(360c5c3d94bf85cf5ead114dd570ea6c61082aa9), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 B)" ) -GAME_CUSTOM( 199?, m4rhr__c, m4rhr, "cr4bd.p1", 0x0000, 0x010000, CRC(9ba444bf) SHA1(adebf23827a5ac5e3a6d56e3352e0d3f3dc809c0), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 BD)" ) -GAME_CUSTOM( 199?, m4rhr__d, m4rhr, "cr4d.p1", 0x0000, 0x010000, CRC(ad9fe2a6) SHA1(e490c5c949559cc222d8491989196b10373ff043), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 D)" ) -GAME_CUSTOM( 199?, m4rhr__e, m4rhr, "cr4dk.p1", 0x0000, 0x010000, CRC(200486b4) SHA1(3916e131801c44985668ccd57dc3e812268f9417), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 KD)" ) -GAME_CUSTOM( 199?, m4rhr__f, m4rhr, "cr4dy.p1", 0x0000, 0x010000, CRC(5b5ebe79) SHA1(6c72271258e6b951f2d6c815cfef5032e23cf7bc), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 YD)" ) -GAME_CUSTOM( 199?, m4rhr__g, m4rhr, "cr4k.p1", 0x0000, 0x010000, CRC(2cc956e8) SHA1(37fad3d3b9460763ba4d8f569ee71778f9907853), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 K)" ) -GAME_CUSTOM( 199?, m4rhr__h, m4rhr, "cr4y.p1", 0x0000, 0x010000, CRC(5a3588e8) SHA1(b25156f38fb67dc1f1e36a50af0a9b93882572d0), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 Y)" ) -// "(C)1991 BARCREST" and "CR4 0.2" (HHN 0.2 on startup) -GAME_CUSTOM( 199?, m4rhr__i, m4rhr, "rhr15.hex", 0x0000, 0x010000, CRC(895ebbda) SHA1(f2117e743a30f3c9fc6af7fd7843bc333699db9d), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (HHN 0.2 KD / CR4 0.2)" ) +GAME_CUSTOM( 199?, m4rhr, 0, mod4oki_cheatchr_pal, mpu4, init_m4default, "cr4s.p1", 0x0000, 0x010000, CRC(836c3e49) SHA1(34dde2fd4fe82ab4a9e16dcf7915705f7b8a007f), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9)" ) +GAME_CUSTOM( 199?, m4rhr__a, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cr4ad.p1", 0x0000, 0x010000, CRC(b99b3d14) SHA1(2ff68b33881e9b3c2db48c335ccbad783013084a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 AD)" ) +GAME_CUSTOM( 199?, m4rhr__b, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cr4b.p1", 0x0000, 0x010000, CRC(ae2691b8) SHA1(360c5c3d94bf85cf5ead114dd570ea6c61082aa9), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 B)" ) +GAME_CUSTOM( 199?, m4rhr__c, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cr4bd.p1", 0x0000, 0x010000, CRC(9ba444bf) SHA1(adebf23827a5ac5e3a6d56e3352e0d3f3dc809c0), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 BD)" ) +GAME_CUSTOM( 199?, m4rhr__d, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cr4d.p1", 0x0000, 0x010000, CRC(ad9fe2a6) SHA1(e490c5c949559cc222d8491989196b10373ff043), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 D)" ) +GAME_CUSTOM( 199?, m4rhr__e, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cr4dk.p1", 0x0000, 0x010000, CRC(200486b4) SHA1(3916e131801c44985668ccd57dc3e812268f9417), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 KD)" ) +GAME_CUSTOM( 199?, m4rhr__f, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cr4dy.p1", 0x0000, 0x010000, CRC(5b5ebe79) SHA1(6c72271258e6b951f2d6c815cfef5032e23cf7bc), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 YD)" ) +GAME_CUSTOM( 199?, m4rhr__g, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cr4k.p1", 0x0000, 0x010000, CRC(2cc956e8) SHA1(37fad3d3b9460763ba4d8f569ee71778f9907853), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 K)" ) +GAME_CUSTOM( 199?, m4rhr__h, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cr4y.p1", 0x0000, 0x010000, CRC(5a3588e8) SHA1(b25156f38fb67dc1f1e36a50af0a9b93882572d0), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9 Y)" ) // "(C)1991 BARCREST" and "CR4 0.3" (CRT 0.3 on startup) -GAME_CUSTOM( 199?, m4rhr__t, m4rhr, "crt03s.p1", 0x0000, 0x010000, CRC(2b4c24d2) SHA1(94b19b0e8090dbbde2c67d5949f19d4050972fb1), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhr__j, m4rhr, "crt03ad.p1", 0x0000, 0x010000, CRC(5b779273) SHA1(b9a278cc6b4af622af35f7d4fdacdca54c94a47f), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 AD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhr__k, m4rhr, "crt03b.p1", 0x0000, 0x010000, CRC(da5b3fa3) SHA1(66c570a193665ae0df4542112547fa6f5f9b7b79), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 B / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhr__l, m4rhr, "crt03bd.p1", 0x0000, 0x010000, CRC(6d6bff39) SHA1(08f4235bb2cadcc49c13991fe3e2c806c0be801d), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 BD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhr__m, m4rhr, "crt03c.p1", 0x0000, 0x010000, CRC(a5b38945) SHA1(31351667d471c107ade58e97fe5657632d91be80), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 C / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhr__n, m4rhr, "crt03d.p1", 0x0000, 0x010000, CRC(7f39cf9d) SHA1(6f8a1660a253cf7f49ba589b3847ca3dc5a9b4ee), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 D / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhr__o, m4rhr, "crt03dk.p1", 0x0000, 0x010000, CRC(32933785) SHA1(0ae9b8823ed8c914da0a64913afdf3c348142804), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 KD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhr__p, m4rhr, "crt03dr.p1", 0x0000, 0x010000, CRC(2381792a) SHA1(514b9e580d156ec3cfeb460d0895143368e9a360), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 RD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhr__q, m4rhr, "crt03dy.p1", 0x0000, 0x010000, CRC(3439dc85) SHA1(092dcd36e2ea43ecf62cfc1bf1498ea7777213dc), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 YD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhr__r, m4rhr, "crt03k.p1", 0x0000, 0x010000, CRC(0b841ae9) SHA1(5a78381122a3b718e3f212f30f76dc61e2e3ac5e), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 K / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhr__s, m4rhr, "crt03r.p1", 0x0000, 0x010000, CRC(2a8bd767) SHA1(a9547ef37da9494bd4ffe5fbb68eca67fe63c3ba), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 R / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhr__u, m4rhr, "crt03y.p1", 0x0000, 0x010000, CRC(40c3a105) SHA1(7ad988f71a3523ad2b19fa7d6cdf74d4328fb3e1), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 Y / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__t, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crt03s.p1", 0x0000, 0x010000, CRC(2b4c24d2) SHA1(94b19b0e8090dbbde2c67d5949f19d4050972fb1), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__j, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crt03ad.p1", 0x0000, 0x010000, CRC(5b779273) SHA1(b9a278cc6b4af622af35f7d4fdacdca54c94a47f), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 AD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__k, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crt03b.p1", 0x0000, 0x010000, CRC(da5b3fa3) SHA1(66c570a193665ae0df4542112547fa6f5f9b7b79), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 B / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__l, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crt03bd.p1", 0x0000, 0x010000, CRC(6d6bff39) SHA1(08f4235bb2cadcc49c13991fe3e2c806c0be801d), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 BD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__m, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crt03c.p1", 0x0000, 0x010000, CRC(a5b38945) SHA1(31351667d471c107ade58e97fe5657632d91be80), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 C / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__n, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crt03d.p1", 0x0000, 0x010000, CRC(7f39cf9d) SHA1(6f8a1660a253cf7f49ba589b3847ca3dc5a9b4ee), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 D / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__o, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crt03dk.p1", 0x0000, 0x010000, CRC(32933785) SHA1(0ae9b8823ed8c914da0a64913afdf3c348142804), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 KD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__p, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crt03dr.p1", 0x0000, 0x010000, CRC(2381792a) SHA1(514b9e580d156ec3cfeb460d0895143368e9a360), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 RD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__q, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crt03dy.p1", 0x0000, 0x010000, CRC(3439dc85) SHA1(092dcd36e2ea43ecf62cfc1bf1498ea7777213dc), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 YD / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__r, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crt03k.p1", 0x0000, 0x010000, CRC(0b841ae9) SHA1(5a78381122a3b718e3f212f30f76dc61e2e3ac5e), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 K / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__s, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crt03r.p1", 0x0000, 0x010000, CRC(2a8bd767) SHA1(a9547ef37da9494bd4ffe5fbb68eca67fe63c3ba), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 R / CR4 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__u, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crt03y.p1", 0x0000, 0x010000, CRC(40c3a105) SHA1(7ad988f71a3523ad2b19fa7d6cdf74d4328fb3e1), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRT 0.3 Y / CR4 0.3)" ) // "(C)1991 BARCREST" and "CRU 0.1" -GAME_CUSTOM( 199?, m4rhr__2, m4rhr, "crus.p1", 0x0000, 0x010000, CRC(bf2ff034) SHA1(7ee7ef30da4283dbb2b1b040fdd3313cb2e1b7e5), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1)" ) -GAME_CUSTOM( 199?, m4rhr__v, m4rhr, "cruad.p1", 0x0000, 0x010000, CRC(3a680f14) SHA1(cd3c2bf77b148ee4f4ce76b2c1bc142491117890), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 AD)" ) -GAME_CUSTOM( 199?, m4rhr__w, m4rhr, "crub.p1", 0x0000, 0x010000, CRC(4cee9020) SHA1(b919ba28294c39b49e4fcfa54a75e852f9c873ed), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 B)" ) -GAME_CUSTOM( 199?, m4rhr__x, m4rhr, "crubd.p1", 0x0000, 0x010000, CRC(7184b193) SHA1(392cb5887ec988e3aa1cba2491885103da1e503a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 BD)" ) -GAME_CUSTOM( 199?, m4rhr__y, m4rhr, "crud.p1", 0x0000, 0x010000, CRC(2528047f) SHA1(0b07470ff756b003c03fd4a7ff3c1d5f79e8307f), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 D)" ) -GAME_CUSTOM( 199?, m4rhr__z, m4rhr, "crudk.p1", 0x0000, 0x010000, CRC(73465d95) SHA1(3eddaee64a681727743b23fd0bec0285ed59a5ef), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 DK)" ) -GAME_CUSTOM( 199?, m4rhr__0, m4rhr, "crudy.p1", 0x0000, 0x010000, CRC(e08696f9) SHA1(37c97bb22ae0d09657d7d589f76adfbe6fb642e0), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 DY)" ) -GAME_CUSTOM( 199?, m4rhr__1, m4rhr, "cruk.p1", 0x0000, 0x010000, CRC(168627f0) SHA1(c6c21f8442ff88736d3fd25860d815beb5a6b845), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 K)" ) -GAME_CUSTOM( 199?, m4rhr__3, m4rhr, "cruy.p1", 0x0000, 0x010000, CRC(edf1346b) SHA1(c250178991885a922f676424e70c637e11089efb), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 Y)" ) +GAME_CUSTOM( 199?, m4rhr__2, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crus.p1", 0x0000, 0x010000, CRC(bf2ff034) SHA1(7ee7ef30da4283dbb2b1b040fdd3313cb2e1b7e5), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1)" ) +GAME_CUSTOM( 199?, m4rhr__v, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cruad.p1", 0x0000, 0x010000, CRC(3a680f14) SHA1(cd3c2bf77b148ee4f4ce76b2c1bc142491117890), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 AD)" ) +GAME_CUSTOM( 199?, m4rhr__w, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crub.p1", 0x0000, 0x010000, CRC(4cee9020) SHA1(b919ba28294c39b49e4fcfa54a75e852f9c873ed), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 B)" ) +GAME_CUSTOM( 199?, m4rhr__x, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crubd.p1", 0x0000, 0x010000, CRC(7184b193) SHA1(392cb5887ec988e3aa1cba2491885103da1e503a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 BD)" ) +GAME_CUSTOM( 199?, m4rhr__y, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crud.p1", 0x0000, 0x010000, CRC(2528047f) SHA1(0b07470ff756b003c03fd4a7ff3c1d5f79e8307f), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 D)" ) +GAME_CUSTOM( 199?, m4rhr__z, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crudk.p1", 0x0000, 0x010000, CRC(73465d95) SHA1(3eddaee64a681727743b23fd0bec0285ed59a5ef), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 DK)" ) +GAME_CUSTOM( 199?, m4rhr__0, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "crudy.p1", 0x0000, 0x010000, CRC(e08696f9) SHA1(37c97bb22ae0d09657d7d589f76adfbe6fb642e0), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 DY)" ) +GAME_CUSTOM( 199?, m4rhr__1, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cruk.p1", 0x0000, 0x010000, CRC(168627f0) SHA1(c6c21f8442ff88736d3fd25860d815beb5a6b845), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 K)" ) +GAME_CUSTOM( 199?, m4rhr__3, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cruy.p1", 0x0000, 0x010000, CRC(edf1346b) SHA1(c250178991885a922f676424e70c637e11089efb), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CRU 0.1 Y)" ) // "(C)1991 BARCREST" and "RH8 0.1" -GAME_CUSTOM( 199?, m4rhr__4, m4rhr, "redhot8.bin", 0x0000, 0x010000, CRC(1dc62d7b) SHA1(640a5b29314a7dc67db271cce06c23c676d77eee), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RH8 0.1 K)" ) -GAME_CUSTOM( 1991, m4rhr__a4, m4rhr, "rh8c.p1", 0x0000, 0x010000, CRC(e36d7ca0) SHA1(73970761c5c7004669b02ba9f3a299f36f2d00e9), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RH8 0.1 C)" ) +GAME_CUSTOM( 199?, m4rhr__4, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "redhot8.bin", 0x0000, 0x010000, CRC(1dc62d7b) SHA1(640a5b29314a7dc67db271cce06c23c676d77eee), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RH8 0.1 K)" ) +GAME_CUSTOM( 1991, m4rhr__a4, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rh8c.p1", 0x0000, 0x010000, CRC(e36d7ca0) SHA1(73970761c5c7004669b02ba9f3a299f36f2d00e9), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RH8 0.1 C)" ) // "(C)1991 BARCREST" and "RHR 0.3" -GAME_CUSTOM( 199?, m4rhr__af, m4rhr, "rhrs.p1", 0x0000, 0x010000, CRC(a0e5d5b6) SHA1(c730e6319bbea6f035fb3e249991983783ef5743), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3)" ) -GAME_CUSTOM( 199?, m4rhr__aa, m4rhr, "rhrb.p1", 0x0000, 0x010000, CRC(876fbe46) SHA1(1c7faf68ddef2ccbb8e3cd2cf5c709a7a4f4daef), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3 B)" ) -GAME_CUSTOM( 199?, m4rhr__ab, m4rhr, "rhrbd.p1", 0x0000, 0x010000, CRC(f0fa0c7b) SHA1(96bfce8ea54e392a36cb8d82a032438bff992f07), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3 BD)" ) -GAME_CUSTOM( 199?, m4rhr__ac, m4rhr, "rhrc.p1", 0x0000, 0x010000, CRC(76a0e556) SHA1(1a9bae286ca40d8e72022645d006a219f113e31a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3 C)" ) -GAME_CUSTOM( 199?, m4rhr__ad, m4rhr, "rhrd.p1", 0x0000, 0x010000, CRC(58a5dd6f) SHA1(3646b8cb3d49e8c530e321daad052f27cdf4bb3d), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3 D)" ) -GAME_CUSTOM( 199?, m4rhr__ae, m4rhr, "rhrk.p1", 0x0000, 0x010000, CRC(2212cebb) SHA1(224e7e243b17f3ca90a6daa529984e9a879ff266), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3 K)" ) -GAME_CUSTOM( 199?, m4rhr__5, m4rhr, "rhr03.r", 0x0000, 0x010000, CRC(98d81b1e) SHA1(17ab0dced53be9755aada7954aff2dc2a6973190), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3 R)" ) +GAME_CUSTOM( 199?, m4rhr__af, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhrs.p1", 0x0000, 0x010000, CRC(a0e5d5b6) SHA1(c730e6319bbea6f035fb3e249991983783ef5743), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__aa, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhrb.p1", 0x0000, 0x010000, CRC(876fbe46) SHA1(1c7faf68ddef2ccbb8e3cd2cf5c709a7a4f4daef), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3 B)" ) +GAME_CUSTOM( 199?, m4rhr__ab, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhrbd.p1", 0x0000, 0x010000, CRC(f0fa0c7b) SHA1(96bfce8ea54e392a36cb8d82a032438bff992f07), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3 BD)" ) +GAME_CUSTOM( 199?, m4rhr__ac, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhrc.p1", 0x0000, 0x010000, CRC(76a0e556) SHA1(1a9bae286ca40d8e72022645d006a219f113e31a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3 C)" ) +GAME_CUSTOM( 199?, m4rhr__ad, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhrd.p1", 0x0000, 0x010000, CRC(58a5dd6f) SHA1(3646b8cb3d49e8c530e321daad052f27cdf4bb3d), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3 D)" ) +GAME_CUSTOM( 199?, m4rhr__ae, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhrk.p1", 0x0000, 0x010000, CRC(2212cebb) SHA1(224e7e243b17f3ca90a6daa529984e9a879ff266), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3 K)" ) +GAME_CUSTOM( 199?, m4rhr__5, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhr03.r", 0x0000, 0x010000, CRC(98d81b1e) SHA1(17ab0dced53be9755aada7954aff2dc2a6973190), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHR 0.3 R)" ) // "(C)1991 BARCREST" and "RHT 0.3" -GAME_CUSTOM( 199?, m4rhr__ap, m4rhr, "rhts.p1", 0x0000, 0x010000, CRC(fecb7076) SHA1(43086c6bfd878d0ca1ec8d45285d3e941a62ac8e), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3)" ) -GAME_CUSTOM( 199?, m4rhr__ag, m4rhr, "rhtad.p1", 0x0000, 0x010000, CRC(ae3a31a0) SHA1(7e1f05a21cf5b3d2aceba755136c567b5d6ecfcd), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 AD)" ) -GAME_CUSTOM( 199?, m4rhr__ah, m4rhr, "rhtb.p1", 0x0000, 0x010000, CRC(7ceb13c8) SHA1(f0f22149bd0fb12ef06c4c3ecba605df33f52c51), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 B)" ) -GAME_CUSTOM( 199?, m4rhr__ai, m4rhr, "rhtbd.p1", 0x0000, 0x010000, CRC(e4b290fc) SHA1(bf16d06429d67936118264f6c4f1ae637753d5db), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 BD)" ) -GAME_CUSTOM( 199?, m4rhr__aj, m4rhr, "rhtd.p1", 0x0000, 0x010000, CRC(a08d508c) SHA1(10efbfb4fc4820313b410ec73f9c32ed048e2228), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 D)" ) -GAME_CUSTOM( 199?, m4rhr__ak, m4rhr, "rhtdk.p1", 0x0000, 0x010000, CRC(6495681a) SHA1(afd3451402e19c4c4bb8507447d6771323219e80), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 KD)" ) -GAME_CUSTOM( 199?, m4rhr__al, m4rhr, "rhtdr.p1", 0x0000, 0x010000, CRC(df9e5c83) SHA1(88586852c0773de4ee1b4c627eabf3de27e5c2a1), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 RD)" ) -GAME_CUSTOM( 199?, m4rhr__am, m4rhr, "rhtdy.p1", 0x0000, 0x010000, CRC(42f5746d) SHA1(964bd8801b44de9ea45c43b290b1cd6284e97578), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 YD)" ) -GAME_CUSTOM( 199?, m4rhr__an, m4rhr, "rhtk.p1", 0x0000, 0x010000, CRC(c3bfb174) SHA1(2579bf17252988de17a1367546ae187420f95cc5), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 K)" ) -GAME_CUSTOM( 199?, m4rhr__ao, m4rhr, "rhtr.p1", 0x0000, 0x010000, CRC(f53f4876) SHA1(feda495361d384c662554d445a95191a2c52a56a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 R)" ) -GAME_CUSTOM( 199?, m4rhr__aq, m4rhr, "rhty.p1", 0x0000, 0x010000, CRC(68546098) SHA1(57981c06efcb44915d8c2d4b6e1cba377c4a8590), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 Y)" ) +GAME_CUSTOM( 199?, m4rhr__ap, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhts.p1", 0x0000, 0x010000, CRC(fecb7076) SHA1(43086c6bfd878d0ca1ec8d45285d3e941a62ac8e), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3)" ) +GAME_CUSTOM( 199?, m4rhr__ag, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhtad.p1", 0x0000, 0x010000, CRC(ae3a31a0) SHA1(7e1f05a21cf5b3d2aceba755136c567b5d6ecfcd), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 AD)" ) +GAME_CUSTOM( 199?, m4rhr__ah, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhtb.p1", 0x0000, 0x010000, CRC(7ceb13c8) SHA1(f0f22149bd0fb12ef06c4c3ecba605df33f52c51), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 B)" ) +GAME_CUSTOM( 199?, m4rhr__ai, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhtbd.p1", 0x0000, 0x010000, CRC(e4b290fc) SHA1(bf16d06429d67936118264f6c4f1ae637753d5db), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 BD)" ) +GAME_CUSTOM( 199?, m4rhr__aj, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhtd.p1", 0x0000, 0x010000, CRC(a08d508c) SHA1(10efbfb4fc4820313b410ec73f9c32ed048e2228), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 D)" ) +GAME_CUSTOM( 199?, m4rhr__ak, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhtdk.p1", 0x0000, 0x010000, CRC(6495681a) SHA1(afd3451402e19c4c4bb8507447d6771323219e80), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 KD)" ) +GAME_CUSTOM( 199?, m4rhr__al, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhtdr.p1", 0x0000, 0x010000, CRC(df9e5c83) SHA1(88586852c0773de4ee1b4c627eabf3de27e5c2a1), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 RD)" ) +GAME_CUSTOM( 199?, m4rhr__am, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhtdy.p1", 0x0000, 0x010000, CRC(42f5746d) SHA1(964bd8801b44de9ea45c43b290b1cd6284e97578), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 YD)" ) +GAME_CUSTOM( 199?, m4rhr__an, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhtk.p1", 0x0000, 0x010000, CRC(c3bfb174) SHA1(2579bf17252988de17a1367546ae187420f95cc5), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 K)" ) +GAME_CUSTOM( 199?, m4rhr__ao, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhtr.p1", 0x0000, 0x010000, CRC(f53f4876) SHA1(feda495361d384c662554d445a95191a2c52a56a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 R)" ) +GAME_CUSTOM( 199?, m4rhr__aq, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhty.p1", 0x0000, 0x010000, CRC(68546098) SHA1(57981c06efcb44915d8c2d4b6e1cba377c4a8590), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 Y)" ) // "(C)1991 BARCREST" and "RHU 0.2" -GAME_CUSTOM( 199?, m4rhr__a0, m4rhr, "rhus.p1", 0x0000, 0x010000, CRC(31e776fc) SHA1(e51799e9db5a08cbfb0b6c5466a0a085c3d91db4), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2)" ) -GAME_CUSTOM( 199?, m4rhr__ar, m4rhr, "rhuad.p1", 0x0000, 0x010000, CRC(2093126b) SHA1(942994793697cec730c461c87b24a1429e46cc02), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 AD)" ) -GAME_CUSTOM( 199?, m4rhr__as, m4rhr, "rhub.p1", 0x0000, 0x010000, CRC(2be41a3a) SHA1(a50c7b5b93a619e541be480646517e278da8e579), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 B)" ) -GAME_CUSTOM( 199?, m4rhr__at, m4rhr, "rhubd.p1", 0x0000, 0x010000, CRC(168f7f21) SHA1(9c9e09673bdadd146883a06a8db3c0ee4b304eab), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 BD)" ) -GAME_CUSTOM( 199?, m4rhr__au, m4rhr, "rhud.p1", 0x0000, 0x010000, CRC(71932d29) SHA1(e92af5cced251eea2e31c4c1968e77087c64b824), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 D)" ) -GAME_CUSTOM( 199?, m4rhr__av, m4rhr, "rhudk.p1", 0x0000, 0x010000, CRC(8de54a5d) SHA1(a275d8c67d38c09f19ffa41e97fbcbea3d297aa4), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 KD)" ) -GAME_CUSTOM( 199?, m4rhr__aw, m4rhr, "rhudr.p1", 0x0000, 0x010000, CRC(ba01ac84) SHA1(d03b3b321abd220f619724e99cc396c38418f2d3), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 RD)" ) -GAME_CUSTOM( 199?, m4rhr__ax, m4rhr, "rhudy.p1", 0x0000, 0x010000, CRC(692bf4eb) SHA1(136f36073f236b48442a20e06aa51a978135f1b3), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 YD)" ) -GAME_CUSTOM( 199?, m4rhr__ay, m4rhr, "rhuk.p1", 0x0000, 0x010000, CRC(9e4e1e91) SHA1(f671858c41dc0e55189e9a86fff1846938b5c2e5), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 K)" ) -GAME_CUSTOM( 199?, m4rhr__az, m4rhr, "rhur.p1", 0x0000, 0x010000, CRC(6e9425e5) SHA1(1e2827f3469af15e8d390d9af839c7b474ea95a7), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 R)" ) -GAME_CUSTOM( 199?, m4rhr__a1, m4rhr, "rhuy.p1", 0x0000, 0x010000, CRC(5d12178a) SHA1(18525828fac1931bb8e11f96b79db143ed533771), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 Y)" ) -// "(C)1998 B.W.B." and "SS2 1.0" -GAME_CUSTOM( 199?, m4rhr__9, m4rhr, "rhr2pprg.bin", 0x0000, 0x010000, CRC(f97047b2) SHA1(d3ed8c93e405f9e7448b3924ff9aa84223b76046), "Bwb","Red Hot Roll (Barcrest) (MPU4) (SS2 1.0, hack?)" ) +GAME_CUSTOM( 199?, m4rhr__a0, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhus.p1", 0x0000, 0x010000, CRC(31e776fc) SHA1(e51799e9db5a08cbfb0b6c5466a0a085c3d91db4), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2)" ) +GAME_CUSTOM( 199?, m4rhr__ar, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhuad.p1", 0x0000, 0x010000, CRC(2093126b) SHA1(942994793697cec730c461c87b24a1429e46cc02), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 AD)" ) +GAME_CUSTOM( 199?, m4rhr__as, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhub.p1", 0x0000, 0x010000, CRC(2be41a3a) SHA1(a50c7b5b93a619e541be480646517e278da8e579), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 B)" ) +GAME_CUSTOM( 199?, m4rhr__at, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhubd.p1", 0x0000, 0x010000, CRC(168f7f21) SHA1(9c9e09673bdadd146883a06a8db3c0ee4b304eab), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 BD)" ) +GAME_CUSTOM( 199?, m4rhr__au, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhud.p1", 0x0000, 0x010000, CRC(71932d29) SHA1(e92af5cced251eea2e31c4c1968e77087c64b824), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 D)" ) +GAME_CUSTOM( 199?, m4rhr__av, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhudk.p1", 0x0000, 0x010000, CRC(8de54a5d) SHA1(a275d8c67d38c09f19ffa41e97fbcbea3d297aa4), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 KD)" ) +GAME_CUSTOM( 199?, m4rhr__aw, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhudr.p1", 0x0000, 0x010000, CRC(ba01ac84) SHA1(d03b3b321abd220f619724e99cc396c38418f2d3), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 RD)" ) +GAME_CUSTOM( 199?, m4rhr__ax, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhudy.p1", 0x0000, 0x010000, CRC(692bf4eb) SHA1(136f36073f236b48442a20e06aa51a978135f1b3), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 YD)" ) +GAME_CUSTOM( 199?, m4rhr__ay, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhuk.p1", 0x0000, 0x010000, CRC(9e4e1e91) SHA1(f671858c41dc0e55189e9a86fff1846938b5c2e5), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 K)" ) +GAME_CUSTOM( 199?, m4rhr__az, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhur.p1", 0x0000, 0x010000, CRC(6e9425e5) SHA1(1e2827f3469af15e8d390d9af839c7b474ea95a7), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 R)" ) +GAME_CUSTOM( 199?, m4rhr__a1, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "rhuy.p1", 0x0000, 0x010000, CRC(5d12178a) SHA1(18525828fac1931bb8e11f96b79db143ed533771), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (RHU 0.2 Y)" ) // "(C)2000 BWB" and "RHR 5.0" -GAME_CUSTOM( 199?, m4rhr__a2, m4rhr, "cr__x__x.5_0", 0x0000, 0x010000, CRC(278fe91e) SHA1(dcfed3a7796d1ee365e535115b66c7d6cbe0ab74), "Bwb","Red Hot Roll (Barcrest) (MPU4) (RHR 5.0)" ) +GAME_CUSTOM( 199?, m4rhr__a2, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cr__x__x.5_0", 0x0000, 0x010000, CRC(278fe91e) SHA1(dcfed3a7796d1ee365e535115b66c7d6cbe0ab74), "Bwb","Red Hot Roll (Barcrest) (MPU4) (RHR 5.0, set 1)" ) +GAME_CUSTOM( 199?, m4rhrc__aa,m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cr__x_dx.5_0", 0x0000, 0x010000, CRC(4bcf5c02) SHA1(603935880c87f86e7bc765c176266c1c08a6114f), "Bwb","Red Hot Roll (Barcrest) (MPU4) (RHR 5.0, set 2)" ) // "(C)1998 BWB" and "RHR 2.0" -GAME_CUSTOM( 199?, m4rhr__a3, m4rhr, "cr__x_dx.2_0", 0x0000, 0x010000, CRC(73fb120c) SHA1(4c0f39253dee9b528763a9cb609dec31e8529713), "Bwb","Red Hot Roll (Barcrest) (MPU4) (RHR 2.0 D)" ) +GAME_CUSTOM( 199?, m4rhr__a3, m4rhr, mod4oki_cheatchr_pal, mpu4, init_m4default, "cr__x_dx.2_0", 0x0000, 0x010000, CRC(73fb120c) SHA1(4c0f39253dee9b528763a9cb609dec31e8529713), "Bwb","Red Hot Roll (Barcrest) (MPU4) (RHR 2.0 D)" ) + // "RONNIE BARKER" and "RH8 0.1" -GAME_CUSTOM( 199?, m4rhr__6, m4rhr, "rhr10", 0x0000, 0x010000, CRC(2a18a033) SHA1(add907c5ab155c28142dcee57825059715afd80d), "hack","Red Hot Roll (Barcrest) (MPU4) (RH8 0.1 C, hack, set 1)" ) -GAME_CUSTOM( 199?, m4rhr__7, m4rhr, "rhr2015", 0x0000, 0x010000, CRC(dbfd3b95) SHA1(4fc7ae32f7d76be3d3d07d627391884bd4d6de09), "hack","Red Hot Roll (Barcrest) (MPU4) (RH8 0.1 C, hack, set 2)" ) +GAME_CUSTOM( 199?, m4rhr__6, m4rhr, mod4oki_bootleg_fixedret<0x20>, mpu4, init_m4default, "rhr10", 0x0000, 0x010000, CRC(2a18a033) SHA1(add907c5ab155c28142dcee57825059715afd80d), "hack","Red Hot Roll (Barcrest) (MPU4) (RH8 0.1 C, hack, set 1)" ) +GAME_CUSTOM( 199?, m4rhr__7, m4rhr, mod4oki_bootleg_fixedret<0xde>, mpu4, init_m4default, "rhr2015", 0x0000, 0x010000, CRC(dbfd3b95) SHA1(4fc7ae32f7d76be3d3d07d627391884bd4d6de09), "hack","Red Hot Roll (Barcrest) (MPU4) (RH8 0.1 C, hack, set 2)" ) // no copyright and "RHT 0.3" -GAME_CUSTOM( 199?, m4rhr__8, m4rhr, "rhr2515", 0x0000, 0x010000, CRC(e4554c23) SHA1(6d977beb282fd638de3457e467e842ce79b5be7c), "hack","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 C, hack)" ) +GAME_CUSTOM( 199?, m4rhr__8, m4rhr, mod4oki_bootleg_fixedret<0x42>, mpu4, init_m4default, "rhr2515", 0x0000, 0x010000, CRC(e4554c23) SHA1(6d977beb282fd638de3457e467e842ce79b5be7c), "hack","Red Hot Roll (Barcrest) (MPU4) (RHT 0.3 C, hack)" ) -#define M4RHRC_EXTRA_ROMS \ - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ - /* missing, or the same as m4rhr? */ - -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4RHRC_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - -// "(C)1991 BARCREST" and "CRU 0.3" (CLD 0.3 on startup) -GAME_CUSTOM( 199?, m4rhrc, 0, "cld03s.p1", 0x0000, 0x010000, CRC(03f8a6bf) SHA1(29ee59fd60d89fca0f236be8b4c12c885db032e7), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (CLD 0.3 / CRU 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__j, m4rhrc, "cld03ad.p1", 0x0000, 0x010000, CRC(821fde63) SHA1(61f77eeb01331e735cc8c736526d09371e6bdf56), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (CLD 0.3 AD / CRU 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__a, m4rhrc, "cld03b.p1", 0x0000, 0x010000, CRC(c67a2e82) SHA1(b76110c73d5bd0290fdd31d8300914f63a56c25e), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (CLD 0.3 B / CRU 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__b, m4rhrc, "cld03bd.p1", 0x0000, 0x010000, CRC(0995fd93) SHA1(c3cc84f78adc54f4698280bf7d0831bb54c3fc3f), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (CLD 0.3 BD / CRU 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__c, m4rhrc, "cld03c.p1", 0x0000, 0x010000, CRC(6e7b319f) SHA1(3da4feb72cb9d4ee24a8e0568f8d9c80a71caf9b), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (CLD 0.3 C / CRU 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__d, m4rhrc, "cld03d.p1", 0x0000, 0x010000, CRC(dc46afb0) SHA1(c461ac2ef3fcffac96536b1b1c26abe052edf35c), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (CLD 0.3 D / CRU 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__e, m4rhrc, "cld03dk.p1", 0x0000, 0x010000, CRC(f0b6b60f) SHA1(9addae6af20986c92c3ce71ce9756a6f3db5ebff), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (CLD 0.3 KD / CRU 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__f, m4rhrc, "cld03dr.p1", 0x0000, 0x010000, CRC(703ab87b) SHA1(089597927f94bdacc4226900a944cbec85fe2286), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (CLD 0.3 RD / CRU 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__g, m4rhrc, "cld03dy.p1", 0x0000, 0x010000, CRC(ed519095) SHA1(ac174166bf2cc6ab81f9782f1be4a9fbe226f34d), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (CLD 0.3 YD / CRU 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__h, m4rhrc, "cld03k.p1", 0x0000, 0x010000, CRC(3bad05a9) SHA1(1b00ac52f6c87b5c79088b6fc3e6d00f57876ebc), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (CLD 0.3 K / CRU 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__i, m4rhrc, "cld03r.p1", 0x0000, 0x010000, CRC(2de70bdc) SHA1(d8d0170ca71fde4c79d0b465d09d4bb31acf40cf), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (CLD 0.3 R / CRU 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__k, m4rhrc, "cld03y.p1", 0x0000, 0x010000, CRC(b08c2332) SHA1(1cdf7fc0e95a50766df2d1cd51cb803b922c30c8), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (CLD 0.3 Y / CRU 0.3)" ) -// "(C)1991 BARCREST" and "CR4 0.3" (HHN 0.3 on startup) -GAME_CUSTOM( 199?, m4rhrc__v, m4rhrc, "hhn03s.p1", 0x0000, 0x010000, CRC(b531ae78) SHA1(87d043541c23b88b8ec4067c67be77812095faaa), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (HHN 0.3 / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__l, m4rhrc, "hhn03ad.p1", 0x0000, 0x010000, CRC(e7da568e) SHA1(00f9eecd06131bc5770a6ab650b3548f5b7a8c15), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (HHN 0.3 AD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__m, m4rhrc, "hhn03b.p1", 0x0000, 0x010000, CRC(406e47cd) SHA1(193aed33ac62eb04d89cf63beb33e8e4e28e286e), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (HHN 0.3 B / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__n, m4rhrc, "hhn03bd.p1", 0x0000, 0x010000, CRC(66aed369) SHA1(6c3151790292a277a1d44a1fceae985e52014749), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (HHN 0.3 BD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__o, m4rhrc, "hhn03c.p1", 0x0000, 0x010000, CRC(452e623c) SHA1(9350d7e30d8fc2b0f37528a7d0ce6797bab6f504), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (HHN 0.3 C / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__p, m4rhrc, "hhn03d.p1", 0x0000, 0x010000, CRC(e9ce4ee5) SHA1(45fe3832cc37e8ecbc5101b8b7b94f6243504e3f), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (HHN 0.3 D / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__q, m4rhrc, "hhn03dk.p1", 0x0000, 0x010000, CRC(2d750f34) SHA1(1672d5a8b4a338cac87281e1329f111f468dc611), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (HHN 0.3 KD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__r, m4rhrc, "hhn03dr.p1", 0x0000, 0x010000, CRC(88a3895b) SHA1(3e2dcf6728712620724774c16a5d84dbec9c5ab3), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (HHN 0.3 RD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__s, m4rhrc, "hhn03dy.p1", 0x0000, 0x010000, CRC(15c8a1b5) SHA1(5a2f28f290fa087b5010f778d4ad8d6c63a3d13e), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (HHN 0.3 YD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__t, m4rhrc, "hhn03k.p1", 0x0000, 0x010000, CRC(95450230) SHA1(3c1c239e84a89ef6acd44ac9c81d33021ac6b0e3), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (HHN 0.3 K / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__u, m4rhrc, "hhn03r.p1", 0x0000, 0x010000, CRC(d96d6825) SHA1(89c3f5494d97326369f10c982842310592456874), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (HHN 0.3 R / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__w, m4rhrc, "hhn03y.p1", 0x0000, 0x010000, CRC(440640cb) SHA1(de6b6edcdc99aaa0122ecd24a9a7437e6b44aad2), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (HHN 0.3 Y / CR4 0.3)" ) -// "(C)1991 BARCREST" and "CR4 0.3" (RRD 0.3 on startup) -GAME_CUSTOM( 199?, m4rhrc__7, m4rhrc, "rrd03s.p1", 0x0000, 0x010000, CRC(e59b79dd) SHA1(32e515bdc861a4d548caedd56a1825c91a318a34), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (RRD 0.3 / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__x, m4rhrc, "rrd03ad.p1", 0x0000, 0x010000, CRC(6f49d7d1) SHA1(2195a3ad4836e8ffd2e7e6a90e94319d5a5a0ce8), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (RRD 0.3 AD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__y, m4rhrc, "rrd03b.p1", 0x0000, 0x010000, CRC(e8447a3d) SHA1(8bf5936782e0fbec25a8ef892b8df04b6543bc74), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (RRD 0.3 B / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__z, m4rhrc, "rrd03bd.p1", 0x0000, 0x010000, CRC(52cf0357) SHA1(ab4668df6d5ad9614410aede7ad4e030283b78ca), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (RRD 0.3 BD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__0, m4rhrc, "rrd03c.p1", 0x0000, 0x010000, CRC(b03e7b76) SHA1(0b2779b584f8fa0e25e2a5248ecb8fb88aa53413), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (RRD 0.3 AC/ CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__1, m4rhrc, "rrd03d.p1", 0x0000, 0x010000, CRC(44740c79) SHA1(ab1efb2090ef62795c17a685c7acb45820eb1a9d), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (RRD 0.3 D / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__2, m4rhrc, "rrd03dk.p1", 0x0000, 0x010000, CRC(78f18187) SHA1(33764416c6e5cccd6ae5fdc5c0d679e1ef451785), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (RRD 0.3 KD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__3, m4rhrc, "rrd03dr.p1", 0x0000, 0x010000, CRC(039c2869) SHA1(2eb887b36d86295d0e6aacc74d0a6223d32baa5a), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (RRD 0.3 RD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__4, m4rhrc, "rrd03dy.p1", 0x0000, 0x010000, CRC(b60b6e51) SHA1(eb6ed1de44d7c982ac8aa0621d4c1ed8e41db5de), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (RRD 0.3 YD / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__5, m4rhrc, "rrd03k.p1", 0x0000, 0x010000, CRC(31adc6d6) SHA1(ea68d0d13978bf6cfa7fb9aa1cf91ddfd6258a3a), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (RRD 0.3 K / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__6, m4rhrc, "rrd03r.p1", 0x0000, 0x010000, CRC(11c61483) SHA1(66cd30096bca2f4356acaaa15179c00301c8bc3a), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (RRD 0.3 R / CR4 0.3)" ) -GAME_CUSTOM( 199?, m4rhrc__8, m4rhrc, "rrd03y.p1", 0x0000, 0x010000, CRC(66fff07a) SHA1(586279533d6d85abf7e97124c9c5342a6a1b0496), "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4) (RRD 0.3 Y / CR4 0.3)" ) -// "(C)2000 BWB" and "RHR 5.0" -GAME_CUSTOM( 199?, m4rhrc__aa, m4rhrc, "cr__x_dx.5_0", 0x0000, 0x010000, CRC(4bcf5c02) SHA1(603935880c87f86e7bc765c176266c1c08a6114f), "Bwb","Red Hot Roll Classic (Barcrest) (MPU4) (RHR 5.0)" ) +/***************************************************************************************************************************************************************************** +* +* Up Up and Away +* +*****************************************************************************************************************************************************************************/ +// Wrong Sound, Need V1 #define M4UUAW_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "uuasnd.p1", 0x00000, 0x080000, CRC(be1a1131) SHA1(b7f50d8db6b7d134757e0746e7d9faf9fd3a2c7e) ) \ + ROM_LOAD( "uuasnd.p1", 0x000000, 0x080000, CRC(be1a1131) SHA1(b7f50d8db6b7d134757e0746e7d9faf9fd3a2c7e) ) \ ROM_LOAD( "uuasnd.p2", 0x080000, 0x080000, CRC(c8492b3a) SHA1(d390e37f4a62869079bb38395a2e86a5ad24392f) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -2876,7 +3802,45 @@ GAME_CUSTOM( 199?, m4rhrc__aa, m4rhrc, "cr__x_dx.5_0", 0x0000, 0x010000, C ROM_LOAD( name, offset, length, hash ) \ M4UUAW_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "UPS 2.2" +GAME_CUSTOM( 199?, m4uuaw__0, m4uuaw, "ups22s.p1", 0x0000, 0x020000, CRC(ac990aa9) SHA1(396c9eded9c18ab2bcb0f4066a890f6e239830f1), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2)" ) +GAME_CUSTOM( 199?, m4uuaw__p, m4uuaw, "ups22ad.p1", 0x0000, 0x020000, CRC(ee0f53a6) SHA1(eabe58efa82015eb2266a793853e8ade546d6da1), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 DA)" ) +GAME_CUSTOM( 199?, m4uuaw__q, m4uuaw, "ups22b.p1", 0x0000, 0x020000, CRC(e7dbf5ae) SHA1(0fbbc3da1af8b60993a7f6082bd5e96da21cd0b8), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 B)" ) +GAME_CUSTOM( 199?, m4uuaw__r, m4uuaw, "ups22bd.p1", 0x0000, 0x020000, CRC(003330bd) SHA1(42ad6ddfd7639909151dcee5e40e82a23074fd59), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 DB)" ) +GAME_CUSTOM( 199?, m4uuaw__s, m4uuaw, "ups22d.p1", 0x0000, 0x020000, CRC(cc64400f) SHA1(0ff7858c637fbb43a7cd1313bbf046177e4b7761), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 D)" ) +GAME_CUSTOM( 199?, m4uuaw__t, m4uuaw, "ups22dh.p1", 0x0000, 0x020000, CRC(545f4071) SHA1(3947499d78d31fb0b269a63a518790b503a97685), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 DH)" ) +GAME_CUSTOM( 199?, m4uuaw__u, m4uuaw, "ups22dk.p1", 0x0000, 0x020000, CRC(29d25535) SHA1(7f053741d12cce467dd437ea998064e13d1ca52b), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 DK)" ) +GAME_CUSTOM( 199?, m4uuaw__v, m4uuaw, "ups22dr.p1", 0x0000, 0x020000, CRC(9addee04) SHA1(45c15536c8846da825a994a667b6e46598c1642e), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 DR)" ) +GAME_CUSTOM( 199?, m4uuaw__w, m4uuaw, "ups22dy.p1", 0x0000, 0x020000, CRC(6315fd63) SHA1(9a5fcab51d4e94b96669149285dda28cd41020b8), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 DY)" ) +GAME_CUSTOM( 199?, m4uuaw__x, m4uuaw, "ups22h.p1", 0x0000, 0x020000, CRC(b3b78562) SHA1(3e75fa20156faa3d38c2b5ac824bffe47e72b7bc), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 H)" ) +GAME_CUSTOM( 199?, m4uuaw__y, m4uuaw, "ups22k.p1", 0x0000, 0x020000, CRC(ce3a9026) SHA1(80977176c5bae809a564f4fc0e3d6370f91f829b), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 K)" ) +GAME_CUSTOM( 199?, m4uuaw__z, m4uuaw, "ups22r.p1", 0x0000, 0x020000, CRC(7d352b17) SHA1(d2d1d016a587be318e9018eb1953e68fe83620df), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 R)" ) +GAME_CUSTOM( 199?, m4uuaw__1, m4uuaw, "ups22y.p1", 0x0000, 0x020000, CRC(84fd3870) SHA1(8d294ae1a92d1e99c4c3f17a2d77fe1d994b2c33), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 Y)" ) +// "(C)1993 BARCREST" and "UUA 2.2" +GAME_CUSTOM( 199?, m4uuaw__ap, m4uuaw, "uua22s.p1", 0x0000, 0x020000, CRC(65f57c0c) SHA1(7b2526cdd1ec973a91bc7ade116e16e03b32596a), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2)" ) +GAME_CUSTOM( 199?, m4uuaw__ae, m4uuaw, "uua22ad.p1", 0x0000, 0x020000, CRC(b2ace4d5) SHA1(da02abe111fea3fbfb9495e9b447139cd67a61e0), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 DA)" ) +GAME_CUSTOM( 199?, m4uuaw__af, m4uuaw, "uua22b.p1", 0x0000, 0x020000, CRC(71a6374a) SHA1(c14ed22fceb83b5ac72021322c9b8bb3d5afeffb), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 B)" ) +GAME_CUSTOM( 199?, m4uuaw__ag, m4uuaw, "uua22bd.p1", 0x0000, 0x020000, CRC(68f705f9) SHA1(678ba97241f3dede96239265eed418d4717637a6), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 DB)" ) +GAME_CUSTOM( 199?, m4uuaw__ah, m4uuaw, "uua22d.p1", 0x0000, 0x020000, CRC(c0f75c52) SHA1(a4e1e496b0cbb24767f017fbe228fbb8ab2bb907), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 D)" ) +GAME_CUSTOM( 199?, m4uuaw__ai, m4uuaw, "uua22dh.p1", 0x0000, 0x020000, CRC(a675ab8c) SHA1(37fb437b95f9ff50fe41ebce825e3dd1b361925e), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 DH)" ) +GAME_CUSTOM( 199?, m4uuaw__aj, m4uuaw, "uua22dk.p1", 0x0000, 0x020000, CRC(1c25b85b) SHA1(b42cdae2e2c00644376eb5f0c5b7567d3811b162), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 DK)" ) +GAME_CUSTOM( 199?, m4uuaw__ak, m4uuaw, "uua22dr.p1", 0x0000, 0x020000, CRC(dbf8bec8) SHA1(b3ac5ed5b8cbc0457e5dfadefcab563e3197b045), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 DR)" ) +GAME_CUSTOM( 199?, m4uuaw__al, m4uuaw, "uua22dy.p1", 0x0000, 0x020000, CRC(913f169e) SHA1(9f82f5d868a9be046ced838f8b53730140ed50b2), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 DY)" ) +GAME_CUSTOM( 199?, m4uuaw__am, m4uuaw, "uua22h.p1", 0x0000, 0x020000, CRC(bf24993f) SHA1(618d6d2f2b762d61eb58087a3597ffb709658631), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 H)" ) +GAME_CUSTOM( 199?, m4uuaw__an, m4uuaw, "uua22k.p1", 0x0000, 0x020000, CRC(05748ae8) SHA1(d9aeee26c8471bb6ee58a4a838e5c9930da92725), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 K)" ) +GAME_CUSTOM( 199?, m4uuaw__ao, m4uuaw, "uua22r.p1", 0x0000, 0x020000, CRC(c2a98c7b) SHA1(115f7c7a4b9eab5f3270f43a2db7a320dfc4e223), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 R)" ) +GAME_CUSTOM( 199?, m4uuaw__aq, m4uuaw, "uua22y.p1", 0x0000, 0x020000, CRC(886e242d) SHA1(4b49b70fc2635fcf7b538b35b42a358cf4dd60b3), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4UUAW_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "UPS 2.1" GAME_CUSTOM( 199?, m4uuaw, 0, "ups21s.p1", 0x0000, 0x020000, CRC(c4a8a542) SHA1(61063d55c6017cf17d704df576cb62da5bd75820), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.1)" ) @@ -2892,20 +3856,6 @@ GAME_CUSTOM( 199?, m4uuaw__k, m4uuaw, "ups21h.p1", 0x0000, 0x020000, CRC(5 GAME_CUSTOM( 199?, m4uuaw__l, m4uuaw, "ups21k.p1", 0x0000, 0x020000, CRC(28d3618f) SHA1(186337119e4b663dadc129533ce8a913013390a9), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.1 K)" ) GAME_CUSTOM( 199?, m4uuaw__m, m4uuaw, "ups21r.p1", 0x0000, 0x020000, CRC(9bdcdabe) SHA1(db0bb90705abec92a220a3dbe0ea69266d5e0558), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.1 R)" ) GAME_CUSTOM( 199?, m4uuaw__o, m4uuaw, "ups21y.p1", 0x0000, 0x020000, CRC(6214c9d9) SHA1(d25fecc9798e342207d358a54efad1908c0e2247), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.1 Y)" ) -// "(C)1993 BARCREST" and "UPS 2.2" -GAME_CUSTOM( 199?, m4uuaw__0, m4uuaw, "ups22s.p1", 0x0000, 0x020000, CRC(ac990aa9) SHA1(396c9eded9c18ab2bcb0f4066a890f6e239830f1), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2)" ) -GAME_CUSTOM( 199?, m4uuaw__p, m4uuaw, "ups22ad.p1", 0x0000, 0x020000, CRC(ee0f53a6) SHA1(eabe58efa82015eb2266a793853e8ade546d6da1), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 DA)" ) -GAME_CUSTOM( 199?, m4uuaw__q, m4uuaw, "ups22b.p1", 0x0000, 0x020000, CRC(e7dbf5ae) SHA1(0fbbc3da1af8b60993a7f6082bd5e96da21cd0b8), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 B)" ) -GAME_CUSTOM( 199?, m4uuaw__r, m4uuaw, "ups22bd.p1", 0x0000, 0x020000, CRC(003330bd) SHA1(42ad6ddfd7639909151dcee5e40e82a23074fd59), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 DB)" ) -GAME_CUSTOM( 199?, m4uuaw__s, m4uuaw, "ups22d.p1", 0x0000, 0x020000, CRC(cc64400f) SHA1(0ff7858c637fbb43a7cd1313bbf046177e4b7761), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 D)" ) -GAME_CUSTOM( 199?, m4uuaw__t, m4uuaw, "ups22dh.p1", 0x0000, 0x020000, CRC(545f4071) SHA1(3947499d78d31fb0b269a63a518790b503a97685), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 DH)" ) -GAME_CUSTOM( 199?, m4uuaw__u, m4uuaw, "ups22dk.p1", 0x0000, 0x020000, CRC(29d25535) SHA1(7f053741d12cce467dd437ea998064e13d1ca52b), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 DK)" ) -GAME_CUSTOM( 199?, m4uuaw__v, m4uuaw, "ups22dr.p1", 0x0000, 0x020000, CRC(9addee04) SHA1(45c15536c8846da825a994a667b6e46598c1642e), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 DR)" ) -GAME_CUSTOM( 199?, m4uuaw__w, m4uuaw, "ups22dy.p1", 0x0000, 0x020000, CRC(6315fd63) SHA1(9a5fcab51d4e94b96669149285dda28cd41020b8), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 DY)" ) -GAME_CUSTOM( 199?, m4uuaw__x, m4uuaw, "ups22h.p1", 0x0000, 0x020000, CRC(b3b78562) SHA1(3e75fa20156faa3d38c2b5ac824bffe47e72b7bc), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 H)" ) -GAME_CUSTOM( 199?, m4uuaw__y, m4uuaw, "ups22k.p1", 0x0000, 0x020000, CRC(ce3a9026) SHA1(80977176c5bae809a564f4fc0e3d6370f91f829b), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 K)" ) -GAME_CUSTOM( 199?, m4uuaw__z, m4uuaw, "ups22r.p1", 0x0000, 0x020000, CRC(7d352b17) SHA1(d2d1d016a587be318e9018eb1953e68fe83620df), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 R)" ) -GAME_CUSTOM( 199?, m4uuaw__1, m4uuaw, "ups22y.p1", 0x0000, 0x020000, CRC(84fd3870) SHA1(8d294ae1a92d1e99c4c3f17a2d77fe1d994b2c33), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UPS 2.2 Y)" ) // "(C)1993 BARCREST" and "UUA 2.1" GAME_CUSTOM( 199?, m4uuaw__ac, m4uuaw, "uua21s.p1", 0x0000, 0x020000, CRC(27c46fcc) SHA1(68a03fcce5d8155d6c0115d813c17217c4120375), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.1)" ) GAME_CUSTOM( 199?, m4uuaw__2, m4uuaw, "uua21ad.p1", 0x0000, 0x020000, CRC(2a18c292) SHA1(5853cb069eb5caa23372e5dedd33868103125780), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.1 DA)" ) @@ -2920,198 +3870,193 @@ GAME_CUSTOM( 199?, m4uuaw__aa, m4uuaw, "uua21k.p1", 0x0000, 0x020000, CRC(a GAME_CUSTOM( 199?, m4uuaw__ab, m4uuaw, "uua21r.p1", 0x0000, 0x020000, CRC(641378ea) SHA1(de0282af6a17c7fc16c7eca10e81ffb208675779), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.1 R)" ) GAME_CUSTOM( 199?, m4uuaw__ad, m4uuaw, "uua21y.p1", 0x0000, 0x020000, CRC(2ed4d0bc) SHA1(ffb0585e729b389855d24015e1ef7582eab88d3e), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.1 Y)" ) GAME_CUSTOM( 199?, m4uuaw__n, m4uuaw, "uua21h.p1", 0x0000, 0x020000, CRC(199e6dae) SHA1(ecd95ba2c2255afbaa8df96d625a8bfc97e4d3bc), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.1 H)" ) -// "(C)1993 BARCREST" and "UUA 2.2" -GAME_CUSTOM( 199?, m4uuaw__ap, m4uuaw, "uua22s.p1", 0x0000, 0x020000, CRC(65f57c0c) SHA1(7b2526cdd1ec973a91bc7ade116e16e03b32596a), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2)" ) -GAME_CUSTOM( 199?, m4uuaw__ae, m4uuaw, "uua22ad.p1", 0x0000, 0x020000, CRC(b2ace4d5) SHA1(da02abe111fea3fbfb9495e9b447139cd67a61e0), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 DA)" ) -GAME_CUSTOM( 199?, m4uuaw__af, m4uuaw, "uua22b.p1", 0x0000, 0x020000, CRC(71a6374a) SHA1(c14ed22fceb83b5ac72021322c9b8bb3d5afeffb), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 B)" ) -GAME_CUSTOM( 199?, m4uuaw__ag, m4uuaw, "uua22bd.p1", 0x0000, 0x020000, CRC(68f705f9) SHA1(678ba97241f3dede96239265eed418d4717637a6), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 DB)" ) -GAME_CUSTOM( 199?, m4uuaw__ah, m4uuaw, "uua22d.p1", 0x0000, 0x020000, CRC(c0f75c52) SHA1(a4e1e496b0cbb24767f017fbe228fbb8ab2bb907), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 D)" ) -GAME_CUSTOM( 199?, m4uuaw__ai, m4uuaw, "uua22dh.p1", 0x0000, 0x020000, CRC(a675ab8c) SHA1(37fb437b95f9ff50fe41ebce825e3dd1b361925e), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 DH)" ) -GAME_CUSTOM( 199?, m4uuaw__aj, m4uuaw, "uua22dk.p1", 0x0000, 0x020000, CRC(1c25b85b) SHA1(b42cdae2e2c00644376eb5f0c5b7567d3811b162), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 DK)" ) -GAME_CUSTOM( 199?, m4uuaw__ak, m4uuaw, "uua22dr.p1", 0x0000, 0x020000, CRC(dbf8bec8) SHA1(b3ac5ed5b8cbc0457e5dfadefcab563e3197b045), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 DR)" ) -GAME_CUSTOM( 199?, m4uuaw__al, m4uuaw, "uua22dy.p1", 0x0000, 0x020000, CRC(913f169e) SHA1(9f82f5d868a9be046ced838f8b53730140ed50b2), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 DY)" ) -GAME_CUSTOM( 199?, m4uuaw__am, m4uuaw, "uua22h.p1", 0x0000, 0x020000, CRC(bf24993f) SHA1(618d6d2f2b762d61eb58087a3597ffb709658631), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 H)" ) -GAME_CUSTOM( 199?, m4uuaw__an, m4uuaw, "uua22k.p1", 0x0000, 0x020000, CRC(05748ae8) SHA1(d9aeee26c8471bb6ee58a4a838e5c9930da92725), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 K)" ) -GAME_CUSTOM( 199?, m4uuaw__ao, m4uuaw, "uua22r.p1", 0x0000, 0x020000, CRC(c2a98c7b) SHA1(115f7c7a4b9eab5f3270f43a2db7a320dfc4e223), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 R)" ) -GAME_CUSTOM( 199?, m4uuaw__aq, m4uuaw, "uua22y.p1", 0x0000, 0x020000, CRC(886e242d) SHA1(4b49b70fc2635fcf7b538b35b42a358cf4dd60b3), "Barcrest","Up Up and Away (Barcrest) (MPU4) (UUA 2.2 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4UUAW_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// different protection +// // no copyright string and "UUA 2.0" GAME_CUSTOM( 199?, m4uuaw__a, m4uuaw, "upa15g", 0x0000, 0x020000, CRC(d20b8b92) SHA1(6fcddc781c204dfd34de2c4e4ce0ec35fb3ec4e0), "hack","Up Up and Away (Barcrest) (MPU4) (UUA 2.0, hack)" ) // no copyright string and "UPS 2.0" GAME_CUSTOM( 199?, m4uuaw__b, m4uuaw, "upa15t", 0x0000, 0x020000, CRC(85e3e82a) SHA1(e90183fab082f159d76ea14da794d52ee6ab8200), "hack","Up Up and Away (Barcrest) (MPU4) (UPS 2.0, hack)" ) +/***************************************************************************************************************************************************************************** +* +* Rich & Famous +* +*****************************************************************************************************************************************************************************/ + #define M4RICHFM_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "rfamouss1.hex", 0x000000, 0x080000, CRC(b237c8b8) SHA1(b2322d68fe57cca0ed49b01ae0d3a0e93a623eac) ) \ ROM_LOAD( "rfamouss2.hex", 0x080000, 0x080000, CRC(12c295d5) SHA1(0758354cfb5242b4ce3f5f25c3458d91f4b4a1ec) ) + #undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4RICHFM_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "RFT 0.2" -GAME_CUSTOM( 199?, m4richfm, 0, "rfts.p1", 0x0000, 0x010000, CRC(2a747164) SHA1(a4c8e160f09ebea4fca6dd32ff020d3f1a4f1a1c), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2)" ) -GAME_CUSTOM( 199?, m4richfm__r, m4richfm, "rftad.p1", 0x0000, 0x010000, CRC(8553386f) SHA1(ad834d52e51c7f375a370dc6d8586668921a9795), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 AD)" ) -GAME_CUSTOM( 199?, m4richfm__s, m4richfm, "rftb.p1", 0x0000, 0x010000, CRC(0189cc2f) SHA1(62ccc85c50c56aa2e0bcbb42b5c24d402f00d366), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 B)" ) -GAME_CUSTOM( 199?, m4richfm__t, m4richfm, "rftbd.p1", 0x0000, 0x010000, CRC(08351e03) SHA1(d08d38d46793828b147ccde8121fbb9bf422cd60), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 BD)" ) -GAME_CUSTOM( 199?, m4richfm__u, m4richfm, "rftd.p1", 0x0000, 0x010000, CRC(689f02ed) SHA1(1a30aac5454b0c477a698e9c573fe313bc1fe858), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 D)" ) -GAME_CUSTOM( 199?, m4richfm__v, m4richfm, "rftdk.p1", 0x0000, 0x010000, CRC(098b88f5) SHA1(4559b561380055c429a5b4741326f64ad89d8481), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 KD)" ) -GAME_CUSTOM( 199?, m4richfm__w, m4richfm, "rftdy.p1", 0x0000, 0x010000, CRC(26b912f8) SHA1(1719d63b4a25293199b0729235beb5b93c484490), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 YD)" ) -GAME_CUSTOM( 199?, m4richfm__x, m4richfm, "rftk.p1", 0x0000, 0x010000, CRC(6a48bd98) SHA1(2f17194869ca008f7a2eb622bd3725bc91950a17), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 K)" ) -GAME_CUSTOM( 199?, m4richfm__y, m4richfm, "rfty.p1", 0x0000, 0x010000, CRC(723fe46e) SHA1(51bb8aff358d527483eaf1b1e20606d94a937dc6), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 Y)" ) -// "(C)1993 BARCREST" and "RAF 0.3" -GAME_CUSTOM( 199?, m4richfm__c, m4richfm, "rafs.p1", 0x0000, 0x010000, CRC(f312b2e3) SHA1(8bf2cb7b73cfc320143d05d25e28c15fb4f26045), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RAF 0.3)" ) -GAME_CUSTOM( 199?, m4richfm__a, m4richfm, "rafc.p1", 0x0000, 0x010000, CRC(d92f602f) SHA1(c93131138deb4018d499b9b45c07d4517c5072b7), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RAF 0.3 C)" ) -GAME_CUSTOM( 199?, m4richfm__b, m4richfm, "rafd.p1", 0x0000, 0x010000, CRC(b0e9f470) SHA1(cad080a5d7f24968524fe10f6c43b088f35d7364), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RAF 0.3 D)" ) -GAME_CUSTOM( 199?, m4richfm__d, m4richfm, "rafy.p1", 0x0000, 0x010000, CRC(a8812d45) SHA1(c0b89833f87ed90eb3e9c3299fcea362d501ed90), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RAF 0.3 Y)" ) +GAME_CUSTOM( 199?, m4richfm, 0, mod4oki_cheatchr_pal, mpu4, init_m4default, "rfts.p1", 0x0000, 0x010000, CRC(2a747164) SHA1(a4c8e160f09ebea4fca6dd32ff020d3f1a4f1a1c), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2)" ) +GAME_CUSTOM( 199?, m4richfm__r, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rftad.p1", 0x0000, 0x010000, CRC(8553386f) SHA1(ad834d52e51c7f375a370dc6d8586668921a9795), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 AD)" ) +GAME_CUSTOM( 199?, m4richfm__s, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rftb.p1", 0x0000, 0x010000, CRC(0189cc2f) SHA1(62ccc85c50c56aa2e0bcbb42b5c24d402f00d366), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 B)" ) +GAME_CUSTOM( 199?, m4richfm__t, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rftbd.p1", 0x0000, 0x010000, CRC(08351e03) SHA1(d08d38d46793828b147ccde8121fbb9bf422cd60), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 BD)" ) +GAME_CUSTOM( 199?, m4richfm__u, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rftd.p1", 0x0000, 0x010000, CRC(689f02ed) SHA1(1a30aac5454b0c477a698e9c573fe313bc1fe858), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 D)" ) +GAME_CUSTOM( 199?, m4richfm__v, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rftdk.p1", 0x0000, 0x010000, CRC(098b88f5) SHA1(4559b561380055c429a5b4741326f64ad89d8481), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 KD)" ) +GAME_CUSTOM( 199?, m4richfm__w, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rftdy.p1", 0x0000, 0x010000, CRC(26b912f8) SHA1(1719d63b4a25293199b0729235beb5b93c484490), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 YD)" ) +GAME_CUSTOM( 199?, m4richfm__x, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rftk.p1", 0x0000, 0x010000, CRC(6a48bd98) SHA1(2f17194869ca008f7a2eb622bd3725bc91950a17), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 K)" ) +GAME_CUSTOM( 199?, m4richfm__y, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rfty.p1", 0x0000, 0x010000, CRC(723fe46e) SHA1(51bb8aff358d527483eaf1b1e20606d94a937dc6), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 Y)" ) // "(C)1993 BARCREST" and "RF5 0.2" -GAME_CUSTOM( 199?, m4richfm__m, m4richfm, "rf5s.p1", 0x0000, 0x010000, CRC(8d1ed193) SHA1(a4ca973dac8a8fd550bf7e57a8cdc627c28da4b8), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2)" ) -GAME_CUSTOM( 199?, m4richfm__f, m4richfm, "rf5ad.p1", 0x0000, 0x010000, CRC(cd280292) SHA1(605d89608e106979229a00701a2e5b578df50d60), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 AD)" ) -GAME_CUSTOM( 199?, m4richfm__g, m4richfm, "rf5b.p1", 0x0000, 0x010000, CRC(e1edf753) SHA1(677f0397ec57422241f4669be610cffd33a9b44a), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 B)" ) -GAME_CUSTOM( 199?, m4richfm__h, m4richfm, "rf5bd.p1", 0x0000, 0x010000, CRC(2d698365) SHA1(7f91cee0d34550aba9ac0f4ee398df4de6fd6f7e), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 BD)" ) -GAME_CUSTOM( 199?, m4richfm__i, m4richfm, "rf5d.p1", 0x0000, 0x010000, CRC(034cab0b) SHA1(79eaeb84377dbb8e6bda1dd2ae29a1f79656b9e4), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 D)" ) -GAME_CUSTOM( 199?, m4richfm__j, m4richfm, "rf5dk.p1", 0x0000, 0x010000, CRC(14fc0f13) SHA1(a2b294da18c3f5bc9c81eb3f3af5ab5ca58c9cad), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 KD)" ) -GAME_CUSTOM( 199?, m4richfm__k, m4richfm, "rf5dy.p1", 0x0000, 0x010000, CRC(a2664c64) SHA1(2256b6e0d6472faa901348cb5be849ad012f1d16), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 YD)" ) -GAME_CUSTOM( 199?, m4richfm__l, m4richfm, "rf5k.p1", 0x0000, 0x010000, CRC(d8787b25) SHA1(885ac7ddd3de4cb475539d02aefbf38fed7c1f2c), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 K)" ) -GAME_CUSTOM( 199?, m4richfm__n, m4richfm, "rf5y.p1", 0x0000, 0x010000, CRC(ad288548) SHA1(a7222ab5bffe8e5e0844f8e6f13e09afe74b08a8), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 Y)" ) +GAME_CUSTOM( 199?, m4richfm__m, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rf5s.p1", 0x0000, 0x010000, CRC(8d1ed193) SHA1(a4ca973dac8a8fd550bf7e57a8cdc627c28da4b8), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2)" ) +GAME_CUSTOM( 199?, m4richfm__f, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rf5ad.p1", 0x0000, 0x010000, CRC(cd280292) SHA1(605d89608e106979229a00701a2e5b578df50d60), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 AD)" ) +GAME_CUSTOM( 199?, m4richfm__g, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rf5b.p1", 0x0000, 0x010000, CRC(e1edf753) SHA1(677f0397ec57422241f4669be610cffd33a9b44a), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 B)" ) +GAME_CUSTOM( 199?, m4richfm__h, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rf5bd.p1", 0x0000, 0x010000, CRC(2d698365) SHA1(7f91cee0d34550aba9ac0f4ee398df4de6fd6f7e), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 BD)" ) +GAME_CUSTOM( 199?, m4richfm__i, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rf5d.p1", 0x0000, 0x010000, CRC(034cab0b) SHA1(79eaeb84377dbb8e6bda1dd2ae29a1f79656b9e4), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 D)" ) +GAME_CUSTOM( 199?, m4richfm__j, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rf5dk.p1", 0x0000, 0x010000, CRC(14fc0f13) SHA1(a2b294da18c3f5bc9c81eb3f3af5ab5ca58c9cad), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 KD)" ) +GAME_CUSTOM( 199?, m4richfm__k, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rf5dy.p1", 0x0000, 0x010000, CRC(a2664c64) SHA1(2256b6e0d6472faa901348cb5be849ad012f1d16), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 YD)" ) +GAME_CUSTOM( 199?, m4richfm__l, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rf5k.p1", 0x0000, 0x010000, CRC(d8787b25) SHA1(885ac7ddd3de4cb475539d02aefbf38fed7c1f2c), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 K)" ) +GAME_CUSTOM( 199?, m4richfm__n, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rf5y.p1", 0x0000, 0x010000, CRC(ad288548) SHA1(a7222ab5bffe8e5e0844f8e6f13e09afe74b08a8), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF5 0.2 Y)" ) +// sequence 00 64 64 24 64 64 24 64 6c 9c bc bc (Winner Takes All) +// "(C)1993 BARCREST" and "RAF 0.3" +GAME_CUSTOM( 199?, m4richfm__c, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rafs.p1", 0x0000, 0x010000, CRC(f312b2e3) SHA1(8bf2cb7b73cfc320143d05d25e28c15fb4f26045), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RAF 0.3)" ) +GAME_CUSTOM( 199?, m4richfm__a, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rafc.p1", 0x0000, 0x010000, CRC(d92f602f) SHA1(c93131138deb4018d499b9b45c07d4517c5072b7), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RAF 0.3 C)" ) +GAME_CUSTOM( 199?, m4richfm__b, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rafd.p1", 0x0000, 0x010000, CRC(b0e9f470) SHA1(cad080a5d7f24968524fe10f6c43b088f35d7364), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RAF 0.3 D)" ) +GAME_CUSTOM( 199?, m4richfm__d, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rafy.p1", 0x0000, 0x010000, CRC(a8812d45) SHA1(c0b89833f87ed90eb3e9c3299fcea362d501ed90), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RAF 0.3 Y)" ) // "(C)1993 BARCREST" and "RF8 0.1" -GAME_CUSTOM( 199?, m4richfm__o, m4richfm, "rf8b.p1", 0x0000, 0x010000, CRC(105c24e1) SHA1(cb417976a74441bf2ca888198b57fed81d758c15), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF8 0.1 B)" ) -GAME_CUSTOM( 199?, m4richfm__p, m4richfm, "rf8c.p1", 0x0000, 0x010000, CRC(8924a706) SHA1(abb1a1f6cdeb15884dfa63fc04882f794453d4ec), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF8 0.1 C)" ) -// "(C)1993 BARCREST" and "RFT 0.2" but hack -GAME_CUSTOM( 199?, m4richfm__q, m4richfm, "rft20.10", 0x0000, 0x010000, CRC(41e6ef75) SHA1(d836fdea5a89b845687d2ff929365bd81737c760), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 P, hack, set 1)" ) -GAME_CUSTOM( 199?, m4richfm__z, m4richfm, "rich2010", 0x0000, 0x010000, CRC(baecbdbc) SHA1(5fffecf3c91e832d3cfc13dbf5e6b74fc3d6a146), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 P, hack, set 2)" ) +GAME_CUSTOM( 199?, m4richfm__o, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rf8b.p1", 0x0000, 0x010000, CRC(105c24e1) SHA1(cb417976a74441bf2ca888198b57fed81d758c15), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF8 0.1 B)" ) +GAME_CUSTOM( 199?, m4richfm__p, m4richfm, mod4oki_cheatchr_pal, mpu4, init_m4default, "rf8c.p1", 0x0000, 0x010000, CRC(8924a706) SHA1(abb1a1f6cdeb15884dfa63fc04882f794453d4ec), "Barcrest","Rich & Famous (Barcrest) (MPU4) (RF8 0.1 C)" ) +// none of these expect standard protection, they might be hacked // "(C)1997 B.W.B." and "RFC 1.3" -GAME_CUSTOM( 199?, m4richfm__0, m4richfm, "r+f5.10", 0x0000, 0x010000, CRC(45d493d0) SHA1(9a549821a005fa65c2eb8b35c5f15659bd897519), "Bwb","Rich & Famous (Barcrest) (MPU4) (RFC 1.3 K5)" ) +GAME_CUSTOM( 199?, m4richfm__0, m4richfm, mod4oki_bootleg_fixedret<0x1f>, mpu4, init_m4default, "r+f5.10", 0x0000, 0x010000, CRC(45d493d0) SHA1(9a549821a005fa65c2eb8b35c5f15659bd897519), "Bwb","Rich & Famous (Barcrest) (MPU4) (RFC 1.3 K5)" ) // "(C)1997 B.W.B." and "RF4 1.1" -GAME_CUSTOM( 199?, m4richfm__1, m4richfm, "r+f5.4", 0x0000, 0x010000, CRC(0441d833) SHA1(361910fd64bc7291f6200fe354c468d16e7d6c80), "Bwb","Rich & Famous (Barcrest) (MPU4) (RF4 1.1 K5)" ) -// "(C)1997 B.W.B." and "RF8 1.2" -GAME_CUSTOM( 199?, m4richfm__2, m4richfm, "r+f5.8t", 0x0000, 0x010000, CRC(525e2520) SHA1(84b2ff86d6a54ebb3bcf0138930b2619a8733161), "Bwb","Rich & Famous (Barcrest) (MPU4) (RF8 1.2 K5)" ) +GAME_CUSTOM( 199?, m4richfm__1, m4richfm, mod4oki_bootleg_fixedret<0x2e>, mpu4, init_m4default, "r+f5.4", 0x0000, 0x010000, CRC(0441d833) SHA1(361910fd64bc7291f6200fe354c468d16e7d6c80), "Bwb","Rich & Famous (Barcrest) (MPU4) (RF4 1.1 K5)" ) // "1997 COCO" and "RF4 1.1" -GAME_CUSTOM( 199?, m4richfm__3, m4richfm, "r+f55", 0x0000, 0x010000, CRC(6095a72b) SHA1(af25f7c2fb5241064ea995d35fe4fd2f242e3750), "hack","Rich & Famous (Barcrest) (MPU4) (RF4 1.1 K5, hack)" ) +GAME_CUSTOM( 199?, m4richfm__3, m4richfm, mod4oki_bootleg_fixedret<0x2a>, mpu4, init_m4default, "r+f55", 0x0000, 0x010000, CRC(6095a72b) SHA1(af25f7c2fb5241064ea995d35fe4fd2f242e3750), "hack","Rich & Famous (Barcrest) (MPU4) (RF4 1.1 K5, hack)" ) +// "(C)1997 B.W.B." and "RF8 1.2" +GAME_CUSTOM( 199?, m4richfm__2, m4richfm, mod4oki_bootleg_fixedret<0x2e>, mpu4, init_m4default, "r+f5.8t", 0x0000, 0x010000, CRC(525e2520) SHA1(84b2ff86d6a54ebb3bcf0138930b2619a8733161), "Bwb","Rich & Famous (Barcrest) (MPU4) (RF8 1.2 K5)" ) +// "(C)1993 BARCREST" and "RFT 0.2" but hack +GAME_CUSTOM( 199?, m4richfm__q, m4richfm, mod4oki_bootleg_fixedret<0x1d>, mpu4, init_m4default, "rft20.10", 0x0000, 0x010000, CRC(41e6ef75) SHA1(d836fdea5a89b845687d2ff929365bd81737c760), "hack","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 P, hack, set 1)" ) +GAME_CUSTOM( 199?, m4richfm__z, m4richfm, mod4oki_bootleg_fixedret<0x1d>, mpu4, init_m4default, "rich2010", 0x0000, 0x010000, CRC(baecbdbc) SHA1(5fffecf3c91e832d3cfc13dbf5e6b74fc3d6a146), "hack","Rich & Famous (Barcrest) (MPU4) (RFT 0.2 P, hack, set 2)" ) // bad dump (most of the rom is missing) but doesn't seem a 100% match for a set we have a complete dump of -GAME_CUSTOM( 199?, m4richfm__e, m4richfm, "rchfam8", 0x0000, 0x004000, BAD_DUMP CRC(55f16698) SHA1(9853b17bbb81371192a564376be7b3074908dbca), "Barcrest","Rich & Famous (Barcrest) (MPU4) (bad)" ) +GAME_CUSTOM( 199?, m4richfm__e, m4richfm, mod4oki, mpu4, init_m4default, "rchfam8", 0x0000, 0x004000, BAD_DUMP CRC(55f16698) SHA1(9853b17bbb81371192a564376be7b3074908dbca), "Barcrest","Rich & Famous (Barcrest) (MPU4) (bad)" ) -#define M4NNWWC_EXTRA_ROMS \ + +/***************************************************************************************************************************************************************************** +* +* Prize Rich And Famous +* +*****************************************************************************************************************************************************************************/ + +#define M4PRZRF_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ - /* missing, maybe the same as NNWW */ + /* missing? */ #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ - M4NNWWC_EXTRA_ROMS \ + M4PRZRF_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - - -/// "(C)1991 BARCREST" and "NN4 0.2" (CN3 0.2 on startup) -GAME_CUSTOM( 199?, m4nnwwc, 0, "cn302s.p1", 0x0000, 0x010000, CRC(87703a1a) SHA1(6582ffa42a61b60e92e456a794c4c219a9901a1c), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__7, m4nnwwc, "cn302c.p1", 0x0000, 0x010000, CRC(fd9de050) SHA1(14c80deba1396aa5be0a1d02964ecd4b946f2ee8), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 C / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__y, m4nnwwc, "cn302ad.p1", 0x0000, 0x010000, CRC(7a6acd9b) SHA1(9a1f0ed19d66428c6b541ce1c8e169d9b4be3ef1), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 AD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__z, m4nnwwc, "cn302b.p1", 0x0000, 0x010000, CRC(b69cb520) SHA1(7313f2740960ca86ecea8609fe8fd58d84a3248c), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 B / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__0, m4nnwwc, "cn302bd.p1", 0x0000, 0x010000, CRC(ab828a0b) SHA1(53fa6dad9bdae1d46479596c98cf2c3f4454bb95), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 BD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__1, m4nnwwc, "cn302d.p1", 0x0000, 0x010000, CRC(8c6ac365) SHA1(a32b104968aaa4da060072a241a4c54fbdf3c404), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 D / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__2, m4nnwwc, "cn302dk.p1", 0x0000, 0x010000, CRC(24cbab96) SHA1(77fe3b21fc9470653bada31c700ce926d55ce82e), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 KD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__3, m4nnwwc, "cn302dr.p1", 0x0000, 0x010000, CRC(09069f0e) SHA1(68b2a34644ee1fca3ce5191e2f25aa808b85fb09), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 RD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__4, m4nnwwc, "cn302dy.p1", 0x0000, 0x010000, CRC(946db7e0) SHA1(fe29c1da478e3f1a53ad55c661ddcc7003679304), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 YD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__5, m4nnwwc, "cn302k.p1", 0x0000, 0x010000, CRC(7a3202f1) SHA1(2dd5e8195120b1efc3eb51214cf054432fc50aed), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 K / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__6, m4nnwwc, "cn302r.p1", 0x0000, 0x010000, CRC(e7cf9e1e) SHA1(66a1e54fc928c09d16f7ac1c002685eee841315f), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 R / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__8, m4nnwwc, "cn302y.p1", 0x0000, 0x010000, CRC(7aa4b6f0) SHA1(2c185a9a7c8a4957fb5901305883661c41cb0cb4), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.2 Y / NN4 0.2)" ) -/// "(C)1991 BARCREST" and "NN4 0.2" (CF3 0.2 on startup) -GAME_CUSTOM( 199?, m4nnwwc__k, m4nnwwc, "cf302s.p1", 0x0000, 0x010000, CRC(7a3e8ead) SHA1(590dc78b98f9928d6fa87ef661234f88dccfdff8), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__a, m4nnwwc, "cf302ad.p1", 0x0000, 0x010000, CRC(6c6aa0cd) SHA1(5a58a19c35b0b195f3b4e7a21f57ca61d45ec1fb), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 AD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__b, m4nnwwc, "cf302b.p1", 0x0000, 0x010000, CRC(9ca07939) SHA1(6eb0a5675bb803a11c4c874dc0516d94c48194b7), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 B / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__c, m4nnwwc, "cf302bd.p1", 0x0000, 0x010000, CRC(8ba33b7d) SHA1(ebfb62a390de512dc1482cfb9ab64196cbcc5831), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 BD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__d, m4nnwwc, "cf302c.p1", 0x0000, 0x010000, CRC(26be2dc4) SHA1(157ca96ebd36f2fbfb501945d0351cc3be38f3b7), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 C / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__e, m4nnwwc, "cf302d.p1", 0x0000, 0x010000, CRC(b52d5b47) SHA1(1583963b0bac1288bd20ed0550ad793be0980b03), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 D / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__f, m4nnwwc, "cf302dk.p1", 0x0000, 0x010000, CRC(c3d4c74d) SHA1(9a34c1f2fabb20da17988f63c9190ec4dd0b65fb), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 KD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__g, m4nnwwc, "cf302dr.p1", 0x0000, 0x010000, CRC(0b25e6b9) SHA1(5fd42abbe985dbdcfe09da50673551330dd26175), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 RD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__h, m4nnwwc, "cf302dy.p1", 0x0000, 0x010000, CRC(420b47c1) SHA1(0cb1a843cec3ace21d806fe98212250201a72f12), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 YD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__i, m4nnwwc, "cf302k.p1", 0x0000, 0x010000, CRC(07ca4c45) SHA1(8f6ee3c17527b05a6652845019919d490cc00c64), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 K / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__j, m4nnwwc, "cf302r.p1", 0x0000, 0x010000, CRC(e09f43bd) SHA1(65dcdf8d223936c4415ddc3f734b83367d6b8db7), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 R / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__l, m4nnwwc, "cf302y.p1", 0x0000, 0x010000, CRC(c1063a32) SHA1(e1c8fc463b1a1db87110f272a8727435f9d9b97a), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CF3 0.2 Y / NN4 0.2)" ) -/// "(C)1991 BARCREST" and "NN4 0.2" (CH3 0.2 on startup) -GAME_CUSTOM( 199?, m4nnwwc__w, m4nnwwc, "ch302s.p1", 0x0000, 0x010000, CRC(e7d0ceb2) SHA1(b75d58136b9e1e4bfde86730ef4e95bc98494813), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__m, m4nnwwc, "ch302ad.p1", 0x0000, 0x010000, CRC(20405f4e) SHA1(7f87c881f428f704c98b0f4be459980062ccd29a), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 AD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__n, m4nnwwc, "ch302b.p1", 0x0000, 0x010000, CRC(cf7543ac) SHA1(2fe810741bfc18f800ad8028724218557d93a830), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 B / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__o, m4nnwwc, "ch302bd.p1", 0x0000, 0x010000, CRC(4c3e5664) SHA1(87a1f2133cad624683dac89f1da85d70b018f846), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 BD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__p, m4nnwwc, "ch302c.p1", 0x0000, 0x010000, CRC(dcde4d0a) SHA1(d1535f8754d2c0f8183c2c9db97edafdcdfed82e), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 C / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__q, m4nnwwc, "ch302d.p1", 0x0000, 0x010000, CRC(e1a02108) SHA1(fa8271a1246a3ae1289bb314494743cfec31f4e2), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 D / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__r, m4nnwwc, "ch302dk.p1", 0x0000, 0x010000, CRC(a3f636af) SHA1(c3de325ef5baa3cccd4c9997e615e87521b9e537), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 KD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__s, m4nnwwc, "ch302dr.p1", 0x0000, 0x010000, CRC(0620b0c0) SHA1(31aabba5f5b096254908221f884b5088a5a6e883), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 RD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__t, m4nnwwc, "ch302dy.p1", 0x0000, 0x010000, CRC(9b4b982e) SHA1(c7c9c501eb1c936ffb8bc2fe1fe9258e92b1d548), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 YD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__u, m4nnwwc, "ch302k.p1", 0x0000, 0x010000, CRC(908d8b10) SHA1(a80a5ce1a83d05f1e68e66d14bacc424bc833aa7), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 K / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__v, m4nnwwc, "ch302r.p1", 0x0000, 0x010000, CRC(c31c4c28) SHA1(e94c7588211044dae7c5ac587e6232b0ace2fc7b), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 R / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnwwc__x, m4nnwwc, "ch302y.p1", 0x0000, 0x010000, CRC(5e7764c6) SHA1(05a61a57ac906cbea1d72fffd1c8ea707852b895), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CH3 0.2 / NN4 0.2)" ) -/// "(C)1991 BARCREST" and "NN4 0.1" (CN3 0.1 on startup) -GAME_CUSTOM( 199?, m4nnwwc__9, m4nnwwc, "cnc03s.p1", 0x0000, 0x010000, CRC(57a03b29) SHA1(52cc8eb3f02c4a812de06ceec0588ca930e07876), "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CN3 0.1 / NN4 0.1)" ) -// "(C)2000 BWB" and "CNN 2.0" -GAME_CUSTOM( 199?, m4nnwwc__aa, m4nnwwc, "cl__x__x.2_0", 0x0000, 0x010000, CRC(c3de4791) SHA1(220d32b961b6710d508c0c7e6b2d8e4d292746f4), "Bwb","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNN 2.0)" ) -GAME_CUSTOM( 199?, m4nnwwc__ab, m4nnwwc, "cl__x_dx.2_0", 0x0000, 0x010000, CRC(c79833f8) SHA1(b3519b55f6f2a4f081b69483ac0b8860aa8190d9), "Bwb","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNN 2.0 D)" ) -GAME_CUSTOM( 199?, m4nnwwc__ac, m4nnwwc, "cl__xa_x.2_0", 0x0000, 0x010000, CRC(4c3021a1) SHA1(7e7258808dd1693adb956a5e6b076f925eb0a026), "Bwb","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNN 2.0 K)" ) -GAME_CUSTOM( 199?, m4nnwwc__ad, m4nnwwc, "cl__xb_x.2_0", 0x0000, 0x010000, CRC(75a5add7) SHA1(6802ec81b4ebcde9ed014a0440fdc50211a8a350), "Bwb","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4) (CNN 2.0 B)" ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "PR8 0.1" +GAME_CUSTOM( 199?, m4przrf, 0, "pr8s.p1", 0x0000, 0x020000, CRC(bbbdd4f4) SHA1(72c2a8b3404384b524f49fc2d6507e2d8dab85cb), "Barcrest","Prize Rich & Famous (Barcrest) (MPU4) (PR8 0.1)" ) +GAME_CUSTOM( 199?, m4przrf__i, m4przrf, "pr8ad.p1", 0x0000, 0x020000, CRC(ebada7c9) SHA1(4a1e2f746116c23f87b53d25bd8b11322962306f), "Barcrest","Prize Rich & Famous (Barcrest) (MPU4) (PR8 0.1 AD)" ) +GAME_CUSTOM( 199?, m4przrf__a, m4przrf, "pr8b.p1", 0x0000, 0x020000, CRC(4a6448b6) SHA1(061dbc1603fff0cb60e02acdf21881047b2b7d43), "Barcrest","Prize Rich & Famous (Barcrest) (MPU4) (PR8 0.1 B)" ) +GAME_CUSTOM( 199?, m4przrf__b, m4przrf, "pr8bd.p1", 0x0000, 0x020000, CRC(66b7090c) SHA1(774f5b1403109ccc7ac1bc188f30e8b3a5025aad), "Barcrest","Prize Rich & Famous (Barcrest) (MPU4) (PR8 0.1 BD)" ) +GAME_CUSTOM( 199?, m4przrf__c, m4przrf, "pr8d.p1", 0x0000, 0x020000, CRC(377f43c0) SHA1(14e29f1832afc47f06752d7da11cc2cb40fcb368), "Barcrest","Prize Rich & Famous (Barcrest) (MPU4) (PR8 0.1 D)" ) +GAME_CUSTOM( 199?, m4przrf__d, m4przrf, "pr8dj.p1", 0x0000, 0x020000, CRC(42629fdf) SHA1(79148956b0b2da42400fe3cc0a61955c77a6bf32), "Barcrest","Prize Rich & Famous (Barcrest) (MPU4) (PR8 0.1 DJ)" ) +GAME_CUSTOM( 199?, m4przrf__e, m4przrf, "pr8dk.p1", 0x0000, 0x020000, CRC(2c70a15a) SHA1(9dacf5eca4d7e41b09ee53ffc532a2928b1f60b4), "Barcrest","Prize Rich & Famous (Barcrest) (MPU4) (PR8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4przrf__f, m4przrf, "pr8dy.p1", 0x0000, 0x020000, CRC(ab9381a4) SHA1(90c3a048ad5c1e19007b6e089750a9e4b299d2a3), "Barcrest","Prize Rich & Famous (Barcrest) (MPU4) (PR8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4przrf__g, m4przrf, "pr8j.p1", 0x0000, 0x020000, CRC(6eb1de65) SHA1(b9e13173191e9a45fab29936b303a914e372918f), "Barcrest","Prize Rich & Famous (Barcrest) (MPU4) (PR8 0.1 J)" ) +GAME_CUSTOM( 199?, m4przrf__h, m4przrf, "pr8k.p1", 0x0000, 0x020000, CRC(00a3e0e0) SHA1(c0671052de5cdd7f169ca50590b9c4f0f10cb678), "Barcrest","Prize Rich & Famous (Barcrest) (MPU4) (PR8 0.1 K)" ) +GAME_CUSTOM( 199?, m4przrf__j, m4przrf, "pr8y.p1", 0x0000, 0x020000, CRC(8740c01e) SHA1(c75f4ad724e735a2ffabc9f7cce96dcb341eaf4a), "Barcrest","Prize Rich & Famous (Barcrest) (MPU4) (PR8 0.1 Y)" ) +/***************************************************************************************************************************************************************************** +* +* Viz +* +* many of the Alarm messages are broken on these, showing 'Invalid Alarm' instead of the proper Alarm +* +*****************************************************************************************************************************************************************************/ #define M4VIZ_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "vizs.chr", 0x0000, 0x000048, CRC(2365ca6b) SHA1(b964420eb1df4065b2a6f3f934135d435b52af2b) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "vizsnd.p1", 0x000000, 0x080000, CRC(2b39a622) SHA1(77916650fe19f18025e10fb25de704f7bb733295) ) \ ROM_LOAD( "vizsnd.p2", 0x080000, 0x080000, CRC(e309bede) SHA1(a4615436fcfd5f31293f887b8bc972f0d2d6b0cb) ) + #undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4VIZ_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) // "(C)1991 BARCREST" and "VIZ 0.6" -GAME_CUSTOM( 199?, m4viz, 0, "vizs.p1", 0x0000, 0x010000, CRC(86b487dc) SHA1(62215752e1da1ca923e6b9e410c8445577be34dd), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6)" ) -GAME_CUSTOM( 199?, m4viz__d, m4viz, "vizb.p1", 0x0000, 0x010000, CRC(afdc6306) SHA1(4d35703267b3742dd7008c00ec525689c56bf227), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 B)" ) -GAME_CUSTOM( 199?, m4viz__e, m4viz, "vizc.p1", 0x0000, 0x010000, CRC(876c30fc) SHA1(f126496e87d7e84ca39d2921bf9f2be0fa2c7586), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 C)" ) -GAME_CUSTOM( 199?, m4viz__f, m4viz, "vizd.p1", 0x0000, 0x010000, CRC(46bee8cd) SHA1(4094651fd8954ca2f5cfc2bba4fc51d865c86098), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 D)" ) -GAME_CUSTOM( 199?, m4viz__g, m4viz, "vizdk.p1", 0x0000, 0x010000, CRC(24476360) SHA1(b5141a40f8c1ed3b3fbaf43ae539ae2f1aedbcca), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 DK)" ) -GAME_CUSTOM( 199?, m4viz__h, m4viz, "vizdy.p1", 0x0000, 0x010000, CRC(88807a1f) SHA1(dc1539a5e69b5f0b3f68ccf7360ff4f240f6b7c7), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 DY)" ) -GAME_CUSTOM( 199?, m4viz__i, m4viz, "vizk.p1", 0x0000, 0x010000, CRC(6647f592) SHA1(2ce7222bd9e173480ddc901f84859ca3ad7aded1), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 K)" ) -GAME_CUSTOM( 199?, m4viz__k, m4viz, "vizy.p1", 0x0000, 0x010000, CRC(0e12112d) SHA1(4a34832dd95246e80e616affe3eab3c8794ca769), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 Y)" ) +GAME_CUSTOM( 199?, m4viz, 0, mod4oki_cheatchr_pal, mpu4, init_m4default, "vizs.p1", 0x0000, 0x010000, CRC(86b487dc) SHA1(62215752e1da1ca923e6b9e410c8445577be34dd), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6)" ) +GAME_CUSTOM( 199?, m4viz__d, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vizb.p1", 0x0000, 0x010000, CRC(afdc6306) SHA1(4d35703267b3742dd7008c00ec525689c56bf227), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 B)" ) +GAME_CUSTOM( 199?, m4viz__e, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vizc.p1", 0x0000, 0x010000, CRC(876c30fc) SHA1(f126496e87d7e84ca39d2921bf9f2be0fa2c7586), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 C)" ) +GAME_CUSTOM( 199?, m4viz__f, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vizd.p1", 0x0000, 0x010000, CRC(46bee8cd) SHA1(4094651fd8954ca2f5cfc2bba4fc51d865c86098), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 D)" ) +GAME_CUSTOM( 199?, m4viz__g, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vizdk.p1", 0x0000, 0x010000, CRC(24476360) SHA1(b5141a40f8c1ed3b3fbaf43ae539ae2f1aedbcca), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 DK)" ) +GAME_CUSTOM( 199?, m4viz__h, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vizdy.p1", 0x0000, 0x010000, CRC(88807a1f) SHA1(dc1539a5e69b5f0b3f68ccf7360ff4f240f6b7c7), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 DY)" ) +GAME_CUSTOM( 199?, m4viz__i, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vizk.p1", 0x0000, 0x010000, CRC(6647f592) SHA1(2ce7222bd9e173480ddc901f84859ca3ad7aded1), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 K)" ) +GAME_CUSTOM( 199?, m4viz__k, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vizy.p1", 0x0000, 0x010000, CRC(0e12112d) SHA1(4a34832dd95246e80e616affe3eab3c8794ca769), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.6 Y)" ) // "(C)1991 BARCREST" and "VIZ 0.3" -GAME_CUSTOM( 199?, m4viz__l, m4viz, "vizzzvkn", 0x0000, 0x010000, CRC(cf5c41f5) SHA1(c9b7de0e73141833e5f8d23f0cb641b1c6094178), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.3 Y)" ) +GAME_CUSTOM( 199?, m4viz__l, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vizzzvkn", 0x0000, 0x010000, CRC(cf5c41f5) SHA1(c9b7de0e73141833e5f8d23f0cb641b1c6094178), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.3 Y)" ) // "(C)1991 BARCREST" and "VIZ 0.2" -GAME_CUSTOM( 199?, m4viz__b, m4viz, "viz20pv2", 0x0000, 0x010000, CRC(7e56ff95) SHA1(83679b64881adbe547b43255374de061859e17ef), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.2 T)" ) -// "(C)1994 B.W.B." and "VZ__1.0" -GAME_CUSTOM( 199?, m4viz__m, m4viz, "vi_05a__.1_1", 0x0000, 0x010000, CRC(56e0ea7a) SHA1(cbe979cdfceb2c1c7be5adaf8163b96bebbc4bb6), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 K, set 1)" ) -GAME_CUSTOM( 199?, m4viz__n, m4viz, "vi_05s__.1_1", 0x0000, 0x010000, CRC(c6896e33) SHA1(7db1a5e08f1a307aac0818424fab274cd8141474), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0, set 1)" ) -GAME_CUSTOM( 199?, m4viz__o, m4viz, "vi_05sb_.1_1", 0x0000, 0x010000, CRC(12fecbdf) SHA1(c0137aac536ec17c3b2ffa405f8400308f759590), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 DY, set 1)" ) -GAME_CUSTOM( 199?, m4viz__p, m4viz, "vi_05sd_.1_1", 0x0000, 0x010000, CRC(9241fd92) SHA1(f3e58273089ee9b828e431a043802d4ec3948a64), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 D, set 1)" ) -GAME_CUSTOM( 199?, m4viz__u, m4viz, "vii05___.1_1", 0x0000, 0x010000, CRC(22a10f78) SHA1(83411b77e5de441b0f5fa02f2b1dbc40755f41cb), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 C, set 1)" ) +GAME_CUSTOM( 199?, m4viz__b, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "viz20pv2", 0x0000, 0x010000, CRC(7e56ff95) SHA1(83679b64881adbe547b43255374de061859e17ef), "Barcrest","Viz (Barcrest) (MPU4) (VIZ 0.2 T)" ) -GAME_CUSTOM( 199?, m4viz__q, m4viz, "vi_10a__.1_1", 0x0000, 0x010000, CRC(e7c4e4d9) SHA1(9ac3bd60e6000e36cd2229284c48e009ea22cfdb), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 K, set 2)" ) -GAME_CUSTOM( 199?, m4viz__r, m4viz, "vi_10s__.1_1", 0x0000, 0x010000, CRC(039a4620) SHA1(097335ba8846c8c8b28bf85f836ba76d22bc763d), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0, set 2)" ) -GAME_CUSTOM( 199?, m4viz__s, m4viz, "vi_10sb_.1_1", 0x0000, 0x010000, CRC(4b7e6686) SHA1(97985f1ecd3a8e77f07a91c5171810e6aff13f4c), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 DY, set 2)" ) -GAME_CUSTOM( 199?, m4viz__t, m4viz, "vi_10sd_.1_1", 0x0000, 0x010000, CRC(84da6fca) SHA1(8a42855b161619a56435da52dd24e8e60fb56bd8), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 D, set 2)" ) -GAME_CUSTOM( 199?, m4viz__v, m4viz, "vii10___.1_1", 0x0000, 0x010000, CRC(92e11e00) SHA1(2ebae74a39434269333ea0067163e9607926646d), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 C, set 2)" ) +// "(C)1994 B.W.B." and "VZ__1.0" +GAME_CUSTOM( 199?, m4viz__m, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vi_05a__.1_1", 0x0000, 0x010000, CRC(56e0ea7a) SHA1(cbe979cdfceb2c1c7be5adaf8163b96bebbc4bb6), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 K, set 1)" ) +GAME_CUSTOM( 199?, m4viz__n, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vi_05s__.1_1", 0x0000, 0x010000, CRC(c6896e33) SHA1(7db1a5e08f1a307aac0818424fab274cd8141474), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0, set 1)" ) +GAME_CUSTOM( 199?, m4viz__o, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vi_05sb_.1_1", 0x0000, 0x010000, CRC(12fecbdf) SHA1(c0137aac536ec17c3b2ffa405f8400308f759590), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 DY, set 1)" ) +GAME_CUSTOM( 199?, m4viz__p, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vi_05sd_.1_1", 0x0000, 0x010000, CRC(9241fd92) SHA1(f3e58273089ee9b828e431a043802d4ec3948a64), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 D, set 1)" ) +GAME_CUSTOM( 199?, m4viz__u, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vii05___.1_1", 0x0000, 0x010000, CRC(22a10f78) SHA1(83411b77e5de441b0f5fa02f2b1dbc40755f41cb), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 C, set 1)" ) + +GAME_CUSTOM( 199?, m4viz__q, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vi_10a__.1_1", 0x0000, 0x010000, CRC(e7c4e4d9) SHA1(9ac3bd60e6000e36cd2229284c48e009ea22cfdb), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 K, set 2)" ) +GAME_CUSTOM( 199?, m4viz__r, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vi_10s__.1_1", 0x0000, 0x010000, CRC(039a4620) SHA1(097335ba8846c8c8b28bf85f836ba76d22bc763d), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0, set 2)" ) +GAME_CUSTOM( 199?, m4viz__s, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vi_10sb_.1_1", 0x0000, 0x010000, CRC(4b7e6686) SHA1(97985f1ecd3a8e77f07a91c5171810e6aff13f4c), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 DY, set 2)" ) +GAME_CUSTOM( 199?, m4viz__t, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vi_10sd_.1_1", 0x0000, 0x010000, CRC(84da6fca) SHA1(8a42855b161619a56435da52dd24e8e60fb56bd8), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 D, set 2)" ) +GAME_CUSTOM( 199?, m4viz__v, m4viz, mod4oki_cheatchr_pal, mpu4, init_m4default, "vii10___.1_1", 0x0000, 0x010000, CRC(92e11e00) SHA1(2ebae74a39434269333ea0067163e9607926646d), "Bwb","Viz (Barcrest) (MPU4) (VZ__1.0 C, set 2)" ) + +// different protection +// // no copyright string and "8V1 0.6" -GAME_CUSTOM( 199?, m4viz__j, m4viz, "viz208c", 0x0000, 0x010000, CRC(00a65029) SHA1(8dfb68d1a9f4cd00f239ed87a1d330ccb655c35b), "hack","Viz (Barcrest) (MPU4) (8V1 0.6 C, hack, set 1)" ) -GAME_CUSTOM( 199?, m4viz__a, m4viz, "viz20_101", 0x0000, 0x010000, CRC(0847b812) SHA1(6de9e9dad272932a22ebe457ac50da1126d931ea), "hack","Viz (Barcrest) (MPU4) (8V1 0.6 C, hack, set 2)" ) -GAME_CUSTOM( 199?, m4viz__w, m4viz, "viz_20_.8", 0x0000, 0x010000, CRC(b4fbc43b) SHA1(4cce5e3a0c32a402b81dfd16e66d12e98704c4d2), "hack","Viz (Barcrest) (MPU4) (8V1 0.6, hack)" ) +GAME_CUSTOM( 199?, m4viz__j, m4viz, mod4oki_bootleg_fixedret<0x2e>, mpu4, init_m4default, "viz208c", 0x0000, 0x010000, CRC(00a65029) SHA1(8dfb68d1a9f4cd00f239ed87a1d330ccb655c35b), "hack","Viz (Barcrest) (MPU4) (8V1 0.6 C, hack, set 1)" ) +GAME_CUSTOM( 199?, m4viz__a, m4viz, mod4oki_bootleg_fixedret<0x1e>, mpu4, init_m4default, "viz20_101", 0x0000, 0x010000, CRC(0847b812) SHA1(6de9e9dad272932a22ebe457ac50da1126d931ea), "hack","Viz (Barcrest) (MPU4) (8V1 0.6 C, hack, set 2)" ) +GAME_CUSTOM( 199?, m4viz__w, m4viz, mod4oki_bootleg_fixedret<0x2e>, mpu4, init_m4default, "viz_20_.8", 0x0000, 0x010000, CRC(b4fbc43b) SHA1(4cce5e3a0c32a402b81dfd16e66d12e98704c4d2), "hack","Viz (Barcrest) (MPU4) (8V1 0.6, hack)" ) // "RICK LUVS BRIAN" and "8V1 1.0" -GAME_CUSTOM( 199?, m4viz__c, m4viz, "viz58c", 0x0000, 0x010000, CRC(95b8918b) SHA1(4ad4ff9098e98c2076e7058493c181da705acb52), "hack","Viz (Barcrest) (MPU4) (8V1 1.0 C, hack, set 3)" ) +GAME_CUSTOM( 199?, m4viz__c, m4viz, mod4oki_bootleg_fixedret<0x0c>, mpu4, init_m4default, "viz58c", 0x0000, 0x010000, CRC(95b8918b) SHA1(4ad4ff9098e98c2076e7058493c181da705acb52), "hack","Viz (Barcrest) (MPU4) (8V1 1.0 C, hack, set 3)" ) + + +/***************************************************************************************************************************************************************************** +* +* Take Your Pick +* +*****************************************************************************************************************************************************************************/ #define M4TAKEPK_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "m441.chr", 0x0000, 0x000048, CRC(3ec3a5fa) SHA1(ea8c831da9944506393dd5d5f380a084fd6543b6) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "tapsnd1.hex", 0x000000, 0x080000, CRC(8dc408e3) SHA1(48a9ffc5cf4fd04ed1320619ca915bbfa2406750) ) \ ROM_LOAD( "tapsnd2.hex", 0x080000, 0x080000, CRC(6034e17a) SHA1(11e044c87b5fc6461b0c6cfac5c419daee930d7b) ) \ ROM_LOAD( "typkp2", 0x080000, 0x080000, CRC(753d9bc1) SHA1(c27c8b7cfba7ad67685f637ee3f68a3edb7986e7) ) /* alt copy of tapsnd2 */ + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -3119,7 +4064,9 @@ GAME_CUSTOM( 199?, m4viz__c, m4viz, "viz58c", 0x0000, 0x010000, CRC(95b8 ROM_LOAD( name, offset, length, hash ) \ M4TAKEPK_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// boots with 8GBP Token set for Jackpot // "(C)1993 BARCREST" and "TAP 0.6" GAME_CUSTOM( 199?, m4takepk, 0, "taps.p1", 0x0000, 0x020000, CRC(01956f25) SHA1(895cd30023b689b61d5ced0cf477f555faf786af), "Barcrest","Take Your Pick (Barcrest) (MPU4) (TAP 0.6)" ) @@ -3133,6 +4080,8 @@ GAME_CUSTOM( 199?, m4takepk__f, m4takepk, "tapdk.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4takepk__g, m4takepk, "tapdy.p1", 0x0000, 0x020000, CRC(561a6ea9) SHA1(736af1fed00a4df540b8f83da677583dee950b50), "Barcrest","Take Your Pick (Barcrest) (MPU4) (TAP 0.6 YD)" ) GAME_CUSTOM( 199?, m4takepk__h, m4takepk, "tapk.p1", 0x0000, 0x020000, CRC(75fc4d36) SHA1(18a0e33af69c32a69416612f639a7c8601010177), "Barcrest","Take Your Pick (Barcrest) (MPU4) (TAP 0.6 K)" ) GAME_CUSTOM( 199?, m4takepk__i, m4takepk, "tapr.p1", 0x0000, 0x020000, CRC(c6f3f607) SHA1(cee0b59a45ebb50d51bc26b2b5c37fe7ed299bc7), "Barcrest","Take Your Pick (Barcrest) (MPU4) (TAP 0.6 R)" ) + +// hopper error // "(C)1993 BARCREST" and "TPH 0.7" GAME_CUSTOM( 199?, m4takepk__r, m4takepk, "tphs.p1", 0x0000, 0x020000, CRC(e9231738) SHA1(066b1ffd02238783931452b7a1dff05c293a6abe), "Barcrest","Take Your Pick (Barcrest) (MPU4) (TPH 0.7)" ) GAME_CUSTOM( 199?, m4takepk__k, m4takepk, "tphad.p1", 0x0000, 0x020000, CRC(51a2f147) SHA1(442d4adc92c6a9215c7655c2c4b955f974420a26), "Barcrest","Take Your Pick (Barcrest) (MPU4) (TPH 0.7 AD)" ) @@ -3143,27 +4092,87 @@ GAME_CUSTOM( 199?, m4takepk__o, m4takepk, "tphdk.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4takepk__p, m4takepk, "tphdy.p1", 0x0000, 0x020000, CRC(119cd72a) SHA1(326f5a548234ec5cd780f22c96b9151222684ed0), "Barcrest","Take Your Pick (Barcrest) (MPU4) (TPH 0.7 YD)" ) GAME_CUSTOM( 199?, m4takepk__q, m4takepk, "tphk.p1", 0x0000, 0x020000, CRC(73d5bcf0) SHA1(22c620c7d6fc8bc51bda4dd3ae5ec3e38056ce82), "Barcrest","Take Your Pick (Barcrest) (MPU4) (TPH 0.7 K)" ) GAME_CUSTOM( 199?, m4takepk__s, m4takepk, "tphy.p1", 0x0000, 0x020000, CRC(f4369c0e) SHA1(d8c1fc2ede48673a1e8efaf004e3d76b62594de1), "Barcrest","Take Your Pick (Barcrest) (MPU4) (TPH 0.7 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4TAKEPK_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// different protection +// // no copyright string and "MAM 0.3" GAME_CUSTOM( 199?, m4takepk__u, m4takepk, "typ15r", 0x0000, 0x020000, CRC(8138c70b) SHA1(aafc805a8a56cf1722ebe0f3eba0a47f15c9049a), "hack","Take Your Pick (Barcrest) (MPU4) (MAM 0.3 C, hack)" ) // no copyright string and "TPH 0.7" GAME_CUSTOM( 199?, m4takepk__t, m4takepk, "typ15f", 0x0000, 0x020000, CRC(65c44b06) SHA1(629e7ac4149c66fc1dc33a103e1a4ff5aaecdcfd), "hack","Take Your Pick (Barcrest) (MPU4) (TPH 0.7, hack)" ) + + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4TAKEPK_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x60>, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // below sets are all smaller (Bwb sets / hacks of them?) // "(C)1997 B.W.B." and "TAC 2.3" GAME_CUSTOM( 199?, m4takepk__1, m4takepk, "typ5p10p.bin", 0x0000, 0x010000, CRC(45ddeaf4) SHA1(6db822aac402cb6772718015420c14875e74b13d), "Bwb","Take Your Pick (Barcrest) (MPU4) (TAC 2.3 K)" ) // hack? + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4TAKEPK_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x1c>, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + + // no copyright string and "TAC 2.3" GAME_CUSTOM( 199?, m4takepk__v, m4takepk, "typ510", 0x0000, 0x010000, CRC(ebf0c71c) SHA1(6c759144aecce83f82ded8aae7c61ecec2d92fb3), "hack","Take Your Pick (Barcrest) (MPU4) (TAC 2.3, hack, set 1)" ) GAME_CUSTOM( 199?, m4takepk__w, m4takepk, "typ510s", 0x0000, 0x010000, CRC(4cc6032d) SHA1(e6eaff56e39555393156aa2e56bf1c17e548bdc9), "hack","Take Your Pick (Barcrest) (MPU4) (TAC 2.3, hack, set 2)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4TAKEPK_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0xa8>, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // no copyright string and "TA4 2.1" GAME_CUSTOM( 199?, m4takepk__x, m4takepk, "typ55", 0x0000, 0x010000, CRC(6837344f) SHA1(4d5c6ea005d0916f27a7f445b37ce9252549c61f), "hack","Take Your Pick (Barcrest) (MPU4) (TA4 2.1, hack, set 1)" ) GAME_CUSTOM( 199?, m4takepk__y, m4takepk, "typ55s", 0x0000, 0x010000, CRC(05dc9b07) SHA1(9fc2c7575a704ca1252bb5c6a638e28b0324f2a6), "hack","Take Your Pick (Barcrest) (MPU4) (TA4 2.1, hack, set 2)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4TAKEPK_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// MUX SELECTS ALARM // no copyright string and "TA8 2.2" GAME_CUSTOM( 199?, m4takepk__z, m4takepk, "typ58s", 0x0000, 0x010000, CRC(56e26a42) SHA1(7add260212d3fbc8b356b58e85df8cafbef151e3), "hack","Take Your Pick (Barcrest) (MPU4) (TA8 2.2, hack, set 1)" ) GAME_CUSTOM( 199?, m4takepk__0, m4takepk, "typ58t", 0x0000, 0x010000, CRC(3fbbbbc8) SHA1(9f097cbce3710a51c19ef7961f91ee6e77fc843f), "hack","Take Your Pick (Barcrest) (MPU4) (TA8 2.2, hack, set 2)" ) +/***************************************************************************************************************************************************************************** +* +* Over The Moon +* +*****************************************************************************************************************************************************************************/ + + #define M4OVERMN_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "otts.chr", 0x0000, 0x000048, CRC(2abec763) SHA1(307399724a994a5d0914a5d7e0931a5d94439a37) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "otnsnd.p1", 0x0000, 0x080000, CRC(d4f7ed82) SHA1(16e80bf0956f39a9e8e23384615a07594419db59) ) #undef GAME_CUSTOM @@ -3173,7 +4182,7 @@ GAME_CUSTOM( 199?, m4takepk__0, m4takepk, "typ58t", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4OVERMN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1991 BARCREST" and "OTT 0.2" GAME_CUSTOM( 199?, m4overmn, 0, "otts.p1", 0x0000, 0x010000, CRC(6daf58a4) SHA1(e505a18b67dec54446e6d94a5d1c3bba13099619), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTT 0.2)" ) @@ -3187,6 +4196,28 @@ GAME_CUSTOM( 199?, m4overmn__u, m4overmn, "ottdy.p1", 0x0000, 0x010000, CRC GAME_CUSTOM( 199?, m4overmn__v, m4overmn, "ottk.p1", 0x0000, 0x010000, CRC(68c984d3) SHA1(b1cf87630ab093629eaa8d199dfcfd6343d9c31d), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTT 0.2 K)" ) GAME_CUSTOM( 199?, m4overmn__w, m4overmn, "ottr.p1", 0x0000, 0x010000, CRC(ceb322d1) SHA1(a62bd1f947fc15f1d42dae8e933d2fcb672bcce4), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTT 0.2 R)" ) GAME_CUSTOM( 199?, m4overmn__x, m4overmn, "otty.p1", 0x0000, 0x010000, CRC(974af7ff) SHA1(e0aecb91c1fc476a9258d6d57ba5ca8f249141b0), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTT 0.2 Y)" ) +// "(C)1991 BARCREST" and "OTU 0.1" +GAME_CUSTOM( 199?, m4overmn__7, m4overmn, "otus.p1", 0x0000, 0x010000, CRC(5f2b8d0b) SHA1(1e3ac59fa0b108549c265eeba027591bce5122f3), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1)" ) +GAME_CUSTOM( 199?, m4overmn__y, m4overmn, "otuad.p1", 0x0000, 0x010000, CRC(2576654b) SHA1(7fae2bd057d96af4c50fd84a5261ae750ba34033), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 AD)" ) +GAME_CUSTOM( 199?, m4overmn__z, m4overmn, "otub.p1", 0x0000, 0x010000, CRC(1463877d) SHA1(ea41e048aead52aabc1b8a2a224ef87b9011c163), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 B)" ) +GAME_CUSTOM( 199?, m4overmn__0, m4overmn, "otubd.p1", 0x0000, 0x010000, CRC(8ac2d17b) SHA1(09f21f1233d82fd02830b6ece6a773402393a447), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 BD)" ) +GAME_CUSTOM( 199?, m4overmn__1, m4overmn, "otud.p1", 0x0000, 0x010000, CRC(8f1632c2) SHA1(729f2182c40f98e9b2fb9996d14c11d2334ba15f), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 D)" ) +GAME_CUSTOM( 199?, m4overmn__2, m4overmn, "otudk.p1", 0x0000, 0x010000, CRC(2edbbe5d) SHA1(f6b8b625bf2d021524595ef1f69e730e78f42aa8), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 KD)" ) +GAME_CUSTOM( 199?, m4overmn__3, m4overmn, "otudr.p1", 0x0000, 0x010000, CRC(f799f424) SHA1(f0d1a72088dd3cd6f9ccaa1bf0e9a28f656194e0), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 RD)" ) +GAME_CUSTOM( 199?, m4overmn__4, m4overmn, "otudy.p1", 0x0000, 0x010000, CRC(562da6fd) SHA1(899f971124969c52a018634b2b2f2dd7cb634195), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 YD)" ) +GAME_CUSTOM( 199?, m4overmn__5, m4overmn, "otuk.p1", 0x0000, 0x010000, CRC(cbb66497) SHA1(ade033fb3d226bfcb3cdf3e3612fb65cfc22b030), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 K)" ) +GAME_CUSTOM( 199?, m4overmn__6, m4overmn, "otur.p1", 0x0000, 0x010000, CRC(d05a8c2f) SHA1(754e2351431aa7bf6dea3a1498581da0c4283c1e), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 R)" ) +GAME_CUSTOM( 199?, m4overmn__8, m4overmn, "otuy.p1", 0x0000, 0x010000, CRC(fc65136d) SHA1(048f81de92a1db4e4e4e9aa7a87228805d57b263), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4OVERMN_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // "(C)1991 BARCREST" and "OT8 0.1" GAME_CUSTOM( 199?, m4overmn__f, m4overmn, "ot8s.p1", 0x0000, 0x010000, CRC(db1bacdb) SHA1(fc2257eedec532094f3c229bcf215a0fde430d2b), "Barcrest","Over The Moon (Barcrest) (MPU4) (OT8 0.1)" ) GAME_CUSTOM( 199?, m4overmn__a, m4overmn, "ot8b.p1", 0x0000, 0x010000, CRC(243c7f7c) SHA1(24b9d2cce1af75811d1e625ac8df5b58356776dc), "Barcrest","Over The Moon (Barcrest) (MPU4) (OT8 0.1 B)" ) @@ -3203,83 +4234,114 @@ GAME_CUSTOM( 199?, m4overmn__j, m4overmn, "otnd.p1", 0x0000, 0x010000, CRC GAME_CUSTOM( 199?, m4overmn__k, m4overmn, "otndy.p1", 0x0000, 0x010000, CRC(6b22206e) SHA1(0714ddc445d530e1ff2055cd5e5d8b31704733d9), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTN 0.5 YD)" ) GAME_CUSTOM( 199?, m4overmn__l, m4overmn, "otnk.p1", 0x0000, 0x010000, CRC(992cc40d) SHA1(6059ecaf91390e2a2ea80d3da5e44156273892ad), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTN 0.5 K)" ) GAME_CUSTOM( 199?, m4overmn__n, m4overmn, "otny.p1", 0x0000, 0x010000, CRC(67cba8fa) SHA1(234cc5b4a0b60d33b2f4c00d082beee59236a126), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTN 0.5 Y)" ) -// "(C)1991 BARCREST" and "OTU 0.1" -GAME_CUSTOM( 199?, m4overmn__7, m4overmn, "otus.p1", 0x0000, 0x010000, CRC(5f2b8d0b) SHA1(1e3ac59fa0b108549c265eeba027591bce5122f3), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1)" ) -GAME_CUSTOM( 199?, m4overmn__y, m4overmn, "otuad.p1", 0x0000, 0x010000, CRC(2576654b) SHA1(7fae2bd057d96af4c50fd84a5261ae750ba34033), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 AD)" ) -GAME_CUSTOM( 199?, m4overmn__z, m4overmn, "otub.p1", 0x0000, 0x010000, CRC(1463877d) SHA1(ea41e048aead52aabc1b8a2a224ef87b9011c163), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 B)" ) -GAME_CUSTOM( 199?, m4overmn__0, m4overmn, "otubd.p1", 0x0000, 0x010000, CRC(8ac2d17b) SHA1(09f21f1233d82fd02830b6ece6a773402393a447), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 BD)" ) -GAME_CUSTOM( 199?, m4overmn__1, m4overmn, "otud.p1", 0x0000, 0x010000, CRC(8f1632c2) SHA1(729f2182c40f98e9b2fb9996d14c11d2334ba15f), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 D)" ) -GAME_CUSTOM( 199?, m4overmn__2, m4overmn, "otudk.p1", 0x0000, 0x010000, CRC(2edbbe5d) SHA1(f6b8b625bf2d021524595ef1f69e730e78f42aa8), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 KD)" ) -GAME_CUSTOM( 199?, m4overmn__3, m4overmn, "otudr.p1", 0x0000, 0x010000, CRC(f799f424) SHA1(f0d1a72088dd3cd6f9ccaa1bf0e9a28f656194e0), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 RD)" ) -GAME_CUSTOM( 199?, m4overmn__4, m4overmn, "otudy.p1", 0x0000, 0x010000, CRC(562da6fd) SHA1(899f971124969c52a018634b2b2f2dd7cb634195), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 YD)" ) -GAME_CUSTOM( 199?, m4overmn__5, m4overmn, "otuk.p1", 0x0000, 0x010000, CRC(cbb66497) SHA1(ade033fb3d226bfcb3cdf3e3612fb65cfc22b030), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 K)" ) -GAME_CUSTOM( 199?, m4overmn__6, m4overmn, "otur.p1", 0x0000, 0x010000, CRC(d05a8c2f) SHA1(754e2351431aa7bf6dea3a1498581da0c4283c1e), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 R)" ) -GAME_CUSTOM( 199?, m4overmn__8, m4overmn, "otuy.p1", 0x0000, 0x010000, CRC(fc65136d) SHA1(048f81de92a1db4e4e4e9aa7a87228805d57b263), "Barcrest","Over The Moon (Barcrest) (MPU4) (OTU 0.1 Y)" ) +/***************************************************************************************************************************************************************************** +* +* Luxor +* +*****************************************************************************************************************************************************************************/ #define M4LUXOR_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "luxor.chr", 0x0000, 0x000048, CRC(21676e79) SHA1(b8f69e9aa35be1491655c0c52df277619892bdd8) ) \ - ROM_REGION( 0x100000, "altmsm6376", 0 ) \ + ROM_REGION( 0x100000, "msm6376", 0 ) /* these appear to be correct for the parent set */ \ ROM_LOAD( "luxorsnd1.hex", 0x000000, 0x080000, CRC(428daceb) SHA1(eec2b7efded3d0e0eea7faa5759a65a021465b13) ) \ ROM_LOAD( "luxorsnd2.hex", 0x080000, 0x080000, CRC(860178e6) SHA1(705b1b0ad62a1b594bb123aec3c2b571a6500ce8) ) \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_REGION( 0x100000, "altmsm6376", 0 ) /* are these for a different game / machine type? */ \ ROM_LOAD( "luxor-snd1.bin", 0x000000, 0x080000, CRC(d09394e9) SHA1(d3cbdbaf048d829271a6c2846b16ceee7775d767) ) \ ROM_LOAD( "luxor-snd2.bin", 0x080000, 0x080000, CRC(bc720cb9) SHA1(a83c25ecec602ba047dd21de2beec6cd7ac76cbe) ) + #undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4LUXOR_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "LUX 0.6" -GAME_CUSTOM( 199?, m4luxor, 0, "luxs.p1", 0x0000, 0x010000, CRC(78d6f05a) SHA1(53de98b9248c67c83f255d33d5963bebb757d0af), "Barcrest","Luxor (Barcrest) (MPU4) (LUX 0.6)" ) -GAME_CUSTOM( 199?, m4luxor__f, m4luxor, "luxc.p1", 0x0000, 0x010000, CRC(47d1c4dc) SHA1(0856fac4a7ec14dc1df24446e1355ed05bb5f1c1), "Barcrest","Luxor (Barcrest) (MPU4) (LUX 0.6 C)" ) -GAME_CUSTOM( 199?, m4luxor__g, m4luxor, "luxd.p1", 0x0000, 0x010000, CRC(8f949379) SHA1(4f0a94d06b8e7036acaae5c0c42c91481837d3a1), "Barcrest","Luxor (Barcrest) (MPU4) (LUX 0.6 D)" ) -GAME_CUSTOM( 199?, m4luxor__h, m4luxor, "luxk.p1", 0x0000, 0x010000, CRC(bd5eaf2d) SHA1(f9a3f3139d6b7ff4fcec805e0ca6e8ab1c3c10dd), "Barcrest","Luxor (Barcrest) (MPU4) (LUX 0.6 K)" ) -GAME_CUSTOM( 199?, m4luxor__i, m4luxor, "luxor_std.bin", 0x0000, 0x010000, CRC(2c565bf7) SHA1(61612abbda037b63e2cda7746be8cf64b4563d43), "Barcrest","Luxor (Barcrest) (MPU4) (LUX 0.6 Y)" ) -// "(C)1995 B.W.B." and "LX5 1.0" -GAME_CUSTOM( 199?, m4luxor__q, m4luxor, "lx_05a__.1o1", 0x0000, 0x010000, CRC(7b81f1b9) SHA1(412a8961571f279d70c05ef26c565b4b2a588060), "Bwb","Luxor (Barcrest) (MPU4) (LX5 1.0 K)" ) -GAME_CUSTOM( 199?, m4luxor__r, m4luxor, "lx_05s__.1o1", 0x0000, 0x010000, CRC(2bf86940) SHA1(cf96a7a12db84fc028766da55ca06d2350f9d08f), "Bwb","Luxor (Barcrest) (MPU4) (LX5 1.0)" ) -GAME_CUSTOM( 199?, m4luxor__s, m4luxor, "lx_05sb_.1o1", 0x0000, 0x010000, CRC(e210c1b6) SHA1(023b1e0b36c4d146af5e958be72575590588b3fd), "Bwb","Luxor (Barcrest) (MPU4) (LX5 1.0 YD)" ) -GAME_CUSTOM( 199?, m4luxor__t, m4luxor, "lx_05sd_.1o1", 0x0000, 0x010000, CRC(8727963a) SHA1(4585c0e3fb14f54684ff199be9010ed7b5cb97c3), "Bwb","Luxor (Barcrest) (MPU4) (LX5 1.0 D)" ) -GAME_CUSTOM( 199?, m4luxor__y, m4luxor, "lxi05a__.1o1", 0x0000, 0x010000, CRC(7a5fe065) SHA1(c44b41d01175c10051ae4cd1453be3411842825e), "Bwb","Luxor (Barcrest) (MPU4) (LX5 1.0 CK)" ) -// "(C)1994 B.W.B." and "LX101.0" -GAME_CUSTOM( 199?, m4luxor__u, m4luxor, "lx_10a__.1o1", 0x0000, 0x010000, CRC(ce8e6c05) SHA1(b48bc01d1a069881e9b9db1a4959c7b57e80f28a), "Bwb","Luxor (Barcrest) (MPU4) (LX101.0 K)" ) -GAME_CUSTOM( 199?, m4luxor__v, m4luxor, "lx_10s__.1o1", 0x0000, 0x010000, CRC(9f0f5b6b) SHA1(9f67500d62921dd680bd864856206306adc3f2f6), "Bwb","Luxor (Barcrest) (MPU4) (LX101.0)" ) -GAME_CUSTOM( 199?, m4luxor__w, m4luxor, "lx_10sb_.1o1", 0x0000, 0x010000, CRC(bd020920) SHA1(a6b5c11c82344afc1cdd350b9f31d1257be72615), "Bwb","Luxor (Barcrest) (MPU4) (LX101.0 YD)" ) -GAME_CUSTOM( 199?, m4luxor__x, m4luxor, "lx_10sd_.1o1", 0x0000, 0x010000, CRC(cc59d370) SHA1(a428d93c005b629e86810c85ea91630a354e170b), "Bwb","Luxor (Barcrest) (MPU4) (LX101.0 D)" ) -GAME_CUSTOM( 199?, m4luxor__z, m4luxor, "lxi10a__.1o1", 0x0000, 0x010000, CRC(17989464) SHA1(67aa9cc01d89ed4caeb33885f53dcaee762ccb6d), "Bwb","Luxor (Barcrest) (MPU4) (LX101.0 CK)" ) -// these ones give bad char alarm -GAME_CUSTOM( 199?, m4luxor__b, m4luxor, "lux10_101", 0x0000, 0x010000, CRC(8965c7be) SHA1(ca05803bc7d7a96e25dc0b025c2683b4679789fb), "Bwb / hack?","Luxor (Barcrest) (MPU4) (LX101.0, hack?, set 1)" ) -GAME_CUSTOM( 199?, m4luxor__m, m4luxor, "lux_10_4", 0x0000, 0x010000, CRC(122461d9) SHA1(a347c834b27a00abc1864a1e00316a491d04d84b), "Bwb / hack?","Luxor (Barcrest) (MPU4) (LX101.0, hack?, set 2)" ) -GAME_CUSTOM( 199?, m4luxor__n, m4luxor, "lux_10_8", 0x0000, 0x010000, CRC(544208e7) SHA1(85e2ff663b7500ee6bb0a900ee5ef48f7bf1934a), "Bwb / hack?","Luxor (Barcrest) (MPU4) (LX101.0, hack?, set 3)" ) -// no copyright string and "V1 0.6" -GAME_CUSTOM( 199?, m4luxor__j, m4luxor, "luxor.rom", 0x0000, 0x010000, CRC(55277510) SHA1(9a866c36a398df52c54b554cd8085078c1f1954b), "hack","Luxor (Barcrest) (MPU4) (V1 0.6, hack, set 1)" ) -GAME_CUSTOM( 199?, m4luxor__c, m4luxor, "lux208c", 0x0000, 0x010000, CRC(f57bae67) SHA1(3a2523a2121948480381f49e26e870b10d541304), "hack","Luxor (Barcrest) (MPU4) (V1 0.6, hack, set 2)" ) -GAME_CUSTOM( 199?, m4luxor__o, m4luxor, "lux_20.4", 0x0000, 0x010000, CRC(50b3e5cc) SHA1(ff08095c01d8eeff320b5a04fe9f7e1888690cf8), "hack","Luxor (Barcrest) (MPU4) (V1 0.6, hack, set 3)" ) -GAME_CUSTOM( 199?, m4luxor__p, m4luxor, "lux_20_8", 0x0000, 0x010000, CRC(6c9a7152) SHA1(e38e8452e0d3f5b0e8ac51da272ab9f2e57e1d89), "hack","Luxor (Barcrest) (MPU4) (V1 0.6, hack, set 4)" ) -// "ROBIN HOOD" and "LX5 1.0" -GAME_CUSTOM( 199?, m4luxor__a, m4luxor, "lux05_101", 0x0000, 0x010000, CRC(8f4dc4f4) SHA1(c9743a1b79b377313504296a060dff3f413a7a9d), "hack","Luxor (Barcrest) (MPU4) (LX5 1.0, hack, set 1)" ) -GAME_CUSTOM( 199?, m4luxor__d, m4luxor, "lux55", 0x0000, 0x010000, CRC(997419ab) SHA1(c616a5d6cb347963e7e5c5b88912c248bae184ca), "hack","Luxor (Barcrest) (MPU4) (LX5 1.0, hack, set 2)" ) -GAME_CUSTOM( 199?, m4luxor__e, m4luxor, "lux58c", 0x0000, 0x010000, CRC(da408721) SHA1(971413620d1f304a026d3adc68f6ac5c1d104e20), "hack","Luxor (Barcrest) (MPU4) (LX5 1.0, hack, set 3)" ) -GAME_CUSTOM( 199?, m4luxor__k, m4luxor, "lux_05_4", 0x0000, 0x010000, CRC(335503ec) SHA1(dd03096aa98e4cac9fade6e77f9f8a8ad9a64287), "hack","Luxor (Barcrest) (MPU4) (LX5 1.0, hack, set 4)" ) -GAME_CUSTOM( 199?, m4luxor__l, m4luxor, "lux_05_8", 0x0000, 0x010000, CRC(43a15814) SHA1(694c8c6ee695bb746391f5269f540c995fc18002), "hack","Luxor (Barcrest) (MPU4) (LX5 1.0, hack, set 5)" ) +GAME_CUSTOM( 199?, m4luxor, 0, mod4oki_cheatchr_pal, mpu4, init_m4default, "luxs.p1", 0x0000, 0x010000, CRC(78d6f05a) SHA1(53de98b9248c67c83f255d33d5963bebb757d0af), "Barcrest","Luxor (Barcrest) (MPU4) (LUX 0.6)" ) +GAME_CUSTOM( 199?, m4luxor__f, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "luxc.p1", 0x0000, 0x010000, CRC(47d1c4dc) SHA1(0856fac4a7ec14dc1df24446e1355ed05bb5f1c1), "Barcrest","Luxor (Barcrest) (MPU4) (LUX 0.6 C)" ) +GAME_CUSTOM( 199?, m4luxor__g, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "luxd.p1", 0x0000, 0x010000, CRC(8f949379) SHA1(4f0a94d06b8e7036acaae5c0c42c91481837d3a1), "Barcrest","Luxor (Barcrest) (MPU4) (LUX 0.6 D)" ) +GAME_CUSTOM( 199?, m4luxor__h, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "luxk.p1", 0x0000, 0x010000, CRC(bd5eaf2d) SHA1(f9a3f3139d6b7ff4fcec805e0ca6e8ab1c3c10dd), "Barcrest","Luxor (Barcrest) (MPU4) (LUX 0.6 K)" ) +GAME_CUSTOM( 199?, m4luxor__i, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "luxor_std.bin", 0x0000, 0x010000, CRC(2c565bf7) SHA1(61612abbda037b63e2cda7746be8cf64b4563d43), "Barcrest","Luxor (Barcrest) (MPU4) (LUX 0.6 Y)" ) +// "(C)1995 B.W.B." and "LX5 1.0" +GAME_CUSTOM( 199?, m4luxor__q, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "lx_05a__.1o1", 0x0000, 0x010000, CRC(7b81f1b9) SHA1(412a8961571f279d70c05ef26c565b4b2a588060), "Bwb","Luxor (Barcrest) (MPU4) (LX5 1.0 K)" ) +GAME_CUSTOM( 199?, m4luxor__r, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "lx_05s__.1o1", 0x0000, 0x010000, CRC(2bf86940) SHA1(cf96a7a12db84fc028766da55ca06d2350f9d08f), "Bwb","Luxor (Barcrest) (MPU4) (LX5 1.0)" ) +GAME_CUSTOM( 199?, m4luxor__s, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "lx_05sb_.1o1", 0x0000, 0x010000, CRC(e210c1b6) SHA1(023b1e0b36c4d146af5e958be72575590588b3fd), "Bwb","Luxor (Barcrest) (MPU4) (LX5 1.0 YD)" ) +GAME_CUSTOM( 199?, m4luxor__t, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "lx_05sd_.1o1", 0x0000, 0x010000, CRC(8727963a) SHA1(4585c0e3fb14f54684ff199be9010ed7b5cb97c3), "Bwb","Luxor (Barcrest) (MPU4) (LX5 1.0 D)" ) +GAME_CUSTOM( 199?, m4luxor__y, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "lxi05a__.1o1", 0x0000, 0x010000, CRC(7a5fe065) SHA1(c44b41d01175c10051ae4cd1453be3411842825e), "Bwb","Luxor (Barcrest) (MPU4) (LX5 1.0 CK)" ) +// "(C)1994 B.W.B." and "LX101.0" +GAME_CUSTOM( 199?, m4luxor__u, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "lx_10a__.1o1", 0x0000, 0x010000, CRC(ce8e6c05) SHA1(b48bc01d1a069881e9b9db1a4959c7b57e80f28a), "Bwb","Luxor (Barcrest) (MPU4) (LX101.0 K)" ) +GAME_CUSTOM( 199?, m4luxor__v, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "lx_10s__.1o1", 0x0000, 0x010000, CRC(9f0f5b6b) SHA1(9f67500d62921dd680bd864856206306adc3f2f6), "Bwb","Luxor (Barcrest) (MPU4) (LX101.0)" ) +GAME_CUSTOM( 199?, m4luxor__w, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "lx_10sb_.1o1", 0x0000, 0x010000, CRC(bd020920) SHA1(a6b5c11c82344afc1cdd350b9f31d1257be72615), "Bwb","Luxor (Barcrest) (MPU4) (LX101.0 YD)" ) +GAME_CUSTOM( 199?, m4luxor__x, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "lx_10sd_.1o1", 0x0000, 0x010000, CRC(cc59d370) SHA1(a428d93c005b629e86810c85ea91630a354e170b), "Bwb","Luxor (Barcrest) (MPU4) (LX101.0 D)" ) +GAME_CUSTOM( 199?, m4luxor__z, m4luxor, mod4oki_cheatchr_pal, mpu4, init_m4default, "lxi10a__.1o1", 0x0000, 0x010000, CRC(17989464) SHA1(67aa9cc01d89ed4caeb33885f53dcaee762ccb6d), "Bwb","Luxor (Barcrest) (MPU4) (LX101.0 CK)" ) + +// different protection +// no copyright string and "V1 0.6" hacked to say 'From EGYPT' rather than the manufacturer +GAME_CUSTOM( 199?, m4luxor__j, m4luxor, mod4oki_bootleg_fixedret<0x1d>, mpu4, init_m4default, "luxor.rom", 0x0000, 0x010000, CRC(55277510) SHA1(9a866c36a398df52c54b554cd8085078c1f1954b), "hack","Luxor (Barcrest) (MPU4) (V1 0.6, hack, set 1)" ) +GAME_CUSTOM( 199?, m4luxor__c, m4luxor, mod4oki_bootleg_fixedret<0x2d>, mpu4, init_m4default, "lux208c", 0x0000, 0x010000, CRC(f57bae67) SHA1(3a2523a2121948480381f49e26e870b10d541304), "hack","Luxor (Barcrest) (MPU4) (V1 0.6, hack, set 2)" ) +GAME_CUSTOM( 199?, m4luxor__o, m4luxor, mod4oki_bootleg_fixedret<0x2d>, mpu4, init_m4default, "lux_20.4", 0x0000, 0x010000, CRC(50b3e5cc) SHA1(ff08095c01d8eeff320b5a04fe9f7e1888690cf8), "hack","Luxor (Barcrest) (MPU4) (V1 0.6, hack, set 3)" ) +GAME_CUSTOM( 199?, m4luxor__p, m4luxor, mod4oki_bootleg_fixedret<0x2d>, mpu4, init_m4default, "lux_20_8", 0x0000, 0x010000, CRC(6c9a7152) SHA1(e38e8452e0d3f5b0e8ac51da272ab9f2e57e1d89), "hack","Luxor (Barcrest) (MPU4) (V1 0.6, hack, set 4)" ) +// "ROBIN HOOD" and "LX5 1.0" +GAME_CUSTOM( 199?, m4luxor__a, m4luxor, mod4oki_bootleg_fixedret<0x1f>, mpu4, init_m4default, "lux05_101", 0x0000, 0x010000, CRC(8f4dc4f4) SHA1(c9743a1b79b377313504296a060dff3f413a7a9d), "hack","Luxor (Barcrest) (MPU4) (LX5 1.0, hack, set 1)" ) +GAME_CUSTOM( 199?, m4luxor__d, m4luxor, mod4oki_bootleg_fixedret<0x2b>, mpu4, init_m4default, "lux55", 0x0000, 0x010000, CRC(997419ab) SHA1(c616a5d6cb347963e7e5c5b88912c248bae184ca), "hack","Luxor (Barcrest) (MPU4) (LX5 1.0, hack, set 2)" ) +GAME_CUSTOM( 199?, m4luxor__e, m4luxor, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4default, "lux58c", 0x0000, 0x010000, CRC(da408721) SHA1(971413620d1f304a026d3adc68f6ac5c1d104e20), "hack","Luxor (Barcrest) (MPU4) (LX5 1.0, hack, set 3)" ) +GAME_CUSTOM( 199?, m4luxor__k, m4luxor, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4default, "lux_05_4", 0x0000, 0x010000, CRC(335503ec) SHA1(dd03096aa98e4cac9fade6e77f9f8a8ad9a64287), "hack","Luxor (Barcrest) (MPU4) (LX5 1.0, hack, set 4)" ) +GAME_CUSTOM( 199?, m4luxor__l, m4luxor, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4default, "lux_05_8", 0x0000, 0x010000, CRC(43a15814) SHA1(694c8c6ee695bb746391f5269f540c995fc18002), "hack","Luxor (Barcrest) (MPU4) (LX5 1.0, hack, set 5)" ) +// these are unusual in that they do both the initial check and secondary check at 0x812, rather than the secondary check as the usual characteriser address +// both checks must pass to avoid scrambled lamps +GAME_CUSTOM( 199?, m4luxor__b, m4luxor, mod4oki_bootleg_fixedret<0x1d>, mpu4, init_m4default, "lux10_101", 0x0000, 0x010000, CRC(8965c7be) SHA1(ca05803bc7d7a96e25dc0b025c2683b4679789fb), "Bwb / hack?","Luxor (Barcrest) (MPU4) (LX101.0, hack?, set 1)" ) +GAME_CUSTOM( 199?, m4luxor__m, m4luxor, mod4oki_bootleg_fixedret<0x2d>, mpu4, init_m4default, "lux_10_4", 0x0000, 0x010000, CRC(122461d9) SHA1(a347c834b27a00abc1864a1e00316a491d04d84b), "Bwb / hack?","Luxor (Barcrest) (MPU4) (LX101.0, hack?, set 2)" ) +GAME_CUSTOM( 199?, m4luxor__n, m4luxor, mod4oki_bootleg_fixedret<0x2d>, mpu4, init_m4default, "lux_10_8", 0x0000, 0x010000, CRC(544208e7) SHA1(85e2ff663b7500ee6bb0a900ee5ef48f7bf1934a), "Bwb / hack?","Luxor (Barcrest) (MPU4) (LX101.0, hack?, set 3)" ) + + +/***************************************************************************************************************************************************************************** +* +* Prize Luxor +* +*****************************************************************************************************************************************************************************/ + +#define M4PRZLUX_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "plxsnd.p1", 0x000000, 0x080000, CRC(0e682b6f) SHA1(459a7ca216c47af58c03c15d6ef1f9aa7489eba0) ) \ + ROM_LOAD( "plxsnd.p2", 0x080000, 0x080000, CRC(3ef95a7f) SHA1(9c918769fbf0e687f27e431d934e2327df9ed3bb) ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4PRZLUX_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "PLX 0.2" +GAME_CUSTOM( 199?, m4przlux, 0, "plxs.p1", 0x0000, 0x010000, CRC(0aea0339) SHA1(28da52924fe2bf00799ef466143103e08399f5f5), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2)" ) +GAME_CUSTOM( 199?, m4przlux__a, m4przlux, "plxad.p1", 0x0000, 0x010000, CRC(e52ddf4f) SHA1(ec3f198fb6658cadd45046ef7586f9178f95d814), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2 AD)" ) +GAME_CUSTOM( 199?, m4przlux__b, m4przlux, "plxb.p1", 0x0000, 0x010000, CRC(03b0f7bd) SHA1(0ce1cec1afa0a2efee3bc55a2b9cdf8fec7d3ebc), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2 B)" ) +GAME_CUSTOM( 199?, m4przlux__c, m4przlux, "plxd.p1", 0x0000, 0x010000, CRC(46ae371e) SHA1(a164d0336ed6bf7d25f406e28a01bbec86f4b723), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2 D)" ) +GAME_CUSTOM( 199?, m4przlux__d, m4przlux, "plxdy.p1", 0x0000, 0x010000, CRC(40fbaad9) SHA1(d3da773d49941e87d008313e309c4dbe7c9bade2), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2 YD)" ) +GAME_CUSTOM( 199?, m4przlux__e, m4przlux, "plxk.p1", 0x0000, 0x010000, CRC(8a15d3bc) SHA1(4536a52101f79ff352b446d130f7a15a0e4cb7df), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2 K)" ) +GAME_CUSTOM( 199?, m4przlux__f, m4przlux, "plxy.p1", 0x0000, 0x010000, CRC(0e5a2c5c) SHA1(7c64f9ad3aac30b4140be12ec451d17fd3b83b7a), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2 Y)" ) + + +/***************************************************************************************************************************************************************************** +* +* Hi Jinx +* +*****************************************************************************************************************************************************************************/ #define M4HIJINX_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "hijinx1.hex", 0x000000, 0x080000, CRC(8d5afedb) SHA1(6bf6dadddf8dd3672e3d05167ab9a0793c269176) ) \ ROM_LOAD( "hijinx2.hex", 0x080000, 0x080000, CRC(696c8a92) SHA1(d54a1020fea80bacb678bc8bd6b7d4d0854af603) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -3287,8 +4349,9 @@ GAME_CUSTOM( 199?, m4luxor__l, m4luxor, "lux_05_8", 0x0000, 0x010000 ROM_LOAD( name, offset, length, hash ) \ M4HIJINX_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) +// boots // "(C)1993 BARCREST" and "JNX 1.0" GAME_CUSTOM( 199?, m4hijinx, 0, "jnx10s.p1", 0x0000, 0x020000, CRC(a291147e) SHA1(818172bab2fad210a937d91e0be4ddf165f1cf99), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNX 1.0)" ) GAME_CUSTOM( 199?, m4hijinx__ab, m4hijinx, "jnx10y.p1", 0x0000, 0x020000, CRC(792b3bae) SHA1(d30aecce42953f1ec49753cc2d1df00ad9bd088f), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNX 1.0 Y)" ) @@ -3296,20 +4359,6 @@ GAME_CUSTOM( 199?, m4hijinx__7, m4hijinx, "jnx10d.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4hijinx__8, m4hijinx, "jnx10dh.p1", 0x0000, 0x020000, CRC(ffc421b0) SHA1(28439c5d2ec371edae5e7b84e1da96d468bb8556), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNX 1.0 DH)" ) GAME_CUSTOM( 199?, m4hijinx__9, m4hijinx, "jnx10dy.p1", 0x0000, 0x020000, CRC(dc57d3fb) SHA1(e622485f37f638a69e0c5dbb06faa519b10eafc9), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNX 1.0 DY)" ) GAME_CUSTOM( 199?, m4hijinx__aa, m4hijinx, "jnx10h.p1", 0x0000, 0x020000, CRC(5ab8c9e5) SHA1(f12094bd95369288a76dac9d1e62810fa478cfd6), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNX 1.0 H)" ) -// "(C)1993 BARCREST" and "JNS 0.2" -GAME_CUSTOM( 199?, m4hijinx__n, m4hijinx, "jns02s.p1", 0x0000, 0x020000, CRC(42df2639) SHA1(8ed6addfc85cfeab4c5f03c24a692a9c392a8bc2), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2)" ) -GAME_CUSTOM( 199?, m4hijinx__c, m4hijinx, "jns02ad.p1", 0x0000, 0x020000, CRC(436a6632) SHA1(25ab01b8785cf6f9d2316b15d2d2887e898358de), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 DA)" ) -GAME_CUSTOM( 199?, m4hijinx__d, m4hijinx, "jns02b.p1", 0x0000, 0x020000, CRC(171b8941) SHA1(8383f0ce3c21b187f031302b4d930e13c131f862), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 B)" ) -GAME_CUSTOM( 199?, m4hijinx__e, m4hijinx, "jns02bd.p1", 0x0000, 0x020000, CRC(6a8b03ba) SHA1(ecc6826474a96a7d2e5cee851d672b954906bfbe), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 DB)" ) -GAME_CUSTOM( 199?, m4hijinx__f, m4hijinx, "jns02d.p1", 0x0000, 0x020000, CRC(3ca43ce0) SHA1(d369cc103ce1c506e85cdce87ac7836c99b03df6), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 D)" ) -GAME_CUSTOM( 199?, m4hijinx__g, m4hijinx, "jns02dh.p1", 0x0000, 0x020000, CRC(84b760a1) SHA1(2312a8177c474d5bd402e5d8039e37430a7c37ae), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 DH)" ) -GAME_CUSTOM( 199?, m4hijinx__h, m4hijinx, "jns02dk.p1", 0x0000, 0x020000, CRC(3ee77376) SHA1(b19aea9254b9315c805e74a7d20dc626254a4834), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 DK)" ) -GAME_CUSTOM( 199?, m4hijinx__i, m4hijinx, "jns02dr.p1", 0x0000, 0x020000, CRC(f065dd03) SHA1(b7f3352b0807f30d4eebfca1c276bd4a53ede632), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 DR)" ) -GAME_CUSTOM( 199?, m4hijinx__j, m4hijinx, "jns02dy.p1", 0x0000, 0x020000, CRC(09adce64) SHA1(09a671ef097dbd4233aca241976c23375b4af789), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 DY)" ) -GAME_CUSTOM( 199?, m4hijinx__k, m4hijinx, "jns02h.p1", 0x0000, 0x020000, CRC(f927ea5a) SHA1(c1af9f2b20421c66d2141b85a61cd51e8cb6a67b), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 H)" ) -GAME_CUSTOM( 199?, m4hijinx__l, m4hijinx, "jns02k.p1", 0x0000, 0x020000, CRC(4377f98d) SHA1(0e7b4e655acec07fea221697179045f06d4f3c48), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 K)" ) -GAME_CUSTOM( 199?, m4hijinx__m, m4hijinx, "jns02r.p1", 0x0000, 0x020000, CRC(8df557f8) SHA1(899e73b265065f09eac785e45e06fd755a618c21), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 R)" ) -GAME_CUSTOM( 199?, m4hijinx__o, m4hijinx, "jns02y.p1", 0x0000, 0x020000, CRC(743d449f) SHA1(739e41b28ee53465b40138cdccf0fcd1782c8b45), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 Y)" ) // "(C)1993 BARCREST" and "JNS 0.3" GAME_CUSTOM( 199?, m4hijinx__0, m4hijinx, "jns03s.p1", 0x0000, 0x020000, CRC(ef9f3d18) SHA1(cc2239a4dca1c092025216a16bb39fe9126bd6f8), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.3)" ) GAME_CUSTOM( 199?, m4hijinx__p, m4hijinx, "jns03ad.p1", 0x0000, 0x020000, CRC(9d3e4a13) SHA1(5780eaeb148d64f7d2769207f7973c02a5e5a3de), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.3 DA)" ) @@ -3324,27 +4373,68 @@ GAME_CUSTOM( 199?, m4hijinx__x, m4hijinx, "jns03h.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4hijinx__y, m4hijinx, "jns03k.p1", 0x0000, 0x020000, CRC(5381abbd) SHA1(8967579f31ef9a0ec868af1cb64d9fa049314f94), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.3 K)" ) GAME_CUSTOM( 199?, m4hijinx__z, m4hijinx, "jns03r.p1", 0x0000, 0x020000, CRC(9d0305c8) SHA1(525b36b43a09c27f807dcbdc8bff89af82bdffc0), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.3 R)" ) GAME_CUSTOM( 199?, m4hijinx__1, m4hijinx, "jns03y.p1", 0x0000, 0x020000, CRC(64cb16af) SHA1(f4bc3557f84cd0054c475e0354f0562f63df3146), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.3 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4HIJINX_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "JNS 0.2" +GAME_CUSTOM( 199?, m4hijinx__n, m4hijinx, "jns02s.p1", 0x0000, 0x020000, CRC(42df2639) SHA1(8ed6addfc85cfeab4c5f03c24a692a9c392a8bc2), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2)" ) +GAME_CUSTOM( 199?, m4hijinx__c, m4hijinx, "jns02ad.p1", 0x0000, 0x020000, CRC(436a6632) SHA1(25ab01b8785cf6f9d2316b15d2d2887e898358de), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 DA)" ) +GAME_CUSTOM( 199?, m4hijinx__d, m4hijinx, "jns02b.p1", 0x0000, 0x020000, CRC(171b8941) SHA1(8383f0ce3c21b187f031302b4d930e13c131f862), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 B)" ) +GAME_CUSTOM( 199?, m4hijinx__e, m4hijinx, "jns02bd.p1", 0x0000, 0x020000, CRC(6a8b03ba) SHA1(ecc6826474a96a7d2e5cee851d672b954906bfbe), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 DB)" ) +GAME_CUSTOM( 199?, m4hijinx__f, m4hijinx, "jns02d.p1", 0x0000, 0x020000, CRC(3ca43ce0) SHA1(d369cc103ce1c506e85cdce87ac7836c99b03df6), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 D)" ) +GAME_CUSTOM( 199?, m4hijinx__g, m4hijinx, "jns02dh.p1", 0x0000, 0x020000, CRC(84b760a1) SHA1(2312a8177c474d5bd402e5d8039e37430a7c37ae), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 DH)" ) +GAME_CUSTOM( 199?, m4hijinx__h, m4hijinx, "jns02dk.p1", 0x0000, 0x020000, CRC(3ee77376) SHA1(b19aea9254b9315c805e74a7d20dc626254a4834), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 DK)" ) +GAME_CUSTOM( 199?, m4hijinx__i, m4hijinx, "jns02dr.p1", 0x0000, 0x020000, CRC(f065dd03) SHA1(b7f3352b0807f30d4eebfca1c276bd4a53ede632), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 DR)" ) +GAME_CUSTOM( 199?, m4hijinx__j, m4hijinx, "jns02dy.p1", 0x0000, 0x020000, CRC(09adce64) SHA1(09a671ef097dbd4233aca241976c23375b4af789), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 DY)" ) +GAME_CUSTOM( 199?, m4hijinx__k, m4hijinx, "jns02h.p1", 0x0000, 0x020000, CRC(f927ea5a) SHA1(c1af9f2b20421c66d2141b85a61cd51e8cb6a67b), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 H)" ) +GAME_CUSTOM( 199?, m4hijinx__l, m4hijinx, "jns02k.p1", 0x0000, 0x020000, CRC(4377f98d) SHA1(0e7b4e655acec07fea221697179045f06d4f3c48), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 K)" ) +GAME_CUSTOM( 199?, m4hijinx__m, m4hijinx, "jns02r.p1", 0x0000, 0x020000, CRC(8df557f8) SHA1(899e73b265065f09eac785e45e06fd755a618c21), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 R)" ) +GAME_CUSTOM( 199?, m4hijinx__o, m4hijinx, "jns02y.p1", 0x0000, 0x020000, CRC(743d449f) SHA1(739e41b28ee53465b40138cdccf0fcd1782c8b45), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNS 0.2 Y)" ) // "(C)1993 BARCREST" and "JNX 0.5" GAME_CUSTOM( 199?, m4hijinx__6, m4hijinx, "jnx05y.p1", 0x0000, 0x020000, CRC(6f40a357) SHA1(7d019f925d7920df23782b1e6e742bc467e7767b), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNX 0.5 Y)" ) GAME_CUSTOM( 199?, m4hijinx__2, m4hijinx, "jnx05d.p1", 0x0000, 0x020000, CRC(27d9db28) SHA1(df333d884735a94d3c4d460deb05e50fcfce8896), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNX 0.5 D)" ) GAME_CUSTOM( 199?, m4hijinx__3, m4hijinx, "jnx05dh.p1", 0x0000, 0x020000, CRC(d7dc5d8b) SHA1(6b94ae9169b522a80455cbe42378427d2f1019f3), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNX 0.5 DH)" ) GAME_CUSTOM( 199?, m4hijinx__4, m4hijinx, "jnx05dy.p1", 0x0000, 0x020000, CRC(f44fafc0) SHA1(996411b41071cc3c5c84f00106f9685b27e95352), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNX 0.5 DY)" ) GAME_CUSTOM( 199?, m4hijinx__5, m4hijinx, "jnx05h.p1", 0x0000, 0x020000, CRC(4cd3511c) SHA1(2f283f50d2313eb9da49e4efbdb9a098f90c0afb), "Barcrest","Hi Jinx (Barcrest) (MPU4) (JNX 0.5 H)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4HIJINX_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + + +// different protection + // no copyright string and "JNX 0.5" GAME_CUSTOM( 199?, m4hijinx__a, m4hijinx, "hij15g", 0x0000, 0x020000, CRC(73271cca) SHA1(8177e10e30386464a7e5a33dc3c02adbf4c93101), "hack","Hi Jinx (Barcrest) (MPU4) (JNX 0.5, hack)" ) // no copyright string and "JNS 0.2" GAME_CUSTOM( 199?, m4hijinx__b, m4hijinx, "hij15t", 0x0000, 0x020000, CRC(c7d54c64) SHA1(d3537c8412b583f2812f87ab68ac8855e9cdbd2f), "hack","Hi Jinx (Barcrest) (MPU4) (JNS 0.2, hack)" ) +/***************************************************************************************************************************************************************************** +* +* Cash Lines +* +*****************************************************************************************************************************************************************************/ #define M4CASHLN_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ ROM_REGION( 0x100000, "altmsm6376", 0 ) \ ROM_LOAD( "cash lines 0.1 snd 1 9c3f.bin", 0x0000, 0x080000, CRC(1746f091) SHA1(d57fcaec3e3b0344671f2c984974bfdac50ec3d7) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "cls1.hex", 0x000000, 0x080000, CRC(d6b5d862) SHA1(eab2ef2999229db7182896267cd83742b2390237) ) \ ROM_LOAD( "cls2.hex", 0x080000, 0x080000, CRC(e42e674b) SHA1(1cda06425f3d4797ee0c4ff7426970150e5af4b6) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -3352,7 +4442,7 @@ GAME_CUSTOM( 199?, m4hijinx__b, m4hijinx, "hij15t", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4CASHLN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "CLS 0.4" GAME_CUSTOM( 199?, m4cashln, 0, "cls04s.p1", 0x0000, 0x020000, CRC(c8b7f355) SHA1(437324bf499ba49ecbb3854f5f787da5f575f7f5), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLS 0.4)" ) @@ -3369,6 +4459,30 @@ GAME_CUSTOM( 199?, m4cashln__aq, m4cashln, "cls04h.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4cashln__ar, m4cashln, "cls04k.p1", 0x0000, 0x020000, CRC(3992e922) SHA1(9c39d2740ef51004ea59f859ec3e008c6586c00d), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLS 0.4 K)" ) GAME_CUSTOM( 199?, m4cashln__as, m4cashln, "cls04r.p1", 0x0000, 0x020000, CRC(8a9d5213) SHA1(dce36cdf790415bb37735a09226d73e322f7510a), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLS 0.4 R)" ) GAME_CUSTOM( 199?, m4cashln__at, m4cashln, "cls04y.p1", 0x0000, 0x020000, CRC(be71c9dc) SHA1(d2c2374685e953a028726ba48329196aa0a9f098), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLS 0.4 Y)" ) +// "(C)1993 BARCREST" and "CLI 1.2" +GAME_CUSTOM( 199?, m4cashln__1, m4cashln, "cli12s.p1", 0x0000, 0x020000, CRC(ef5aa578) SHA1(c4c288a297f5f6cd0712c396237aa3bf1363e188), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2)" ) +GAME_CUSTOM( 199?, m4cashln__q, m4cashln, "cli12ad.p1", 0x0000, 0x020000, CRC(d6c03a42) SHA1(203ea61def95c2ea0a9ea1f808056122d87993ff), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 AD)" ) +GAME_CUSTOM( 199?, m4cashln__r, m4cashln, "cli12b.p1", 0x0000, 0x020000, CRC(9d4245da) SHA1(604b1e68d271784b982cde81e3675298662df1bc), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 B)" ) +GAME_CUSTOM( 199?, m4cashln__s, m4cashln, "cli12bd.p1", 0x0000, 0x020000, CRC(9c079214) SHA1(1ee6362d876dd5aaa1699186ee905b48755a80de), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 BD)" ) +GAME_CUSTOM( 199?, m4cashln__t, m4cashln, "cli12d.p1", 0x0000, 0x020000, CRC(1058eb1f) SHA1(2c4305679c829cbf6c34d2627a1e8e366c5be5c1), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 D)" ) +GAME_CUSTOM( 199?, m4cashln__u, m4cashln, "cli12dh.p1", 0x0000, 0x020000, CRC(bf94605f) SHA1(e2ae87041791ba92d8db69c7a3b40b62c97cf941), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 DH)" ) +GAME_CUSTOM( 199?, m4cashln__v, m4cashln, "cli12dk.p1", 0x0000, 0x020000, CRC(65cf8173) SHA1(f7ed6227b3e57d50e327f3ff72b9aafafa51da63), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 KD)" ) +GAME_CUSTOM( 199?, m4cashln__w, m4cashln, "cli12dr.p1", 0x0000, 0x020000, CRC(ff215fca) SHA1(40cab82f6a7f5229b365236b4758e73b2a3dce1e), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 RD)" ) +GAME_CUSTOM( 199?, m4cashln__x, m4cashln, "cli12dy.p1", 0x0000, 0x020000, CRC(51231abc) SHA1(ae80491fb1496f6fccbd46f424fe1d45640da8e2), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 YD)" ) +GAME_CUSTOM( 199?, m4cashln__y, m4cashln, "cli12h.p1", 0x0000, 0x020000, CRC(bed1b791) SHA1(d017f62a099475786fa15c7a185574301b80dbdd), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 H)" ) +GAME_CUSTOM( 199?, m4cashln__z, m4cashln, "cli12k.p1", 0x0000, 0x020000, CRC(648a56bd) SHA1(25ad92789b12512b8c65cc912080f62abfe101a6), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 K)" ) +GAME_CUSTOM( 199?, m4cashln__0, m4cashln, "cli12r.p1", 0x0000, 0x020000, CRC(fe648804) SHA1(27e74aea209b90dc3d8cf46474e271d68d9af7e2), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 R)" ) +GAME_CUSTOM( 199?, m4cashln__2, m4cashln, "cli12y.p1", 0x0000, 0x020000, CRC(5066cd72) SHA1(03cef55b4fff8fb6edd804fdbc4076db6b234614), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4CASHLN_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // "(C)1993 BARCREST" and "CLS 0.3" GAME_CUSTOM( 199?, m4cashln__af, m4cashln, "cls03s.p1", 0x0000, 0x020000, CRC(cb9a86b2) SHA1(2b4aee61c0070d295ba81ffa5739ceb8e05dc0e8), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLS 0.3)" ) GAME_CUSTOM( 199?, m4cashln__3, m4cashln, "cls03ad.p1", 0x0000, 0x020000, CRC(c68249cf) SHA1(d2d16ce76a5b144827a11f7fa471c7ea558c1ce0), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLS 0.3 AD)" ) @@ -3384,20 +4498,6 @@ GAME_CUSTOM( 199?, m4cashln__ac, m4cashln, "cls03h.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4cashln__ad, m4cashln, "cls03k.p1", 0x0000, 0x020000, CRC(91a1d400) SHA1(9e4ccd4f4119471d66a22b14a22312149faf28c0), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLS 0.3 K)" ) GAME_CUSTOM( 199?, m4cashln__ae, m4cashln, "cls03r.p1", 0x0000, 0x020000, CRC(22ae6f31) SHA1(b08ec5eb5bae377b829a14065b54ec1dbbc55677), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLS 0.3 R)" ) GAME_CUSTOM( 199?, m4cashln__ag, m4cashln, "cls03y.p1", 0x0000, 0x020000, CRC(1642f4fe) SHA1(b4e3fa360fdc1908cafe61d833c5097cee965404), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLS 0.3 Y)" ) -// "(C)1993 BARCREST" and "CLI 1.2" -GAME_CUSTOM( 199?, m4cashln__1, m4cashln, "cli12s.p1", 0x0000, 0x020000, CRC(ef5aa578) SHA1(c4c288a297f5f6cd0712c396237aa3bf1363e188), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2)" ) -GAME_CUSTOM( 199?, m4cashln__q, m4cashln, "cli12ad.p1", 0x0000, 0x020000, CRC(d6c03a42) SHA1(203ea61def95c2ea0a9ea1f808056122d87993ff), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 AD)" ) -GAME_CUSTOM( 199?, m4cashln__r, m4cashln, "cli12b.p1", 0x0000, 0x020000, CRC(9d4245da) SHA1(604b1e68d271784b982cde81e3675298662df1bc), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 B)" ) -GAME_CUSTOM( 199?, m4cashln__s, m4cashln, "cli12bd.p1", 0x0000, 0x020000, CRC(9c079214) SHA1(1ee6362d876dd5aaa1699186ee905b48755a80de), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 BD)" ) -GAME_CUSTOM( 199?, m4cashln__t, m4cashln, "cli12d.p1", 0x0000, 0x020000, CRC(1058eb1f) SHA1(2c4305679c829cbf6c34d2627a1e8e366c5be5c1), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 D)" ) -GAME_CUSTOM( 199?, m4cashln__u, m4cashln, "cli12dh.p1", 0x0000, 0x020000, CRC(bf94605f) SHA1(e2ae87041791ba92d8db69c7a3b40b62c97cf941), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 DH)" ) -GAME_CUSTOM( 199?, m4cashln__v, m4cashln, "cli12dk.p1", 0x0000, 0x020000, CRC(65cf8173) SHA1(f7ed6227b3e57d50e327f3ff72b9aafafa51da63), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 KD)" ) -GAME_CUSTOM( 199?, m4cashln__w, m4cashln, "cli12dr.p1", 0x0000, 0x020000, CRC(ff215fca) SHA1(40cab82f6a7f5229b365236b4758e73b2a3dce1e), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 RD)" ) -GAME_CUSTOM( 199?, m4cashln__x, m4cashln, "cli12dy.p1", 0x0000, 0x020000, CRC(51231abc) SHA1(ae80491fb1496f6fccbd46f424fe1d45640da8e2), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 YD)" ) -GAME_CUSTOM( 199?, m4cashln__y, m4cashln, "cli12h.p1", 0x0000, 0x020000, CRC(bed1b791) SHA1(d017f62a099475786fa15c7a185574301b80dbdd), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 H)" ) -GAME_CUSTOM( 199?, m4cashln__z, m4cashln, "cli12k.p1", 0x0000, 0x020000, CRC(648a56bd) SHA1(25ad92789b12512b8c65cc912080f62abfe101a6), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 K)" ) -GAME_CUSTOM( 199?, m4cashln__0, m4cashln, "cli12r.p1", 0x0000, 0x020000, CRC(fe648804) SHA1(27e74aea209b90dc3d8cf46474e271d68d9af7e2), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 R)" ) -GAME_CUSTOM( 199?, m4cashln__2, m4cashln, "cli12y.p1", 0x0000, 0x020000, CRC(5066cd72) SHA1(03cef55b4fff8fb6edd804fdbc4076db6b234614), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.2 Y)" ) // "(C)1993 BARCREST" and "CLI 1.1" GAME_CUSTOM( 199?, m4cashln__o, m4cashln, "cli11s.p1", 0x0000, 0x020000, CRC(e5ad1734) SHA1(69fb5c81ae04c98920d84f829be14983168196e5), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.1)" ) GAME_CUSTOM( 199?, m4cashln__d, m4cashln, "cli11ad.p1", 0x0000, 0x020000, CRC(ab47d9b3) SHA1(e501bb61de76ffe6618be03a59614b36e71e031b), "Barcrest","Cash Lines (Barcrest) (MPU4) (CLI 1.1 AD)" ) @@ -3442,15 +4542,35 @@ GAME_CUSTOM( 199?, m4cashln__a2, m4cashln, "ncc10h.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4cashln__a3, m4cashln, "ncc10k.p1", 0x0000, 0x020000, CRC(bb63cdb8) SHA1(d4737ab4492bcdc0ffa3eb1cb0456f4f32e4482a), "Barcrest","Cash Lines (Barcrest) (MPU4) (NCC 1.0 K)" ) GAME_CUSTOM( 199?, m4cashln__a4, m4cashln, "ncc10r.p1", 0x0000, 0x020000, CRC(218d1301) SHA1(4bbdb69c2ac6ee13b50b1de8a17b019ce46004ba), "Barcrest","Cash Lines (Barcrest) (MPU4) (NCC 1.0 R)" ) GAME_CUSTOM( 199?, m4cashln__a6, m4cashln, "ncc10y.p1", 0x0000, 0x020000, CRC(8f8f5677) SHA1(188d5d9c274147367bde644e33e162d0541cdca2), "Barcrest","Cash Lines (Barcrest) (MPU4) (NCC 1.0 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4CASHLN_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + + +// these have different protection // no copyright string and "CLI 1.1" GAME_CUSTOM( 199?, m4cashln__a, m4cashln, "cl15g", 0x0000, 0x020000, CRC(fdd5765d) SHA1(fee8ddc9b93934a5582d6730cfa26246191c22ff), "hack","Cash Lines (Barcrest) (MPU4) (CLI 1.1, hack)" ) // no copyright string and "CLS 0.3" GAME_CUSTOM( 199?, m4cashln__b, m4cashln, "cl15t", 0x0000, 0x020000, CRC(56bb9f21) SHA1(2876ac79283ea5cbee45e9ac6d5d140ea7db8e95), "hack","Cash Lines (Barcrest) (MPU4) (CLS 0.3, hack)" ) + +/***************************************************************************************************************************************************************************** +* +* Lucky Las Vegas +* +*****************************************************************************************************************************************************************************/ + #define M4LUCKLV_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "llvsnd.p1", 0x000000, 0x080000, CRC(36be26f3) SHA1(b1c66d3ebebd7eb18266bf6b30c4a4db7acdf10d) ) \ ROM_LOAD( "llvsnd.p2", 0x080000, 0x080000, CRC(d5c2bb99) SHA1(e2096b8a33e89218d44200e87d1962790120a96c) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -3458,7 +4578,7 @@ GAME_CUSTOM( 199?, m4cashln__b, m4cashln, "cl15t", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4LUCKLV_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1991 BARCREST" and "LLV 0.2" GAME_CUSTOM( 199?, m4lucklv, 0, "llvs.p1", 0x0000, 0x010000, CRC(30727bc9) SHA1(c32112d0181f629540b31ce9959834111dbf7e0e), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LLV 0.2)" ) @@ -3466,16 +4586,6 @@ GAME_CUSTOM( 199?, m4lucklv__af, m4lucklv, "llvb.p1", 0x0000, 0x010000, CRC GAME_CUSTOM( 199?, m4lucklv__ag, m4lucklv, "llvc.p1", 0x0000, 0x010000, CRC(00ac2db0) SHA1(a8ec3a2862abf4eb56734d15cd9b7db0333c98f2), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LLV 0.2 C)" ) GAME_CUSTOM( 199?, m4lucklv__ah, m4lucklv, "llvd.p1", 0x0000, 0x010000, CRC(fdb4dcc5) SHA1(77fa51dcf1895b83182e7ee4137ed68c06d2593b), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LLV 0.2 D)" ) GAME_CUSTOM( 199?, m4lucklv__ai, m4lucklv, "llvr.p1", 0x0000, 0x010000, CRC(a806c43f) SHA1(8c36d50c911f956a0458f942cc8e313104f00005), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LLV 0.2 R)" ) -// "(C)1991 BARCREST" and "LL3 0.1" -GAME_CUSTOM( 199?, m4lucklv__h, m4lucklv, "ll3s.p1", 0x0000, 0x010000, CRC(fdda2e78) SHA1(f68b274b6af7b44347b8f684f6e8a9342d222590), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1)" ) -GAME_CUSTOM( 199?, m4lucklv__a, m4lucklv, "ll3ad.p1", 0x0000, 0x010000, CRC(e79e7f98) SHA1(7b3a22978f2f5a0b6062f0330fef15ce0e91c010), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 AD)" ) -GAME_CUSTOM( 199?, m4lucklv__b, m4lucklv, "ll3b.p1", 0x0000, 0x010000, CRC(bcbbe728) SHA1(4930419e0e524a91687386e8a2fce2150cd8a172), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 B)" ) -GAME_CUSTOM( 199?, m4lucklv__c, m4lucklv, "ll3bd.p1", 0x0000, 0x010000, CRC(aa4e9e1e) SHA1(ebacd42049916a32d1738813d544e34507dd650a), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 BD)" ) -GAME_CUSTOM( 199?, m4lucklv__d, m4lucklv, "ll3d.p1", 0x0000, 0x010000, CRC(c968fe37) SHA1(8a1b79928a86b6ba5449f0a454e5115fd37e3d55), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 D)" ) -GAME_CUSTOM( 199?, m4lucklv__e, m4lucklv, "ll3dk.p1", 0x0000, 0x010000, CRC(c03baaef) SHA1(f3c4394d0c9929d439551aa61784a51f67e2dc3a), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 KD)" ) -GAME_CUSTOM( 199?, m4lucklv__f, m4lucklv, "ll3dy.p1", 0x0000, 0x010000, CRC(e73fa943) SHA1(3b2a372028ffa5200510e976cd4e8eba8e6c0612), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 YD)" ) -GAME_CUSTOM( 199?, m4lucklv__g, m4lucklv, "ll3k.p1", 0x0000, 0x010000, CRC(2519ede2) SHA1(d9e4b57824cddc04d1166cee16c309a77ff510d6), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 K)" ) -GAME_CUSTOM( 199?, m4lucklv__i, m4lucklv, "ll3y.p1", 0x0000, 0x010000, CRC(195023d4) SHA1(a4fabaa44fa76c4e77fb40bb89c65dadeab5927c), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 Y)" ) // "(C)1991 BARCREST" and "LL8 0.1" GAME_CUSTOM( 199?, m4lucklv__r, m4lucklv, "ll8s.p1", 0x0000, 0x010000, CRC(1448c6fe) SHA1(211627a0f397658a8241c5e4e138a1a609beaabe), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL8 0.1)" ) GAME_CUSTOM( 199?, m4lucklv__j, m4lucklv, "ll8ad.p1", 0x0000, 0x010000, CRC(08f307ef) SHA1(1a613d8d2cbadffe1a97a7e2c3eafc709e6895c7), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL8 0.1 AD)" ) @@ -3487,6 +4597,26 @@ GAME_CUSTOM( 199?, m4lucklv__o, m4lucklv, "ll8dk.p1", 0x0000, 0x010000, CRC GAME_CUSTOM( 199?, m4lucklv__p, m4lucklv, "ll8dy.p1", 0x0000, 0x010000, CRC(10b33cc3) SHA1(fe0a41b98b1f3dde82365c30236586737c5fdb9d), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL8 0.1 YD)" ) GAME_CUSTOM( 199?, m4lucklv__q, m4lucklv, "ll8k.p1", 0x0000, 0x010000, CRC(d7c284be) SHA1(c33dbfa15ead02a581b4a874a6981e6094537fb4), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL8 0.1 K)" ) GAME_CUSTOM( 199?, m4lucklv__s, m4lucklv, "ll8y.p1", 0x0000, 0x010000, CRC(eb8b4a88) SHA1(f0de0d50de848e7fea35ebe754f20eaa1c02f295), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL8 0.1 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4LUCKLV_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1991 BARCREST" and "LL3 0.1" +GAME_CUSTOM( 199?, m4lucklv__h, m4lucklv, "ll3s.p1", 0x0000, 0x010000, CRC(fdda2e78) SHA1(f68b274b6af7b44347b8f684f6e8a9342d222590), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1)" ) +GAME_CUSTOM( 199?, m4lucklv__a, m4lucklv, "ll3ad.p1", 0x0000, 0x010000, CRC(e79e7f98) SHA1(7b3a22978f2f5a0b6062f0330fef15ce0e91c010), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 AD)" ) +GAME_CUSTOM( 199?, m4lucklv__b, m4lucklv, "ll3b.p1", 0x0000, 0x010000, CRC(bcbbe728) SHA1(4930419e0e524a91687386e8a2fce2150cd8a172), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 B)" ) +GAME_CUSTOM( 199?, m4lucklv__c, m4lucklv, "ll3bd.p1", 0x0000, 0x010000, CRC(aa4e9e1e) SHA1(ebacd42049916a32d1738813d544e34507dd650a), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 BD)" ) +GAME_CUSTOM( 199?, m4lucklv__d, m4lucklv, "ll3d.p1", 0x0000, 0x010000, CRC(c968fe37) SHA1(8a1b79928a86b6ba5449f0a454e5115fd37e3d55), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 D)" ) +GAME_CUSTOM( 199?, m4lucklv__e, m4lucklv, "ll3dk.p1", 0x0000, 0x010000, CRC(c03baaef) SHA1(f3c4394d0c9929d439551aa61784a51f67e2dc3a), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 KD)" ) +GAME_CUSTOM( 199?, m4lucklv__f, m4lucklv, "ll3dy.p1", 0x0000, 0x010000, CRC(e73fa943) SHA1(3b2a372028ffa5200510e976cd4e8eba8e6c0612), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 YD)" ) +GAME_CUSTOM( 199?, m4lucklv__g, m4lucklv, "ll3k.p1", 0x0000, 0x010000, CRC(2519ede2) SHA1(d9e4b57824cddc04d1166cee16c309a77ff510d6), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 K)" ) +GAME_CUSTOM( 199?, m4lucklv__i, m4lucklv, "ll3y.p1", 0x0000, 0x010000, CRC(195023d4) SHA1(a4fabaa44fa76c4e77fb40bb89c65dadeab5927c), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LL3 0.1 Y)" ) // "(C)1991 BARCREST" and "LLT 0.3" GAME_CUSTOM( 199?, m4lucklv__2, m4lucklv, "llts.p1", 0x0000, 0x010000, CRC(3ccc9e2f) SHA1(15c90bbc135ddaa05768bde6970bda15f1b69d44), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LLT 0.3)" ) GAME_CUSTOM( 199?, m4lucklv__t, m4lucklv, "lltad.p1", 0x0000, 0x010000, CRC(35e43f52) SHA1(4ca2c43c59f5c5c3f53527bbf8128f0e92a3ca5c), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LLT 0.3 AD)" ) @@ -3512,13 +4642,48 @@ GAME_CUSTOM( 199?, m4lucklv__ab, m4lucklv, "lluk.p1", 0x0000, 0x010000, CRC GAME_CUSTOM( 199?, m4lucklv__ac, m4lucklv, "llur.p1", 0x0000, 0x010000, CRC(89a1a999) SHA1(e21007e2db0f69f0753becbf499c54cb29f46a39), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LLU 0.1 R)" ) GAME_CUSTOM( 199?, m4lucklv__ae, m4lucklv, "lluy.p1", 0x0000, 0x010000, CRC(1cfc18d6) SHA1(eb34e5a43cee1d4b64443f1fe2b1d12ccf35b847), "Barcrest","Lucky Las Vegas (Barcrest) (MPU4) (LLU 0.1 Y)" ) +/***************************************************************************************************************************************************************************** +* +* Lucky Las Vegas Classic +* +* the lamping on this is not similar to Lucky Las Vegas at all +* +*****************************************************************************************************************************************************************************/ + +#define M4LVLCL_EXTRA_ROMS \ + ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \ + /* missing? */ +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4LVLCL_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1998 BWB" and "LLU 0.1" // the LLU code is also used by some of the Barcrest sets, these are not the same version! +GAME_CUSTOM( 199?, m4lvlcl, 0, "ll__x__x.1_1", 0x0000, 0x010000, CRC(1ef1c5b4) SHA1(455c147f158f8a36a9add9b984abc22af78258cf), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 0.1)" ) +GAME_CUSTOM( 199?, m4lvlcl__e, m4lvlcl, "ll__xgdx.1_1", 0x0000, 0x010000, CRC(65824c4f) SHA1(a514e48ac0f9d4a8d7506bf6932aeee88ca17104), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 0.1 AD)" ) +// "(C)1998 BWB" and "LLU 3.0" +GAME_CUSTOM( 199?, m4lvlcl__a, m4lvlcl, "ll__x__x.3_1", 0x0000, 0x010000, CRC(42b85ebc) SHA1(a352d8389674fcfd90dc4e8155e6f4a78c9ec70d), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 3.0)" ) +GAME_CUSTOM( 199?, m4lvlcl__b, m4lvlcl, "ll__x_dx.3_1", 0x0000, 0x010000, CRC(7753c8f0) SHA1(9600fee08529f29716697c4630730f15ef8a457b), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 3.0 D)" ) +GAME_CUSTOM( 199?, m4lvlcl__c, m4lvlcl, "ll__xa_x.3_1", 0x0000, 0x010000, CRC(79468e93) SHA1(4beaa6fe2ad095b4674473ab99a7216513923077), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 3.0 K)" ) +GAME_CUSTOM( 199?, m4lvlcl__d, m4lvlcl, "ll__xb_x.3_1", 0x0000, 0x010000, CRC(73b2fb34) SHA1(c127bc0954f8d01e9d8365a4506dde6f17da33fd), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 3.0 B)" ) +GAME_CUSTOM( 199?, m4lvlcl__f, m4lvlcl, "ll__xgdx.3_1", 0x0000, 0x010000, CRC(ba5b951a) SHA1(9ee36d3d42ce68f5797208633be87ddbbe605cf1), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 3.0 AD)" ) +/***************************************************************************************************************************************************************************** +* +* Lucky Strike +* +*****************************************************************************************************************************************************************************/ #define M4LUCKST_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "lssnd1.bin", 0x000000, 0x080000, CRC(401686bc) SHA1(ab62e6e097b0af2f68ae7f8f686f00cede5ec3aa) ) \ ROM_LOAD( "lssnd2.bin", 0x080000, 0x080000, CRC(d9e0c0db) SHA1(3eba5b19ca98d23a94edf2be27ccefaa0e526a56) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -3526,7 +4691,46 @@ GAME_CUSTOM( 199?, m4lucklv__ae, m4lucklv, "lluy.p1", 0x0000, 0x010000, CRC ROM_LOAD( name, offset, length, hash ) \ M4LUCKST_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "LSS 0.7" +GAME_CUSTOM( 199?, m4luckst__2, m4luckst, "lss07s.p1", 0x0000, 0x020000, CRC(f4546d1a) SHA1(fed65704693e11087825b1dfda4df28ee6d2d3be), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7)" ) +GAME_CUSTOM( 199?, m4luckst__q, m4luckst, "lss07ad.p1", 0x0000, 0x020000, CRC(c4e113c0) SHA1(e5e81c08c2487ee8802ff4374b3affdff3e70003), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 AD)" ) +GAME_CUSTOM( 199?, m4luckst__r, m4luckst, "lss07b.p1", 0x0000, 0x020000, CRC(eec5db67) SHA1(c7b76b50524b256ec42adc33c99f933790d9d578), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 B)" ) +GAME_CUSTOM( 199?, m4luckst__s, m4luckst, "lss07bd.p1", 0x0000, 0x020000, CRC(49fbbd05) SHA1(4edebdf607ae996e0f4a2df02f181e75b784e1ac), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 BD)" ) +GAME_CUSTOM( 199?, m4luckst__t, m4luckst, "lss07c.p1", 0x0000, 0x020000, CRC(d98f6675) SHA1(0ab59dad98a879a5010e84ba9f2feefe55b08cf5), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 C)" ) +GAME_CUSTOM( 199?, m4luckst__u, m4luckst, "lss07d.p1", 0x0000, 0x020000, CRC(93ded011) SHA1(f9588096aa8d14b62ab4d7984988f567955aeb9f), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 D)" ) +GAME_CUSTOM( 199?, m4luckst__v, m4luckst, "lss07dh.p1", 0x0000, 0x020000, CRC(8717ed46) SHA1(67725fb72f1182544479e554f1efea5f167647f5), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 DH)" ) +GAME_CUSTOM( 199?, m4luckst__w, m4luckst, "lss07dk.p1", 0x0000, 0x020000, CRC(033c1553) SHA1(fa07bc86f0a6cfd91c982d0f44fa43c1e54195e0), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 KD)" ) +GAME_CUSTOM( 199?, m4luckst__x, m4luckst, "lss07dr.p1", 0x0000, 0x020000, CRC(b033ae62) SHA1(8c58e4b881c73c9c7450f81026f982b5cfb56197), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 RD)" ) +GAME_CUSTOM( 199?, m4luckst__y, m4luckst, "lss07dy.p1", 0x0000, 0x020000, CRC(84df35ad) SHA1(eb9e5c0a4fcb85bc6a81862ff4852de380ef0a5a), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 YD)" ) +GAME_CUSTOM( 199?, m4luckst__z, m4luckst, "lss07h.p1", 0x0000, 0x020000, CRC(20298b24) SHA1(004d6d04d9e8223e7b97dbd39abc66e80d6ea0eb), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 H)" ) +GAME_CUSTOM( 199?, m4luckst__0, m4luckst, "lss07k.p1", 0x0000, 0x020000, CRC(a4027331) SHA1(64320519f22ebac3fbb7d93e2e70e999e8e7cd29), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 K)" ) +GAME_CUSTOM( 199?, m4luckst__1, m4luckst, "lss07r.p1", 0x0000, 0x020000, CRC(170dc800) SHA1(bebd8b41b756c7ca5ddc60647e6031ac4cf874db), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 R)" ) +GAME_CUSTOM( 199?, m4luckst__3, m4luckst, "lss07y.p1", 0x0000, 0x020000, CRC(23e153cf) SHA1(75c5c13ad735aba1bf62d26eb37f9aaa5804fdd2), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 Y)" ) +// "(C)1993 BARCREST" and "LST 1.0" +GAME_CUSTOM( 199?, m4luckst__as, m4luckst, "lst10s.p1", 0x0000, 0x020000, CRC(0e1ad810) SHA1(bd439f2857ebbde2b7941c411ac7edf7c66af7eb), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0)" ) +GAME_CUSTOM( 199?, m4luckst__ah, m4luckst, "lst10ad.p1", 0x0000, 0x020000, CRC(41e8dd7d) SHA1(2b794554f57dfb5b6fe9f64b9d3e6b73ec306056), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 AD)" ) +GAME_CUSTOM( 199?, m4luckst__ai, m4luckst, "lst10b.p1", 0x0000, 0x020000, CRC(afd0d023) SHA1(7ee5c004d9d0cacf2d55457f9846fd638b584482), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 B)" ) +GAME_CUSTOM( 199?, m4luckst__aj, m4luckst, "lst10bd.p1", 0x0000, 0x020000, CRC(0b2f752b) SHA1(655f50bbe163fca4386b356e7db0b019eba5d94f), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 BD)" ) +GAME_CUSTOM( 199?, m4luckst__ak, m4luckst, "lst10d.p1", 0x0000, 0x020000, CRC(22ca7ee6) SHA1(487da48e02f11aef5a2c42efe54c5e9f43a7915d), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 D)" ) +GAME_CUSTOM( 199?, m4luckst__al, m4luckst, "lst10dh.p1", 0x0000, 0x020000, CRC(28bc8760) SHA1(f442853ac0f6cedbdb4b928bfee82e6f9d0e3824), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 DH)" ) +GAME_CUSTOM( 199?, m4luckst__am, m4luckst, "lst10dk.p1", 0x0000, 0x020000, CRC(f2e7664c) SHA1(bc869ec0e533143bdcef52f06fcf34c5eb30d928), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 KD)" ) +GAME_CUSTOM( 199?, m4luckst__an, m4luckst, "lst10dr.p1", 0x0000, 0x020000, CRC(6809b8f5) SHA1(626859168f33ca3e2ce133c645a32a73a811ac75), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 RD)" ) +GAME_CUSTOM( 199?, m4luckst__ao, m4luckst, "lst10dy.p1", 0x0000, 0x020000, CRC(c60bfd83) SHA1(276d65498c8d1da56765c451b8c9bf2b4af096a6), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 YD)" ) +GAME_CUSTOM( 199?, m4luckst__ap, m4luckst, "lst10h.p1", 0x0000, 0x020000, CRC(8c432268) SHA1(c8707c587ab2cc1450bd47069206767d2d930b29), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 H)" ) +GAME_CUSTOM( 199?, m4luckst__aq, m4luckst, "lst10k.p1", 0x0000, 0x020000, CRC(5618c344) SHA1(61565a9814fd1b4e77944e73d8f18f8545685928), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 K)" ) +GAME_CUSTOM( 199?, m4luckst__ar, m4luckst, "lst10r.p1", 0x0000, 0x020000, CRC(ccf61dfd) SHA1(01772dd0b252b41b5cba024a717d5898e74971f8), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 R)" ) +GAME_CUSTOM( 199?, m4luckst__at, m4luckst, "lst10y.p1", 0x0000, 0x020000, CRC(62f4588b) SHA1(ee7c06e2cc79f7d18d45b0a1793e5279a46ffcc0), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4LUCKST_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "LSS 0.6" // doesn't show the extension codes on startup GAME_CUSTOM( 199?, m4luckst, 0, "lss06s.p1", 0x0000, 0x020000, CRC(b6a69478) SHA1(6b05b7f9af94a83adfdff328d4132f72a1dfb19f), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.6)" ) @@ -3543,21 +4747,6 @@ GAME_CUSTOM( 199?, m4luckst__l, m4luckst, "lss06h.p1", 0x0000, 0 GAME_CUSTOM( 199?, m4luckst__m, m4luckst, "lss06k.p1", 0x0000, 0x020000, CRC(b8266376) SHA1(7d84dce05224c8882ed103796a054b50e2390234), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.6 K)" ) GAME_CUSTOM( 199?, m4luckst__n, m4luckst, "lss06r.p1", 0x0000, 0x020000, CRC(0b29d847) SHA1(3412bff6f38ab12b9d5e30f1ed3e327ad58dc470), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.6 R)" ) GAME_CUSTOM( 199?, m4luckst__p, m4luckst, "lss06y.p1", 0x0000, 0x020000, CRC(3fc54388) SHA1(f57667cc0263efe05d0f0538fae2f4f8adc0c405), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.6 Y)" ) -// "(C)1993 BARCREST" and "LSS 0.7" -GAME_CUSTOM( 199?, m4luckst__2, m4luckst, "lss07s.p1", 0x0000, 0x020000, CRC(f4546d1a) SHA1(fed65704693e11087825b1dfda4df28ee6d2d3be), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7)" ) -GAME_CUSTOM( 199?, m4luckst__q, m4luckst, "lss07ad.p1", 0x0000, 0x020000, CRC(c4e113c0) SHA1(e5e81c08c2487ee8802ff4374b3affdff3e70003), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 AD)" ) -GAME_CUSTOM( 199?, m4luckst__r, m4luckst, "lss07b.p1", 0x0000, 0x020000, CRC(eec5db67) SHA1(c7b76b50524b256ec42adc33c99f933790d9d578), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 B)" ) -GAME_CUSTOM( 199?, m4luckst__s, m4luckst, "lss07bd.p1", 0x0000, 0x020000, CRC(49fbbd05) SHA1(4edebdf607ae996e0f4a2df02f181e75b784e1ac), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 BD)" ) -GAME_CUSTOM( 199?, m4luckst__t, m4luckst, "lss07c.p1", 0x0000, 0x020000, CRC(d98f6675) SHA1(0ab59dad98a879a5010e84ba9f2feefe55b08cf5), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 C)" ) -GAME_CUSTOM( 199?, m4luckst__u, m4luckst, "lss07d.p1", 0x0000, 0x020000, CRC(93ded011) SHA1(f9588096aa8d14b62ab4d7984988f567955aeb9f), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 D)" ) -GAME_CUSTOM( 199?, m4luckst__v, m4luckst, "lss07dh.p1", 0x0000, 0x020000, CRC(8717ed46) SHA1(67725fb72f1182544479e554f1efea5f167647f5), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 DH)" ) -GAME_CUSTOM( 199?, m4luckst__w, m4luckst, "lss07dk.p1", 0x0000, 0x020000, CRC(033c1553) SHA1(fa07bc86f0a6cfd91c982d0f44fa43c1e54195e0), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 KD)" ) -GAME_CUSTOM( 199?, m4luckst__x, m4luckst, "lss07dr.p1", 0x0000, 0x020000, CRC(b033ae62) SHA1(8c58e4b881c73c9c7450f81026f982b5cfb56197), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 RD)" ) -GAME_CUSTOM( 199?, m4luckst__y, m4luckst, "lss07dy.p1", 0x0000, 0x020000, CRC(84df35ad) SHA1(eb9e5c0a4fcb85bc6a81862ff4852de380ef0a5a), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 YD)" ) -GAME_CUSTOM( 199?, m4luckst__z, m4luckst, "lss07h.p1", 0x0000, 0x020000, CRC(20298b24) SHA1(004d6d04d9e8223e7b97dbd39abc66e80d6ea0eb), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 H)" ) -GAME_CUSTOM( 199?, m4luckst__0, m4luckst, "lss07k.p1", 0x0000, 0x020000, CRC(a4027331) SHA1(64320519f22ebac3fbb7d93e2e70e999e8e7cd29), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 K)" ) -GAME_CUSTOM( 199?, m4luckst__1, m4luckst, "lss07r.p1", 0x0000, 0x020000, CRC(170dc800) SHA1(bebd8b41b756c7ca5ddc60647e6031ac4cf874db), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 R)" ) -GAME_CUSTOM( 199?, m4luckst__3, m4luckst, "lss07y.p1", 0x0000, 0x020000, CRC(23e153cf) SHA1(75c5c13ad735aba1bf62d26eb37f9aaa5804fdd2), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LSS 0.7 Y)" ) // "(C)1993 BARCREST" and "LST 0.9" GAME_CUSTOM( 199?, m4luckst__af, m4luckst, "lst09s.p1", 0x0000, 0x020000, CRC(285d0255) SHA1(89f74ad19525b636d6e1ea36308b659389f68245), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 0.9)" ) GAME_CUSTOM( 199?, m4luckst__4, m4luckst, "lst09ad.p1", 0x0000, 0x020000, CRC(2fc94fb9) SHA1(cda6ce0a9d9e124326e29b57bc553b517408f1c6), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 0.9 AD)" ) @@ -3572,34 +4761,82 @@ GAME_CUSTOM( 199?, m4luckst__ac, m4luckst, "lst09h.p1", 0x0000, 0 GAME_CUSTOM( 199?, m4luckst__ad, m4luckst, "lst09k.p1", 0x0000, 0x020000, CRC(3c708118) SHA1(61ab1751dec08f7407fd3360cf129736d7d5ec16), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 0.9 K)" ) GAME_CUSTOM( 199?, m4luckst__ae, m4luckst, "lst09r.p1", 0x0000, 0x020000, CRC(a69e5fa1) SHA1(10ca0a2135c4d6832693bf97812f4eb5f1380efd), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 0.9 R)" ) GAME_CUSTOM( 199?, m4luckst__ag, m4luckst, "lst09y.p1", 0x0000, 0x020000, CRC(089c1ad7) SHA1(bcfacbeaf1845d91f18c6f57bf166c82469cb460), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 0.9 Y)" ) -// "(C)1993 BARCREST" and "LST 1.0" -GAME_CUSTOM( 199?, m4luckst__as, m4luckst, "lst10s.p1", 0x0000, 0x020000, CRC(0e1ad810) SHA1(bd439f2857ebbde2b7941c411ac7edf7c66af7eb), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0)" ) -GAME_CUSTOM( 199?, m4luckst__ah, m4luckst, "lst10ad.p1", 0x0000, 0x020000, CRC(41e8dd7d) SHA1(2b794554f57dfb5b6fe9f64b9d3e6b73ec306056), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 AD)" ) -GAME_CUSTOM( 199?, m4luckst__ai, m4luckst, "lst10b.p1", 0x0000, 0x020000, CRC(afd0d023) SHA1(7ee5c004d9d0cacf2d55457f9846fd638b584482), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 B)" ) -GAME_CUSTOM( 199?, m4luckst__aj, m4luckst, "lst10bd.p1", 0x0000, 0x020000, CRC(0b2f752b) SHA1(655f50bbe163fca4386b356e7db0b019eba5d94f), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 BD)" ) -GAME_CUSTOM( 199?, m4luckst__ak, m4luckst, "lst10d.p1", 0x0000, 0x020000, CRC(22ca7ee6) SHA1(487da48e02f11aef5a2c42efe54c5e9f43a7915d), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 D)" ) -GAME_CUSTOM( 199?, m4luckst__al, m4luckst, "lst10dh.p1", 0x0000, 0x020000, CRC(28bc8760) SHA1(f442853ac0f6cedbdb4b928bfee82e6f9d0e3824), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 DH)" ) -GAME_CUSTOM( 199?, m4luckst__am, m4luckst, "lst10dk.p1", 0x0000, 0x020000, CRC(f2e7664c) SHA1(bc869ec0e533143bdcef52f06fcf34c5eb30d928), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 KD)" ) -GAME_CUSTOM( 199?, m4luckst__an, m4luckst, "lst10dr.p1", 0x0000, 0x020000, CRC(6809b8f5) SHA1(626859168f33ca3e2ce133c645a32a73a811ac75), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 RD)" ) -GAME_CUSTOM( 199?, m4luckst__ao, m4luckst, "lst10dy.p1", 0x0000, 0x020000, CRC(c60bfd83) SHA1(276d65498c8d1da56765c451b8c9bf2b4af096a6), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 YD)" ) -GAME_CUSTOM( 199?, m4luckst__ap, m4luckst, "lst10h.p1", 0x0000, 0x020000, CRC(8c432268) SHA1(c8707c587ab2cc1450bd47069206767d2d930b29), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 H)" ) -GAME_CUSTOM( 199?, m4luckst__aq, m4luckst, "lst10k.p1", 0x0000, 0x020000, CRC(5618c344) SHA1(61565a9814fd1b4e77944e73d8f18f8545685928), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 K)" ) -GAME_CUSTOM( 199?, m4luckst__ar, m4luckst, "lst10r.p1", 0x0000, 0x020000, CRC(ccf61dfd) SHA1(01772dd0b252b41b5cba024a717d5898e74971f8), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 R)" ) -GAME_CUSTOM( 199?, m4luckst__at, m4luckst, "lst10y.p1", 0x0000, 0x020000, CRC(62f4588b) SHA1(ee7c06e2cc79f7d18d45b0a1793e5279a46ffcc0), "Barcrest","Lucky Strike (Barcrest) (MPU4) (LST 1.0 Y)" ) -// "(C)1998 BWB" and "LSS 1.0" (one of these is probably a hack) -GAME_CUSTOM( 199?, m4luckst__av, m4luckst, "ls55", 0x0000, 0x020000, CRC(823e805b) SHA1(17f09fd53188950a8d98ac04cd94785947b52b01), "Bwb","Lucky Strike (Barcrest) (MPU4) (LSS 1.0 K, set 1)" ) // bad chr alarm -GAME_CUSTOM( 199?, m4luckst__aw, m4luckst, "ls__xa_x.1_1", 0x0000, 0x020000, CRC(a9642503) SHA1(2765c4d8943678446c516918035d7a888a812aae), "Bwb","Lucky Strike (Barcrest) (MPU4) (LSS 1.0 K, set 2)" ) -// no copyright string and "LST 0.9" -GAME_CUSTOM( 199?, m4luckst__a, m4luckst, "ls15g", 0x0000, 0x020000, CRC(b942ac91) SHA1(e77b2acd07cac9b747731f9e0637112fc6bf94c7), "hack","Lucky Strike (Barcrest) (MPU4) (LST 0.9, hack)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4LUCKST_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1998 BWB" and "LSS 1.0" +GAME_CUSTOM( 199?, m4luckst__aw, m4luckst, "ls__xa_x.1_1", 0x0000, 0x020000, CRC(a9642503) SHA1(2765c4d8943678446c516918035d7a888a812aae), "Bwb","Lucky Strike (Barcrest) (MPU4) (LSS 1.0 K)" ) + + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4LUCKST_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x29>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1998 BWB" and "LSS 1.0" but non-standard protection check, so hack +GAME_CUSTOM( 199?, m4luckst__av, m4luckst, "ls55", 0x0000, 0x020000, CRC(823e805b) SHA1(17f09fd53188950a8d98ac04cd94785947b52b01), "hack","Lucky Strike (Barcrest) (MPU4) (LSS 1.0 K, hack)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4LUCKST_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x1c>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // no copyright string and "LSS 0.6" GAME_CUSTOM( 199?, m4luckst__au, m4luckst, "lstrikegame10-8t.bin", 0x0000, 0x020000, CRC(709c2dbf) SHA1(bba8d7af9502911ffa1c086b993484ab78ad38ac), "hack","Lucky Strike (Barcrest) (MPU4) (LSS 0.6 C, hack, set 1)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4LUCKST_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// no copyright string and "LST 0.9" +GAME_CUSTOM( 199?, m4luckst__a, m4luckst, "ls15g", 0x0000, 0x020000, CRC(b942ac91) SHA1(e77b2acd07cac9b747731f9e0637112fc6bf94c7), "hack","Lucky Strike (Barcrest) (MPU4) (LST 0.9, hack)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4LUCKST_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x72>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// no copyright string and "LSS 0.6" GAME_CUSTOM( 199?, m4luckst__b, m4luckst, "ls15t", 0x0000, 0x020000, CRC(20447a20) SHA1(ca2ba566317ca87afcc2501e551c1326b9712526), "hack","Lucky Strike (Barcrest) (MPU4) (LSS 0.6 C, hack, set 2)" ) -void mpu4_state::init_m4tenten() +/***************************************************************************************************************************************************************************** +* +* 10 X 10 +* +*****************************************************************************************************************************************************************************/ + +// gives Wrong Sound Need V1 +// ALM17, use Q to open door to run anyway + +void mpu4mod4oki_machines_state::init_m4tenten() { init_m4default(); -// init_m4_showstring(); +// init_m4default(); //Derived from 10_x_10_(Barcrest)_[C01_v1-0_1024_10jp].gam init_m4_hopper_duart_a(); init_m4default_reels(); @@ -3633,6 +4870,7 @@ void mpu4_state::init_m4tenten() #define M4TENTEN_EXTRA_ROMS \ ROM_REGION( 0x080000, "msm6376", 0 ) \ ROM_LOAD( "tttsnd01.p1", 0x0000, 0x080000, CRC(5518474c) SHA1(0b7e98e33f62d80882f2b0b4af0c9056f1ffb78d) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -3640,44 +4878,8 @@ void mpu4_state::init_m4tenten() ROM_LOAD( name, offset, length, hash ) \ M4TENTEN_EXTRA_ROMS \ ROM_END \ - GAMEL( year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4tenten, ROT0, company, title, GAME_FLAGS, layout_m4tenten ) + GAMEL( year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4tenten, ROT0, company, title, GAME_FLAGS, layout_m4tenten ) -// "(C)1991 BARCREST" and "T20 0.2" -GAME_CUSTOM( 199?, m4tenten, 0, "t2002s.p1", 0x0000, 0x010000, CRC(6cd9fa10) SHA1(8efe36e3fc5b709fa4363194634686d62b5d6609), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2)" ) -GAME_CUSTOM( 199?, m4tenten__l, m4tenten, "t2002ad.p1", 0x0000, 0x010000, CRC(f7903f0d) SHA1(8a10ff31ddaad817a31d39ea9a66d4453d8767bb), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 AD)" ) -GAME_CUSTOM( 199?, m4tenten__m, m4tenten, "t2002b.p1", 0x0000, 0x010000, CRC(90e150ea) SHA1(abc8456de42cef605e1f0e80a97b25cd51d90707), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 B)" ) -GAME_CUSTOM( 199?, m4tenten__n, m4tenten, "t2002bd.p1", 0x0000, 0x010000, CRC(110c0d5c) SHA1(a263c678ebd58c95f33b198be544b726ac506449), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 BD)" ) -GAME_CUSTOM( 199?, m4tenten__o, m4tenten, "t2002d.p1", 0x0000, 0x010000, CRC(65a9bb19) SHA1(9a472eaded63ecab260cda03fb9e96bc6db5a99e), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 D)" ) -GAME_CUSTOM( 199?, m4tenten__p, m4tenten, "t2002dk.p1", 0x0000, 0x010000, CRC(7cbbca26) SHA1(238717c37fbfab737805f46225ac740fed9a9501), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 KD)" ) -GAME_CUSTOM( 199?, m4tenten__q, m4tenten, "t2002dr.p1", 0x0000, 0x010000, CRC(b43b946d) SHA1(9239adb301eef818fe46ce7f3ce8b01a47031165), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 RD)" ) -GAME_CUSTOM( 199?, m4tenten__r, m4tenten, "t2002dy.p1", 0x0000, 0x010000, CRC(883e6777) SHA1(d5a5f0624ccf373922ef4b41519c6c95a2367b2a), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 DY)" ) -GAME_CUSTOM( 199?, m4tenten__s, m4tenten, "t2002k.p1", 0x0000, 0x010000, CRC(34628c9d) SHA1(3547dac8fd73abcba0f088c3f2db02ef8a40cf4e), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 K)" ) -GAME_CUSTOM( 199?, m4tenten__t, m4tenten, "t2002r.p1", 0x0000, 0x010000, CRC(9c639380) SHA1(c044b7fc53daa01d93c701a3d3c786ab6a883e76), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 R)" ) -GAME_CUSTOM( 199?, m4tenten__u, m4tenten, "t2002y.p1", 0x0000, 0x010000, CRC(dcf2ac8c) SHA1(e745534f45148ff33e6b1e503108a39e27d8bdae), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 Y)" ) -// "(C)1991 BARCREST" and "N25 0.3" -GAME_CUSTOM( 199?, m4tenten__j, m4tenten, "n2503s.p1", 0x0000, 0x010000, CRC(0d9e912c) SHA1(67d888fde242e81a1808f36e1e81c0c5724e99a7), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3)" ) -GAME_CUSTOM( 199?, m4tenten__a, m4tenten, "n2503ad.p1", 0x0000, 0x010000, CRC(c84150e6) SHA1(8f143c26c6026a413bdd65ca148d78dead1d2474), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 AD)" ) -GAME_CUSTOM( 199?, m4tenten__b, m4tenten, "n2503b.p1", 0x0000, 0x010000, CRC(dd74fb57) SHA1(402f632f48cf1153cb8c22879a7482c82c8fecfe), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 B)" ) -GAME_CUSTOM( 199?, m4tenten__c, m4tenten, "n2503bd.p1", 0x0000, 0x010000, CRC(62542d80) SHA1(90ebfb92891a7aaa4814b733c0e0df06bb292a4f), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 BD)" ) -GAME_CUSTOM( 199?, m4tenten__d, m4tenten, "n2503d.p1", 0x0000, 0x010000, CRC(b8c64fa4) SHA1(f53d9bdf97cc021399c8598a051ad5bcb7a611b5), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 D)" ) -GAME_CUSTOM( 199?, m4tenten__e, m4tenten, "n2503dk.p1", 0x0000, 0x010000, CRC(28715d57) SHA1(1ab648a7f5dde5575e5ab5653823e4b88580677f), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 KD)" ) -GAME_CUSTOM( 199?, m4tenten__f, m4tenten, "n2503dr.p1", 0x0000, 0x010000, CRC(59932d11) SHA1(9895392ce48569e23816646124933192b6f720e3), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 RD)" ) -GAME_CUSTOM( 199?, m4tenten__g, m4tenten, "n2503dy.p1", 0x0000, 0x010000, CRC(287b8ee7) SHA1(10e428c73911e01ba53dd4321eb2c5a58e35441e), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 DY)" ) -GAME_CUSTOM( 199?, m4tenten__h, m4tenten, "n2503k.p1", 0x0000, 0x010000, CRC(f240b5ba) SHA1(fca353213447e50e29f1cd2c0d3895c437ae9336), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 K)" ) -GAME_CUSTOM( 199?, m4tenten__i, m4tenten, "n2503r.p1", 0x0000, 0x010000, CRC(afaacb9d) SHA1(1bf3d648b82a8160ff1a38d92d2bb3ce1b41125e), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 R)" ) -GAME_CUSTOM( 199?, m4tenten__k, m4tenten, "n2503y.p1", 0x0000, 0x010000, CRC(b365cff0) SHA1(65ab9d624bec1efc0590cec739541887ca20fc6f), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 Y)" ) -// "(C)1991 BARCREST" and "T25 0.4" -GAME_CUSTOM( 199?, m4tenten__4, m4tenten, "t2504s.p1", 0x0000, 0x010000, CRC(a7618248) SHA1(e28d34a7a4b2eb3f6192a04cc8849475f021d392), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4)" ) -GAME_CUSTOM( 199?, m4tenten__v, m4tenten, "t2504ad.p1", 0x0000, 0x010000, CRC(f964cf74) SHA1(a72bd32f3785506e8f57107f2b8e42d64cbe267b), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 AD)" ) -GAME_CUSTOM( 199?, m4tenten__w, m4tenten, "t2504b.p1", 0x0000, 0x010000, CRC(f6cc485b) SHA1(6a95bf4c0cf35ccb79cb2a9e6bef208d6b61f4c7), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 B)" ) -GAME_CUSTOM( 199?, m4tenten__x, m4tenten, "t2504bd.p1", 0x0000, 0x010000, CRC(f4ce2ee9) SHA1(8d0dc72f288810118702d00dc08f4e748c4da9e6), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 BD)" ) -GAME_CUSTOM( 199?, m4tenten__y, m4tenten, "t2504d.p1", 0x0000, 0x010000, CRC(44975553) SHA1(29116ab2d8bcbd7e73c2fa63381e93df7f9bdad9), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 D)" ) -GAME_CUSTOM( 199?, m4tenten__z, m4tenten, "t2504dk.p1", 0x0000, 0x010000, CRC(3794f312) SHA1(1c15c9dd9c2631ea7fce070b45fd960cad053fcb), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 KD)" ) -GAME_CUSTOM( 199?, m4tenten__0, m4tenten, "t2504dr.p1", 0x0000, 0x010000, CRC(96c76a75) SHA1(28cf5e111b98e8f78ba5a5ea1ad59fc92657cd08), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 RD)" ) -GAME_CUSTOM( 199?, m4tenten__1, m4tenten, "t2504dy.p1", 0x0000, 0x010000, CRC(af52e603) SHA1(8c234f0964018eb21efff7a9e820c355d4465401), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 DY)" ) -GAME_CUSTOM( 199?, m4tenten__2, m4tenten, "t2504k.p1", 0x0000, 0x010000, CRC(c489942d) SHA1(047509ede2cb5a155274698423a1caa32ac0baeb), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 K)" ) -GAME_CUSTOM( 199?, m4tenten__3, m4tenten, "t2504r.p1", 0x0000, 0x010000, CRC(da847c46) SHA1(b5897fe0266ee3eb5f364570f29ffca3de8c4c7f), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 R)" ) -GAME_CUSTOM( 199?, m4tenten__5, m4tenten, "t2504y.p1", 0x0000, 0x010000, CRC(e311f030) SHA1(ce21932013f1fdab1b9bbe8eb61d4fe067ccc62f), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 Y)" ) // "(C)1991 BARCREST" and "T2T 0.1" GAME_CUSTOM( 199?, m4tenten__af, m4tenten, "t2t01s.p1", 0x0000, 0x010000, CRC(75b421e3) SHA1(d5de7485180baf9d8458a895edbfd65310fed2cc), "Barcrest","10 X 10 (Barcrest) (MPU4) (T2T 0.1)" ) GAME_CUSTOM( 199?, m4tenten__6, m4tenten, "t2t01ad.p1", 0x0000, 0x010000, CRC(debb50d9) SHA1(18b099111d81cf847155b81faba8be06cdfb3d54), "Barcrest","10 X 10 (Barcrest) (MPU4) (T2T 0.1 AD)" ) @@ -3715,12 +4917,65 @@ GAME_CUSTOM( 199?, m4tenten__az, m4tenten, "tst01k.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4tenten__a0, m4tenten, "tst01r.p1", 0x0000, 0x010000, CRC(ccc4ecb5) SHA1(0629c7951b56f44b8cb48d9aa66fb7c71ae275ec), "Barcrest","10 X 10 (Barcrest) (MPU4) (TST 0.1 R)" ) GAME_CUSTOM( 199?, m4tenten__a2, m4tenten, "tst01y.p1", 0x0000, 0x010000, CRC(e3ba4b94) SHA1(a7b13c172e5177711ddb81ef1ea77e27e14bf470), "Barcrest","10 X 10 (Barcrest) (MPU4) (TST 0.1 Y)" ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4TENTEN_EXTRA_ROMS \ + ROM_END \ + GAMEL( year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4tenten, ROT0, company, title, GAME_FLAGS, layout_m4tenten ) -void mpu4_state::init_m4andyfh() +// "(C)1991 BARCREST" and "T20 0.2" +GAME_CUSTOM( 199?, m4tenten, 0, "t2002s.p1", 0x0000, 0x010000, CRC(6cd9fa10) SHA1(8efe36e3fc5b709fa4363194634686d62b5d6609), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2)" ) +GAME_CUSTOM( 199?, m4tenten__l, m4tenten, "t2002ad.p1", 0x0000, 0x010000, CRC(f7903f0d) SHA1(8a10ff31ddaad817a31d39ea9a66d4453d8767bb), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 AD)" ) +GAME_CUSTOM( 199?, m4tenten__m, m4tenten, "t2002b.p1", 0x0000, 0x010000, CRC(90e150ea) SHA1(abc8456de42cef605e1f0e80a97b25cd51d90707), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 B)" ) +GAME_CUSTOM( 199?, m4tenten__n, m4tenten, "t2002bd.p1", 0x0000, 0x010000, CRC(110c0d5c) SHA1(a263c678ebd58c95f33b198be544b726ac506449), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 BD)" ) +GAME_CUSTOM( 199?, m4tenten__o, m4tenten, "t2002d.p1", 0x0000, 0x010000, CRC(65a9bb19) SHA1(9a472eaded63ecab260cda03fb9e96bc6db5a99e), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 D)" ) +GAME_CUSTOM( 199?, m4tenten__p, m4tenten, "t2002dk.p1", 0x0000, 0x010000, CRC(7cbbca26) SHA1(238717c37fbfab737805f46225ac740fed9a9501), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 KD)" ) +GAME_CUSTOM( 199?, m4tenten__q, m4tenten, "t2002dr.p1", 0x0000, 0x010000, CRC(b43b946d) SHA1(9239adb301eef818fe46ce7f3ce8b01a47031165), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 RD)" ) +GAME_CUSTOM( 199?, m4tenten__r, m4tenten, "t2002dy.p1", 0x0000, 0x010000, CRC(883e6777) SHA1(d5a5f0624ccf373922ef4b41519c6c95a2367b2a), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 DY)" ) +GAME_CUSTOM( 199?, m4tenten__s, m4tenten, "t2002k.p1", 0x0000, 0x010000, CRC(34628c9d) SHA1(3547dac8fd73abcba0f088c3f2db02ef8a40cf4e), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 K)" ) +GAME_CUSTOM( 199?, m4tenten__t, m4tenten, "t2002r.p1", 0x0000, 0x010000, CRC(9c639380) SHA1(c044b7fc53daa01d93c701a3d3c786ab6a883e76), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 R)" ) +GAME_CUSTOM( 199?, m4tenten__u, m4tenten, "t2002y.p1", 0x0000, 0x010000, CRC(dcf2ac8c) SHA1(e745534f45148ff33e6b1e503108a39e27d8bdae), "Barcrest","10 X 10 (Barcrest) (MPU4) (T20 0.2 Y)" ) +// "(C)1991 BARCREST" and "N25 0.3" +GAME_CUSTOM( 199?, m4tenten__j, m4tenten, "n2503s.p1", 0x0000, 0x010000, CRC(0d9e912c) SHA1(67d888fde242e81a1808f36e1e81c0c5724e99a7), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3)" ) +GAME_CUSTOM( 199?, m4tenten__a, m4tenten, "n2503ad.p1", 0x0000, 0x010000, CRC(c84150e6) SHA1(8f143c26c6026a413bdd65ca148d78dead1d2474), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 AD)" ) +GAME_CUSTOM( 199?, m4tenten__b, m4tenten, "n2503b.p1", 0x0000, 0x010000, CRC(dd74fb57) SHA1(402f632f48cf1153cb8c22879a7482c82c8fecfe), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 B)" ) +GAME_CUSTOM( 199?, m4tenten__c, m4tenten, "n2503bd.p1", 0x0000, 0x010000, CRC(62542d80) SHA1(90ebfb92891a7aaa4814b733c0e0df06bb292a4f), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 BD)" ) +GAME_CUSTOM( 199?, m4tenten__d, m4tenten, "n2503d.p1", 0x0000, 0x010000, CRC(b8c64fa4) SHA1(f53d9bdf97cc021399c8598a051ad5bcb7a611b5), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 D)" ) +GAME_CUSTOM( 199?, m4tenten__e, m4tenten, "n2503dk.p1", 0x0000, 0x010000, CRC(28715d57) SHA1(1ab648a7f5dde5575e5ab5653823e4b88580677f), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 KD)" ) +GAME_CUSTOM( 199?, m4tenten__f, m4tenten, "n2503dr.p1", 0x0000, 0x010000, CRC(59932d11) SHA1(9895392ce48569e23816646124933192b6f720e3), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 RD)" ) +GAME_CUSTOM( 199?, m4tenten__g, m4tenten, "n2503dy.p1", 0x0000, 0x010000, CRC(287b8ee7) SHA1(10e428c73911e01ba53dd4321eb2c5a58e35441e), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 DY)" ) +GAME_CUSTOM( 199?, m4tenten__h, m4tenten, "n2503k.p1", 0x0000, 0x010000, CRC(f240b5ba) SHA1(fca353213447e50e29f1cd2c0d3895c437ae9336), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 K)" ) +GAME_CUSTOM( 199?, m4tenten__i, m4tenten, "n2503r.p1", 0x0000, 0x010000, CRC(afaacb9d) SHA1(1bf3d648b82a8160ff1a38d92d2bb3ce1b41125e), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 R)" ) +GAME_CUSTOM( 199?, m4tenten__k, m4tenten, "n2503y.p1", 0x0000, 0x010000, CRC(b365cff0) SHA1(65ab9d624bec1efc0590cec739541887ca20fc6f), "Barcrest","10 X 10 (Barcrest) (MPU4) (N25 0.3 Y)" ) +// "(C)1991 BARCREST" and "T25 0.4" +GAME_CUSTOM( 199?, m4tenten__4, m4tenten, "t2504s.p1", 0x0000, 0x010000, CRC(a7618248) SHA1(e28d34a7a4b2eb3f6192a04cc8849475f021d392), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4)" ) +GAME_CUSTOM( 199?, m4tenten__v, m4tenten, "t2504ad.p1", 0x0000, 0x010000, CRC(f964cf74) SHA1(a72bd32f3785506e8f57107f2b8e42d64cbe267b), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 AD)" ) +GAME_CUSTOM( 199?, m4tenten__w, m4tenten, "t2504b.p1", 0x0000, 0x010000, CRC(f6cc485b) SHA1(6a95bf4c0cf35ccb79cb2a9e6bef208d6b61f4c7), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 B)" ) +GAME_CUSTOM( 199?, m4tenten__x, m4tenten, "t2504bd.p1", 0x0000, 0x010000, CRC(f4ce2ee9) SHA1(8d0dc72f288810118702d00dc08f4e748c4da9e6), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 BD)" ) +GAME_CUSTOM( 199?, m4tenten__y, m4tenten, "t2504d.p1", 0x0000, 0x010000, CRC(44975553) SHA1(29116ab2d8bcbd7e73c2fa63381e93df7f9bdad9), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 D)" ) +GAME_CUSTOM( 199?, m4tenten__z, m4tenten, "t2504dk.p1", 0x0000, 0x010000, CRC(3794f312) SHA1(1c15c9dd9c2631ea7fce070b45fd960cad053fcb), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 KD)" ) +GAME_CUSTOM( 199?, m4tenten__0, m4tenten, "t2504dr.p1", 0x0000, 0x010000, CRC(96c76a75) SHA1(28cf5e111b98e8f78ba5a5ea1ad59fc92657cd08), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 RD)" ) +GAME_CUSTOM( 199?, m4tenten__1, m4tenten, "t2504dy.p1", 0x0000, 0x010000, CRC(af52e603) SHA1(8c234f0964018eb21efff7a9e820c355d4465401), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 DY)" ) +GAME_CUSTOM( 199?, m4tenten__2, m4tenten, "t2504k.p1", 0x0000, 0x010000, CRC(c489942d) SHA1(047509ede2cb5a155274698423a1caa32ac0baeb), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 K)" ) +GAME_CUSTOM( 199?, m4tenten__3, m4tenten, "t2504r.p1", 0x0000, 0x010000, CRC(da847c46) SHA1(b5897fe0266ee3eb5f364570f29ffca3de8c4c7f), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 R)" ) +GAME_CUSTOM( 199?, m4tenten__5, m4tenten, "t2504y.p1", 0x0000, 0x010000, CRC(e311f030) SHA1(ce21932013f1fdab1b9bbe8eb61d4fe067ccc62f), "Barcrest","10 X 10 (Barcrest) (MPU4) (T25 0.4 Y)" ) + + +/***************************************************************************************************************************************************************************** +* +* Andy's Full House +* +*****************************************************************************************************************************************************************************/ + + +void mpu4mod4oki_machines_state::init_m4andyfh() { //Derived from Andy's_Full_House_(Barcrest)_[C01_800_10jp].gam init_m4default(); -// init_m4_showstring(); +// init_m4default(); init_m4_hopper_tubes(); init_m4default_reels(); //PCKEY =b @@ -3754,6 +5009,7 @@ void mpu4_state::init_m4andyfh() ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "afhsnd1.bin", 0x000000, 0x080000, CRC(ce0b1890) SHA1(224d05f936a1b6f84ad682c282c557e87ad8931f) ) \ ROM_LOAD( "afhsnd2.bin", 0x080000, 0x080000, CRC(8a4dda7b) SHA1(ee77295609ff646212faa207e56acb2440d859b8) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -3761,7 +5017,7 @@ void mpu4_state::init_m4andyfh() ROM_LOAD( name, offset, length, hash ) \ M4ANDYFH_EXTRA_ROMS \ ROM_END \ - GAMEL( year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4andyfh, ROT0, company, title, GAME_FLAGS, layout_m4andyfh ) + GAMEL( year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4andyfh, ROT0, company, title, GAME_FLAGS, layout_m4andyfh ) // "(C)1991 BARCREST" and "AFH 0.1" @@ -3798,18 +5054,6 @@ GAME_CUSTOM( 199?, m4andyfh__y, m4andyfh, "aftdy.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4andyfh__z, m4andyfh, "aftk.p1", 0x0000, 0x010000, CRC(8d87a910) SHA1(a315210a5c9d880621937412ff6d8d42ac658db2), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFT 0.3 K)" ) GAME_CUSTOM( 199?, m4andyfh__0, m4andyfh, "aftr.p1", 0x0000, 0x010000, CRC(1be08c33) SHA1(21cd201cae159a1a3ee17f9661bc6db5e5a0ad48), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFT 0.3 R)" ) GAME_CUSTOM( 199?, m4andyfh__2, m4andyfh, "afty.p1", 0x0000, 0x010000, CRC(d14f2670) SHA1(a6d21e855fbb90e80c8b8c4af02280343edcb3e8), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFT 0.3 Y)" ) -// "(C)1991 BARCREST" and "AFU 0.2" -GAME_CUSTOM( 199?, m4andyfh__ac, m4andyfh, "afus.p1", 0x0000, 0x010000, CRC(efbde76c) SHA1(abad98f2affb46e449a50f5a43729160b275294b), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2)" ) -GAME_CUSTOM( 199?, m4andyfh__3, m4andyfh, "afuad.p1", 0x0000, 0x010000, CRC(0f14e261) SHA1(080a5667127e14b6959ff1508f028fd849c27c24), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 AD)" ) -GAME_CUSTOM( 199?, m4andyfh__4, m4andyfh, "afub.p1", 0x0000, 0x010000, CRC(99c6a4cc) SHA1(36fe83a32aeab413c19bc253edeadf4bc0f73615), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 B)" ) -GAME_CUSTOM( 199?, m4andyfh__5, m4andyfh, "afubd.p1", 0x0000, 0x010000, CRC(c38d376a) SHA1(843d0dcc0909ea7cd93f6ba707e784b160cb4984), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 BD)" ) -GAME_CUSTOM( 199?, m4andyfh__6, m4andyfh, "afud.p1", 0x0000, 0x010000, CRC(640e0f24) SHA1(47879027c98557e7087b4fdf40161dbecc0f5c45), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 D)" ) -GAME_CUSTOM( 199?, m4andyfh__7, m4andyfh, "afudk.p1", 0x0000, 0x010000, CRC(eeebf560) SHA1(518931322d1ba7d7fe51140a21b38dd3a90f308a), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 KD)" ) -GAME_CUSTOM( 199?, m4andyfh__8, m4andyfh, "afudr.p1", 0x0000, 0x010000, CRC(5f1e67ee) SHA1(80f13720256e00f924cdb2ad8f9101d131addcfb), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 RD)" ) -GAME_CUSTOM( 199?, m4andyfh__9, m4andyfh, "afudy.p1", 0x0000, 0x010000, CRC(c2754f00) SHA1(4012231cb4a2eb0e0010f90d173295aa3c1fd6a5), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 YD)" ) -GAME_CUSTOM( 199?, m4andyfh__aa, m4andyfh, "afuk.p1", 0x0000, 0x010000, CRC(f58fcf3c) SHA1(3731eab62e447a833b7decde842eda6a36cfadef), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 K)" ) -GAME_CUSTOM( 199?, m4andyfh__ab, m4andyfh, "afur.p1", 0x0000, 0x010000, CRC(0369ab49) SHA1(53acb382fada789c976b1dd124014778cfe518bc), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 R)" ) -GAME_CUSTOM( 199?, m4andyfh__ad, m4andyfh, "afuy.p1", 0x0000, 0x010000, CRC(9e0283a7) SHA1(63c0e3f26132a6bd6d8d3a8a3d0ab46e52fb2c09), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 Y)" ) // "(C)1991 BARCREST" and "CA4 0.8" GAME_CUSTOM( 199?, m4andyfh__al, m4andyfh, "ca4s.p1", 0x0000, 0x010000, CRC(ece1bca7) SHA1(84a168e0d36f7c4f56fc3a7579fe335cc1e5a5ba), "Barcrest","Andy's Full House (Barcrest) (MPU4) (CA4 0.8)" ) GAME_CUSTOM( 199?, m4andyfh__ae, m4andyfh, "ca4ad.p1", 0x0000, 0x010000, CRC(bb311861) SHA1(9606b536c2775997935049caddb79170a98211b4), "Barcrest","Andy's Full House (Barcrest) (MPU4) (CA4 0.8 AD)" ) @@ -3841,10 +5085,35 @@ GAME_CUSTOM( 199?, m4andyfh__a1, m4andyfh, "caudy.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4andyfh__a2, m4andyfh, "cauk.p1", 0x0000, 0x010000, CRC(38c7b3b0) SHA1(d5ee172e37e65911a4010abe7baae3e32131208d), "Barcrest","Andy's Full House (Barcrest) (MPU4) (CAU 0.1 K / CA4 0.1)" ) GAME_CUSTOM( 199?, m4andyfh__a4, m4andyfh, "cauy.p1", 0x0000, 0x010000, CRC(b04ab546) SHA1(5f9d3a24fb0091406e45cdad7f22fad4bda27bff), "Barcrest","Andy's Full House (Barcrest) (MPU4) (CAU 0.1 Y / CA4 0.1)" ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4ANDYFH_EXTRA_ROMS \ + ROM_END \ + GAMEL( year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4andyfh, ROT0, company, title, GAME_FLAGS, layout_m4andyfh ) + +// "(C)1991 BARCREST" and "AFU 0.2" +GAME_CUSTOM( 199?, m4andyfh__ac, m4andyfh, "afus.p1", 0x0000, 0x010000, CRC(efbde76c) SHA1(abad98f2affb46e449a50f5a43729160b275294b), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2)" ) +GAME_CUSTOM( 199?, m4andyfh__3, m4andyfh, "afuad.p1", 0x0000, 0x010000, CRC(0f14e261) SHA1(080a5667127e14b6959ff1508f028fd849c27c24), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 AD)" ) +GAME_CUSTOM( 199?, m4andyfh__4, m4andyfh, "afub.p1", 0x0000, 0x010000, CRC(99c6a4cc) SHA1(36fe83a32aeab413c19bc253edeadf4bc0f73615), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 B)" ) +GAME_CUSTOM( 199?, m4andyfh__5, m4andyfh, "afubd.p1", 0x0000, 0x010000, CRC(c38d376a) SHA1(843d0dcc0909ea7cd93f6ba707e784b160cb4984), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 BD)" ) +GAME_CUSTOM( 199?, m4andyfh__6, m4andyfh, "afud.p1", 0x0000, 0x010000, CRC(640e0f24) SHA1(47879027c98557e7087b4fdf40161dbecc0f5c45), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 D)" ) +GAME_CUSTOM( 199?, m4andyfh__7, m4andyfh, "afudk.p1", 0x0000, 0x010000, CRC(eeebf560) SHA1(518931322d1ba7d7fe51140a21b38dd3a90f308a), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 KD)" ) +GAME_CUSTOM( 199?, m4andyfh__8, m4andyfh, "afudr.p1", 0x0000, 0x010000, CRC(5f1e67ee) SHA1(80f13720256e00f924cdb2ad8f9101d131addcfb), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 RD)" ) +GAME_CUSTOM( 199?, m4andyfh__9, m4andyfh, "afudy.p1", 0x0000, 0x010000, CRC(c2754f00) SHA1(4012231cb4a2eb0e0010f90d173295aa3c1fd6a5), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 YD)" ) +GAME_CUSTOM( 199?, m4andyfh__aa, m4andyfh, "afuk.p1", 0x0000, 0x010000, CRC(f58fcf3c) SHA1(3731eab62e447a833b7decde842eda6a36cfadef), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 K)" ) +GAME_CUSTOM( 199?, m4andyfh__ab, m4andyfh, "afur.p1", 0x0000, 0x010000, CRC(0369ab49) SHA1(53acb382fada789c976b1dd124014778cfe518bc), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 R)" ) +GAME_CUSTOM( 199?, m4andyfh__ad, m4andyfh, "afuy.p1", 0x0000, 0x010000, CRC(9e0283a7) SHA1(63c0e3f26132a6bd6d8d3a8a3d0ab46e52fb2c09), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2 Y)" ) + +/***************************************************************************************************************************************************************************** +* +* Boulder Dash +* +*****************************************************************************************************************************************************************************/ #define M4BDASH_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "blds1.hex", 0x000000, 0x080000, CRC(9cc07f5f) SHA1(e25295eb304624ed77d98d7e974363214c2c2cd1) ) \ ROM_LOAD( "blds2.hex", 0x080000, 0x080000, CRC(949bee73) SHA1(9ea2001a4d91236708dc948b4e1cac9978095945) ) @@ -3855,7 +5124,49 @@ GAME_CUSTOM( 199?, m4andyfh__a4, m4andyfh, "cauy.p1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4BDASH_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "BLD 1.0" +GAME_CUSTOM( 199?, m4bdash__2, m4bdash, "bld10s.p1", 0x0000, 0x020000, CRC(c59c186b) SHA1(83f16e15a215fe1cf3c07fac7268b00c55e0ff5b), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0)" ) +GAME_CUSTOM( 199?, m4bdash__q, m4bdash, "bld10ad.p1", 0x0000, 0x020000, CRC(04b2781e) SHA1(828426d6191974050e3ccbfbc826d5474dc18312), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 AD)" ) +GAME_CUSTOM( 199?, m4bdash__r, m4bdash, "bld10b.p1", 0x0000, 0x020000, CRC(160a6c83) SHA1(e2421fbc166b9e64a2b10afbfd12ebc724077248), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 B)" ) +GAME_CUSTOM( 199?, m4bdash__s, m4bdash, "bld10bd.p1", 0x0000, 0x020000, CRC(89a8d6db) SHA1(c93b8d7c57a970649204078f3428fc766ada32f7), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 BD)" ) +GAME_CUSTOM( 199?, m4bdash__t, m4bdash, "bld10c.p1", 0x0000, 0x020000, CRC(2140d191) SHA1(151aba51cf0909f8bc3d252ef49a2ae2e96adf32), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 C)" ) +GAME_CUSTOM( 199?, m4bdash__u, m4bdash, "bld10d.p1", 0x0000, 0x020000, CRC(6b1167f5) SHA1(2aeb0fa0964867d90412bfd895da664d9be8a339), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 D)" ) +GAME_CUSTOM( 199?, m4bdash__v, m4bdash, "bld10dh.p1", 0x0000, 0x020000, CRC(e0684b17) SHA1(eb2832a3344aa9dfdc10c845faf3ae67171c40e9), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 DH)" ) +GAME_CUSTOM( 199?, m4bdash__w, m4bdash, "bld10dk.p1", 0x0000, 0x020000, CRC(c36f7e8d) SHA1(1ee7bcca0cfdd27cd23328f60aa5230325db6366), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 KD)" ) +GAME_CUSTOM( 199?, m4bdash__x, m4bdash, "bld10dr.p1", 0x0000, 0x020000, CRC(7060c5bc) SHA1(e409684b5f2494c1e580e4c9db001e89ef63ea1a), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 RD)" ) +GAME_CUSTOM( 199?, m4bdash__y, m4bdash, "bld10dy.p1", 0x0000, 0x020000, CRC(448c5e73) SHA1(38193dbe23266d29344439d75e020b8236d34037), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 YD)" ) +GAME_CUSTOM( 199?, m4bdash__z, m4bdash, "bld10h.p1", 0x0000, 0x020000, CRC(7fcaf14f) SHA1(e093bbaea83f7b2683b968b70d821ec42addab92), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 H)" ) +GAME_CUSTOM( 199?, m4bdash__0, m4bdash, "bld10k.p1", 0x0000, 0x020000, CRC(5ccdc4d5) SHA1(b7be6f027092106ef5e33ff988a153050f48943b), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 K)" ) +GAME_CUSTOM( 199?, m4bdash__1, m4bdash, "bld10r.p1", 0x0000, 0x020000, CRC(efc27fe4) SHA1(1ed3c5c92505b7fdf4993a9c8b119eff5e9a6f94), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 R)" ) +GAME_CUSTOM( 199?, m4bdash__3, m4bdash, "bld10y.p1", 0x0000, 0x020000, CRC(db2ee42b) SHA1(b6a4bb4f78c14428a7bd2286b8fda51acb0c9e10), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 Y)" ) +// "(C)1993 BARCREST" and "BLS 0.2" +GAME_CUSTOM( 199?, m4bdash__at, m4bdash, "bls02s.p1", 0x0000, 0x020000, CRC(b8e435d5) SHA1(500c30d687d3e029f22de2bf132c12349c1575b4), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2)" ) +GAME_CUSTOM( 199?, m4bdash__ah, m4bdash, "bls02ad.p1", 0x0000, 0x020000, CRC(f4b6828b) SHA1(8ca39a9dc29b40a097489e34ababaf70eb58c326), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 AD)" ) +GAME_CUSTOM( 199?, m4bdash__ai, m4bdash, "bls02b.p1", 0x0000, 0x020000, CRC(d75f9bdb) SHA1(2018e1ebe4f00782be649544bc8d56d923d6c198), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 B)" ) +GAME_CUSTOM( 199?, m4bdash__aj, m4bdash, "bls02bd.p1", 0x0000, 0x020000, CRC(79ac2c4e) SHA1(83d6828272438ae0d687b40368701cbccac32d9f), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 BD)" ) +GAME_CUSTOM( 199?, m4bdash__ak, m4bdash, "bls02c.p1", 0x0000, 0x020000, CRC(e01526c9) SHA1(1bc17c22e0741f6dbf1c3ad2e154ce8acc1e1788), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 C)" ) +GAME_CUSTOM( 199?, m4bdash__al, m4bdash, "bls02d.p1", 0x0000, 0x020000, CRC(aa4490ad) SHA1(963482e4977309babf35732be0b7046c543808d3), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 D)" ) +GAME_CUSTOM( 199?, m4bdash__am, m4bdash, "bls02dh.p1", 0x0000, 0x020000, CRC(106cb182) SHA1(1556392744646d8852cc82975dd94df250d54bfa), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 DH)" ) +GAME_CUSTOM( 199?, m4bdash__an, m4bdash, "bls02dk.p1", 0x0000, 0x020000, CRC(336b8418) SHA1(c42a29c7599c2d8025b8e25fcda0034100a43835), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 KD)" ) +GAME_CUSTOM( 199?, m4bdash__ao, m4bdash, "bls02dr.p1", 0x0000, 0x020000, CRC(80643f29) SHA1(e9128f78e7051274dbaab28051a1f23ed2426c3c), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 RD)" ) +GAME_CUSTOM( 199?, m4bdash__ap, m4bdash, "bls02dy.p1", 0x0000, 0x020000, CRC(b488a4e6) SHA1(7a9083cfa9032cb0e6e28c22dde8da9a1bebadcf), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 YD)" ) +GAME_CUSTOM( 199?, m4bdash__aq, m4bdash, "bls02h.p1", 0x0000, 0x020000, CRC(be9f0617) SHA1(fcc491ae5cb5312f47726c4b9ffda99317171bab), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 H)" ) +GAME_CUSTOM( 199?, m4bdash__ar, m4bdash, "bls02k.p1", 0x0000, 0x020000, CRC(9d98338d) SHA1(0e43896ae8361894c9060ec7a74dd23c6e2bed56), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 K)" ) +GAME_CUSTOM( 199?, m4bdash__as, m4bdash, "bls02r.p1", 0x0000, 0x020000, CRC(2e9788bc) SHA1(586a30b3485e0ceb8b9b389e103fdbab78115446), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 R)" ) +GAME_CUSTOM( 199?, m4bdash__au, m4bdash, "bls02y.p1", 0x0000, 0x020000, CRC(1a7b1373) SHA1(dde4754d92f0fde495ab826294a650ac81fd586e), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4BDASH_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// many of the sets below won't show the BAD CHR error in the display if it's incorrect // "(C)1993 BARCREST" and "BLS 0.1" GAME_CUSTOM( 199?, m4bdash, 0, "bls01s.p1", 0x0000, 0x020000, CRC(4e4f403b) SHA1(f040568af530cf0ff060199f98b00e476191da22), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.1)" ) @@ -3889,36 +5200,16 @@ GAME_CUSTOM( 199?, m4bdash__l, m4bdash, "bld07h.p1", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4bdash__m, m4bdash, "bld07k.p1", 0x0000, 0x020000, CRC(01e34457) SHA1(5e9d8cb558222340df42904365ad90288ca5cdf2), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 0.7 K)" ) GAME_CUSTOM( 199?, m4bdash__n, m4bdash, "bld07r.p1", 0x0000, 0x020000, CRC(b2ecff66) SHA1(9d8bca3e137a654d786b9257ce1206c7118ac6e0), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 0.7 R)" ) GAME_CUSTOM( 199?, m4bdash__p, m4bdash, "bld07y.p1", 0x0000, 0x020000, CRC(860064a9) SHA1(8e13df769bde73bc5af3fa8010b39502e269f63f), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 0.7 Y)" ) -// "(C)1993 BARCREST" and "BLD 1.0" -GAME_CUSTOM( 199?, m4bdash__2, m4bdash, "bld10s.p1", 0x0000, 0x020000, CRC(c59c186b) SHA1(83f16e15a215fe1cf3c07fac7268b00c55e0ff5b), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0)" ) -GAME_CUSTOM( 199?, m4bdash__q, m4bdash, "bld10ad.p1", 0x0000, 0x020000, CRC(04b2781e) SHA1(828426d6191974050e3ccbfbc826d5474dc18312), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 AD)" ) -GAME_CUSTOM( 199?, m4bdash__r, m4bdash, "bld10b.p1", 0x0000, 0x020000, CRC(160a6c83) SHA1(e2421fbc166b9e64a2b10afbfd12ebc724077248), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 B)" ) -GAME_CUSTOM( 199?, m4bdash__s, m4bdash, "bld10bd.p1", 0x0000, 0x020000, CRC(89a8d6db) SHA1(c93b8d7c57a970649204078f3428fc766ada32f7), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 BD)" ) -GAME_CUSTOM( 199?, m4bdash__t, m4bdash, "bld10c.p1", 0x0000, 0x020000, CRC(2140d191) SHA1(151aba51cf0909f8bc3d252ef49a2ae2e96adf32), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 C)" ) -GAME_CUSTOM( 199?, m4bdash__u, m4bdash, "bld10d.p1", 0x0000, 0x020000, CRC(6b1167f5) SHA1(2aeb0fa0964867d90412bfd895da664d9be8a339), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 D)" ) -GAME_CUSTOM( 199?, m4bdash__v, m4bdash, "bld10dh.p1", 0x0000, 0x020000, CRC(e0684b17) SHA1(eb2832a3344aa9dfdc10c845faf3ae67171c40e9), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 DH)" ) -GAME_CUSTOM( 199?, m4bdash__w, m4bdash, "bld10dk.p1", 0x0000, 0x020000, CRC(c36f7e8d) SHA1(1ee7bcca0cfdd27cd23328f60aa5230325db6366), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 KD)" ) -GAME_CUSTOM( 199?, m4bdash__x, m4bdash, "bld10dr.p1", 0x0000, 0x020000, CRC(7060c5bc) SHA1(e409684b5f2494c1e580e4c9db001e89ef63ea1a), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 RD)" ) -GAME_CUSTOM( 199?, m4bdash__y, m4bdash, "bld10dy.p1", 0x0000, 0x020000, CRC(448c5e73) SHA1(38193dbe23266d29344439d75e020b8236d34037), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 YD)" ) -GAME_CUSTOM( 199?, m4bdash__z, m4bdash, "bld10h.p1", 0x0000, 0x020000, CRC(7fcaf14f) SHA1(e093bbaea83f7b2683b968b70d821ec42addab92), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 H)" ) -GAME_CUSTOM( 199?, m4bdash__0, m4bdash, "bld10k.p1", 0x0000, 0x020000, CRC(5ccdc4d5) SHA1(b7be6f027092106ef5e33ff988a153050f48943b), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 K)" ) -GAME_CUSTOM( 199?, m4bdash__1, m4bdash, "bld10r.p1", 0x0000, 0x020000, CRC(efc27fe4) SHA1(1ed3c5c92505b7fdf4993a9c8b119eff5e9a6f94), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 R)" ) -GAME_CUSTOM( 199?, m4bdash__3, m4bdash, "bld10y.p1", 0x0000, 0x020000, CRC(db2ee42b) SHA1(b6a4bb4f78c14428a7bd2286b8fda51acb0c9e10), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0 Y)" ) -// "(C)1993 BARCREST" and "BLS 0.2" -GAME_CUSTOM( 199?, m4bdash__at, m4bdash, "bls02s.p1", 0x0000, 0x020000, CRC(b8e435d5) SHA1(500c30d687d3e029f22de2bf132c12349c1575b4), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2)" ) -GAME_CUSTOM( 199?, m4bdash__ah, m4bdash, "bls02ad.p1", 0x0000, 0x020000, CRC(f4b6828b) SHA1(8ca39a9dc29b40a097489e34ababaf70eb58c326), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 AD)" ) -GAME_CUSTOM( 199?, m4bdash__ai, m4bdash, "bls02b.p1", 0x0000, 0x020000, CRC(d75f9bdb) SHA1(2018e1ebe4f00782be649544bc8d56d923d6c198), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 B)" ) -GAME_CUSTOM( 199?, m4bdash__aj, m4bdash, "bls02bd.p1", 0x0000, 0x020000, CRC(79ac2c4e) SHA1(83d6828272438ae0d687b40368701cbccac32d9f), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 BD)" ) -GAME_CUSTOM( 199?, m4bdash__ak, m4bdash, "bls02c.p1", 0x0000, 0x020000, CRC(e01526c9) SHA1(1bc17c22e0741f6dbf1c3ad2e154ce8acc1e1788), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 C)" ) -GAME_CUSTOM( 199?, m4bdash__al, m4bdash, "bls02d.p1", 0x0000, 0x020000, CRC(aa4490ad) SHA1(963482e4977309babf35732be0b7046c543808d3), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 D)" ) -GAME_CUSTOM( 199?, m4bdash__am, m4bdash, "bls02dh.p1", 0x0000, 0x020000, CRC(106cb182) SHA1(1556392744646d8852cc82975dd94df250d54bfa), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 DH)" ) -GAME_CUSTOM( 199?, m4bdash__an, m4bdash, "bls02dk.p1", 0x0000, 0x020000, CRC(336b8418) SHA1(c42a29c7599c2d8025b8e25fcda0034100a43835), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 KD)" ) -GAME_CUSTOM( 199?, m4bdash__ao, m4bdash, "bls02dr.p1", 0x0000, 0x020000, CRC(80643f29) SHA1(e9128f78e7051274dbaab28051a1f23ed2426c3c), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 RD)" ) -GAME_CUSTOM( 199?, m4bdash__ap, m4bdash, "bls02dy.p1", 0x0000, 0x020000, CRC(b488a4e6) SHA1(7a9083cfa9032cb0e6e28c22dde8da9a1bebadcf), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 YD)" ) -GAME_CUSTOM( 199?, m4bdash__aq, m4bdash, "bls02h.p1", 0x0000, 0x020000, CRC(be9f0617) SHA1(fcc491ae5cb5312f47726c4b9ffda99317171bab), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 H)" ) -GAME_CUSTOM( 199?, m4bdash__ar, m4bdash, "bls02k.p1", 0x0000, 0x020000, CRC(9d98338d) SHA1(0e43896ae8361894c9060ec7a74dd23c6e2bed56), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 K)" ) -GAME_CUSTOM( 199?, m4bdash__as, m4bdash, "bls02r.p1", 0x0000, 0x020000, CRC(2e9788bc) SHA1(586a30b3485e0ceb8b9b389e103fdbab78115446), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 R)" ) -GAME_CUSTOM( 199?, m4bdash__au, m4bdash, "bls02y.p1", 0x0000, 0x020000, CRC(1a7b1373) SHA1(dde4754d92f0fde495ab826294a650ac81fd586e), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4BDASH_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // "(C)1999 BWB" and "BO_ 2.0" GAME_CUSTOM( 199?, m4bdash__ax, m4bdash, "bo__x__x.2_0", 0x0000, 0x020000, CRC(7e54982f) SHA1(c5187d2f6a5b202af5fd6326d52451d3b3f48f33), "Bwb","Boulder Dash (Barcrest) (MPU4) (BO_ 2.0)" ) GAME_CUSTOM( 199?, m4bdash__az, m4bdash, "bo__x_dx.2_0", 0x0000, 0x020000, CRC(d0d9e7b1) SHA1(31e858991fc1dfe9c1a8bd7955096617ebe0a4ce), "Bwb","Boulder Dash (Barcrest) (MPU4) (BO_ 2.0 D)" ) @@ -3929,47 +5220,40 @@ GAME_CUSTOM( 199?, m4bdash__ay, m4bdash, "bo__x__x.2_1", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4bdash__a0, m4bdash, "bo__x_dx.2_1", 0x0000, 0x020000, CRC(b6e146c4) SHA1(8bda363f16bd258d5c6ba1b20cecc0a76e0965f7), "Bwb","Boulder Dash (Barcrest) (MPU4) (BO_ 2.1 D)" ) GAME_CUSTOM( 199?, m4bdash__a2, m4bdash, "bo__xa_x.2_1", 0x0000, 0x020000, CRC(813de5e4) SHA1(498923261e49b20666a930593fcf25ccfc9a9d79), "Bwb","Boulder Dash (Barcrest) (MPU4) (BO_ 2.1 K)" ) GAME_CUSTOM( 199?, m4bdash__a4, m4bdash, "bo__xb_x.2_1", 0x0000, 0x020000, CRC(cbfa4db2) SHA1(d1ed60f876b4f056f478cfc23b08a7789379e143), "Bwb","Boulder Dash (Barcrest) (MPU4) (BO_ 2.1 B)" ) -// no copyright string and "BLD 1.0" -GAME_CUSTOM( 199?, m4bdash__a, m4bdash, "bdvarg.bin", 0x0000, 0x020000, CRC(99d579e7) SHA1(afc47144e0a8d464d8547b1ad14b0a3a1c15c027), "hack","Boulder Dash (Barcrest) (MPU4) (BLD 1.0, hack)" ) -// no copyright string and "BLD 0.7" -GAME_CUSTOM( 199?, m4bdash__av, m4bdash, "bold15g", 0x0000, 0x020000, CRC(fa400d34) SHA1(2faeb9b880fb4980aa0d96b4b962c879498445f2), "hack","Boulder Dash (Barcrest) (MPU4) (BLD 0.7 C, hack)" ) -// no copyright string and "BLS 0.1" -GAME_CUSTOM( 199?, m4bdash__aw, m4bdash, "bold15t", 0x0000, 0x020000, CRC(f3f331ae) SHA1(d999c8571549d8d26b7b861299d77c7282aef700), "hack","Boulder Dash (Barcrest) (MPU4) (BLS 0.1 C, hack)" ) - -#define M4PRZDTY_EXTRA_ROMS \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "pdusnd.p2", 0x000000, 0x080000, CRC(a5829cec) SHA1(eb65c86125350a7f384f9033f6a217284b6ff3d1) ) \ - ROM_LOAD( "pdusnd.p1", 0x080000, 0x080000, CRC(1e5d8407) SHA1(64ee6eba3fb7700a06b89a1e0489a0cd54bb89fd) ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ - M4PRZDTY_EXTRA_ROMS \ + M4BDASH_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) -// "(C)1993 BARCREST" and "PDU 0.2" -GAME_CUSTOM( 199?, m4przdty, 0, "pdus.p1", 0x0000, 0x010000, CRC(eaa2ae08) SHA1(a4cef3ee8c005fb717625699260d24ef6a368824), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PDU 0.2)" ) -GAME_CUSTOM( 199?, m4przdty__l, m4przdty, "pdub.p1", 0x0000, 0x010000, CRC(e50a571b) SHA1(b8412ae7211bfbf8098ae3ae70dfc2a99cd8558d), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PDU 0.2 B)" ) -GAME_CUSTOM( 199?, m4przdty__m, m4przdty, "pdud.p1", 0x0000, 0x010000, CRC(24cddc59) SHA1(c4fa0530387c5cd172d51b766315d3874cc61618), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PDU 0.2 D)" ) -GAME_CUSTOM( 199?, m4przdty__n, m4przdty, "pdudy.p1", 0x0000, 0x010000, CRC(b852ea1f) SHA1(375f0baaf64b1ea1e118f6d93417877174e094bb), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PDU 0.2 YD)" ) -GAME_CUSTOM( 199?, m4przdty__o, m4przdty, "pduk.p1", 0x0000, 0x010000, CRC(7d1c1897) SHA1(aa7753bef9b580f0a134960d74115cb43b91494f), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PDU 0.2 K)" ) -GAME_CUSTOM( 199?, m4przdty__p, m4przdty, "pduy.p1", 0x0000, 0x010000, CRC(460d967b) SHA1(ea55c87674d62ee6f525ae1ff08267e8b4b126aa), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PDU 0.2 Y)" ) -// "(C)1993 BARCREST" and "PD8 0.2" -GAME_CUSTOM( 199?, m4przdty__j, m4przdty, "pd8s.p1", 0x0000, 0x010000, CRC(65816bdb) SHA1(52717f789676ad66e4b8c5c023e23262408ef0b3), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2)" ) -GAME_CUSTOM( 199?, m4przdty__a, m4przdty, "pd8ad.p1", 0x0000, 0x010000, CRC(ff2bde9d) SHA1(6f75d1c4f8b136ad9dbfd6c0182dbe0f54f856a9), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 AD)" ) -GAME_CUSTOM( 199?, m4przdty__b, m4przdty, "pd8b.p1", 0x0000, 0x010000, CRC(123f8081) SHA1(1619e23f563f9c70e64dccf36743c60ee597cad4), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 B)" ) -GAME_CUSTOM( 199?, m4przdty__c, m4przdty, "pd8bd.p1", 0x0000, 0x010000, CRC(6136acca) SHA1(616cfc419beef50b642714df9b257ef0322bdfd4), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 BD)" ) -GAME_CUSTOM( 199?, m4przdty__d, m4przdty, "pd8d.p1", 0x0000, 0x010000, CRC(855896b5) SHA1(b093b1851cdfdf04d1f39b0a0c374de3594da97e), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 D)" ) -GAME_CUSTOM( 199?, m4przdty__e, m4przdty, "pd8dj.p1", 0x0000, 0x010000, CRC(fa898fc4) SHA1(7c873ba80ed479b929a4223fafa031508d2dcb61), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 DJ)" ) -GAME_CUSTOM( 199?, m4przdty__f, m4przdty, "pd8dk.p1", 0x0000, 0x010000, CRC(b76193c7) SHA1(ea7ae0f3031654435263fcf8b85dc8969216de94), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 KD)" ) -GAME_CUSTOM( 199?, m4przdty__g, m4przdty, "pd8dy.p1", 0x0000, 0x010000, CRC(8446848a) SHA1(23840190a3543c7fee0334bd1e9c0000eb2b7908), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 YD)" ) -GAME_CUSTOM( 199?, m4przdty__h, m4przdty, "pd8j.p1", 0x0000, 0x010000, CRC(8d74c338) SHA1(482fc028a04bd257a36b46ba3e6949f95cacd271), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 J)" ) -GAME_CUSTOM( 199?, m4przdty__i, m4przdty, "pd8k.p1", 0x0000, 0x010000, CRC(f4753cad) SHA1(4d41a2c40f56267ea31375046058ab2b22700414), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 K)" ) -GAME_CUSTOM( 199?, m4przdty__k, m4przdty, "pd8y.p1", 0x0000, 0x010000, CRC(c958ed40) SHA1(35c1905656d12c788e8766424dd400669189e2c7), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2 Y)" ) +// no copyright string and "BLD 0.7" +GAME_CUSTOM( 199?, m4bdash__av, m4bdash, "bold15g", 0x0000, 0x020000, CRC(fa400d34) SHA1(2faeb9b880fb4980aa0d96b4b962c879498445f2), "hack","Boulder Dash (Barcrest) (MPU4) (BLD 0.7 C, hack)" ) +// no copyright string and "BLS 0.1" +GAME_CUSTOM( 199?, m4bdash__aw, m4bdash, "bold15t", 0x0000, 0x020000, CRC(f3f331ae) SHA1(d999c8571549d8d26b7b861299d77c7282aef700), "hack","Boulder Dash (Barcrest) (MPU4) (BLS 0.1 C, hack)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4BDASH_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x68>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// no copyright string and "BLD 1.0" +GAME_CUSTOM( 199?, m4bdash__a, m4bdash, "bdvarg.bin", 0x0000, 0x020000, CRC(99d579e7) SHA1(afc47144e0a8d464d8547b1ad14b0a3a1c15c027), "hack","Boulder Dash (Barcrest) (MPU4) (BLD 1.0, hack)" ) + + +/***************************************************************************************************************************************************************************** +* +* Prize Money +* +*****************************************************************************************************************************************************************************/ #define M4PRZMON_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ @@ -3981,7 +5265,7 @@ GAME_CUSTOM( 199?, m4przdty__k, m4przdty, "pd8y.p1", 0x0000, 0x010000, CRC ROM_LOAD( name, offset, length, hash ) \ M4PRZMON_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_alt_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1991 BARCREST" and "FP8 0.1" GAME_CUSTOM( 199?, m4przmon, 0, "fp8s.p1", 0x0000, 0x010000, CRC(b43eef89) SHA1(15991ad9223ddce77277f5451b5557ff59e2647c), "Barcrest","Prize Money (Barcrest) (MPU4) (FP8 0.1)" ) @@ -4002,22 +5286,50 @@ GAME_CUSTOM( 199?, m4przmon__l, m4przmon, "fpmd.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4przmon__m, m4przmon, "fpmdy.p1", 0x0000, 0x010000, CRC(422b8f68) SHA1(d18926c7228dbd8f5228b6bd03d265318b5296fe), "Barcrest","Prize Money (Barcrest) (MPU4) (FPM 0.3 YD)" ) GAME_CUSTOM( 199?, m4przmon__n, m4przmon, "fpmk.p1", 0x0000, 0x010000, CRC(84f58f68) SHA1(e2297d53c8a7ee3c5058fc734b1f4ec533e93734), "Barcrest","Prize Money (Barcrest) (MPU4) (FPM 0.3 K)" ) GAME_CUSTOM( 199?, m4przmon__p, m4przmon, "fpmy.p1", 0x0000, 0x010000, CRC(2728c725) SHA1(d36f8129731f9479ed526f9abfab8647cf43fdce), "Barcrest","Prize Money (Barcrest) (MPU4) (FPM 0.3 Y)" ) -// "(C)1995 B.W.B." and "MC 53.0" -GAME_CUSTOM( 199?, m4przmon__q, m4przmon, "mt_05a__.3o3", 0x0000, 0x010000, CRC(4175f4a9) SHA1(b0e172e4862aa3b7be7accefc90e98d07d449b65), "Bwb","Prize Money (Barcrest) (MPU4) (MC 53.0 K)" ) -GAME_CUSTOM( 199?, m4przmon__s, m4przmon, "mt_05s__.3o3", 0x0000, 0x010000, CRC(92d674b7) SHA1(a828a9b0d870122bc09d865de90b8efa428f3fd0), "Bwb","Prize Money (Barcrest) (MPU4) (MC 53.0)" ) -GAME_CUSTOM( 199?, m4przmon__t, m4przmon, "mt_05sb_.3o3", 0x0000, 0x010000, CRC(1158e506) SHA1(8c91bfe29545bbbc0d136a8c9abef785cadc3c64), "Bwb","Prize Money (Barcrest) (MPU4) (MC 53.0 YD)" ) -GAME_CUSTOM( 199?, m4przmon__u, m4przmon, "mt_05sd_.3o3", 0x0000, 0x010000, CRC(5ed3d947) SHA1(4b9bc9be6e79014ad6ca95293eb464af39e40dc1), "Bwb","Prize Money (Barcrest) (MPU4) (MC 53.0 D)" ) -// "(C)1995 B.W.B." and "MT054.0" -GAME_CUSTOM( 199?, m4przmon__r, m4przmon, "mt_05a__.4o1", 0x0000, 0x010000, CRC(637fecee) SHA1(8c970bdf703177c71dde5c774c75929ac42b6eb0), "Bwb","Prize Money (Barcrest) (MPU4) (MT054.0 K)" ) -GAME_CUSTOM( 199?, m4przmon__0, m4przmon, "mti05___.4o1", 0x0000, 0x010000, CRC(0e82c258) SHA1(c4aa7d32bcd9418e2919be8be8a2f9e60d46f316), "Bwb","Prize Money (Barcrest) (MPU4) (MT054.0 C)" ) -// "(C)1995 B.W.B." and "MC103.0" -GAME_CUSTOM( 199?, m4przmon__v, m4przmon, "mt_10a__.3o3", 0x0000, 0x010000, CRC(6a8172a4) SHA1(92c081535258677e90d9f9748a168926c7a0cbed), "Bwb","Prize Money (Barcrest) (MPU4) (MC103.0 K)" ) -GAME_CUSTOM( 199?, m4przmon__x, m4przmon, "mt_10s__.3o3", 0x0000, 0x010000, CRC(1b66f0f8) SHA1(308227b0144f0568df8190810e0de627b413a742), "Bwb","Prize Money (Barcrest) (MPU4) (MC103.0)" ) -GAME_CUSTOM( 199?, m4przmon__y, m4przmon, "mt_10sb_.3o3", 0x0000, 0x010000, CRC(06a33d34) SHA1(5fa1269a7cf42ef14e2a19143a07bf28b38ad920), "Bwb","Prize Money (Barcrest) (MPU4) (MC103.0 YD)" ) -GAME_CUSTOM( 199?, m4przmon__z, m4przmon, "mt_10sd_.3o3", 0x0000, 0x010000, CRC(42629cb1) SHA1(12f695e1f70bf93100c1af8052dcee9131711510), "Bwb","Prize Money (Barcrest) (MPU4) (MC103.0 D)" ) -// "(C)1995 B.W.B." and "MT104.0" -GAME_CUSTOM( 199?, m4przmon__w, m4przmon, "mt_10a__.4o1", 0x0000, 0x010000, CRC(36eeac30) SHA1(daa662392874806d18d4a161d39caed7e0abca73), "Bwb","Prize Money (Barcrest) (MPU4) (MT104.0 K)" ) -GAME_CUSTOM( 199?, m4przmon__1, m4przmon, "mti10___.4o1", 0x0000, 0x010000, CRC(a35e0571) SHA1(9a22946047e76392f0c4534f892ee9ae9e700503), "Bwb","Prize Money (Barcrest) (MPU4) (MT104.0 C)" ) + +/***************************************************************************************************************************************************************************** +* +* Prize Money Showcase +* +*****************************************************************************************************************************************************************************/ + +#define M4PRZMNS_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "s_fpmsnd.p1", 0x000000, 0x080000, CRC(e5bfc522) SHA1(38c8430f539d38a51a3d7fb846b625ae2080e930) ) \ + ROM_LOAD( "s_fpmsnd.p2", 0x080000, 0x080000, CRC(e14803ab) SHA1(41d501f61f202df2dbd2ac13c40a32fff6afc861) ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4PRZMNS_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_alt_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1991 BARCREST" and "SPM 0.2" +GAME_CUSTOM( 199?, m4przmns, 0, "spms.p1", 0x0000, 0x010000, CRC(7d684358) SHA1(b07b13d6827e5ea4127eb763f4233a3d35ea99e6), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SPM 0.2)" ) +GAME_CUSTOM( 199?, m4przmns__n, m4przmns, "spmy.p1", 0x0000, 0x010000, CRC(2b27b2a0) SHA1(07950616da39e39d19452859390d3eaad89ea377), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SPM 0.2 Y)" ) +GAME_CUSTOM( 199?, m4przmns__j, m4przmns, "spmb.p1", 0x0000, 0x010000, CRC(752dd1c6) SHA1(e180c959bc3fb8bce9da22ed6e74fa03e4562a74), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SPM 0.2 B)" ) +GAME_CUSTOM( 199?, m4przmns__k, m4przmns, "spmd.p1", 0x0000, 0x010000, CRC(34172b4f) SHA1(8594d3863e3de3e6300cd5f4588545bf82c89e00), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SPM 0.2 D)" ) +GAME_CUSTOM( 199?, m4przmns__l, m4przmns, "spmdy.p1", 0x0000, 0x010000, CRC(1abed85e) SHA1(0b2d7e0127c30f6704a7f64a2955ecf3e8010206), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SPM 0.2 YD)" ) +GAME_CUSTOM( 199?, m4przmns__m, m4przmns, "spmk.p1", 0x0000, 0x010000, CRC(ba2f467a) SHA1(327ebad946b028f387e04e9db9f882320995d175), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SPM 0.2 K)" ) +// "(C)1991 BARCREST" and "SM8 0.1" +GAME_CUSTOM( 199?, m4przmns__h, m4przmns, "sm8s.p1", 0x0000, 0x010000, CRC(be159855) SHA1(277884b5417857fa661b09d3e41bef2b22b89f6c), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1)" ) +GAME_CUSTOM( 199?, m4przmns__a, m4przmns, "sm8ad.p1", 0x0000, 0x010000, CRC(6272ae09) SHA1(96130f62646424dd9f2f34f2858a2635ec615f03), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 AD)" ) +GAME_CUSTOM( 199?, m4przmns__b, m4przmns, "sm8b.p1", 0x0000, 0x010000, CRC(25d95c1b) SHA1(7aa448d1fb383d1b89e71bbc63a554eaa5e06141), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 B)" ) +GAME_CUSTOM( 199?, m4przmns__c, m4przmns, "sm8bd.p1", 0x0000, 0x010000, CRC(bf58108f) SHA1(a0dfc2447a014f4a9b1abad3f954ee9c58251289), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 BD)" ) +GAME_CUSTOM( 199?, m4przmns__d, m4przmns, "sm8d.p1", 0x0000, 0x010000, CRC(b4524fb3) SHA1(11d2542a43e61cee6cce0e621fe80f9aa6811ec2), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 D)" ) +GAME_CUSTOM( 199?, m4przmns__e, m4przmns, "sm8dk.p1", 0x0000, 0x010000, CRC(f077ac65) SHA1(9baa5d2fd9833838d48c202a57aaa98783130dbc), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4przmns__f, m4przmns, "sm8dy.p1", 0x0000, 0x010000, CRC(2df61788) SHA1(003d6e172cee41cf9704dc285c2a0b39ee247ea8), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4przmns__g, m4przmns, "sm8k.p1", 0x0000, 0x010000, CRC(8d02ca2b) SHA1(b5defdc50fee9e9f1379571b638702c0779fd450), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 K)" ) +GAME_CUSTOM( 199?, m4przmns__i, m4przmns, "sm8y.p1", 0x0000, 0x010000, CRC(51e76e1d) SHA1(3045ab447871c7369c5ed53da75326e64d6e57d9), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 Y)" ) + + +/***************************************************************************************************************************************************************************** +* +* Prize High Roller +* +*****************************************************************************************************************************************************************************/ #define M4PRZHR_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ @@ -4030,7 +5342,7 @@ GAME_CUSTOM( 199?, m4przmon__1, m4przmon, "mti10___.4o1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4PRZHR_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1991 BARCREST" and "PRL 0.3" GAME_CUSTOM( 199?, m4przhr, 0, "prls.p1", 0x0000, 0x010000, CRC(8cc08272) SHA1(8b25b99291a288f198573272d705c3592c7c60e6), "Barcrest","Prize High Roller (Barcrest) (MPU4) (PRL 0.3)" ) @@ -4041,6 +5353,16 @@ GAME_CUSTOM( 199?, m4przhr__l, m4przhr, "prld.p1", 0x0000, 0x010000, CRC(ae GAME_CUSTOM( 199?, m4przhr__m, m4przhr, "prldk.p1", 0x0000, 0x010000, CRC(c003cabf) SHA1(1f031d362591d675d2cffec041a0762e431e64f5), "Barcrest","Prize High Roller (Barcrest) (MPU4) (PRL 0.3 KD)" ) GAME_CUSTOM( 199?, m4przhr__n, m4przhr, "prldy.p1", 0x0000, 0x010000, CRC(15b4e8f3) SHA1(92c3be901f038a18906db674129e153ea61d70f4), "Barcrest","Prize High Roller (Barcrest) (MPU4) (PRL 0.3 YD)" ) GAME_CUSTOM( 199?, m4przhr__o, m4przhr, "prlk.p1", 0x0000, 0x010000, CRC(f2be8c36) SHA1(411a5e1614a4f7963ebbb87e1a3a63209801f6da), "Barcrest","Prize High Roller (Barcrest) (MPU4) (PRL 0.3 K)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4PRZHR_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // "(C)1991 BARCREST" and "PR3 0.1" GAME_CUSTOM( 199?, m4przhr__h, m4przhr, "pr3s.p1", 0x0000, 0x010000, CRC(e4968894) SHA1(92b4b930f3bf370b213a72ad8328f19d5ebbd471), "Barcrest","Prize High Roller (Barcrest) (MPU4) (PR3 0.1)" ) GAME_CUSTOM( 199?, m4przhr__a, m4przhr, "pr3ad.p1", 0x0000, 0x010000, CRC(8b047599) SHA1(fd2f21c2ed3e5cb4e4ace7ffa620131a1897cf92), "Barcrest","Prize High Roller (Barcrest) (MPU4) (PR3 0.1 AD)" ) @@ -4053,6 +5375,12 @@ GAME_CUSTOM( 199?, m4przhr__g, m4przhr, "pr3k.p1", 0x0000, 0x010000, CRC(41 GAME_CUSTOM( 199?, m4przhr__i, m4przhr, "pr3y.p1", 0x0000, 0x010000, CRC(81b214c0) SHA1(792db44df880ac58e0da8ed47fe25881a24891b0), "Barcrest","Prize High Roller (Barcrest) (MPU4) (PR3 0.1 Y)" ) +/***************************************************************************************************************************************************************************** +* +* Give Us A Clue +* +*****************************************************************************************************************************************************************************/ + #define M4GCLUE_EXTRA_ROMS \ ROM_REGION( 0x100000, "altmsm6376", 0 ) \ ROM_LOAD( "c95snd.p1", 0x080000, 0x080000, CRC(ae952e15) SHA1(a9eed61c3d65ded5e1faa67362f181393cb6339a) ) \ @@ -4066,7 +5394,7 @@ GAME_CUSTOM( 199?, m4przhr__i, m4przhr, "pr3y.p1", 0x0000, 0x010000, CRC(81 ROM_LOAD( name, offset, length, hash ) \ M4GCLUE_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1991 BARCREST" and "C20 0.2" GAME_CUSTOM( 199?, m4gclue, 0, "c2002s.p1", 0x0000, 0x010000, CRC(fe640d18) SHA1(598e5a92bd26457cbd0cbd1f73cddb56054ff826), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (C20 0.2)" ) @@ -4095,12 +5423,18 @@ GAME_CUSTOM( 199?, m4gclue__t, m4gclue, "c2504k.p1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4gclue__u, m4gclue, "c2504r.p1", 0x0000, 0x010000, CRC(62bbd71d) SHA1(0b7f97a213a8f5b457aa54f760e19ebd00b1d334), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (C25 0.4 R)" ) GAME_CUSTOM( 199?, m4gclue__w, m4gclue, "c2504y.p1", 0x0000, 0x010000, CRC(ffd0fff3) SHA1(5f30353e73331315be99281c7ed435d05a9bfc5b), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (C25 0.4 Y)" ) + +/***************************************************************************************************************************************************************************** +* +* Las Vegas Strip +* +*****************************************************************************************************************************************************************************/ + #define M4VEGAST_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "lasv.chr", 0x0000, 0x000048, CRC(49ec2385) SHA1(1204c532897acc953867691124fc0b700c7aed47) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "uvssnd.p1", 0x000000, 0x080000, CRC(04a47007) SHA1(cfe1f4aa9d29c784b2034c2daa09b8bd7181562e) ) \ ROM_LOAD( "uvssnd.p2", 0x080000, 0x080000, CRC(3b35d824) SHA1(e4007d5d13898ed0f91cd270c75b5df8cc62e003) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -4108,89 +5442,129 @@ GAME_CUSTOM( 199?, m4gclue__w, m4gclue, "c2504y.p1", 0x0000, 0x010000, CR ROM_LOAD( name, offset, length, hash ) \ M4VEGAST_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "UVS 0.3" -GAME_CUSTOM( 199?, m4vegast, 0, "uvss.p1", 0x0000, 0x020000, CRC(8b5b120f) SHA1(90749c4f986a248252661b8e4157871330673ecd), "Barcrest","Vegas Strip (Barcrest) (MPU4) (UVS 0.3)" ) -GAME_CUSTOM( 199?, m4vegast__h, m4vegast, "uvsad.p1", 0x0000, 0x020000, CRC(f26d7fa8) SHA1(bb37be4a189bd38bd71afd836e94a55f9ef84ad4), "Barcrest","Vegas Strip (Barcrest) (MPU4) (UVS 0.3 AD)" ) -GAME_CUSTOM( 199?, m4vegast__a, m4vegast, "uvsb.p1", 0x0000, 0x020000, CRC(32e017ff) SHA1(3e8aa863b85164ee9d535244bafb82b14ee19528), "Barcrest","Vegas Strip (Barcrest) (MPU4) (UVS 0.3 B)" ) -GAME_CUSTOM( 199?, m4vegast__b, m4vegast, "uvsbd.p1", 0x0000, 0x020000, CRC(7f77d16d) SHA1(7f34a687877ca1d9257ee1c39ca5b3c44a42782e), "Barcrest","Vegas Strip (Barcrest) (MPU4) (UVS 0.3 BD)" ) -GAME_CUSTOM( 199?, m4vegast__c, m4vegast, "uvsc.p1", 0x0000, 0x020000, CRC(05aaaaed) SHA1(7eee93204467b9ecdff4b742a6e16306b83778ba), "Barcrest","Vegas Strip (Barcrest) (MPU4) (UVS 0.3 C)" ) -GAME_CUSTOM( 199?, m4vegast__d, m4vegast, "uvsd.p1", 0x0000, 0x020000, CRC(4ffb1c89) SHA1(bff002aa62684de9bfe4a445cc6e72d58c0e29ee), "Barcrest","Vegas Strip (Barcrest) (MPU4) (UVS 0.3 D)" ) -GAME_CUSTOM( 199?, m4vegast__e, m4vegast, "uvsdk.p1", 0x0000, 0x020000, CRC(35b0793b) SHA1(90ef897fcd9cfb48007e5788a4df02053e38430c), "Barcrest","Vegas Strip (Barcrest) (MPU4) (UVS 0.3 KD)" ) -GAME_CUSTOM( 199?, m4vegast__f, m4vegast, "uvsdy.p1", 0x0000, 0x020000, CRC(b25359c5) SHA1(da4aa9b5069db222e22f24cd78f641c70a015166), "Barcrest","Vegas Strip (Barcrest) (MPU4) (UVS 0.3 YD)" ) -GAME_CUSTOM( 199?, m4vegast__g, m4vegast, "uvsk.p1", 0x0000, 0x020000, CRC(7827bfa9) SHA1(720d9793e97f2e11c1c9b18e3b4fa6ec7e29250a), "Barcrest","Vegas Strip (Barcrest) (MPU4) (UVS 0.3 K)" ) -GAME_CUSTOM( 199?, m4vegast__i, m4vegast, "uvsy.p1", 0x0000, 0x020000, CRC(ffc49f57) SHA1(fb64afa2fefb3ff1c0f9b71aa3d00e1a17903e84), "Barcrest","Vegas Strip (Barcrest) (MPU4) (UVS 0.3 Y)" ) -// "(C)1993 BARCREST" and "VSG 0.4" -GAME_CUSTOM( 199?, m4vegast__t, m4vegast, "vsg04s.p1", 0x0000, 0x020000, CRC(aff47295) SHA1(d249f280b721c96b7c36329e2c2bb955fa91aa59), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.4)" ) -GAME_CUSTOM( 199?, m4vegast__j, m4vegast, "vsg04ad.p1", 0x0000, 0x020000, CRC(d63f8f24) SHA1(f3dcd908bceb5a508927a83d23e82577e8684240), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.4 AD)" ) -GAME_CUSTOM( 199?, m4vegast__k, m4vegast, "vsg04b.p1", 0x0000, 0x020000, CRC(4211e2bf) SHA1(5f634d074d0f95673f734c5600ac990fb7510bdc), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.4 B)" ) -GAME_CUSTOM( 199?, m4vegast__l, m4vegast, "vsg04bd.p1", 0x0000, 0x020000, CRC(5b2521e1) SHA1(67d2496e7a52f9aa984d57a5b76f995506051a8c), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.4 BD)" ) -GAME_CUSTOM( 199?, m4vegast__m, m4vegast, "vsg04c.p1", 0x0000, 0x020000, CRC(755b5fad) SHA1(fd76ae19e3ed7ea8c138655bc45e35ab5e4947a9), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.4 C)" ) -GAME_CUSTOM( 199?, m4vegast__n, m4vegast, "vsg04d.p1", 0x0000, 0x020000, CRC(3f0ae9c9) SHA1(ca3ce4651fe07559d64a4a15c987ba6a5d06cc2f), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.4 D)" ) -GAME_CUSTOM( 199?, m4vegast__o, m4vegast, "vsg04dk.p1", 0x0000, 0x020000, CRC(11e289b7) SHA1(19a4498a85038d14c062843b86027b5bd587b750), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.4 KD)" ) -GAME_CUSTOM( 199?, m4vegast__p, m4vegast, "vsg04dr.p1", 0x0000, 0x020000, CRC(a2ed3286) SHA1(4a8260625281bb400e35365f34d9fc59cac53740), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.4 RD)" ) -GAME_CUSTOM( 199?, m4vegast__q, m4vegast, "vsg04dy.p1", 0x0000, 0x020000, CRC(9601a949) SHA1(39a06f671b8f817039b9861887dd9521e7f3acdd), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.4 YD)" ) -GAME_CUSTOM( 199?, m4vegast__r, m4vegast, "vsg04k.p1", 0x0000, 0x020000, CRC(08d64ae9) SHA1(5cfe1b2fe0933d06618a2c88e1a63224686e972f), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.4 K)" ) -GAME_CUSTOM( 199?, m4vegast__s, m4vegast, "vsg04r.p1", 0x0000, 0x020000, CRC(bbd9f1d8) SHA1(22312ff72d5b2fbe6416a7e84435e1df456a3547), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.4 R)" ) -GAME_CUSTOM( 199?, m4vegast__u, m4vegast, "vsg04y.p1", 0x0000, 0x020000, CRC(8f356a17) SHA1(33ac5e8a455175471466f7c7f35c66f795067bf2), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.4 Y)" ) -// "(C)1993 BARCREST" and "VSG 0.3" (most of the sets with 2010 in the filenames are hacks tho) -GAME_CUSTOM( 199?, m4vegast__x, m4vegast, "vstr2010", 0x0000, 0x020000, CRC(126365e3) SHA1(1e648b7a8cb1ff49e43e2fdc30f482b2b73ed6d7), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.3)" ) -// "(C)1993 BARCREST" and "VSG 0.3" (but doesn't boot?) -GAME_CUSTOM( 199?, m4vegast__v, m4vegast, "lvs", 0x0000, 0x020000, CRC(dcb0dc80) SHA1(6045b332eb4af09f6e0a669ea0b78ef4ac389ac2), "hack?","Vegas Strip (Barcrest) (MPU4) (VSG 0.3 YE, hack?)" ) +GAME_CUSTOM( 199?, m4vegast, 0, "uvss.p1", 0x0000, 0x020000, CRC(8b5b120f) SHA1(90749c4f986a248252661b8e4157871330673ecd), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (UVS 0.3)" ) +GAME_CUSTOM( 199?, m4vegast__h, m4vegast, "uvsad.p1", 0x0000, 0x020000, CRC(f26d7fa8) SHA1(bb37be4a189bd38bd71afd836e94a55f9ef84ad4), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (UVS 0.3 AD)" ) +GAME_CUSTOM( 199?, m4vegast__a, m4vegast, "uvsb.p1", 0x0000, 0x020000, CRC(32e017ff) SHA1(3e8aa863b85164ee9d535244bafb82b14ee19528), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (UVS 0.3 B)" ) +GAME_CUSTOM( 199?, m4vegast__b, m4vegast, "uvsbd.p1", 0x0000, 0x020000, CRC(7f77d16d) SHA1(7f34a687877ca1d9257ee1c39ca5b3c44a42782e), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (UVS 0.3 BD)" ) +GAME_CUSTOM( 199?, m4vegast__c, m4vegast, "uvsc.p1", 0x0000, 0x020000, CRC(05aaaaed) SHA1(7eee93204467b9ecdff4b742a6e16306b83778ba), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (UVS 0.3 C)" ) +GAME_CUSTOM( 199?, m4vegast__d, m4vegast, "uvsd.p1", 0x0000, 0x020000, CRC(4ffb1c89) SHA1(bff002aa62684de9bfe4a445cc6e72d58c0e29ee), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (UVS 0.3 D)" ) +GAME_CUSTOM( 199?, m4vegast__e, m4vegast, "uvsdk.p1", 0x0000, 0x020000, CRC(35b0793b) SHA1(90ef897fcd9cfb48007e5788a4df02053e38430c), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (UVS 0.3 KD)" ) +GAME_CUSTOM( 199?, m4vegast__f, m4vegast, "uvsdy.p1", 0x0000, 0x020000, CRC(b25359c5) SHA1(da4aa9b5069db222e22f24cd78f641c70a015166), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (UVS 0.3 YD)" ) +GAME_CUSTOM( 199?, m4vegast__g, m4vegast, "uvsk.p1", 0x0000, 0x020000, CRC(7827bfa9) SHA1(720d9793e97f2e11c1c9b18e3b4fa6ec7e29250a), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (UVS 0.3 K)" ) +GAME_CUSTOM( 199?, m4vegast__i, m4vegast, "uvsy.p1", 0x0000, 0x020000, CRC(ffc49f57) SHA1(fb64afa2fefb3ff1c0f9b71aa3d00e1a17903e84), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (UVS 0.3 Y)" ) - -#define M4HOTROD_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "hotrod.chr", 0x0000, 0x000048, CRC(a76dc7d3) SHA1(43010dab862a98ec2a8f8444bf1411902ba03c63) ) \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "rodsnd.p1", 0x000000, 0x080000, CRC(bfdafedc) SHA1(6acc838ec046d44e7faa727b48925379aa42883d) ) \ - ROM_LOAD( "rodsnd.p2", 0x080000, 0x080000, CRC(a01e1e67) SHA1(4f86e0bb9bf4c1a4d0190eddfe7dd5bb89c519a2) ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4VEGAST_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "VSG 0.4" +GAME_CUSTOM( 199?, m4vegast__t, m4vegast, "vsg04s.p1", 0x0000, 0x020000, CRC(aff47295) SHA1(d249f280b721c96b7c36329e2c2bb955fa91aa59), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (VSG 0.4)" ) +GAME_CUSTOM( 199?, m4vegast__j, m4vegast, "vsg04ad.p1", 0x0000, 0x020000, CRC(d63f8f24) SHA1(f3dcd908bceb5a508927a83d23e82577e8684240), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (VSG 0.4 AD)" ) +GAME_CUSTOM( 199?, m4vegast__k, m4vegast, "vsg04b.p1", 0x0000, 0x020000, CRC(4211e2bf) SHA1(5f634d074d0f95673f734c5600ac990fb7510bdc), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (VSG 0.4 B)" ) +GAME_CUSTOM( 199?, m4vegast__l, m4vegast, "vsg04bd.p1", 0x0000, 0x020000, CRC(5b2521e1) SHA1(67d2496e7a52f9aa984d57a5b76f995506051a8c), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (VSG 0.4 BD)" ) +GAME_CUSTOM( 199?, m4vegast__m, m4vegast, "vsg04c.p1", 0x0000, 0x020000, CRC(755b5fad) SHA1(fd76ae19e3ed7ea8c138655bc45e35ab5e4947a9), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (VSG 0.4 C)" ) +GAME_CUSTOM( 199?, m4vegast__n, m4vegast, "vsg04d.p1", 0x0000, 0x020000, CRC(3f0ae9c9) SHA1(ca3ce4651fe07559d64a4a15c987ba6a5d06cc2f), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (VSG 0.4 D)" ) +GAME_CUSTOM( 199?, m4vegast__o, m4vegast, "vsg04dk.p1", 0x0000, 0x020000, CRC(11e289b7) SHA1(19a4498a85038d14c062843b86027b5bd587b750), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (VSG 0.4 KD)" ) +GAME_CUSTOM( 199?, m4vegast__p, m4vegast, "vsg04dr.p1", 0x0000, 0x020000, CRC(a2ed3286) SHA1(4a8260625281bb400e35365f34d9fc59cac53740), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (VSG 0.4 RD)" ) +GAME_CUSTOM( 199?, m4vegast__q, m4vegast, "vsg04dy.p1", 0x0000, 0x020000, CRC(9601a949) SHA1(39a06f671b8f817039b9861887dd9521e7f3acdd), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (VSG 0.4 YD)" ) +GAME_CUSTOM( 199?, m4vegast__r, m4vegast, "vsg04k.p1", 0x0000, 0x020000, CRC(08d64ae9) SHA1(5cfe1b2fe0933d06618a2c88e1a63224686e972f), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (VSG 0.4 K)" ) +GAME_CUSTOM( 199?, m4vegast__s, m4vegast, "vsg04r.p1", 0x0000, 0x020000, CRC(bbd9f1d8) SHA1(22312ff72d5b2fbe6416a7e84435e1df456a3547), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (VSG 0.4 R)" ) +GAME_CUSTOM( 199?, m4vegast__u, m4vegast, "vsg04y.p1", 0x0000, 0x020000, CRC(8f356a17) SHA1(33ac5e8a455175471466f7c7f35c66f795067bf2), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (VSG 0.4 Y)" ) +// "(C)1993 BARCREST" and "VSG 0.3" (most of the sets with 2010 in the filenames are hacks, but this looks like a regular set?) +GAME_CUSTOM( 199?, m4vegast__x, m4vegast, "vstr2010", 0x0000, 0x020000, CRC(126365e3) SHA1(1e648b7a8cb1ff49e43e2fdc30f482b2b73ed6d7), "Barcrest","Las Vegas Strip (Barcrest) (MPU4) (VSG 0.3)" ) + + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4VEGAST_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + + +// no copyright string and VSG 0.4 +GAME_CUSTOM( 199?, m4vegast__0, m4vegast, "vegas15g", 0x0000, 0x020000, CRC(5b804e4d) SHA1(5967b9f4e28e5a5e5e7005a29ecb30fc661800e0), "bootleg","Las Vegas Strip (Barcrest) (bootleg) (MPU4) (VSG 0.4)" ) +// no copyright string and UVS 0.3 +GAME_CUSTOM( 199?, m4vegast__1, m4vegast, "vegas15t", 0x0000, 0x020000, CRC(9d15f44f) SHA1(3a3f2034de9ba56cb2cb18b4898f2829a2019d4e), "bootleg","Las Vegas Strip (Barcrest) (bootleg) (MPU4) (UVS 0.3)" ) + + + +/***************************************************************************************************************************************************************************** +* +* Hot Rod +* +*****************************************************************************************************************************************************************************/ + + +#define M4HOTROD_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "rodsnd.p1", 0x000000, 0x080000, CRC(bfdafedc) SHA1(6acc838ec046d44e7faa727b48925379aa42883d) ) \ + ROM_LOAD( "rodsnd.p2", 0x080000, 0x080000, CRC(a01e1e67) SHA1(4f86e0bb9bf4c1a4d0190eddfe7dd5bb89c519a2) ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4HOTROD_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - + GAME( year, setname, parent, machine, inputs, mpu4mod4oki_machines_state, init, ROT0, company, title, GAME_FLAGS ) // "(C)1991 BARCREST" and "ROD 0.4" -GAME_CUSTOM( 199?, m4hotrod, 0, "rodk.p1", 0x0000, 0x010000, CRC(298d85ff) SHA1(3c9374be1f6b5e58a1b9004f74f3a33d0fff4214), "Barcrest","Hot Rod (Barcrest) (MPU4) (ROD 0.4K)" ) -GAME_CUSTOM( 199?, m4hotrod__h, m4hotrod, "rodc.p1", 0x0000, 0x010000, CRC(2f6b53d3) SHA1(fa4df1e6a2f6158cbc099d7e2d5ec96355079f36), "Barcrest","Hot Rod (Barcrest) (MPU4) (ROD 0.4C)" ) -GAME_CUSTOM( 199?, m4hotrod__i, m4hotrod, "roddy.p1", 0x0000, 0x010000, CRC(53e508ac) SHA1(24df8b949211e7bc5c7b8d704562b36e52cb8d5c), "Barcrest","Hot Rod (Barcrest) (MPU4) (ROD 0.4YD)" ) -GAME_CUSTOM( 199?, m4hotrod__j, m4hotrod, "rods.p1", 0x0000, 0x010000, CRC(93d73857) SHA1(dcfd1dbf368f68ba3e7aa163eedd89c68aaccec8), "Barcrest","Hot Rod (Barcrest) (MPU4) (ROD 0.4)" ) -GAME_CUSTOM( 199?, m4hotrod__e, m4hotrod, "hrod20_11", 0x0000, 0x010000, CRC(b81a57b6) SHA1(442c119b9ed70d4da2f9082ec01e410cfee76102), "hack", "Hot Rod (Barcrest) (MPU4) (ROD 0.4, hack?, set 1)" ) // bad chr -GAME_CUSTOM( 199?, m4hotrod__u, m4hotrod, "hrod_20_.4", 0x0000, 0x010000, CRC(c58bb470) SHA1(7bb831d7b647d17eff896ccce0ab7c8cfa8179b8), "hack", "Hot Rod (Barcrest) (MPU4) (ROD 0.4, hack?, set 2)" ) // ^ -GAME_CUSTOM( 199?, m4hotrod__v, m4hotrod, "hrod_20_.8", 0x0000, 0x010000, CRC(a2d20781) SHA1(3f1b33374ae0a61815b38ad0e57856ae16047adc), "hack", "Hot Rod (Barcrest) (MPU4) (ROD 0.4, hack?, set 3)" ) /// ^ +GAME_CUSTOM( 199?, m4hotrod, 0, mod4oki_cheatchr_pal, mpu4, init_m4default, "rodk.p1", 0x0000, 0x010000, CRC(298d85ff) SHA1(3c9374be1f6b5e58a1b9004f74f3a33d0fff4214), "Barcrest","Hot Rod (Barcrest) (MPU4) (ROD 0.4K)" ) +GAME_CUSTOM( 199?, m4hotrod__h, m4hotrod, mod4oki_cheatchr_pal, mpu4, init_m4default, "rodc.p1", 0x0000, 0x010000, CRC(2f6b53d3) SHA1(fa4df1e6a2f6158cbc099d7e2d5ec96355079f36), "Barcrest","Hot Rod (Barcrest) (MPU4) (ROD 0.4C)" ) // 6.00 GBP Jackpot strings +GAME_CUSTOM( 199?, m4hotrod__i, m4hotrod, mod4oki_cheatchr_pal, mpu4, init_m4default, "roddy.p1", 0x0000, 0x010000, CRC(53e508ac) SHA1(24df8b949211e7bc5c7b8d704562b36e52cb8d5c), "Barcrest","Hot Rod (Barcrest) (MPU4) (ROD 0.4YD)" ) +GAME_CUSTOM( 199?, m4hotrod__j, m4hotrod, mod4oki_cheatchr_pal, mpu4, init_m4default, "rods.p1", 0x0000, 0x010000, CRC(93d73857) SHA1(dcfd1dbf368f68ba3e7aa163eedd89c68aaccec8), "Barcrest","Hot Rod (Barcrest) (MPU4) (ROD 0.4)" ) + // "(C)1994 B.W.B." and "HR__1.0" -GAME_CUSTOM( 199?, m4hotrod__k, m4hotrod, "hr_05___.1o1", 0x0000, 0x010000, CRC(abdb0a16) SHA1(5db2721326a22b9d8653773ec8de8a845d147eee), "Bwb","Hot Rod (Barcrest) (MPU4) (HR__1.0, set 1)" ) -GAME_CUSTOM( 199?, m4hotrod__l, m4hotrod, "hr_05_d_.1o1", 0x0000, 0x010000, CRC(8a14fa8d) SHA1(8d64a75514d0a58fcdc2d5a81c0b85a49ab8322b), "Bwb","Hot Rod (Barcrest) (MPU4) (HR__1.0D, set 1)" ) -GAME_CUSTOM( 199?, m4hotrod__o, m4hotrod, "hri05___.101", 0x0000, 0x010000, CRC(43e5e86e) SHA1(8bf00b1af1f86f1a361537a1117d857fa8fa7af4), "Bwb","Hot Rod (Barcrest) (MPU4) (HR__1.0C, set 1)" ) -GAME_CUSTOM( 199?, m4hotrod__m, m4hotrod, "hr_10___.1o1", 0x0000, 0x010000, CRC(5e09202f) SHA1(06991f5fd451fff77ef7ab0b866543613c3dcc02), "Bwb","Hot Rod (Barcrest) (MPU4) (HR__1.0, set 2)" ) -GAME_CUSTOM( 199?, m4hotrod__n, m4hotrod, "hr_10_d_.1o1", 0x0000, 0x010000, CRC(329409c5) SHA1(e9ba0f36048f46a381c8a408b9c1e10acea0bde3), "Bwb","Hot Rod (Barcrest) (MPU4) (HR__1.0D, set 2)" ) -GAME_CUSTOM( 199?, m4hotrod__p, m4hotrod, "hri10___.1o1", 0x0000, 0x010000, CRC(a855f93c) SHA1(2b63aa7c632f14457c2ae0312cef7b22bbf1df22), "Bwb","Hot Rod (Barcrest) (MPU4) (HR__1.0C, set 2)" ) +GAME_CUSTOM( 199?, m4hotrod__k, m4hotrod, mod4oki_cheatchr_pal, mpu4, init_m4default, "hr_05___.1o1", 0x0000, 0x010000, CRC(abdb0a16) SHA1(5db2721326a22b9d8653773ec8de8a845d147eee), "Bwb","Hot Rod (Barcrest) (MPU4) (HR__1.0, set 1)" ) +GAME_CUSTOM( 199?, m4hotrod__l, m4hotrod, mod4oki_cheatchr_pal, mpu4, init_m4default, "hr_05_d_.1o1", 0x0000, 0x010000, CRC(8a14fa8d) SHA1(8d64a75514d0a58fcdc2d5a81c0b85a49ab8322b), "Bwb","Hot Rod (Barcrest) (MPU4) (HR__1.0D, set 1)" ) +GAME_CUSTOM( 199?, m4hotrod__o, m4hotrod, mod4oki_cheatchr_pal, mpu4, init_m4default, "hri05___.101", 0x0000, 0x010000, CRC(43e5e86e) SHA1(8bf00b1af1f86f1a361537a1117d857fa8fa7af4), "Bwb","Hot Rod (Barcrest) (MPU4) (HR__1.0C, set 1)" ) +GAME_CUSTOM( 199?, m4hotrod__m, m4hotrod, mod4oki_cheatchr_pal, mpu4, init_m4default, "hr_10___.1o1", 0x0000, 0x010000, CRC(5e09202f) SHA1(06991f5fd451fff77ef7ab0b866543613c3dcc02), "Bwb","Hot Rod (Barcrest) (MPU4) (HR__1.0, set 2)" ) +GAME_CUSTOM( 199?, m4hotrod__n, m4hotrod, mod4oki_cheatchr_pal, mpu4, init_m4default, "hr_10_d_.1o1", 0x0000, 0x010000, CRC(329409c5) SHA1(e9ba0f36048f46a381c8a408b9c1e10acea0bde3), "Bwb","Hot Rod (Barcrest) (MPU4) (HR__1.0D, set 2)" ) +GAME_CUSTOM( 199?, m4hotrod__p, m4hotrod, mod4oki_cheatchr_pal, mpu4, init_m4default, "hri10___.1o1", 0x0000, 0x010000, CRC(a855f93c) SHA1(2b63aa7c632f14457c2ae0312cef7b22bbf1df22), "Bwb","Hot Rod (Barcrest) (MPU4) (HR__1.0C, set 2)" ) + // "(C)1995 B.W.B." and "HRC_1.0" -GAME_CUSTOM( 199?, m4hotrod__a, m4hotrod, "hot rod 5p 4 p1,27512", 0x0000, 0x010000, CRC(b6212af8) SHA1(9453c4424244895b3ad15d5fba45fe8822e7ff2b), "Bwb","Hot Rod (Barcrest) (MPU4) (HRC_1.0C)" ) -// no copyright string and "HR__1.0" -GAME_CUSTOM( 199?, m4hotrod__b, m4hotrod, "hr056c", 0x0000, 0x010000, CRC(c062f285) SHA1(917e82cadf242aa815c525ff435cd4b04ea87e39), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 1)" ) -GAME_CUSTOM( 199?, m4hotrod__c, m4hotrod, "hrod05_11", 0x0000, 0x010000, CRC(61f35723) SHA1(743b71ecde4923c359a1202eaad7e4d74b0d1611), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 2)" ) -GAME_CUSTOM( 199?, m4hotrod__d, m4hotrod, "hrod10_11", 0x0000, 0x010000, CRC(5b924a86) SHA1(6b86dce6ba3789750de05dca996202c000ecfbae), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 3)" ) -GAME_CUSTOM( 199?, m4hotrod__f, m4hotrod, "hrod55", 0x0000, 0x010000, CRC(dd6d3153) SHA1(27f3324b43c026abf2ae4c584afeb6971a3fe57a), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 4)" ) -GAME_CUSTOM( 199?, m4hotrod__g, m4hotrod, "hrod58c", 0x0000, 0x010000, CRC(079474db) SHA1(257b1086277cd0b8398b80a4b95cf1212c10c4c3), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 5)" ) -GAME_CUSTOM( 199?, m4hotrod__q, m4hotrod, "hrod_05_.4", 0x0000, 0x010000, CRC(c58aa0e8) SHA1(8a2b5a9bd4e93a7a12cae4e92e0faf35e2ebbe4c), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 6)" ) -GAME_CUSTOM( 199?, m4hotrod__r, m4hotrod, "hrod_05_.8", 0x0000, 0x010000, CRC(b3c9e0c9) SHA1(4a549876121dd7fc5c11d3b03322d1e5f90eaa86), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 7)" ) -GAME_CUSTOM( 199?, m4hotrod__s, m4hotrod, "hrod_10_.4", 0x0000, 0x010000, CRC(b9e84451) SHA1(7566aef1604992376010758cb079fe9da67ad454), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 8)" ) -GAME_CUSTOM( 199?, m4hotrod__t, m4hotrod, "hrod_10_.8", 0x0000, 0x010000, CRC(62ac8057) SHA1(d2085ec0f29ff85251ef2c576e828f502420839d), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 9)" ) - +GAME_CUSTOM( 199?, m4hotrod__a, m4hotrod, mod4oki_cheatchr_pal, mpu4, init_m4default, "hot rod 5p 4 p1,27512", 0x0000, 0x010000, CRC(b6212af8) SHA1(9453c4424244895b3ad15d5fba45fe8822e7ff2b), "Bwb","Hot Rod (Barcrest) (MPU4) (HRC_1.0C)" ) + +// no copyright string and "HR__1.0", different protection +GAME_CUSTOM( 199?, m4hotrod__b, m4hotrod, mod4oki_bootleg_fixedret<0x45>, mpu4, init_m4default, "hr056c", 0x0000, 0x010000, CRC(c062f285) SHA1(917e82cadf242aa815c525ff435cd4b04ea87e39), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 1)" ) +GAME_CUSTOM( 199?, m4hotrod__c, m4hotrod, mod4oki_bootleg_fixedret<0x1d>, mpu4, init_m4default, "hrod05_11", 0x0000, 0x010000, CRC(61f35723) SHA1(743b71ecde4923c359a1202eaad7e4d74b0d1611), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 2)" ) +GAME_CUSTOM( 199?, m4hotrod__d, m4hotrod, mod4oki_bootleg_fixedret<0x1f>, mpu4, init_m4default, "hrod10_11", 0x0000, 0x010000, CRC(5b924a86) SHA1(6b86dce6ba3789750de05dca996202c000ecfbae), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 3)" ) +GAME_CUSTOM( 199?, m4hotrod__f, m4hotrod, mod4oki_bootleg_fixedret<0x29>, mpu4, init_m4default, "hrod55", 0x0000, 0x010000, CRC(dd6d3153) SHA1(27f3324b43c026abf2ae4c584afeb6971a3fe57a), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 4)" ) +GAME_CUSTOM( 199?, m4hotrod__g, m4hotrod, mod4oki_bootleg_fixedret<0x2d>, mpu4, init_m4default, "hrod58c", 0x0000, 0x010000, CRC(079474db) SHA1(257b1086277cd0b8398b80a4b95cf1212c10c4c3), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 5)" ) +GAME_CUSTOM( 199?, m4hotrod__q, m4hotrod, mod4oki_bootleg_fixedret<0x2d>, mpu4, init_m4default, "hrod_05_.4", 0x0000, 0x010000, CRC(c58aa0e8) SHA1(8a2b5a9bd4e93a7a12cae4e92e0faf35e2ebbe4c), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 6)" ) +GAME_CUSTOM( 199?, m4hotrod__r, m4hotrod, mod4oki_bootleg_fixedret<0x2d>, mpu4, init_m4default, "hrod_05_.8", 0x0000, 0x010000, CRC(b3c9e0c9) SHA1(4a549876121dd7fc5c11d3b03322d1e5f90eaa86), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 7)" ) +GAME_CUSTOM( 199?, m4hotrod__s, m4hotrod, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4default, "hrod_10_.4", 0x0000, 0x010000, CRC(b9e84451) SHA1(7566aef1604992376010758cb079fe9da67ad454), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 8)" ) +GAME_CUSTOM( 199?, m4hotrod__t, m4hotrod, mod4oki_bootleg_fixedret<0x2f>, mpu4, init_m4default, "hrod_10_.8", 0x0000, 0x010000, CRC(62ac8057) SHA1(d2085ec0f29ff85251ef2c576e828f502420839d), "hack","Hot Rod (Barcrest) (MPU4) (HR__1.0, hack, set 9)" ) + +// these don't want the protection device mapped +GAME_CUSTOM( 199?, m4hotrod__e, m4hotrod, mod4oki, mpu4, init_m4default, "hrod20_11", 0x0000, 0x010000, CRC(b81a57b6) SHA1(442c119b9ed70d4da2f9082ec01e410cfee76102), "hack", "Hot Rod (Barcrest) (MPU4) (ROD 0.4C, hack?, set 1)" ) // 10.00 GBP Jackpot strings +GAME_CUSTOM( 199?, m4hotrod__u, m4hotrod, mod4oki, mpu4, init_m4default, "hrod_20_.4", 0x0000, 0x010000, CRC(c58bb470) SHA1(7bb831d7b647d17eff896ccce0ab7c8cfa8179b8), "hack", "Hot Rod (Barcrest) (MPU4) (ROD 0.4C, hack?, set 2)" ) // 4.00 GBP Jackpot strings +GAME_CUSTOM( 199?, m4hotrod__v, m4hotrod, mod4oki, mpu4, init_m4default, "hrod_20_.8", 0x0000, 0x010000, CRC(a2d20781) SHA1(3f1b33374ae0a61815b38ad0e57856ae16047adc), "hack", "Hot Rod (Barcrest) (MPU4) (ROD 0.4, hack?, set 3)" ) +/***************************************************************************************************************************************************************************** +* +* Buccaneer +* +*****************************************************************************************************************************************************************************/ #define M4BUC_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "buccsnd1.bin", 0x000000, 0x080000, CRC(b671fd7b) SHA1(8123d1ef9d5e2cc8783a78137540e6f13e5e2304) ) \ ROM_LOAD( "buccsnd2.bin", 0x080000, 0x080000, CRC(66966b41) SHA1(87e2058f39ef1b19c35e63d55e62e2034fd24c0d) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -4198,22 +5572,8 @@ GAME_CUSTOM( 199?, m4hotrod__t, m4hotrod, "hrod_10_.8", 0x000 ROM_LOAD( name, offset, length, hash ) \ M4BUC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) -// "(C)1993 BARCREST" and "BUG 0.4" -GAME_CUSTOM( 199?, m4buc, 0, "bug04s.p1", 0x000000, 0x020000, CRC(0f76cf1d) SHA1(e0081f88e23958564a87346082629c4fdc0cc147), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4)" ) -GAME_CUSTOM( 199?, m4buc__c, m4buc, "bug04ad.p1", 0x000000, 0x020000, CRC(c6171b29) SHA1(a66aa4b05f974aa9cea9e05e95d14a0e746374be), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 DA)" ) -GAME_CUSTOM( 199?, m4buc__d, m4buc, "bug04b.p1", 0x000000, 0x020000, CRC(4358fe51) SHA1(6e61397f71018d3f9d369a0ac8fefacafbada2d5), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 B)" ) -GAME_CUSTOM( 199?, m4buc__e, m4buc, "bug04bd.p1", 0x000000, 0x020000, CRC(282b7832) SHA1(1ae3e45606bb875dd178beab231bdaa472687d46), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 DB)" ) -GAME_CUSTOM( 199?, m4buc__f, m4buc, "bug04d.p1", 0x000000, 0x020000, CRC(68e74bf0) SHA1(7808ff977e61b4c21fec83a8fe1cbabfc1bed7c8), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 D)" ) -GAME_CUSTOM( 199?, m4buc__g, m4buc, "bug04dh.p1", 0x000000, 0x020000, CRC(689e47a7) SHA1(c3b7cd2cb6a397528b2a525b85df2bbff67450c1), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 DH)" ) -GAME_CUSTOM( 199?, m4buc__h, m4buc, "bug04dk.p1", 0x000000, 0x020000, CRC(01ca1dba) SHA1(83386f8a9bdf4e50b31c25cd4502a09a94ee3a1d), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 DK)" ) -GAME_CUSTOM( 199?, m4buc__i, m4buc, "bug04dr.p1", 0x000000, 0x020000, CRC(b2c5a68b) SHA1(42a0cee8cc2ba5b36adde1ab024799792982e5db), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 DR)" ) -GAME_CUSTOM( 199?, m4buc__j, m4buc, "bug04dy.p1", 0x000000, 0x020000, CRC(4b0db5ec) SHA1(f13ce614105f317bbc9318b7f512f8550b737e1d), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 DY)" ) -GAME_CUSTOM( 199?, m4buc__k, m4buc, "bug04h.p1", 0x000000, 0x020000, CRC(03edc1c4) SHA1(52a3040ec602008dc9143900d149251235282dca), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 H)" ) -GAME_CUSTOM( 199?, m4buc__l, m4buc, "bug04k.p1", 0x000000, 0x020000, CRC(6ab99bd9) SHA1(d199e88dd22f6c2d31c23413c4c3f262834f5751), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 K)" ) -GAME_CUSTOM( 199?, m4buc__m, m4buc, "bug04r.p1", 0x000000, 0x020000, CRC(d9b620e8) SHA1(01e7232f62dc33d3a9a26ee5456c2bb47dd4fce4), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 R)" ) -GAME_CUSTOM( 199?, m4buc__o, m4buc, "bug04y.p1", 0x000000, 0x020000, CRC(207e338f) SHA1(3a95d0029e3e3a8f839f335ed1a981e8d6124dcc), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 Y)" ) // "(C)1993 BARCREST" and "BUG 0.5" GAME_CUSTOM( 199?, m4buc__0, m4buc, "bug05s.p1", 0x000000, 0x020000, CRC(99ce7ada) SHA1(6cdb17d8dfd759ceb2d7acd5f6b15952106f3178), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.5)" ) GAME_CUSTOM( 199?, m4buc__p, m4buc, "bug05ad.p1", 0x000000, 0x020000, CRC(515539dd) SHA1(6f8eb199f4738edb6f405f3d5df1ba0256dfa0bf), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.5 DA)" ) @@ -4228,20 +5588,6 @@ GAME_CUSTOM( 199?, m4buc__x, m4buc, "bug05h.p1", 0x000000, 0x020000 GAME_CUSTOM( 199?, m4buc__y, m4buc, "bug05k.p1", 0x000000, 0x020000, CRC(8d041e0f) SHA1(94c4fa84f6c978c725593c6086c61521cd791c74), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.5 K)" ) GAME_CUSTOM( 199?, m4buc__z, m4buc, "bug05r.p1", 0x000000, 0x020000, CRC(3e0ba53e) SHA1(041dbf7f086dce0182f855249d832b68942e2c33), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.5 R)" ) GAME_CUSTOM( 199?, m4buc__1, m4buc, "bug05y.p1", 0x000000, 0x020000, CRC(c7c3b659) SHA1(66aa9481b69ee282ecfa8f7614b7d476919e35b3), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.5 Y)" ) -// "(C)1993 BARCREST" and "BUS 0.1" -GAME_CUSTOM( 199?, m4buc__ad, m4buc, "bus01s.p1", 0x000000, 0x020000, CRC(d5a35734) SHA1(7b905ac16eb50d462e9edc5bb50fe660b6f7c81b), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1)" ) -GAME_CUSTOM( 199?, m4buc__2, m4buc, "bus01ad.p1", 0x000000, 0x020000, CRC(0f5920ee) SHA1(5152c24fd3e3642a5324e68465403a6ce199db5a), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 DA)" ) -GAME_CUSTOM( 199?, m4buc__3, m4buc, "bus01b.p1", 0x000000, 0x020000, CRC(656d2609) SHA1(525fc8e2dc1d6bfe17c24e28ccde0f0a580e4330), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 B)" ) -GAME_CUSTOM( 199?, m4buc__4, m4buc, "bus01bd.p1", 0x000000, 0x020000, CRC(e16543f5) SHA1(98dc6a098ad13c1f7c3e0e1079eed92931ce279c), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 DB)" ) -GAME_CUSTOM( 199?, m4buc__5, m4buc, "bus01d.p1", 0x000000, 0x020000, CRC(4ed293a8) SHA1(577ca646df4d607c04a3c55853df847e1403bbfd), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 D)" ) -GAME_CUSTOM( 199?, m4buc__6, m4buc, "bus01dh.p1", 0x000000, 0x020000, CRC(a1d07c60) SHA1(830998adf3a4fc8d6ae9e08039719cbacff79fac), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 DH)" ) -GAME_CUSTOM( 199?, m4buc__7, m4buc, "bus01dk.p1", 0x000000, 0x020000, CRC(c884267d) SHA1(60b1bba2fb0c471c4808496d08f094f3989d1000), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 DK)" ) -GAME_CUSTOM( 199?, m4buc__8, m4buc, "bus01dr.p1", 0x000000, 0x020000, CRC(7b8b9d4c) SHA1(67b6f54153cf312c0f4bcc229763e5abcc61e4f4), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 DR)" ) -GAME_CUSTOM( 199?, m4buc__9, m4buc, "bus01dy.p1", 0x000000, 0x020000, CRC(82438e2b) SHA1(1daa8094c8c33d88be1a2f9e833559d4386af0bc), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 DY)" ) -GAME_CUSTOM( 199?, m4buc__aa, m4buc, "bus01h.p1", 0x000000, 0x020000, CRC(25d8199c) SHA1(84be66148fe14d85bd69fb4c9b5263b7c208e690), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 H)" ) -GAME_CUSTOM( 199?, m4buc__ab, m4buc, "bus01k.p1", 0x000000, 0x020000, CRC(4c8c4381) SHA1(0e6204e6f937ca8b9dc31927d31ec11db18068c0), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 K)" ) -GAME_CUSTOM( 199?, m4buc__ac, m4buc, "bus01r.p1", 0x000000, 0x020000, CRC(ff83f8b0) SHA1(bbd56730eccb4df1815b98921522beec5c74a9bd), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 R)" ) -GAME_CUSTOM( 199?, m4buc__ae, m4buc, "bus01y.p1", 0x000000, 0x020000, CRC(064bebd7) SHA1(8b19edae49c919ddf20d2ebff43ffec79809d90c), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 Y)" ) // "(C)1993 BARCREST" and "BUS 0.2" GAME_CUSTOM( 199?, m4buc__aq, m4buc, "bus02s.p1", 0x000000, 0x020000, CRC(c43f9f09) SHA1(83501473bf8fc17748fa42ab446d4bc54eeb2a80), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.2)" ) GAME_CUSTOM( 199?, m4buc__af, m4buc, "bus02ad.p1", 0x000000, 0x020000, CRC(a1ad9f3d) SHA1(bfb61b1f2a449293d23d6c385a0aab67ccdcc8fe), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.2 DA)" ) @@ -4257,6 +5603,53 @@ GAME_CUSTOM( 199?, m4buc__ao, m4buc, "bus02k.p1", 0x000000, 0x020000 GAME_CUSTOM( 199?, m4buc__ap, m4buc, "bus02r.p1", 0x000000, 0x020000, CRC(6c3fc6a2) SHA1(f65cab3fcc5a7176dded8ebf3de8ff90479686c6), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.2 R)" ) GAME_CUSTOM( 199?, m4buc__ar, m4buc, "bus02y.p1", 0x000000, 0x020000, CRC(95f7d5c5) SHA1(301949ad27963041a3cef000ed9ffd16c119b18d), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.2 Y)" ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4BUC_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "BUG 0.4" +GAME_CUSTOM( 199?, m4buc, 0, "bug04s.p1", 0x000000, 0x020000, CRC(0f76cf1d) SHA1(e0081f88e23958564a87346082629c4fdc0cc147), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4)" ) +GAME_CUSTOM( 199?, m4buc__c, m4buc, "bug04ad.p1", 0x000000, 0x020000, CRC(c6171b29) SHA1(a66aa4b05f974aa9cea9e05e95d14a0e746374be), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 DA)" ) +GAME_CUSTOM( 199?, m4buc__d, m4buc, "bug04b.p1", 0x000000, 0x020000, CRC(4358fe51) SHA1(6e61397f71018d3f9d369a0ac8fefacafbada2d5), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 B)" ) +GAME_CUSTOM( 199?, m4buc__e, m4buc, "bug04bd.p1", 0x000000, 0x020000, CRC(282b7832) SHA1(1ae3e45606bb875dd178beab231bdaa472687d46), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 DB)" ) +GAME_CUSTOM( 199?, m4buc__f, m4buc, "bug04d.p1", 0x000000, 0x020000, CRC(68e74bf0) SHA1(7808ff977e61b4c21fec83a8fe1cbabfc1bed7c8), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 D)" ) +GAME_CUSTOM( 199?, m4buc__g, m4buc, "bug04dh.p1", 0x000000, 0x020000, CRC(689e47a7) SHA1(c3b7cd2cb6a397528b2a525b85df2bbff67450c1), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 DH)" ) +GAME_CUSTOM( 199?, m4buc__h, m4buc, "bug04dk.p1", 0x000000, 0x020000, CRC(01ca1dba) SHA1(83386f8a9bdf4e50b31c25cd4502a09a94ee3a1d), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 DK)" ) +GAME_CUSTOM( 199?, m4buc__i, m4buc, "bug04dr.p1", 0x000000, 0x020000, CRC(b2c5a68b) SHA1(42a0cee8cc2ba5b36adde1ab024799792982e5db), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 DR)" ) +GAME_CUSTOM( 199?, m4buc__j, m4buc, "bug04dy.p1", 0x000000, 0x020000, CRC(4b0db5ec) SHA1(f13ce614105f317bbc9318b7f512f8550b737e1d), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 DY)" ) +GAME_CUSTOM( 199?, m4buc__k, m4buc, "bug04h.p1", 0x000000, 0x020000, CRC(03edc1c4) SHA1(52a3040ec602008dc9143900d149251235282dca), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 H)" ) +GAME_CUSTOM( 199?, m4buc__l, m4buc, "bug04k.p1", 0x000000, 0x020000, CRC(6ab99bd9) SHA1(d199e88dd22f6c2d31c23413c4c3f262834f5751), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 K)" ) +GAME_CUSTOM( 199?, m4buc__m, m4buc, "bug04r.p1", 0x000000, 0x020000, CRC(d9b620e8) SHA1(01e7232f62dc33d3a9a26ee5456c2bb47dd4fce4), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 R)" ) +GAME_CUSTOM( 199?, m4buc__o, m4buc, "bug04y.p1", 0x000000, 0x020000, CRC(207e338f) SHA1(3a95d0029e3e3a8f839f335ed1a981e8d6124dcc), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4 Y)" ) +// "(C)1993 BARCREST" and "BUS 0.1" +GAME_CUSTOM( 199?, m4buc__ad, m4buc, "bus01s.p1", 0x000000, 0x020000, CRC(d5a35734) SHA1(7b905ac16eb50d462e9edc5bb50fe660b6f7c81b), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1)" ) +GAME_CUSTOM( 199?, m4buc__2, m4buc, "bus01ad.p1", 0x000000, 0x020000, CRC(0f5920ee) SHA1(5152c24fd3e3642a5324e68465403a6ce199db5a), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 DA)" ) +GAME_CUSTOM( 199?, m4buc__3, m4buc, "bus01b.p1", 0x000000, 0x020000, CRC(656d2609) SHA1(525fc8e2dc1d6bfe17c24e28ccde0f0a580e4330), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 B)" ) +GAME_CUSTOM( 199?, m4buc__4, m4buc, "bus01bd.p1", 0x000000, 0x020000, CRC(e16543f5) SHA1(98dc6a098ad13c1f7c3e0e1079eed92931ce279c), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 DB)" ) +GAME_CUSTOM( 199?, m4buc__5, m4buc, "bus01d.p1", 0x000000, 0x020000, CRC(4ed293a8) SHA1(577ca646df4d607c04a3c55853df847e1403bbfd), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 D)" ) +GAME_CUSTOM( 199?, m4buc__6, m4buc, "bus01dh.p1", 0x000000, 0x020000, CRC(a1d07c60) SHA1(830998adf3a4fc8d6ae9e08039719cbacff79fac), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 DH)" ) +GAME_CUSTOM( 199?, m4buc__7, m4buc, "bus01dk.p1", 0x000000, 0x020000, CRC(c884267d) SHA1(60b1bba2fb0c471c4808496d08f094f3989d1000), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 DK)" ) +GAME_CUSTOM( 199?, m4buc__8, m4buc, "bus01dr.p1", 0x000000, 0x020000, CRC(7b8b9d4c) SHA1(67b6f54153cf312c0f4bcc229763e5abcc61e4f4), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 DR)" ) +GAME_CUSTOM( 199?, m4buc__9, m4buc, "bus01dy.p1", 0x000000, 0x020000, CRC(82438e2b) SHA1(1daa8094c8c33d88be1a2f9e833559d4386af0bc), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 DY)" ) +GAME_CUSTOM( 199?, m4buc__aa, m4buc, "bus01h.p1", 0x000000, 0x020000, CRC(25d8199c) SHA1(84be66148fe14d85bd69fb4c9b5263b7c208e690), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 H)" ) +GAME_CUSTOM( 199?, m4buc__ab, m4buc, "bus01k.p1", 0x000000, 0x020000, CRC(4c8c4381) SHA1(0e6204e6f937ca8b9dc31927d31ec11db18068c0), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 K)" ) +GAME_CUSTOM( 199?, m4buc__ac, m4buc, "bus01r.p1", 0x000000, 0x020000, CRC(ff83f8b0) SHA1(bbd56730eccb4df1815b98921522beec5c74a9bd), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 R)" ) +GAME_CUSTOM( 199?, m4buc__ae, m4buc, "bus01y.p1", 0x000000, 0x020000, CRC(064bebd7) SHA1(8b19edae49c919ddf20d2ebff43ffec79809d90c), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1 Y)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4BUC_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // "(C)1999 BWB" and "BR_ 1.0" GAME_CUSTOM( 199?, m4buc__as, m4buc, "br_sj___.1_1", 0x000000, 0x020000, CRC(02c30d48) SHA1(8e5d09d721bf6e1876d672b6c84f46666cf42b90), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0)" ) GAME_CUSTOM( 199?, m4buc__at, m4buc, "br_sj_b_.1_1", 0x000000, 0x020000, CRC(490ec8a7) SHA1(faf9f450d48382aeb7b8e01750fc226c30e761d3), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0 YD)" ) @@ -4267,75 +5660,28 @@ GAME_CUSTOM( 199?, m4buc__ax, m4buc, "br_sjbg_.1_1", 0x000000, 0x020000 GAME_CUSTOM( 199?, m4buc__ay, m4buc, "br_sjbt_.1_1", 0x000000, 0x020000, CRC(00f9581e) SHA1(1461539f501250a08bf66e4a94e4b84113dc0dc5), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0 BR)" ) GAME_CUSTOM( 199?, m4buc__az, m4buc, "br_sjwb_.1_1", 0x000000, 0x020000, CRC(d15cb680) SHA1(4ab485eb2d1d57c690926e430e0c8b2af045381d), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0 YDH)" ) GAME_CUSTOM( 199?, m4buc__n, m4buc, "buccaneer5-15sw.bin", 0x000000, 0x020000, CRC(9b92d1f6) SHA1(d374fe966a1b039c971f278ab1113640e7629233), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0 K)" ) -// no copyright string and "BUG 0.4" -GAME_CUSTOM( 199?, m4buc__a, m4buc, "bucc15g", 0x000000, 0x020000, CRC(63dd1180) SHA1(a557af6927744b4ce2773c70db5ce1a7708ceb2c), "hack","Buccaneer (Barcrest) (MPU4) (BUG 0.4, hack)" ) -// no copyright string and "BUS 0.1" -GAME_CUSTOM( 199?, m4buc__b, m4buc, "bucc15t", 0x000000, 0x020000, CRC(66104749) SHA1(4b5a9a3f1409e207cad42ea29a205a18facf57ab), "hack","Buccaneer (Barcrest) (MPU4) (BUS 0.1, hack)" ) - - -// These were mixed in Hyper Viper and Super Hyper Viper sets, not sure if the software is actually different, maybe the Bwb rebuilds were 'Super' ? #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ + M4BUC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - -// "(C)1991 BARCREST" and "H6Y 0.3" -GAME_CUSTOM( 199?, m4hypvip, 0, "h6ys.p1", 0x0000, 0x010000, CRC(4af914ff) SHA1(3d9b7c65ec1129ee64e3f4e14e43e4c39c76166b), "Barcrest","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, set 1)" ) -GAME_CUSTOM( 199?, m4hypvip__e, m4hypvip, "h6yc.p1", 0x0000, 0x010000, CRC(8faca3bc) SHA1(9d666371f1118ccb1a94bfc4e6c79b540a84842b), "Barcrest","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3 C)" ) -GAME_CUSTOM( 199?, m4hypvip__c, m4hypvip, "h6yd.p1", 0x0000, 0x010000, CRC(862e7f5b) SHA1(2f5bbc31978fb9fd0ba17f0de220152da87cf06f), "Barcrest","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3 D)" ) -GAME_CUSTOM( 199?, m4hypvip__d, m4hypvip, "h6yk.p1", 0x0000, 0x010000, CRC(51f43c88) SHA1(d6ee4f537d09b33e9b13c972e1bda01a28f54f8e), "Barcrest","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3 K)" ) -GAME_CUSTOM( 199?, m4hypvip__f, m4hypvip, "h6yy.p1", 0x0000, 0x010000, CRC(bed4b3bb) SHA1(7c592fbc6541c03777ff0498db90c575b3193222), "Barcrest","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3 Y)" ) -GAME_CUSTOM( 199?, m4suphv, m4hypvip, "hyperviper.bin", 0x0000, 0x010000, CRC(8373f6a3) SHA1(79bff20ab80ffe11447595c6fe8e5ab90d432e17), "Barcrest","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, set 2)" ) // hack? -// "(C)1991 BARCREST" and "H6Y 0.3" (but hack, doesn't want usual characterizer) -GAME_CUSTOM( 199?, m4hypvip__k, m4hypvip, "hv20_101", 0x0000, 0x010000, CRC(b2ab79c9) SHA1(fd097b5b062d725fa0607117d6b52be6cbf7e597), "hack","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, hack, set 1)" ) -GAME_CUSTOM( 199?, m4hypvip__s, m4hypvip, "hvip_20_.8", 0x0000, 0x010000, CRC(61a608c7) SHA1(1ed98c8bd90a3a789ba00b6b39f49e3aa0fcb1ca), "hack","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, hack, set 2)" ) -GAME_CUSTOM( 199?, m4hypvip__v, m4hypvip, "hypv_20_.4", 0x0000, 0x010000, CRC(27a0162b) SHA1(2d1342edbfa29c4f2ee1f1a825f3eeb0489fbaf5), "hack","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, hack, set 3)" ) -// "(C)1991 BARCREST" and "H6Y 0.2" -GAME_CUSTOM( 199?, m4hypvip__n, m4hypvip, "hvypr206", 0x0000, 0x010000, CRC(e1d96b8c) SHA1(e21b1bdbca1bae41f0e7274e3521f99eb984759e), "Barcrest","Hyper Viper (Barcrest) (MPU4) (H6Y 0.2 Y)" ) -// "(C)1993 B.W.B." and "HVP 3.0" -GAME_CUSTOM( 199?, m4hypvip__l, m4hypvip, "hvyp10p", 0x0000, 0x010000, CRC(b4af635a) SHA1(420cdf3a6899e432d74e3b10a57414cbedc0913e), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 1)" ) -GAME_CUSTOM( 199?, m4suphv__a, m4hypvip, "hv_05___.3h3", 0x0000, 0x010000, CRC(13bfa891) SHA1(ffddd14a019d52029bf8d4f680d8d05413a9f0b7), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 2)" ) -GAME_CUSTOM( 199?, m4suphv__d, m4hypvip, "hv_05_d_.3h3", 0x0000, 0x010000, CRC(50c66ce8) SHA1(ef12525fc3ac82caf80326edaac81bb9fbc3245c), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 3)" ) -GAME_CUSTOM( 199?, m4suphv__g, m4hypvip, "hv_10___.3h3", 0x0000, 0x010000, CRC(627caac7) SHA1(4851ce2441850743ea68ecbf89bde3f4cd6c2b4c), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 4)" ) -GAME_CUSTOM( 199?, m4suphv__i, m4hypvip, "hv_10_d_.3h3", 0x0000, 0x010000, CRC(15cfa26e) SHA1(6bc3feaba65d1797b9945f23a89e983f56b13f79), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 5)" ) -GAME_CUSTOM( 199?, m4suphv__j, m4hypvip, "hv_10_d_.3n3", 0x0000, 0x010000, CRC(b81f1d0a) SHA1(5fd293be2b75393069c9f5e099b4700ff930f081), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 6)" ) -GAME_CUSTOM( 199?, m4suphv__l, m4hypvip, "hvi05___.3h3", 0x0000, 0x010000, CRC(6959332e) SHA1(edaa5f86ad4389b0a3bc2e6679fe8f62520be3ae), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 7)" ) -GAME_CUSTOM( 199?, m4suphv__o, m4hypvip, "hvi10___.3h3", 0x0000, 0x010000, CRC(6c1b4b89) SHA1(e8eb4e689d43c5b9e8354aa7375ca3ba12ed1160), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 8)" ) -GAME_CUSTOM( 199?, m4suphv__p, m4hypvip, "hvi10___.3n3", 0x0000, 0x010000, CRC(9d95cf8c) SHA1(26daf3975e1e3a605bc4392700c5470b52450d6e), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 9)" ) -// "(C)1993 B.W.B." and "HVP 4.0" -GAME_CUSTOM( 199?, m4suphv__c, m4hypvip, "hv_05___.4n3", 0x0000, 0x010000, CRC(f607f351) SHA1(d7b779b80fa964a27b106bd9d5ca3be16a11d5e9), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 4.0, set 1)" ) -GAME_CUSTOM( 199?, m4suphv__f, m4hypvip, "hv_05_d_.4n3", 0x0000, 0x010000, CRC(f4d702d7) SHA1(268c7f6443c7ae587caf5b227fcd438530a06bcc), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 4.0, set 2)" ) -GAME_CUSTOM( 199?, m4suphv__n, m4hypvip, "hvi05___.4n3", 0x0000, 0x010000, CRC(38a33c2b) SHA1(21004092b81e08146291fd3a025652f0edbe47dc), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 4.0, set 3)" ) -// "(C)1994 B.W.B." and "HVP 3.0" -GAME_CUSTOM( 199?, m4hypvip__a, m4hypvip, "h.viper10p610m.bin", 0x0000, 0x010000, CRC(104b0c48) SHA1(ab4cdb596a0cfb877ed1b6bf801e4a759b53971f), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, C)" ) -GAME_CUSTOM( 199?, m4hypvip__m, m4hypvip, "hvyp56c", 0x0000, 0x010000, CRC(297d3cf8) SHA1(78f4de2ed69fb38b944a54d4d5927ff791e7876c), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, C, bad?)" ) // bad rom? checksum alarm -GAME_CUSTOM( 199?, m4suphv__b, m4hypvip, "hv_05___.3o3", 0x0000, 0x010000, CRC(9ae86366) SHA1(614ae0ab184645c9f568796783f29a177eda3208), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 1)" ) -GAME_CUSTOM( 199?, m4suphv__e, m4hypvip, "hv_05_d_.3o3", 0x0000, 0x010000, CRC(87dfca0e) SHA1(3ab4105680acc46d3633a722f40ff1af0a520a7f), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 2)" ) -GAME_CUSTOM( 199?, m4suphv__h, m4hypvip, "hv_10___.3o3", 0x0000, 0x010000, CRC(02e4d86a) SHA1(47aa83e8bcd85e8ba7fb972cdd1ead7fe21e0418), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 3)" ) -GAME_CUSTOM( 199?, m4suphv__k, m4hypvip, "hv_10_d_.3o3", 0x0000, 0x010000, CRC(85f176b9) SHA1(30380d58bf2834829764cbdbdc7d950632e61e6d), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 4)" ) -GAME_CUSTOM( 199?, m4suphv__m, m4hypvip, "hvi05___.3o3", 0x0000, 0x010000, CRC(cdba80a5) SHA1(6c9fac7e5ee324b18922cc7a053495f1977bcb6d), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 5)" ) - // "(C)1995 B.W.B." and "HVC 1.0" -GAME_CUSTOM( 199?, m4hypvip__b, m4hypvip, "5p4hypervyper.bin", 0x0000, 0x010000, CRC(51ac9288) SHA1(1580079b6e710506ab03e1d8a89af65cd06cedd2), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVC 1.0 C)" ) -// no copyright string and "HVP 3.0" -GAME_CUSTOM( 199?, m4hypvip__g, m4hypvip, "hv056c", 0x0000, 0x010000, CRC(91dcef99) SHA1(8fb6245fa8731b58799c0d2edc0e6c6942984a6f), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 1)" ) -GAME_CUSTOM( 199?, m4hypvip__h, m4hypvip, "hv05_101", 0x0000, 0x010000, CRC(e1fa633d) SHA1(3f446c3396142631141cf85db507f3ae288847e3), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 2)" ) -GAME_CUSTOM( 199?, m4hypvip__o, m4hypvip, "hyp55", 0x0000, 0x010000, CRC(07bd7455) SHA1(0d0a017c90e8d28500594f55c9a60dfc08aff5c3), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 3)" ) -GAME_CUSTOM( 199?, m4hypvip__p, m4hypvip, "hypr58c", 0x0000, 0x010000, CRC(d6028f8f) SHA1(54a3188ddb5196808a1161a0e1e6a8c1fe8bfde3), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 4)" ) -GAME_CUSTOM( 199?, m4hypvip__t, m4hypvip, "hypv_05_.4", 0x0000, 0x010000, CRC(246f171c) SHA1(7bbefb0cae57cf8097aa6d033df1a428e8bfe744), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 5)" ) -GAME_CUSTOM( 199?, m4hypvip__q, m4hypvip, "hvip_05_.8", 0x0000, 0x010000, CRC(625f1b9d) SHA1(f8dc0cde774f3fc4fb3d66d014ad47e9576c0f44), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, hack, set 1)" ) -// "DICK WAS ERE" and "HVP 3.0" -GAME_CUSTOM( 199?, m4hypvip__i, m4hypvip, "hv108c", 0x0000, 0x010000, CRC(4d40ebfe) SHA1(0e355fe5b185ba595c5040335956037b8ed21599), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 6)" ) -GAME_CUSTOM( 199?, m4hypvip__j, m4hypvip, "hv10_101", 0x0000, 0x010000, CRC(57714454) SHA1(de99f5a66081191a7280c54e875fd17cc94e111b), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 7)" ) -GAME_CUSTOM( 199?, m4hypvip__u, m4hypvip, "hypv_10_.4", 0x0000, 0x010000, CRC(f85d21a1) SHA1(55ed92147335a1471b7b443f68dd700f579d21f3), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 8)" ) -GAME_CUSTOM( 199?, m4hypvip__r, m4hypvip, "hvip_10_.8", 0x0000, 0x010000, CRC(f91d7fec) SHA1(4c8130f9ce0ee3b14744e2b3cab79d4a65767e78), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, hack, set 2)" ) - + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) +// different protection +// no copyright string and "BUG 0.4" +GAME_CUSTOM( 199?, m4buc__a, m4buc, "bucc15g", 0x000000, 0x020000, CRC(63dd1180) SHA1(a557af6927744b4ce2773c70db5ce1a7708ceb2c), "hack","Buccaneer (Barcrest) (MPU4) (BUG 0.4, hack)" ) +// no copyright string and "BUS 0.1" +GAME_CUSTOM( 199?, m4buc__b, m4buc, "bucc15t", 0x000000, 0x020000, CRC(66104749) SHA1(4b5a9a3f1409e207cad42ea29a205a18facf57ab), "hack","Buccaneer (Barcrest) (MPU4) (BUS 0.1, hack)" ) +/***************************************************************************************************************************************************************************** +* +* Jewel In the Crown +* +*****************************************************************************************************************************************************************************/ #define M4JWLCWN_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ @@ -4344,6 +5690,7 @@ GAME_CUSTOM( 199?, m4hypvip__r, m4hypvip, "hvip_10_.8", 0x0000, 0 ROM_LOAD( "jewelp2", 0x080000, 0x080000, CRC(84996453) SHA1(74fe377545503f1b8da9b8998514811f0c1c037c) ) /* alt cje */ \ ROM_LOAD( "cjhsnd.p1", 0x000000, 0x080000, CRC(4add4eca) SHA1(98dc644d3f3d67e764c215bd26ae010e4b23c738) ) \ ROM_LOAD( "cjhsnd.p2", 0x080000, 0x080000, CRC(5eec51f0) SHA1(834d9d13f79a61c51db9df067064f64a15c956a9) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -4351,8 +5698,7 @@ GAME_CUSTOM( 199?, m4hypvip__r, m4hypvip, "hvip_10_.8", 0x0000, 0 ROM_LOAD( name, offset, length, hash ) \ M4JWLCWN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) - + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "CJE 1.0" GAME_CUSTOM( 199?, m4jwlcwn, 0, "cje10s.p1", 0x0000, 0x020000, CRC(5f3b72b7) SHA1(8faf0de0282a67c88170c13856b8816c38396e19), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (CJE 1.0)" ) @@ -4384,6 +5730,16 @@ GAME_CUSTOM( 199?, m4jwlcwn__v, m4jwlcwn, "cjh10r.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4jwlcwn__x, m4jwlcwn, "cjh10y.p1", 0x0000, 0x020000, CRC(aa24160c) SHA1(2014420ce92297dbe1ef286d801c25aa67976b2e), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (CJH 1.0 Y)" ) // "(C)1993 BARCREST" and "CJH 0.8" GAME_CUSTOM( 199?, m4jwlcwn__0, m4jwlcwn, "jitc2010", 0x0000, 0x020000, CRC(1c946895) SHA1(43215c4099197a67bf0a6100e3dc3b81759cfc76), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (CJH 0.8)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4JWLCWN_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // "(C)1997 B.W.B." and "JC8 4.4" GAME_CUSTOM( 199?, m4jwlcwn__1, m4jwlcwn, "jc__x___.4_1", 0x0000, 0x020000, CRC(5bf060ca) SHA1(a13795b145ff230437764f5414ec443e8fe4d783), "Bwb","Jewel In the Crown (Barcrest) (MPU4) (JC8 4.4)" ) // "(C)1997 B.W.B." and "JCC 3.3" @@ -4396,16 +5752,34 @@ GAME_CUSTOM( 199?, m4jwlcwn__4, m4jwlcwn, "jc__xa_5.1_1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4jwlcwn__5, m4jwlcwn, "jc__xa_8.4_1", 0x0000, 0x020000, CRC(27346ae8) SHA1(0fa13205e45e8dab0e1a25e6492ff2987633eb0f), "Bwb","Jewel In the Crown (Barcrest) (MPU4) (JC8 4.2 K)" ) // "(C)1997 B.W.B." and "JCC 3.7" GAME_CUSTOM( 199?, m4jwlcwn__6, m4jwlcwn, "jc_xx__c.3_1", 0x0000, 0x020000, CRC(0787fd51) SHA1(90fc71e0ea9b79d3296611c1e6f720150e17d51b), "Bwb","Jewel In the Crown (Barcrest) (MPU4) (JCC 3.7)" ) + +// different protection +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4JWLCWN_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // no copyright string and "CJH 1.0" GAME_CUSTOM( 199?, m4jwlcwn__y, m4jwlcwn, "jewel15g", 0x0000, 0x020000, CRC(bf3b8b63) SHA1(1ee91745438b9458ffbd43380bf9c6fd784fd054), "hack","Jewel In the Crown (Barcrest) (MPU4) (CJH 1.0 C, hack)" ) // no copyright string and "CJE 1.0" GAME_CUSTOM( 199?, m4jwlcwn__z, m4jwlcwn, "jewel15t", 0x0000, 0x020000, CRC(5828fd3b) SHA1(be95d5c3c9729547dcb0815c868e8d654826e34e), "hack","Jewel In the Crown (Barcrest) (MPU4) (CJE 1.0 C, hack)" ) +/***************************************************************************************************************************************************************************** +* +* Bagatelle +* +*****************************************************************************************************************************************************************************/ + #define M4BAGTEL_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "bgtsnd.p1", 0x000000, 0x080000, CRC(40a68dd1) SHA1(d70cf436dca242d49cd3bd39d3f6484a30968d0d) ) \ ROM_LOAD( "bgtsnd.p2", 0x080000, 0x080000, CRC(90961429) SHA1(6390e575d030f6d2953ee8460876c50fe48026f8) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -4413,18 +5787,8 @@ GAME_CUSTOM( 199?, m4jwlcwn__z, m4jwlcwn, "jewel15t", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4BAGTEL_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) -// "(C)1991 BARCREST" and "BGT 0.5" -GAME_CUSTOM( 199?, m4bagtel, 0, "bgt05s.p1", 0x0000, 0x010000, CRC(ddf1c7dc) SHA1(a786e5e04538ce498493795fc4054bb5de57ffd2), "Barcrest","Bagatelle (Barcrest) (MPU4) (BGT 0.5)" ) -GAME_CUSTOM( 199?, m4bagtel__d, m4bagtel, "bgt05dk.p1", 0x0000, 0x010000, CRC(4acaf68d) SHA1(fb7e04c8201829c252add05599218fb2b32c8533), "Barcrest","Bagatelle (Barcrest) (MPU4) (BGT 0.5 KD)" ) -GAME_CUSTOM( 199?, m4bagtel__e, m4bagtel, "bgt05k.p1", 0x0000, 0x010000, CRC(72eb14ad) SHA1(18f9dbc5fd85e14d507b4c69d03d01f24aabb325), "Barcrest","Bagatelle (Barcrest) (MPU4) (BGT 0.5 K)" ) -GAME_CUSTOM( 199?, m4bagtel__f, m4bagtel, "bgt05r.p1", 0x0000, 0x010000, CRC(e92ad743) SHA1(649496429572a339dea50e262b7eb2ef22273bea), "Barcrest","Bagatelle (Barcrest) (MPU4) (BGT 0.5 R)" ) -GAME_CUSTOM( 199?, m4bagtel__g, m4bagtel, "bgt05y.p1", 0x0000, 0x010000, CRC(f2508bfa) SHA1(936fb79d5d953d1e2138a55754cbd364d3c307ed), "Barcrest","Bagatelle (Barcrest) (MPU4) (BGT 0.5 Y)" ) -// "(C)1991 BARCREST" and "BG2 0.1" -GAME_CUSTOM( 199?, m4bagtel__c, m4bagtel, "bg201s.p1", 0x0000, 0x010000, CRC(639b078b) SHA1(0c5d270457b2ae88c3885838f96ce29824996e77), "Barcrest","Bagatelle (Barcrest) (MPU4) (BG2 0.1)" ) -GAME_CUSTOM( 199?, m4bagtel__a, m4bagtel, "bg201c.p1", 0x0000, 0x010000, CRC(ee9bf501) SHA1(5c6ee55cfac5bb92695b412fe56f4c843dcae424), "Barcrest","Bagatelle (Barcrest) (MPU4) (BG2 0.1 C)" ) -GAME_CUSTOM( 199?, m4bagtel__b, m4bagtel, "bg201dy.p1", 0x0000, 0x010000, CRC(c4916bc0) SHA1(7600a5be6ff235d19f7c99b44b86054555b43638), "Barcrest","Bagatelle (Barcrest) (MPU4) (BG2 0.1 YD)" ) // "(C)1991 BARCREST" and "EL1 0.1" GAME_CUSTOM( 199?, m4bagtel__r, m4bagtel, "el101s.p1", 0x0000, 0x010000, CRC(2035faf2) SHA1(1b640fee2f0ace25dfaa702ab2602cdec5ab6018), "Barcrest","Bagatelle (Barcrest) (MPU4) (EL1 0.1)" ) GAME_CUSTOM( 199?, m4bagtel__h, m4bagtel, "el101ad.p1", 0x0000, 0x010000, CRC(fcb39192) SHA1(a604122e40c313ed240f722a48f56d1478754ed3), "Barcrest","Bagatelle (Barcrest) (MPU4) (EL1 0.1 AD)" ) @@ -4465,46 +5829,36 @@ GAME_CUSTOM( 199?, m4bagtel__ad, m4bagtel, "el310k.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4bagtel__ae, m4bagtel, "el310r.p1", 0x0000, 0x010000, CRC(0ea8a744) SHA1(2839dd86b54ed073765d97a82b056e20eb05f32f), "Barcrest","Bagatelle (Barcrest) (MPU4) (EL3 1.0 R)" ) GAME_CUSTOM( 199?, m4bagtel__ag, m4bagtel, "el310y.p1", 0x0000, 0x010000, CRC(9653f0c6) SHA1(188056b8b704f9b06f93144ce358ec47cc026902), "Barcrest","Bagatelle (Barcrest) (MPU4) (EL3 1.0 Y)" ) - - -#define M4PRZWTA_EXTRA_ROMS \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "pwnsnd.p1", 0x000000, 0x080000, CRC(c0f5e160) SHA1(eff218a36912fe599e9d73a96b49e75335bba272) ) \ - ROM_LOAD( "pwnsnd.p2", 0x080000, 0x080000, CRC(d81dfc8f) SHA1(5fcfcba836080b5752911d69dfe650614acbf845) ) - #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ - M4PRZWTA_EXTRA_ROMS \ + M4BAGTEL_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) -// "(C)1993 BARCREST" and "PWN 0.4" -GAME_CUSTOM( 199?, m4przwta, 0, "pwns.p1", 0x0000, 0x020000, CRC(b3b87954) SHA1(f998ebf8047930f006213040ed5e6a9f90844143), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PWN 0.4)" ) -GAME_CUSTOM( 199?, m4przwta__p, m4przwta, "pwnr.p1", 0x0000, 0x020000, CRC(cf619ad2) SHA1(3eeccccb304afd5faf2563e0e65f8123e463d363), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PWN 0.4 R)" ) -GAME_CUSTOM( 199?, m4przwta__l, m4przwta, "pwna.p1", 0x0000, 0x020000, CRC(bbb32770) SHA1(36815dca6550a1a417b3e809b041a7b4670f5b75), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PWN 0.4 A)" ) -GAME_CUSTOM( 199?, m4przwta__m, m4przwta, "pwnb.p1", 0x0000, 0x020000, CRC(36a989b5) SHA1(631399c65b697417ed9a95961463b8349a97b142), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PWN 0.4 B)" ) -GAME_CUSTOM( 199?, m4przwta__n, m4przwta, "pwndy.p1", 0x0000, 0x020000, CRC(6b739a41) SHA1(64f4b380c725f6159c6201147ab4062d6375d98b), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PWN 0.4 YD)" ) -GAME_CUSTOM( 199?, m4przwta__o, m4przwta, "pwnk.p1", 0x0000, 0x020000, CRC(7c6e21e3) SHA1(d6aeb5948e0800050193575a3b5c06c11f46eed8), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PWN 0.4 K)" ) -// "(C)1993 BARCREST" and "PW8 0.2" -GAME_CUSTOM( 199?, m4przwta__j, m4przwta, "pw8s.p1", 0x0000, 0x020000, CRC(3d77c91d) SHA1(3ab79073f5d9c13f751892aa33c2668521887bf8), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2)" ) -GAME_CUSTOM( 199?, m4przwta__a, m4przwta, "pw8ad.p1", 0x0000, 0x020000, CRC(71257e43) SHA1(1db17aa1fc684873511a46e5e7421b459040d0cc), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 AD)" ) -GAME_CUSTOM( 199?, m4przwta__b, m4przwta, "pw8b.p1", 0x0000, 0x020000, CRC(52b2af18) SHA1(1ce00b94a2d16b5140a110e604b97af6860fd577), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 B)" ) -GAME_CUSTOM( 199?, m4przwta__c, m4przwta, "pw8bd.p1", 0x0000, 0x020000, CRC(fc3fd086) SHA1(8fa8b75faf2196e87acbafc3a48a2ba628f6cc66), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 BD)" ) -GAME_CUSTOM( 199?, m4przwta__d, m4przwta, "pw8d.p1", 0x0000, 0x020000, CRC(2fa9a46e) SHA1(4f351fc4e5e0ea9316893981420041d0d5613aec), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 D)" ) -GAME_CUSTOM( 199?, m4przwta__e, m4przwta, "pw8dj.p1", 0x0000, 0x020000, CRC(d8ea4655) SHA1(f3c02638d20eaef95e09e51301445c9a4c215514), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 DJ)" ) -GAME_CUSTOM( 199?, m4przwta__f, m4przwta, "pw8dk.p1", 0x0000, 0x020000, CRC(b6f878d0) SHA1(51bbeb36cc5c086442ec3951d2679fbf0a5ceebd), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 KD)" ) -GAME_CUSTOM( 199?, m4przwta__g, m4przwta, "pw8dy.p1", 0x0000, 0x020000, CRC(311b582e) SHA1(f53254b8c6f65087f67d60f0d0441228e1024cc8), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 YD)" ) -GAME_CUSTOM( 199?, m4przwta__h, m4przwta, "pw8j.p1", 0x0000, 0x020000, CRC(766739cb) SHA1(8b7cd7f02fb25f5e50febdb90c8f39f3a6840a35), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 J)" ) -GAME_CUSTOM( 199?, m4przwta__i, m4przwta, "pw8k.p1", 0x0000, 0x020000, CRC(1875074e) SHA1(fb25c4ed4ba9d6aa5fb45a8ba9c73b18062173f0), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 K)" ) -GAME_CUSTOM( 199?, m4przwta__k, m4przwta, "pw8y.p1", 0x0000, 0x020000, CRC(9f9627b0) SHA1(19c9dc7033b1e85676222a8b3a866392a4afdd1e), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2 Y)" ) +// "(C)1991 BARCREST" and "BGT 0.5" +GAME_CUSTOM( 199?, m4bagtel, 0, "bgt05s.p1", 0x0000, 0x010000, CRC(ddf1c7dc) SHA1(a786e5e04538ce498493795fc4054bb5de57ffd2), "Barcrest","Bagatelle (Barcrest) (MPU4) (BGT 0.5)" ) +GAME_CUSTOM( 199?, m4bagtel__d, m4bagtel, "bgt05dk.p1", 0x0000, 0x010000, CRC(4acaf68d) SHA1(fb7e04c8201829c252add05599218fb2b32c8533), "Barcrest","Bagatelle (Barcrest) (MPU4) (BGT 0.5 KD)" ) +GAME_CUSTOM( 199?, m4bagtel__e, m4bagtel, "bgt05k.p1", 0x0000, 0x010000, CRC(72eb14ad) SHA1(18f9dbc5fd85e14d507b4c69d03d01f24aabb325), "Barcrest","Bagatelle (Barcrest) (MPU4) (BGT 0.5 K)" ) +GAME_CUSTOM( 199?, m4bagtel__f, m4bagtel, "bgt05r.p1", 0x0000, 0x010000, CRC(e92ad743) SHA1(649496429572a339dea50e262b7eb2ef22273bea), "Barcrest","Bagatelle (Barcrest) (MPU4) (BGT 0.5 R)" ) +GAME_CUSTOM( 199?, m4bagtel__g, m4bagtel, "bgt05y.p1", 0x0000, 0x010000, CRC(f2508bfa) SHA1(936fb79d5d953d1e2138a55754cbd364d3c307ed), "Barcrest","Bagatelle (Barcrest) (MPU4) (BGT 0.5 Y)" ) +// "(C)1991 BARCREST" and "BG2 0.1" +GAME_CUSTOM( 199?, m4bagtel__c, m4bagtel, "bg201s.p1", 0x0000, 0x010000, CRC(639b078b) SHA1(0c5d270457b2ae88c3885838f96ce29824996e77), "Barcrest","Bagatelle (Barcrest) (MPU4) (BG2 0.1)" ) +GAME_CUSTOM( 199?, m4bagtel__a, m4bagtel, "bg201c.p1", 0x0000, 0x010000, CRC(ee9bf501) SHA1(5c6ee55cfac5bb92695b412fe56f4c843dcae424), "Barcrest","Bagatelle (Barcrest) (MPU4) (BG2 0.1 C)" ) +GAME_CUSTOM( 199?, m4bagtel__b, m4bagtel, "bg201dy.p1", 0x0000, 0x010000, CRC(c4916bc0) SHA1(7600a5be6ff235d19f7c99b44b86054555b43638), "Barcrest","Bagatelle (Barcrest) (MPU4) (BG2 0.1 YD)" ) +/***************************************************************************************************************************************************************************** +* +* Berserk +* +*****************************************************************************************************************************************************************************/ #define M4BERSER_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "bessnd.p1", 0x0000, 0x080000, CRC(4eb15200) SHA1(1997a304df5219153418369bd8cc4fd169fb4bd4) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -4512,7 +5866,7 @@ GAME_CUSTOM( 199?, m4przwta__k, m4przwta, "pw8y.p1", 0x0000, 0x020000, CRC ROM_LOAD( name, offset, length, hash ) \ M4BERSER_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1991 BARCREST" and "BES 0.6" GAME_CUSTOM( 199?, m4berser, 0, "bess.p1", 0x0000, 0x010000, CRC(b95bafbe) SHA1(034c80ef5fd0a12fad918c9b01bafb9a99c2e991), "Barcrest","Berserk (Barcrest) (MPU4) (BES 0.6)" ) @@ -4523,16 +5877,6 @@ GAME_CUSTOM( 199?, m4berser__x, m4berser, "besdk.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4berser__y, m4berser, "besdy.p1", 0x0000, 0x010000, CRC(461ac51f) SHA1(217f169bd2bc4108145231e9b974d2f890a4f25e), "Barcrest","Berserk (Barcrest) (MPU4) (BES 0.6 YD)" ) GAME_CUSTOM( 199?, m4berser__z, m4berser, "besk.p1", 0x0000, 0x010000, CRC(03eb2a05) SHA1(375f47bd1d0f21fde5ea0fcf7b79c02db9f8c9c6), "Barcrest","Berserk (Barcrest) (MPU4) (BES 0.6 K)" ) GAME_CUSTOM( 199?, m4berser__0, m4berser, "besy.p1", 0x0000, 0x010000, CRC(64a49f88) SHA1(6bd1275e9172e311ead36566432729530c1b6c21), "Barcrest","Berserk (Barcrest) (MPU4) (BES 0.6 Y)" ) -// "(C)1991 BARCREST" and "BE3 0.1" -GAME_CUSTOM( 199?, m4berser__h, m4berser, "be3s.p1", 0x0000, 0x010000, CRC(1a66772e) SHA1(e604315cea3db5f3859f1756e84b37b805f1f995), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1)" ) -GAME_CUSTOM( 199?, m4berser__a, m4berser, "be3ad.p1", 0x0000, 0x010000, CRC(db4d77e9) SHA1(80e9ecf0a5d213e23fe8d328fbe8af52d49e2897), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 AD)" ) -GAME_CUSTOM( 199?, m4berser__b, m4berser, "be3b.p1", 0x0000, 0x010000, CRC(b25e9adb) SHA1(cc72c7a02868d56371f6d1bbaf78a017147b1a5a), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 B)" ) -GAME_CUSTOM( 199?, m4berser__c, m4berser, "be3bd.p1", 0x0000, 0x010000, CRC(ed511aa3) SHA1(e6efe14490fa62ec9e5565e92216e371ab98b78a), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 BD)" ) -GAME_CUSTOM( 199?, m4berser__d, m4berser, "be3d.p1", 0x0000, 0x010000, CRC(9bd3b8a5) SHA1(9432e985d6fc0158a325b75cfdec38ab10d0e991), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 D)" ) -GAME_CUSTOM( 199?, m4berser__e, m4berser, "be3dk.p1", 0x0000, 0x010000, CRC(82b4513e) SHA1(a36eebef35dbc2fbc25d39fde811e180a3682b67), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 KD)" ) -GAME_CUSTOM( 199?, m4berser__f, m4berser, "be3dy.p1", 0x0000, 0x010000, CRC(6f2869f2) SHA1(b006f467463038b5987764f9eedec1d7357ade65), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 YD)" ) -GAME_CUSTOM( 199?, m4berser__g, m4berser, "be3k.p1", 0x0000, 0x010000, CRC(12b3954a) SHA1(cce68a720a0bb1ce64cbf6ab2902a712403516cd), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 K)" ) -GAME_CUSTOM( 199?, m4berser__i, m4berser, "be3y.p1", 0x0000, 0x010000, CRC(5c6451ca) SHA1(b63b9289fdef3be6add1e1ee22f9e316f296cc97), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 Y)" ) // "(C)1991 BARCREST" and "BE8 0.1" GAME_CUSTOM( 199?, m4berser__s, m4berser, "be8s.p1", 0x0000, 0x010000, CRC(12d0fb4f) SHA1(103a468a0712dfc44b140cad01cd49b6f159b621), "Barcrest","Berserk (Barcrest) (MPU4) (BE8 0.1)" ) GAME_CUSTOM( 199?, m4berser__j, m4berser, "be8ad.p1", 0x0000, 0x010000, CRC(0c196fd2) SHA1(830917f4c9bb7df35ac7d1e4fdcbb3eaac65ec5f), "Barcrest","Berserk (Barcrest) (MPU4) (BE8 0.1 AD)" ) @@ -4545,41 +5889,47 @@ GAME_CUSTOM( 199?, m4berser__p, m4berser, "be8dk.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4berser__q, m4berser, "be8dy.p1", 0x0000, 0x010000, CRC(5f885b13) SHA1(c398bb40fbac39530ba7b96bf4a4fde575c9fa87), "Barcrest","Berserk (Barcrest) (MPU4) (BE8 0.1 YD)" ) GAME_CUSTOM( 199?, m4berser__r, m4berser, "be8k.p1", 0x0000, 0x010000, CRC(b66051b6) SHA1(910bd0a4112a81df0160efd86bed1a8a59b2acb8), "Barcrest","Berserk (Barcrest) (MPU4) (BE8 0.1 K)" ) GAME_CUSTOM( 199?, m4berser__t, m4berser, "be8y.p1", 0x0000, 0x010000, CRC(80d73997) SHA1(99e76616e9a73f111bdd560f2691b99905e4e454), "Barcrest","Berserk (Barcrest) (MPU4) (BE8 0.1 Y)" ) -// "(C)1996 B.W.B." and "BE4 1.1" -GAME_CUSTOM( 199?, m4berser__1, m4berser, "be_05a_4.1_1", 0x0000, 0x010000, CRC(e4ec1624) SHA1(e6241edb729796dd248abca6bf67281379c39af2), "Bwb","Berserk (Barcrest) (MPU4) (BE4 1.1 KS)" ) - - -#define M4VIVESS_EXTRA_ROMS \ - ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) \ - /* missing */ #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ - M4VIVESS_EXTRA_ROMS \ + M4BERSER_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) -// "(C)1993 BARCREST" and "SE8 0.1" -GAME_CUSTOM( 199?, m4vivess, 0, "se8s.p1", 0x0000, 0x010000, CRC(d5c261de) SHA1(5f70944ffe03109ad16f162370fd3653d131034d), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1)" ) -GAME_CUSTOM( 199?, m4vivess__a, m4vivess, "se8ad.p1", 0x0000, 0x010000, CRC(4f799dfe) SHA1(e85108ab0aad92a64eabf5c7562068caf22f8d5b), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 AD)" ) -GAME_CUSTOM( 199?, m4vivess__b, m4vivess, "se8b.p1", 0x0000, 0x010000, CRC(876efabb) SHA1(6ca1d37416b5401ba10977dad6a5881bdc7246ed), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 B)" ) -GAME_CUSTOM( 199?, m4vivess__c, m4vivess, "se8bd.p1", 0x0000, 0x010000, CRC(39fe1c08) SHA1(99a04561555c819fc2954897e7831cf2c38db702), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 BD)" ) -GAME_CUSTOM( 199?, m4vivess__d, m4vivess, "se8d.p1", 0x0000, 0x010000, CRC(86cfec8e) SHA1(22e66ab075148c084db703358554b5496837d936), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 D)" ) -GAME_CUSTOM( 199?, m4vivess__f, m4vivess, "se8dk.p1", 0x0000, 0x010000, CRC(006b907e) SHA1(368915ec502bff70c1bdb0724ba6e32a9892aa5e), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 KD)" ) -GAME_CUSTOM( 199?, m4vivess__g, m4vivess, "se8dy.p1", 0x0000, 0x010000, CRC(36dcf85f) SHA1(e635501e6ba7dc4e56f1e00b472b32c030aa6592), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 YD)" ) -GAME_CUSTOM( 199?, m4vivess__i, m4vivess, "se8k.p1", 0x0000, 0x010000, CRC(befb76cd) SHA1(f60e17538acd6f5b20e786f8a51a0471ee3246c8), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 K)" ) -GAME_CUSTOM( 199?, m4vivess__j, m4vivess, "se8y.p1", 0x0000, 0x010000, CRC(8be03e81) SHA1(f51024036f56b2009905e9c08bb292f2a280c0f6), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1 Y)" ) -// "(C)1993 BARCREST" and "SES 0.2" -GAME_CUSTOM( 199?, m4vivess__o, m4vivess, "sess.p1", 0x0000, 0x010000, CRC(0e8d5c05) SHA1(bf05e4e83d6d4fb7c471e8ca22df21b357d8ed9b), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SES 0.2)" ) -GAME_CUSTOM( 199?, m4vivess__k, m4vivess, "sesb.p1", 0x0000, 0x010000, CRC(0e3dc285) SHA1(53cf28228192b6e83d0ff95c8de2fb978720d363), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SES 0.2 B)" ) -GAME_CUSTOM( 199?, m4vivess__l, m4vivess, "sesd.p1", 0x0000, 0x010000, CRC(549aaf0b) SHA1(084aca4429e27ce2642991aae8738d85c0157e54), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SES 0.2 D)" ) -GAME_CUSTOM( 199?, m4vivess__m, m4vivess, "sesdy.p1", 0x0000, 0x010000, CRC(1869edd8) SHA1(b76dfa439eef641817a9bdf9c737cb06ac54efea), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SES 0.2 YD)" ) -GAME_CUSTOM( 199?, m4vivess__n, m4vivess, "sesk.p1", 0x0000, 0x010000, CRC(ebdb5ec4) SHA1(f7ec6e8c0142a0885fda066f379e7bd22f5844e5), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SES 0.2 K)" ) -GAME_CUSTOM( 199?, m4vivess__p, m4vivess, "sesy.p1", 0x0000, 0x010000, CRC(126472e9) SHA1(3bebd273debbc9b71fce83cdc1031927698f7775), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SES 0.2 Y)" ) +// "(C)1991 BARCREST" and "BE3 0.1" +GAME_CUSTOM( 199?, m4berser__h, m4berser, "be3s.p1", 0x0000, 0x010000, CRC(1a66772e) SHA1(e604315cea3db5f3859f1756e84b37b805f1f995), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1)" ) +GAME_CUSTOM( 199?, m4berser__a, m4berser, "be3ad.p1", 0x0000, 0x010000, CRC(db4d77e9) SHA1(80e9ecf0a5d213e23fe8d328fbe8af52d49e2897), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 AD)" ) +GAME_CUSTOM( 199?, m4berser__b, m4berser, "be3b.p1", 0x0000, 0x010000, CRC(b25e9adb) SHA1(cc72c7a02868d56371f6d1bbaf78a017147b1a5a), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 B)" ) +GAME_CUSTOM( 199?, m4berser__c, m4berser, "be3bd.p1", 0x0000, 0x010000, CRC(ed511aa3) SHA1(e6efe14490fa62ec9e5565e92216e371ab98b78a), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 BD)" ) +GAME_CUSTOM( 199?, m4berser__d, m4berser, "be3d.p1", 0x0000, 0x010000, CRC(9bd3b8a5) SHA1(9432e985d6fc0158a325b75cfdec38ab10d0e991), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 D)" ) +GAME_CUSTOM( 199?, m4berser__e, m4berser, "be3dk.p1", 0x0000, 0x010000, CRC(82b4513e) SHA1(a36eebef35dbc2fbc25d39fde811e180a3682b67), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 KD)" ) +GAME_CUSTOM( 199?, m4berser__f, m4berser, "be3dy.p1", 0x0000, 0x010000, CRC(6f2869f2) SHA1(b006f467463038b5987764f9eedec1d7357ade65), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 YD)" ) +GAME_CUSTOM( 199?, m4berser__g, m4berser, "be3k.p1", 0x0000, 0x010000, CRC(12b3954a) SHA1(cce68a720a0bb1ce64cbf6ab2902a712403516cd), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 K)" ) +GAME_CUSTOM( 199?, m4berser__i, m4berser, "be3y.p1", 0x0000, 0x010000, CRC(5c6451ca) SHA1(b63b9289fdef3be6add1e1ee22f9e316f296cc97), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1 Y)" ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4BERSER_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1996 B.W.B." and "BE4 1.1" +GAME_CUSTOM( 199?, m4berser__1, m4berser, "be_05a_4.1_1", 0x0000, 0x010000, CRC(e4ec1624) SHA1(e6241edb729796dd248abca6bf67281379c39af2), "Bwb","Berserk (Barcrest) (MPU4) (BE4 1.1 KS)" ) + + +/***************************************************************************************************************************************************************************** +* +* Ten Ten Do It Again +* +*****************************************************************************************************************************************************************************/ + +// hopper error #define M4TTDIA_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ @@ -4592,7 +5942,7 @@ GAME_CUSTOM( 199?, m4vivess__p, m4vivess, "sesy.p1", 0x0000, 0x010000, CRC ROM_LOAD( name, offset, length, hash ) \ M4TTDIA_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "TDA 0.4" GAME_CUSTOM( 199?, m4ttdia, 0, "tda04s.p1", 0x0000, 0x020000, CRC(1240642e) SHA1(7eaf02d5c00707a0a6d98d247c293cad1ca87108), "Barcrest","Ten Ten Do It Again (Barcrest) (MPU4) (TDA 0.4)" ) @@ -4611,67 +5961,13 @@ GAME_CUSTOM( 199?, m4ttdia__l, m4ttdia, "tda04r.p1", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4ttdia__m, m4ttdia, "tda04y.p1", 0x0000, 0x020000, CRC(1151d6c2) SHA1(0048447537061d15c4173366ac1b431e4eef4d57), "Barcrest","Ten Ten Do It Again (Barcrest) (MPU4) (TDA 0.4 Y)" ) +/***************************************************************************************************************************************************************************** +* +* Action Bank +* +*****************************************************************************************************************************************************************************/ -#define M4PRZVE_EXTRA_ROMS \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "pessnd.p1", 0x000000, 0x080000, CRC(e7975c75) SHA1(407c3bcff29f4b6599de2c35d96f62c72a897bd1) ) \ - ROM_LOAD( "pessnd.p2", 0x080000, 0x080000, CRC(9f22f32d) SHA1(af64f6bde0b825d474c42c56f6e2253b28d4f90f) ) -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4PRZVE_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - -// "(C)1993 BARCREST" and "PES 0.4" -GAME_CUSTOM( 199?, m4przve, 0, "pess.p1", 0x0000, 0x010000, CRC(d8e79833) SHA1(f68fd1bd057a353832c7de3e2818906ab2b844b7), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PES 0.4)" ) -GAME_CUSTOM( 199?, m4przve__l, m4przve, "pesb.p1", 0x0000, 0x010000, CRC(bf0ffed9) SHA1(ab8cd98ae7dfb3582aad7ae8c669a6d97f144f88), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PES 0.4 B)" ) -GAME_CUSTOM( 199?, m4przve__m, m4przve, "pesd.p1", 0x0000, 0x010000, CRC(6f7b1e16) SHA1(412a22ebb61b77541da067ba74621c8e54364471), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PES 0.4 D)" ) -GAME_CUSTOM( 199?, m4przve__n, m4przve, "pesdy.p1", 0x0000, 0x010000, CRC(94db27b4) SHA1(fe745a991a5e78fc9054480d3ce5bf6b7f5f9fe4), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PES 0.4 YD)" ) -GAME_CUSTOM( 199?, m4przve__o, m4przve, "pesk.p1", 0x0000, 0x010000, CRC(9e7b9f58) SHA1(86c2a83964f925448dda189546d9909b10e52673), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PES 0.4 K)" ) -GAME_CUSTOM( 199?, m4przve__p, m4przve, "pesy.p1", 0x0000, 0x010000, CRC(fbfc1563) SHA1(870239cab39eff33303fe06dfd1dd3db708f0f2d), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PES 0.4 Y)" ) -// "(C)1993 BARCREST" and "PE8 0.1" -GAME_CUSTOM( 199?, m4przve__j, m4przve, "pe8s.p1", 0x0000, 0x010000, CRC(e8463e69) SHA1(923d6c79470a65cf66b089ef09898acea928aa9b), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1)" ) -GAME_CUSTOM( 199?, m4przve__a, m4przve, "pe8ad.p1", 0x0000, 0x010000, CRC(3a81422e) SHA1(bb77365ed7bc7c2cd9e1cfe6e266c6edfd3562a3), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 AD)" ) -GAME_CUSTOM( 199?, m4przve__b, m4przve, "pe8b.p1", 0x0000, 0x010000, CRC(9f36b112) SHA1(265451557afcfdc1aa8e77616f4b871698b20c5f), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 B)" ) -GAME_CUSTOM( 199?, m4przve__c, m4przve, "pe8bd.p1", 0x0000, 0x010000, CRC(af0689b5) SHA1(0e3cf464c855b0dcfeac403bda80818287707abe), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 BD)" ) -GAME_CUSTOM( 199?, m4przve__d, m4przve, "pe8d.p1", 0x0000, 0x010000, CRC(d21ee810) SHA1(bb95e217a383332a6617644bf17239c1ebd7c7e7), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 D)" ) -GAME_CUSTOM( 199?, m4przve__e, m4przve, "pe8dj.p1", 0x0000, 0x010000, CRC(2bdf3b80) SHA1(2d27373e01c4308c9b0818c8193b459b1b335634), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 DJ)" ) -GAME_CUSTOM( 199?, m4przve__f, m4przve, "pe8dk.p1", 0x0000, 0x010000, CRC(fcece282) SHA1(95e5bfeef8618f422501bcb9b703887587b3067a), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 KD)" ) -GAME_CUSTOM( 199?, m4przve__g, m4przve, "pe8dy.p1", 0x0000, 0x010000, CRC(6abc5682) SHA1(ae8754f0e214738adae4bc856cd72b0920aaa67a), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 YD)" ) -GAME_CUSTOM( 199?, m4przve__h, m4przve, "pe8j.p1", 0x0000, 0x010000, CRC(d3bf07f1) SHA1(3e539f24ef25c8d6fbfbdcd469fa8a2908dd2ec2), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 J)" ) -GAME_CUSTOM( 199?, m4przve__i, m4przve, "pe8k.p1", 0x0000, 0x010000, CRC(efba0d3f) SHA1(2205b94f5a6ed23e834cfeb0d3ebe5ed66d942a1), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 K)" ) -GAME_CUSTOM( 199?, m4przve__k, m4przve, "pe8y.p1", 0x0000, 0x010000, CRC(c324b75f) SHA1(bf3409a193539e1e032c856a5316bec674043d57), "Barcrest","Prize Viva Espana (Barcrest) (MPU4) (PE8 0.1 Y)" ) - - -#define M4SHOCM_EXTRA_ROMS \ - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ - /* missing */ -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4SHOCM_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - -// "(C)1993 BARCREST" and "SCM 0.1" -GAME_CUSTOM( 199?, m4shocm, 0, "scms.p1", 0x0000, 0x020000, CRC(8cb17f49) SHA1(6c67d5d65567ba3677f51f9c636e1f8e253111de), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1)" ) -GAME_CUSTOM( 199?, m4shocm__a, m4shocm, "scmad.p1", 0x0000, 0x020000, CRC(0960b887) SHA1(02b029760d141664a7c5860a29b158d8c2dec4e7), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 AD)" ) -GAME_CUSTOM( 199?, m4shocm__b, m4shocm, "scmb.p1", 0x0000, 0x020000, CRC(c96e88cd) SHA1(61abff544c979efabf5e53d2c53d7cbe90c1f265), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 B)" ) -GAME_CUSTOM( 199?, m4shocm__c, m4shocm, "scmbd.p1", 0x0000, 0x020000, CRC(847a1642) SHA1(0bb6d2494888c5e45bf4bfd0f6ba123283346361), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 BD)" ) -GAME_CUSTOM( 199?, m4shocm__d, m4shocm, "scmd.p1", 0x0000, 0x020000, CRC(b47583bb) SHA1(ed7449764c03d1bd1a45a8891a7a4f9e73c1a9e6), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 D)" ) -GAME_CUSTOM( 199?, m4shocm__e, m4shocm, "scmdj.p1", 0x0000, 0x020000, CRC(a0af8091) SHA1(3b6a5e8825cdff40051630d26ca5654173482692), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 DJ)" ) -GAME_CUSTOM( 199?, m4shocm__f, m4shocm, "scmdk.p1", 0x0000, 0x020000, CRC(cebdbe14) SHA1(4da55b365d5eaf558c44eaee33b3ebdc6b6882fa), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 KD)" ) -GAME_CUSTOM( 199?, m4shocm__g, m4shocm, "scmdy.p1", 0x0000, 0x020000, CRC(495e9eea) SHA1(f10ff85e37538083919af1eec9dabfacd1ac524b), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 YD)" ) -GAME_CUSTOM( 199?, m4shocm__h, m4shocm, "scmj.p1", 0x0000, 0x020000, CRC(edbb1e1e) SHA1(9a6f4f17d138d7df76bc30a2b16e0bc6ee6149e6), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 J)" ) -GAME_CUSTOM( 199?, m4shocm__i, m4shocm, "scmy.p1", 0x0000, 0x020000, CRC(044a0065) SHA1(e5deb75e7d05787f1e820352aec99abebd3530b6), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 Y)" ) -GAME_CUSTOM( 199?, m4shocm__j, m4shocm, "scmk.p1", 0x0000, 0x020000, CRC(83a9209b) SHA1(011ecd85c435c02b4868ed74012e16c73beb6e99), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1 K)" ) - -void mpu4_state::init_m4actbnk() +void mpu4mod4oki_machines_state::init_m4actbnk() { //Derived from Action_Bank_(Barcrest)_[C04_1024_8jp].gam init_m4default(); @@ -4708,6 +6004,7 @@ void mpu4_state::init_m4actbnk() ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "actsnd.p1", 0x000000, 0x080000, CRC(34777fea) SHA1(be784e73586719219ae5c1a3841f0e44edb6b497) ) \ ROM_LOAD( "actsnd.p2", 0x080000, 0x080000, CRC(2e832d40) SHA1(622b2c9694714446dbf67beb67d03af97d14ece7) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -4715,9 +6012,10 @@ void mpu4_state::init_m4actbnk() ROM_LOAD( name, offset, length, hash ) \ M4ACTBNK_EXTRA_ROMS \ ROM_END \ - GAMEL( year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4actbnk, ROT0, company, title, GAME_FLAGS, layout_m4actbnk ) + GAMEL( year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4actbnk, ROT0, company, title, GAME_FLAGS, layout_m4actbnk ) // these require a jackpot key to be inserted + // "(C)1993 BARCREST" and "ACT 0.7" GAME_CUSTOM( 199?, m4actbnk, 0, "acts.p1", 0x0000, 0x010000, CRC(49a9007c) SHA1(b205270e53264c3d8cb009a5780cacba1ce2e2a8), "Barcrest","Action Bank (Barcrest) (MPU4) (ACT 0.7)" ) GAME_CUSTOM( 199?, m4actbnk__a, m4actbnk, "actb.p1", 0x0000, 0x010000, CRC(1429708e) SHA1(8b3ecb443e5920ccec80695a142cb1eb9596b1c1), "Barcrest","Action Bank (Barcrest) (MPU4) (ACT 0.7 B)" ) @@ -4731,50 +6029,77 @@ GAME_CUSTOM( 199?, m4actbnk__h, m4actbnk, "acty.p1", 0x0000, 0x010000, CRC GAME_CUSTOM( 199?, m4actbnk__i, m4actbnk, "actad.p1", 0x0000, 0x010000, CRC(a8dfdf77) SHA1(92e9f0f3837e466c0c6d98b890234d80318ef236), "Barcrest","Action Bank (Barcrest) (MPU4) (ACT 0.7 AD)" ) +/***************************************************************************************************************************************************************************** +* +* The Crystal Dome +* a version of 'The Crystal Maze' without 'The Crystal Maze' title? +* +* - these all require a Jackpot Key and Stake to be set, valid combinations not confirmed outside of 8GBP Token / 20p +* +*****************************************************************************************************************************************************************************/ + #define M4CRDOME_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "cd2snd.p1", 0x000000, 0x080000, CRC(65a2dc92) SHA1(2c55a858ab17325189bed1974daf708c380541de) ) \ ROM_LOAD( "cd2snd.p2", 0x080000, 0x080000, CRC(b1bb4678) SHA1(8e8ab0a8d1b3e70dcb56d071193fdb5f34af7d14) ) + #undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ +#define GAME_CUSTOM(year, setname,parent,inputs,name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4CRDOME_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, inputs, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // "(C)1993 BARCREST" and "CD2 1.2" -GAME_CUSTOM( 199?, m4crdome, 0, "cd212s.p1", 0x0000, 0x020000, CRC(f7d9d5e3) SHA1(1378e28c0a2c59a42a440502f20cc011625f43b5), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.2)" ) -GAME_CUSTOM( 199?, m4crdome__j, m4crdome, "cd212k.p1", 0x0000, 0x020000, CRC(673b10a1) SHA1(996ade8193f448970beea2c5b81d9f27c05f162f), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.2 K)" ) -GAME_CUSTOM( 199?, m4crdome__a, m4crdome, "cd212c.p1", 0x0000, 0x020000, CRC(1ab605e5) SHA1(03327b2fac9d3d2891dc5950aa89ac4947c7b444), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.2 C)" ) -GAME_CUSTOM( 199?, m4crdome__b, m4crdome, "cd212ad.p1", 0x0000, 0x020000, CRC(c76cab39) SHA1(abbe5d629929ff89b499cd4d0e15e9fa13fc33de), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.2 AD)" ) -GAME_CUSTOM( 199?, m4crdome__c, m4crdome, "cd212b.p1", 0x0000, 0x020000, CRC(2dfcb8f7) SHA1(ba711fb20556c447f4bb3a11fc1cc6a3599bfd6d), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.2 B)" ) -GAME_CUSTOM( 199?, m4crdome__d, m4crdome, "cd212bd.p1", 0x0000, 0x020000, CRC(4a7605fc) SHA1(2a8a327d6dce8f7be1938d5a3854594adf5c092c), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.2 BD)" ) -GAME_CUSTOM( 199?, m4crdome__e, m4crdome, "cd212d.p1", 0x0000, 0x020000, CRC(50e7b381) SHA1(58141910fbbc2624da737a2ba273b79a6da695d3), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.2 D)" ) -GAME_CUSTOM( 199?, m4crdome__f, m4crdome, "cd212dk.p1", 0x0000, 0x020000, CRC(00b1adaa) SHA1(ba089bf86fcc8817ae756ed5609aaf876d1ee5a5), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.2 KD)" ) -GAME_CUSTOM( 199?, m4crdome__g, m4crdome, "cd212dr.p1", 0x0000, 0x020000, CRC(b3be169b) SHA1(eb4699fdce371d94feec410c640bd49bfdccba98), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.2 RD)" ) -GAME_CUSTOM( 199?, m4crdome__h, m4crdome, "cd212dy.p1", 0x0000, 0x020000, CRC(87528d54) SHA1(974fa2c29af43c903add28dca0ea3b04f612d2f7), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.2 YD)" ) -GAME_CUSTOM( 199?, m4crdome__i, m4crdome, "cd212r.p1", 0x0000, 0x020000, CRC(d434ab90) SHA1(d42258bd965e8a028a418681a1307234c9b1c450), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.2 R)" ) -GAME_CUSTOM( 199?, m4crdome__k, m4crdome, "cd212y.p1", 0x0000, 0x020000, CRC(e0d8305f) SHA1(ddf1125eba0e470f6ae811fe050d4000300cfd0c), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.2 Y)" ) +GAME_CUSTOM( 199?, m4crdome, 0, mpu4jackpot8tkn20p, "cd212s.p1", 0x0000, 0x020000, CRC(f7d9d5e3) SHA1(1378e28c0a2c59a42a440502f20cc011625f43b5), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 1.2)" ) +GAME_CUSTOM( 199?, m4crdome__j, m4crdome, mpu4jackpot8tkn20p, "cd212k.p1", 0x0000, 0x020000, CRC(673b10a1) SHA1(996ade8193f448970beea2c5b81d9f27c05f162f), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 1.2 K)" ) +GAME_CUSTOM( 199?, m4crdome__a, m4crdome, mpu4jackpot8tkn20p, "cd212c.p1", 0x0000, 0x020000, CRC(1ab605e5) SHA1(03327b2fac9d3d2891dc5950aa89ac4947c7b444), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 1.2 C)" ) +GAME_CUSTOM( 199?, m4crdome__b, m4crdome, mpu4jackpot8tkn20p, "cd212ad.p1", 0x0000, 0x020000, CRC(c76cab39) SHA1(abbe5d629929ff89b499cd4d0e15e9fa13fc33de), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 1.2 AD)" ) +GAME_CUSTOM( 199?, m4crdome__c, m4crdome, mpu4jackpot8tkn20p, "cd212b.p1", 0x0000, 0x020000, CRC(2dfcb8f7) SHA1(ba711fb20556c447f4bb3a11fc1cc6a3599bfd6d), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 1.2 B)" ) +GAME_CUSTOM( 199?, m4crdome__d, m4crdome, mpu4jackpot8tkn20p, "cd212bd.p1", 0x0000, 0x020000, CRC(4a7605fc) SHA1(2a8a327d6dce8f7be1938d5a3854594adf5c092c), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 1.2 BD)" ) +GAME_CUSTOM( 199?, m4crdome__e, m4crdome, mpu4jackpot8tkn20p, "cd212d.p1", 0x0000, 0x020000, CRC(50e7b381) SHA1(58141910fbbc2624da737a2ba273b79a6da695d3), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 1.2 D)" ) +GAME_CUSTOM( 199?, m4crdome__f, m4crdome, mpu4jackpot8tkn20p, "cd212dk.p1", 0x0000, 0x020000, CRC(00b1adaa) SHA1(ba089bf86fcc8817ae756ed5609aaf876d1ee5a5), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 1.2 KD)" ) +GAME_CUSTOM( 199?, m4crdome__g, m4crdome, mpu4jackpot8tkn20p, "cd212dr.p1", 0x0000, 0x020000, CRC(b3be169b) SHA1(eb4699fdce371d94feec410c640bd49bfdccba98), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 1.2 RD)" ) +GAME_CUSTOM( 199?, m4crdome__h, m4crdome, mpu4jackpot8tkn20p90pc,"cd212dy.p1", 0x0000, 0x020000, CRC(87528d54) SHA1(974fa2c29af43c903add28dca0ea3b04f612d2f7), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 1.2 YD)" ) +GAME_CUSTOM( 199?, m4crdome__i, m4crdome, mpu4jackpot8tkn20p, "cd212r.p1", 0x0000, 0x020000, CRC(d434ab90) SHA1(d42258bd965e8a028a418681a1307234c9b1c450), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 1.2 R)" ) +GAME_CUSTOM( 199?, m4crdome__k, m4crdome, mpu4jackpot8tkn20p90pc,"cd212y.p1", 0x0000, 0x020000, CRC(e0d8305f) SHA1(ddf1125eba0e470f6ae811fe050d4000300cfd0c), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 1.2 Y)" ) // "(C)1993 BARCREST" and "CD2 1.0" -GAME_CUSTOM( 199?, m4crdome__m, m4crdome, "cdome10", 0x0000, 0x020000, CRC(945c9277) SHA1(6afee54b332152f6767781a040799d865999b292), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.0 C)" ) +GAME_CUSTOM( 199?, m4crdome__m, m4crdome, mpu4jackpot8tkn20p, "cdome10", 0x0000, 0x020000, CRC(945c9277) SHA1(6afee54b332152f6767781a040799d865999b292), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 1.0 C)" ) // "(C)1993 BARCREST" and "CD2 0.2" -GAME_CUSTOM( 199?, m4crdome__n, m4crdome, "cdome8ac", 0x0000, 0x020000, CRC(0553bfe6) SHA1(77abfa556f04dca1be52fbed357807e6ada10458), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 0.2 C)" ) -// no copyright string and "CD2 1.2" -GAME_CUSTOM( 199?, m4crdome__l, m4crdome, "cdom15r", 0x0000, 0x020000, CRC(28f9ee8e) SHA1(e3484933dd0b8ddc2eeefc4dc95ce5379565e750), "hack","Crystal Dome (Barcrest) (MPU4) (CD2 1.2, hack)" ) +GAME_CUSTOM( 199?, m4crdome__n, m4crdome, mpu4jackpot8tkn20p, "cdome8ac", 0x0000, 0x020000, CRC(0553bfe6) SHA1(77abfa556f04dca1be52fbed357807e6ada10458), "Barcrest","The Crystal Dome (Barcrest) (MPU4) (CD2 0.2 C)" ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,inputs,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4CRDOME_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, inputs, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + + +// different protection +// no copyright string and "CD2 1.2" +GAME_CUSTOM( 199?, m4crdome__l, m4crdome, mpu4jackpot8tkn20p, "cdom15r", 0x0000, 0x020000, CRC(28f9ee8e) SHA1(e3484933dd0b8ddc2eeefc4dc95ce5379565e750), "hack","The Crystal Dome (Barcrest) (MPU4) (CD2 1.2, hack)" ) + + +/***************************************************************************************************************************************************************************** +* +* Rocket Money +* +*****************************************************************************************************************************************************************************/ + #define M4ROCKMN_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "rmchr.chr", 0x0000, 0x000048, CRC(94147e3d) SHA1(92e311096331deb54752cc158ece86fbe8ad2063) ) \ ROM_REGION( 0x100000, "altmsm6376", 0 ) \ ROM_LOAD( "rokmsnd1", 0x000000, 0x080000, CRC(b51e5d7d) SHA1(71f36f866583d592d029cba47901cbfd17631b06) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "roksnd.p1", 0x000000, 0x080000, CRC(462a690e) SHA1(5a82f63a9d03c89c8fdb0ead1fc40e480aedd787) ) \ ROM_LOAD( "roksnd.p2", 0x080000, 0x080000, CRC(37786d14) SHA1(d6dc2d3dbe54ca943092938500d72081153b5a34) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -4782,7 +6107,9 @@ GAME_CUSTOM( 199?, m4crdome__l, m4crdome, "cdom15r", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4ROCKMN_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// boots with 20p / 8 GBP Token setup // "(C)1993 BARCREST" and "ROK 0.6" GAME_CUSTOM( 199?, m4rockmn, 0, "rok06s.p1", 0x0000, 0x020000, CRC(e8b89551) SHA1(753828fd8631588c7725ee4f013f3c78d23f7038), "Barcrest","Rocket Money (Barcrest) (MPU4) (ROK 0.6)" ) @@ -4799,12 +6126,19 @@ GAME_CUSTOM( 199?, m4rockmn__i, m4rockmn, "rok06r.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4rockmn__k, m4rockmn, "rok06y.p1", 0x0000, 0x020000, CRC(74545735) SHA1(79ee259656fb71c24382c6670150e49a5b8bc62f), "Barcrest","Rocket Money (Barcrest) (MPU4) (ROK 0.6 Y)" ) +/***************************************************************************************************************************************************************************** +* +* Mad House +* +*****************************************************************************************************************************************************************************/ + +// MUX SELECTS ALM + #define M4MADHSE_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "m574.chr", 0x0000, 0x000048, CRC(cc4b7911) SHA1(9f8a96a1f8b0f9b33b852e93483ce5c684703349) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "madh1.bin", 0x000000, 0x080000, CRC(2b2af5dd) SHA1(eec0808bf724a055ece3c964d8a43cc5f837a3bd) ) \ ROM_LOAD( "madh2.bin", 0x080000, 0x080000, CRC(487d8e1d) SHA1(89e01a153d17564eba112d882b686c91b6c3aecc) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -4812,7 +6146,7 @@ GAME_CUSTOM( 199?, m4rockmn__k, m4rockmn, "rok06y.p1", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4MADHSE_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "MH5 0.2" GAME_CUSTOM( 199?, m4madhse, 0, "mh502s.p1", 0x0000, 0x010000, CRC(063cc07b) SHA1(0b43a5cf6094bd8c99e4395f31ff073389dd56ce), "Barcrest","Mad House (Barcrest) (MPU4) (MH5 0.2)" ) @@ -4847,9 +6181,19 @@ GAME_CUSTOM( 199?, m4madhse__y, m4madhse, "mhtdy.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4madhse__z, m4madhse, "mhtk.p1", 0x0000, 0x010000, CRC(1ebfb014) SHA1(493bf3ca37f2e49c5f00d7b8f6122e42f7b71f73), "Barcrest","Mad House (Barcrest) (MPU4) (MHT 0.2 K)" ) GAME_CUSTOM( 199?, m4madhse__b, m4madhse, "mhty.p1", 0x0000, 0x010000, CRC(e86e4542) SHA1(fb1b1d319c443daa1184eac4f6b0668ff3c6a1c5), "Barcrest","Mad House (Barcrest) (MPU4) (MHT 0.2 Y)" ) + +/***************************************************************************************************************************************************************************** +* +* New Hit the Top +* +*****************************************************************************************************************************************************************************/ + +// boots, unprotected, no chr reads or lamp scramble + #define M4NHTT_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "nhtsnd01.p1", 0x0000, 0x080000, CRC(2d1d93c6) SHA1(80a8d131bafdb74d20d1ca5cbe2219ee4df0b675) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -4857,7 +6201,7 @@ GAME_CUSTOM( 199?, m4madhse__b, m4madhse, "mhty.p1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4NHTT_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1991 BARCREST" and "NHT 0.1" GAME_CUSTOM( 199?, m4nhtt, 0, "nht01s.p1", 0x0000, 0x010000, CRC(a4a44ddf) SHA1(e64953f3cd2559a8ebdacb2b0c12c84fd5c4b836), "Barcrest","New Hit the Top (Barcrest) (MPU4) (NHT 0.1)" ) @@ -4873,9 +6217,18 @@ GAME_CUSTOM( 199?, m4nhtt__h, m4nhtt, "nht01r.p1", 0x0000, 0x010000, CRC(f GAME_CUSTOM( 199?, m4nhtt__j, m4nhtt, "nht01y.p1", 0x0000, 0x010000, CRC(54c02b5d) SHA1(75b3056d714ee232325f8a1058bef46d902d0b64), "Barcrest","New Hit the Top (Barcrest) (MPU4) (NHT 0.1 Y)" ) +/***************************************************************************************************************************************************************************** +* +* Prize Fruit & Loot +* +*****************************************************************************************************************************************************************************/ + +// gives 'Wrong Sound, Need V1' + #define M4PRZFRT_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "pfrsnd.p1", 0x0000, 0x080000, CRC(71d1af20) SHA1(d87d61c561acbe9cb3dec18d8decf5e970efa272) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -4883,8 +6236,7 @@ GAME_CUSTOM( 199?, m4nhtt__j, m4nhtt, "nht01y.p1", 0x0000, 0x010000, CRC(5 ROM_LOAD( name, offset, length, hash ) \ M4PRZFRT_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1991 BARCREST" and "PFR 0.3" GAME_CUSTOM( 199?, m4przfrt, 0, "pfr03s.p1", 0x0000, 0x010000, CRC(0ea80adb) SHA1(948a23fe8ccf6f423957a478a57bb875cc7b2cc2), "Barcrest","Prize Fruit & Loot (Barcrest) (MPU4) (PFR 0.3)" ) @@ -4902,124 +6254,15 @@ GAME_CUSTOM( 199?, m4przfrt__k, m4przfrt, "pfr03i.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4przfrt__l, m4przfrt, "pfr03o.p1", 0x0000, 0x010000, CRC(89a918e2) SHA1(afc2f80ea7539b68dc6bfd040e5717b607d22284), "Barcrest","Prize Fruit & Loot (Barcrest) (MPU4) (PFR 0.3 O)" ) // O is unusual -#define M4TUTCL_EXTRA_ROMS \ - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ - /* missing? in other set? */ -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4TUTCL_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - -// "(C)1991 BARCREST" and "F2U 0.1" -GAME_CUSTOM( 199?, m4tutcl, 0, "f2u01s.p1", 0x0000, 0x010000, CRC(25b68f22) SHA1(7f484dbc841e1e87d9f5e322cf497b6b68e4a096), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (F2U 0.1)" ) -GAME_CUSTOM( 199?, m4tutcl__j, m4tutcl, "f2u01ad.p1", 0x0000, 0x010000, CRC(65537552) SHA1(b0a761dcc6e0a9f01cfb934b570356ca67fdd099), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (F2U 0.1 AD)" ) -GAME_CUSTOM( 199?, m4tutcl__a, m4tutcl, "f2u01b.p1", 0x0000, 0x010000, CRC(2cae37df) SHA1(5aed985476b7b747a99a4046b846ee4a359776af), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (F2U 0.1 B)" ) -GAME_CUSTOM( 199?, m4tutcl__b, m4tutcl, "f2u01bd.p1", 0x0000, 0x010000, CRC(0dd91ccf) SHA1(bcdfc39025d02e7a51f69757238dfa44fe9d3655), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (F2U 0.1 BD)" ) -GAME_CUSTOM( 199?, m4tutcl__c, m4tutcl, "f2u01c.p1", 0x0000, 0x010000, CRC(6b6d9bb9) SHA1(140e9cbb8b484116e5fb9a7670d41fb0bcb37ec0), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (F2U 0.1 C)" ) -GAME_CUSTOM( 199?, m4tutcl__d, m4tutcl, "f2u01d.p1", 0x0000, 0x010000, CRC(b477a20d) SHA1(51daf5e61a2ebcb3cb9884421b9e8f32df51ec07), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (F2U 0.1 D)" ) -GAME_CUSTOM( 199?, m4tutcl__e, m4tutcl, "f2u01dk.p1", 0x0000, 0x010000, CRC(ccd14dd3) SHA1(c93ff69e0534e8190c10e0c819ed439d4e61a472), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (F2U 0.1 KD)" ) -GAME_CUSTOM( 199?, m4tutcl__f, m4tutcl, "f2u01dr.p1", 0x0000, 0x010000, CRC(d4918506) SHA1(2081ead45ff744cafcf3c4164c86acf609e54632), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (F2U 0.1 RD)" ) -GAME_CUSTOM( 199?, m4tutcl__g, m4tutcl, "f2u01dy.p1", 0x0000, 0x010000, CRC(24dd0a73) SHA1(a75129e414dd8cbe5f6f44e39b1d3dc3d7dfafb2), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (F2U 0.1 YD)" ) -GAME_CUSTOM( 199?, m4tutcl__h, m4tutcl, "f2u01k.p1", 0x0000, 0x010000, CRC(b9cec403) SHA1(90a1f49202ea9b79e2ab097cf95cf94088c52926), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (F2U 0.1 K)" ) -GAME_CUSTOM( 199?, m4tutcl__i, m4tutcl, "f2u01r.p1", 0x0000, 0x010000, CRC(471e39d7) SHA1(874db6f2d04ed0b2c6756efba5fa1140d2fbfc58), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (F2U 0.1 R)" ) -GAME_CUSTOM( 199?, m4tutcl__k, m4tutcl, "f2u01y.p1", 0x0000, 0x010000, CRC(5a583a6f) SHA1(0421d079de12a7379c13832108e8608c9a01f41d), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (F2U 0.1 Y)" ) - - -#define M4PRZMNS_EXTRA_ROMS \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "s_fpmsnd.p1", 0x000000, 0x080000, CRC(e5bfc522) SHA1(38c8430f539d38a51a3d7fb846b625ae2080e930) ) \ - ROM_LOAD( "s_fpmsnd.p2", 0x080000, 0x080000, CRC(e14803ab) SHA1(41d501f61f202df2dbd2ac13c40a32fff6afc861) ) -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4PRZMNS_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - -// "(C)1991 BARCREST" and "SPM 0.2" -GAME_CUSTOM( 199?, m4przmns, 0, "spms.p1", 0x0000, 0x010000, CRC(7d684358) SHA1(b07b13d6827e5ea4127eb763f4233a3d35ea99e6), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SPM 0.2)" ) -GAME_CUSTOM( 199?, m4przmns__n, m4przmns, "spmy.p1", 0x0000, 0x010000, CRC(2b27b2a0) SHA1(07950616da39e39d19452859390d3eaad89ea377), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SPM 0.2 Y)" ) -GAME_CUSTOM( 199?, m4przmns__j, m4przmns, "spmb.p1", 0x0000, 0x010000, CRC(752dd1c6) SHA1(e180c959bc3fb8bce9da22ed6e74fa03e4562a74), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SPM 0.2 B)" ) -GAME_CUSTOM( 199?, m4przmns__k, m4przmns, "spmd.p1", 0x0000, 0x010000, CRC(34172b4f) SHA1(8594d3863e3de3e6300cd5f4588545bf82c89e00), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SPM 0.2 D)" ) -GAME_CUSTOM( 199?, m4przmns__l, m4przmns, "spmdy.p1", 0x0000, 0x010000, CRC(1abed85e) SHA1(0b2d7e0127c30f6704a7f64a2955ecf3e8010206), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SPM 0.2 YD)" ) -GAME_CUSTOM( 199?, m4przmns__m, m4przmns, "spmk.p1", 0x0000, 0x010000, CRC(ba2f467a) SHA1(327ebad946b028f387e04e9db9f882320995d175), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SPM 0.2 K)" ) -// "(C)1991 BARCREST" and "SM8 0.1" -GAME_CUSTOM( 199?, m4przmns__h, m4przmns, "sm8s.p1", 0x0000, 0x010000, CRC(be159855) SHA1(277884b5417857fa661b09d3e41bef2b22b89f6c), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1)" ) -GAME_CUSTOM( 199?, m4przmns__a, m4przmns, "sm8ad.p1", 0x0000, 0x010000, CRC(6272ae09) SHA1(96130f62646424dd9f2f34f2858a2635ec615f03), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 AD)" ) -GAME_CUSTOM( 199?, m4przmns__b, m4przmns, "sm8b.p1", 0x0000, 0x010000, CRC(25d95c1b) SHA1(7aa448d1fb383d1b89e71bbc63a554eaa5e06141), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 B)" ) -GAME_CUSTOM( 199?, m4przmns__c, m4przmns, "sm8bd.p1", 0x0000, 0x010000, CRC(bf58108f) SHA1(a0dfc2447a014f4a9b1abad3f954ee9c58251289), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 BD)" ) -GAME_CUSTOM( 199?, m4przmns__d, m4przmns, "sm8d.p1", 0x0000, 0x010000, CRC(b4524fb3) SHA1(11d2542a43e61cee6cce0e621fe80f9aa6811ec2), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 D)" ) -GAME_CUSTOM( 199?, m4przmns__e, m4przmns, "sm8dk.p1", 0x0000, 0x010000, CRC(f077ac65) SHA1(9baa5d2fd9833838d48c202a57aaa98783130dbc), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 KD)" ) -GAME_CUSTOM( 199?, m4przmns__f, m4przmns, "sm8dy.p1", 0x0000, 0x010000, CRC(2df61788) SHA1(003d6e172cee41cf9704dc285c2a0b39ee247ea8), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 YD)" ) -GAME_CUSTOM( 199?, m4przmns__g, m4przmns, "sm8k.p1", 0x0000, 0x010000, CRC(8d02ca2b) SHA1(b5defdc50fee9e9f1379571b638702c0779fd450), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 K)" ) -GAME_CUSTOM( 199?, m4przmns__i, m4przmns, "sm8y.p1", 0x0000, 0x010000, CRC(51e76e1d) SHA1(3045ab447871c7369c5ed53da75326e64d6e57d9), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1 Y)" ) - -#define M4PRZRF_EXTRA_ROMS \ - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ - /* missing? */ -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4PRZRF_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) - -// "(C)1993 BARCREST" and "PR8 0.1" -GAME_CUSTOM( 199?, m4przrf, 0, "pr8s.p1", 0x0000, 0x020000, CRC(bbbdd4f4) SHA1(72c2a8b3404384b524f49fc2d6507e2d8dab85cb), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (PR8 0.1)" ) -GAME_CUSTOM( 199?, m4przrf__i, m4przrf, "pr8ad.p1", 0x0000, 0x020000, CRC(ebada7c9) SHA1(4a1e2f746116c23f87b53d25bd8b11322962306f), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (PR8 0.1 AD)" ) -GAME_CUSTOM( 199?, m4przrf__a, m4przrf, "pr8b.p1", 0x0000, 0x020000, CRC(4a6448b6) SHA1(061dbc1603fff0cb60e02acdf21881047b2b7d43), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (PR8 0.1 B)" ) -GAME_CUSTOM( 199?, m4przrf__b, m4przrf, "pr8bd.p1", 0x0000, 0x020000, CRC(66b7090c) SHA1(774f5b1403109ccc7ac1bc188f30e8b3a5025aad), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (PR8 0.1 BD)" ) -GAME_CUSTOM( 199?, m4przrf__c, m4przrf, "pr8d.p1", 0x0000, 0x020000, CRC(377f43c0) SHA1(14e29f1832afc47f06752d7da11cc2cb40fcb368), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (PR8 0.1 D)" ) -GAME_CUSTOM( 199?, m4przrf__d, m4przrf, "pr8dj.p1", 0x0000, 0x020000, CRC(42629fdf) SHA1(79148956b0b2da42400fe3cc0a61955c77a6bf32), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (PR8 0.1 DJ)" ) -GAME_CUSTOM( 199?, m4przrf__e, m4przrf, "pr8dk.p1", 0x0000, 0x020000, CRC(2c70a15a) SHA1(9dacf5eca4d7e41b09ee53ffc532a2928b1f60b4), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (PR8 0.1 KD)" ) -GAME_CUSTOM( 199?, m4przrf__f, m4przrf, "pr8dy.p1", 0x0000, 0x020000, CRC(ab9381a4) SHA1(90c3a048ad5c1e19007b6e089750a9e4b299d2a3), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (PR8 0.1 YD)" ) -GAME_CUSTOM( 199?, m4przrf__g, m4przrf, "pr8j.p1", 0x0000, 0x020000, CRC(6eb1de65) SHA1(b9e13173191e9a45fab29936b303a914e372918f), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (PR8 0.1 J)" ) -GAME_CUSTOM( 199?, m4przrf__h, m4przrf, "pr8k.p1", 0x0000, 0x020000, CRC(00a3e0e0) SHA1(c0671052de5cdd7f169ca50590b9c4f0f10cb678), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (PR8 0.1 K)" ) -GAME_CUSTOM( 199?, m4przrf__j, m4przrf, "pr8y.p1", 0x0000, 0x020000, CRC(8740c01e) SHA1(c75f4ad724e735a2ffabc9f7cce96dcb341eaf4a), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (PR8 0.1 Y)" ) - -#define M4PRZRFM_EXTRA_ROMS \ - ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ - /* missing? */ -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4PRZRFM_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - -// "(C)1993 BARCREST" and "PRU 0.2" -GAME_CUSTOM( 199?, m4przrfm, 0, "prus.p1", 0x0000, 0x010000, CRC(d6c22253) SHA1(f9a25dd1c6f16849a6eb1febdc2da16080cc6838), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (PRU 0.2)" ) -GAME_CUSTOM( 199?, m4przrfm__d, m4przrfm, "prub.p1", 0x0000, 0x010000, CRC(748f220f) SHA1(5d729057d521fa656375610e424cfd4088f6ea02), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (PRU 0.2 B)" ) -GAME_CUSTOM( 199?, m4przrfm__a, m4przrfm, "prud.p1", 0x0000, 0x010000, CRC(426bf7c1) SHA1(998b7968d4ed2fb0d1fcaf13929c76670100d9df), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (PRU 0.2 D)" ) -GAME_CUSTOM( 199?, m4przrfm__b, m4przrfm, "prudy.p1", 0x0000, 0x010000, CRC(e9f76ebd) SHA1(8f1151e123e73ac40fdb6f071960d1ed3e72692a), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (PRU 0.2 YD)" ) -GAME_CUSTOM( 199?, m4przrfm__c, m4przrfm, "pruk.p1", 0x0000, 0x010000, CRC(b995d098) SHA1(22107fbbc8c4e026fc34159114cdbfcd130f814e), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (PRU 0.2 K)" ) -GAME_CUSTOM( 199?, m4przrfm__e, m4przrfm, "pruy.p1", 0x0000, 0x010000, CRC(fcd8add4) SHA1(14e922daf24d981a3a65463bf64213722d8ba758), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (PRU 0.2 Y)" ) -// "(C)1993 BARCREST" and "RM8 0.1" -GAME_CUSTOM( 199?, m4przrfm__n, m4przrfm, "rm8s.p1", 0x0000, 0x010000, CRC(9ab83f24) SHA1(bdc72a9d6f22244a2be86b035fac84433705ce78), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1)" ) -GAME_CUSTOM( 199?, m4przrfm__f, m4przrfm, "rm8b.p1", 0x0000, 0x010000, CRC(181da11e) SHA1(c06a9626a541a56d707f9b80806714020cefa7b2), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 B)" ) -GAME_CUSTOM( 199?, m4przrfm__g, m4przrfm, "rm8bd.p1", 0x0000, 0x010000, CRC(b3d983b5) SHA1(7881c31617855983981f93190afddb0aa880ce0a), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 BD)" ) -GAME_CUSTOM( 199?, m4przrfm__h, m4przrfm, "rm8d.p1", 0x0000, 0x010000, CRC(94377ab0) SHA1(2c43dfd11eeca53faae661d7af4a986fdbb6d7e9), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 D)" ) -GAME_CUSTOM( 199?, m4przrfm__i, m4przrfm, "rm8dj.p1", 0x0000, 0x010000, CRC(601b8f3b) SHA1(3cc130adb5e78e9a5380b27a219a022201293988), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 DJ)" ) -GAME_CUSTOM( 199?, m4przrfm__j, m4przrfm, "rm8dk.p1", 0x0000, 0x010000, CRC(8b281018) SHA1(5d1f68662b206f9c9948d32fdcda98d99a53987b), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 KD)" ) -GAME_CUSTOM( 199?, m4przrfm__k, m4przrfm, "rm8dy.p1", 0x0000, 0x010000, CRC(bac738e3) SHA1(21bd359cfeaf1e33268cecef08d8c7d23d89360c), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 YD)" ) -GAME_CUSTOM( 199?, m4przrfm__l, m4przrfm, "rm8j.p1", 0x0000, 0x010000, CRC(b825b8fd) SHA1(6fa58784018fd7be6528e60d8642803cca55c15d), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 J)" ) -GAME_CUSTOM( 199?, m4przrfm__m, m4przrfm, "rm8k.p1", 0x0000, 0x010000, CRC(3f559f9e) SHA1(f70c127490859a3b4c405fd0efd18168dd3b0728), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 K)" ) -GAME_CUSTOM( 199?, m4przrfm__o, m4przrfm, "rm8y.p1", 0x0000, 0x010000, CRC(47a3873e) SHA1(51baf82a7a4dee10b1a2f7862030f960912d8d7c), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1 Y)" ) +/***************************************************************************************************************************************************************************** +* +* Prize What's On +* +*****************************************************************************************************************************************************************************/ +// boots #define M4PRZWO_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "pwos.chr", 0x0000, 0x000048, CRC(352b86c4) SHA1(59c26a1948ffd6ecea08d8ca8e62735ec9732c0f) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "pwo.s1", 0x000000, 0x080000, CRC(1dbd8a33) SHA1(37bd71688475591232422eb0841e23aff58e3800) ) \ ROM_LOAD( "pwo.s2", 0x080000, 0x080000, CRC(6c7badef) SHA1(416c36fe2b4253bf7944b3ba412561bd0d21cbe5) ) @@ -5031,7 +6274,7 @@ GAME_CUSTOM( 199?, m4przrfm__o, m4przrfm, "rm8y.p1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4PRZWO_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1991 BARCREST" and "PWO 0.5" GAME_CUSTOM( 199?, m4przwo, 0, "pwos.p1", 0x0000, 0x010000, CRC(6a87aa68) SHA1(3dc8c006de3adcada43c3581be0ff921081ecff0), "Barcrest","Prize What's On (Barcrest) (MPU4) (PWO 0.5)" ) @@ -5043,9 +6286,15 @@ GAME_CUSTOM( 199?, m4przwo__d, m4przwo, "pwok.p1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4przwo__f, m4przwo, "pwoy.p1", 0x0000, 0x010000, CRC(1ada4987) SHA1(05a0480f5a92faaedc8183d948c7e2d657bda2a4), "Barcrest","Prize What's On (Barcrest) (MPU4) (PWO 0.5 Y)" ) +/***************************************************************************************************************************************************************************** +* +* Road Hog 2 - I'm Back +* +*****************************************************************************************************************************************************************************/ + +// boots + #define M4RHOG2_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "rh.chr", 0x0000, 0x000048, CRC(5522383a) SHA1(4413b1d68500f21f10e7cff6b2d3de7258b1b614) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "2rhsnd02.p1", 0x000000, 0x080000, CRC(0f4630dc) SHA1(7235e53c74e113230a683de33763023e95090d39) ) \ ROM_LOAD( "2rhsnd02.p2", 0x080000, 0x080000, CRC(c2d0540a) SHA1(160080b350d41b95a0c129f9189222d79734e7d0) ) @@ -5057,7 +6306,7 @@ GAME_CUSTOM( 199?, m4przwo__f, m4przwo, "pwoy.p1", 0x0000, 0x010000, CR ROM_LOAD( name, offset, length, hash ) \ M4RHOG2_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1993 BARCREST" and "2RH 0.6" GAME_CUSTOM( 199?, m4rhog2, 0, "2rh06s.p1", 0x0000, 0x020000, CRC(2ea10eed) SHA1(825bd6a53100b389f7d67ec49e4535c1de0ece74), "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4) (2RH 0.6)" ) @@ -5076,42 +6325,15 @@ GAME_CUSTOM( 199?, m4rhog2__k, m4rhog2, "2rh06r.p1", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4rhog2__m, m4rhog2, "2rh06y.p1", 0x0000, 0x020000, CRC(98ad2706) SHA1(862a725bad97d28580dad102a71750465c7b0f5d), "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4) (2RH 0.6 Y)" ) +/***************************************************************************************************************************************************************************** +* +* Lucky Strike Club +* +*****************************************************************************************************************************************************************************/ -#define M4SHODF_EXTRA_ROMS \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "sdfsnd.p1", 0x000000, 0x080000, CRC(a5829cec) SHA1(eb65c86125350a7f384f9033f6a217284b6ff3d1) ) \ - ROM_LOAD( "sdfsnd.p2", 0x080000, 0x080000, CRC(1e5d8407) SHA1(64ee6eba3fb7700a06b89a1e0489a0cd54bb89fd) ) - -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4SHODF_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - - -// "(C)1993 BARCREST" and "SDF 0.2" -GAME_CUSTOM( 199?, m4shodf, 0, "sdfs.p1", 0x0000, 0x010000, CRC(5df9abdb) SHA1(0dce3a7ff4d2f11c370a3a2578c592910a9e7371), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SDF 0.2)" ) -GAME_CUSTOM( 199?, m4shodf__h, m4shodf, "sdfb.p1", 0x0000, 0x010000, CRC(a15204bb) SHA1(c862822615e82e5f2f9f2f3cb7e31f804fd859be), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SDF 0.2 B)" ) -GAME_CUSTOM( 199?, m4shodf__i, m4shodf, "sdfd.p1", 0x0000, 0x010000, CRC(19913c83) SHA1(894da549e790b9062f36fdce90b8e8d284d513e6), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SDF 0.2 D)" ) -GAME_CUSTOM( 199?, m4shodf__j, m4shodf, "sdfdy.p1", 0x0000, 0x010000, CRC(df1325b1) SHA1(002780fcecf895d20a2a3c0c57fbe4dd675a1e42), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SDF 0.2 YD)" ) -GAME_CUSTOM( 199?, m4shodf__k, m4shodf, "sdfk.p1", 0x0000, 0x010000, CRC(32def2fb) SHA1(45064f319cb5268745e8d5210ceed3a84a8e7f20), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SDF 0.2 K)" ) -GAME_CUSTOM( 199?, m4shodf__l, m4shodf, "sdfy.p1", 0x0000, 0x010000, CRC(dbb6aa80) SHA1(976f5811a0a578c7f2497ac654f7c416b6018a34), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SDF 0.2 Y)" ) -// "(C)1993 BARCREST" and "SD8 0.1" -GAME_CUSTOM( 199?, m4shodf__f, m4shodf, "sd8s.p1", 0x0000, 0x010000, CRC(59d696e4) SHA1(e51a9a0bc1348b44e77f85343463154ad680ef89), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1)" ) -GAME_CUSTOM( 199?, m4shodf__a, m4shodf, "sd8b.p1", 0x0000, 0x010000, CRC(79f7fea2) SHA1(5bfa695aef54c9621a91beac2e6c8a09d3b2974b), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1 B)" ) -GAME_CUSTOM( 199?, m4shodf__b, m4shodf, "sd8d.p1", 0x0000, 0x010000, CRC(060a1b37) SHA1(fb4fbc1164f97f13eb10edbd4e8a37502d716340), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1 D)" ) -GAME_CUSTOM( 199?, m4shodf__c, m4shodf, "sd8dk.p1", 0x0000, 0x010000, CRC(20982264) SHA1(178ce24ce21e865608133fe2ae281ba2adbdf1d4), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1 KD)" ) -GAME_CUSTOM( 199?, m4shodf__d, m4shodf, "sd8dy.p1", 0x0000, 0x010000, CRC(3fb73b48) SHA1(328f827a92e6fb8ccfb3a82c52401b2d31e974bf), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1 YD)" ) -GAME_CUSTOM( 199?, m4shodf__e, m4shodf, "sd8k.p1", 0x0000, 0x010000, CRC(0d8f2238) SHA1(55643a1f9fe136fb724b05efc0362b6295c9caf9), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1 K)" ) -GAME_CUSTOM( 199?, m4shodf__g, m4shodf, "sd8y.p1", 0x0000, 0x010000, CRC(f79c2e78) SHA1(f6c298b77a9c32378e3f219063daab17e551d083), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1 Y)" ) - +// REEL A ERROR at best #define M4LUCKSC_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "clu14s.chr", 0x0000, 0x000048, CRC(be933239) SHA1(52dbcbbcbfe25b6f8c186ce9af67b533c8da9a88) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "clusnd.p1", 0x000000, 0x080000, CRC(9c1042ba) SHA1(e4630bbcb3fe2f7d133275892eaf58c12402c610) ) \ ROM_LOAD( "clusnd.p2", 0x080000, 0x080000, CRC(b4b28b80) SHA1(a40b6801740d64e54c5c1738d69737ab9f4cf950) ) @@ -5123,7 +6345,7 @@ GAME_CUSTOM( 199?, m4shodf__g, m4shodf, "sd8y.p1", 0x0000, 0x010000, CRC(f7 ROM_LOAD( name, offset, length, hash ) \ M4LUCKSC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1996 BARCREST" and "CLU 1.4" GAME_CUSTOM( 199?, m4lucksc, 0, "clu14s.p1", 0x0000, 0x020000, CRC(5f66d7cc) SHA1(bd8a832739d7aef4d04b89a94dd2886e89a6e0c2), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (CLU 1.4)" ) @@ -5141,34 +6363,28 @@ GAME_CUSTOM( 199?, m4lucksc__g, m4lucksc, "gs301f.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4lucksc__k, m4lucksc, "ls301s.p1", 0x0000, 0x020000, CRC(7e9e97f1) SHA1(43760792b529db8acb497d38ad3951abdebcf76b), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (LS3 0.1)" ) GAME_CUSTOM( 199?, m4lucksc__i, m4lucksc, "ls301d.p1", 0x0000, 0x020000, CRC(39fb0ddf) SHA1(3a6934892585bde6a99f1d2e2fd95677cf37fcfe), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (LS3 0.1 D)" ) GAME_CUSTOM( 199?, m4lucksc__j, m4lucksc, "ls301f.p1", 0x0000, 0x020000, CRC(4476189b) SHA1(b94c6abbbf37ae28869b1f9c882de8fa56b2c676), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (LS3 0.1 F)" ) -// "(C)1998 BWB" and "LSC 1.0" -GAME_CUSTOM( 199?, m4lucksc__l, m4lucksc, "lsc_.1_1", 0x0000, 0x020000, CRC(79ce3db0) SHA1(409e9d3b08284dee3af696fb7c839c0ca35eddee), "Bwb","Lucky Strike Club (Barcrest) (MPU4) (LSC 1.0)" ) - - -#define M4PRZLUX_EXTRA_ROMS \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "plxsnd.p1", 0x000000, 0x080000, CRC(0e682b6f) SHA1(459a7ca216c47af58c03c15d6ef1f9aa7489eba0) ) \ - ROM_LOAD( "plxsnd.p2", 0x080000, 0x080000, CRC(3ef95a7f) SHA1(9c918769fbf0e687f27e431d934e2327df9ed3bb) ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ - M4PRZLUX_EXTRA_ROMS \ + M4LUCKSC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) -// "(C)1993 BARCREST" and "PLX 0.2" -GAME_CUSTOM( 199?, m4przlux, 0, "plxs.p1", 0x0000, 0x010000, CRC(0aea0339) SHA1(28da52924fe2bf00799ef466143103e08399f5f5), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2)" ) -GAME_CUSTOM( 199?, m4przlux__a, m4przlux, "plxad.p1", 0x0000, 0x010000, CRC(e52ddf4f) SHA1(ec3f198fb6658cadd45046ef7586f9178f95d814), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2 AD)" ) -GAME_CUSTOM( 199?, m4przlux__b, m4przlux, "plxb.p1", 0x0000, 0x010000, CRC(03b0f7bd) SHA1(0ce1cec1afa0a2efee3bc55a2b9cdf8fec7d3ebc), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2 B)" ) -GAME_CUSTOM( 199?, m4przlux__c, m4przlux, "plxd.p1", 0x0000, 0x010000, CRC(46ae371e) SHA1(a164d0336ed6bf7d25f406e28a01bbec86f4b723), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2 D)" ) -GAME_CUSTOM( 199?, m4przlux__d, m4przlux, "plxdy.p1", 0x0000, 0x010000, CRC(40fbaad9) SHA1(d3da773d49941e87d008313e309c4dbe7c9bade2), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2 YD)" ) -GAME_CUSTOM( 199?, m4przlux__e, m4przlux, "plxk.p1", 0x0000, 0x010000, CRC(8a15d3bc) SHA1(4536a52101f79ff352b446d130f7a15a0e4cb7df), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2 K)" ) -GAME_CUSTOM( 199?, m4przlux__f, m4przlux, "plxy.p1", 0x0000, 0x010000, CRC(0e5a2c5c) SHA1(7c64f9ad3aac30b4140be12ec451d17fd3b83b7a), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2 Y)" ) +// "(C)1998 BWB" and "LSC 1.0" +GAME_CUSTOM( 199?, m4lucksc__l, m4lucksc, "lsc_.1_1", 0x0000, 0x020000, CRC(79ce3db0) SHA1(409e9d3b08284dee3af696fb7c839c0ca35eddee), "Bwb","Lucky Strike Club (Barcrest) (MPU4) (LSC 1.0)" ) +/***************************************************************************************************************************************************************************** +* +* Top Dog +* +*****************************************************************************************************************************************************************************/ + +// all give ALARM 17 + #define M4TOPDOG_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "topdogsnd.bin", 0x0000, 0x080000, CRC(a29047c6) SHA1(5956674e6b895bd46b99f4d04d5797b53ccc6668) ) @@ -5180,7 +6396,7 @@ GAME_CUSTOM( 199?, m4przlux__f, m4przlux, "plxy.p1", 0x0000, 0x010000, CRC ROM_LOAD( name, offset, length, hash ) \ M4TOPDOG_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1997 B.W.B." and "TD 7.1" (Td4 in the 7-segs) GAME_CUSTOM( 199?, m4topdog, 0, "td_20_b4.7_1", 0x0000, 0x010000, CRC(fe864f25) SHA1(b9f97aaf0425b4987b5bfa0b793e9226fdffe58f), "Bwb","Top Dog (Barcrest) (MPU4) (TD4 7.1 YD / TD 7.1)" ) @@ -5215,6 +6431,13 @@ GAME_CUSTOM( 199?, m4topdog__x, m4topdog, "td_30bdc.1_1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4topdog__y, m4topdog, "td_30bgc.1_1", 0x0000, 0x010000, CRC(1ffe440f) SHA1(adc1909fbbfe7e63bb89b29878bda5a6df776a6a), "Bwb","Top Dog (Barcrest) (MPU4) (TD 1.4 BAD)" ) GAME_CUSTOM( 199?, m4topdog__z, m4topdog, "td_30btc.1_1", 0x0000, 0x010000, CRC(5109516c) SHA1(a4919465286be9e1f0e7970a91a89738f8fcad4e), "Bwb","Top Dog (Barcrest) (MPU4) (TD 1.4 BR)" ) + +/***************************************************************************************************************************************************************************** +* +* Kings & Queens +* +*****************************************************************************************************************************************************************************/ + #define M4KINGQ_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "kingsnqueenssnd.bin", 0x0000, 0x080000, CRC(31d722d4) SHA1(efb7079a1036cad8d9c08106f97c70a248b31898) ) \ @@ -5227,12 +6450,22 @@ GAME_CUSTOM( 199?, m4topdog__z, m4topdog, "td_30btc.1_1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4KINGQ_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1996 B.W.B." and "EE 2.1" (EE4 in 7-seg) GAME_CUSTOM( 199?, m4kingq, 0, "ee_05a_4.2_1", 0x0000, 0x010000, CRC(8dd842b6) SHA1(1c1bcaae355ceee4d7b1572b0fa1a8b23a8afdbf), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE4 2.1 K/ EE 2.1)" ) // "(C)1996 B.W.B." and "EE 2.2" (EE8 in 7-seg) GAME_CUSTOM( 199?, m4kingq__a, m4kingq, "ee_05a__.2_1", 0x0000, 0x010000, CRC(36aa5fb9) SHA1(b4aaf647713e33e79be7927e5eeef240d3beedf7), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE8 2.2 K / EE 2.2)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4KINGQ_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // "(C)1995 B.W.B." and "EE_ 2.0" (EE in 7-seg) GAME_CUSTOM( 199?, m4kingq__b, m4kingq, "ee_20a__.2_1", 0x0000, 0x010000, CRC(2c61341f) SHA1(76d68ae2a44087414be8be12b3824c62311721dd), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 2.0 K / EE_ 2.0)" ) GAME_CUSTOM( 199?, m4kingq__d, m4kingq, "ee_20b__.2_1", 0x0000, 0x010000, CRC(2fc7c7c2) SHA1(3b8736a582009d7b1455769374342ff72026d2fa), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 2.0 B / EE_ 2.0)" ) @@ -5241,6 +6474,21 @@ GAME_CUSTOM( 199?, m4kingq__h, m4kingq, "ee_20bg_.2_1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4kingq__i, m4kingq, "ee_20bt_.2_1", 0x0000, 0x010000, CRC(6f278771) SHA1(4459c9490be14bcbc139eebe6542325c80937ff3), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 2.0 R / EE_ 2.0)" ) GAME_CUSTOM( 199?, m4kingq__k, m4kingq, "ee_20sb_.2_1", 0x0000, 0x010000, CRC(307ad157) SHA1(32b6187e907bfbdb87a9ad2d9ca5870b09de5e4a), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 2.0 YD / EE_ 2.0)" ) GAME_CUSTOM( 199?, m4kingq__s, m4kingq, "eei20___.2_1", 0x0000, 0x010000, CRC(15f4b869) SHA1(5be6f660321cb47900dda986ef44eb5c1c324013), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 2.0 C / EE_ 2.0)" ) +// "(C)1996 B.W.B." and "EE 1.0" (EE in 7-seg) +GAME_CUSTOM( 199?, m4kingq__c, m4kingq, "ee_20a_c.1_1", 0x0000, 0x010000, CRC(948140ac) SHA1(d43f1f2903ecd809dee191087fa075c638728a5b), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 1.0 K / EE 1.0)" ) +GAME_CUSTOM( 199?, m4kingq__e, m4kingq, "ee_20b_c.1_1", 0x0000, 0x010000, CRC(70d399ab) SHA1(ca2c593151f4f852c7cb66859a12e832e53cd31f), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 1.0 B / EE 1.0)" ) +GAME_CUSTOM( 199?, m4kingq__g, m4kingq, "ee_20bdc.1_1", 0x0000, 0x010000, CRC(cbb8c57b) SHA1(ea165199213f95128aec95ae40799faa8c457dd3), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 1.0 BD / EE 1.0)" ) +GAME_CUSTOM( 199?, m4kingq__j, m4kingq, "ee_20s_c.1_1", 0x0000, 0x010000, CRC(a0c1e313) SHA1(8a088a33e51a31ff0abdb554aa4d8ce61eaf4b7d), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 1.0 CB / EE 1.0)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4KINGQ_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // "(C)1995 B.W.B." and "EE_ 2.0" (EE' in 7-seg) GAME_CUSTOM( 199?, m4kingq__l, m4kingq, "ee_25a_c.3_1", 0x0000, 0x010000, CRC(4dc25083) SHA1(b754b4003f73bd74d1670a36a70985ce5e48794d), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE' 2.0 K / EE_ 2.0)" ) GAME_CUSTOM( 199?, m4kingq__m, m4kingq, "ee_25b_c.3_1", 0x0000, 0x010000, CRC(a6fe50ff) SHA1(011602d9624f232ba8484e57f5f33ff06091809f), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE' 2.0 B / EE_ 2.0)" ) @@ -5248,14 +6496,28 @@ GAME_CUSTOM( 199?, m4kingq__n, m4kingq, "ee_25bdc.3_1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4kingq__o, m4kingq, "ee_25bgc.3_1", 0x0000, 0x010000, CRC(e4dcd86b) SHA1(b8f8ec317bf9f18e3d0ae9a9fd59349fee24530d), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE' 2.0 AD / EE_ 2.0)" ) GAME_CUSTOM( 199?, m4kingq__p, m4kingq, "ee_25btc.3_1", 0x0000, 0x010000, CRC(8f44347a) SHA1(09815a6e1d3a91cd2e69578bbcfef3203ddb33d6), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE' 2.0 BR / EE_ 2.0)" ) GAME_CUSTOM( 199?, m4kingq__r, m4kingq, "ee_25sbc.3_1", 0x0000, 0x010000, CRC(0f4bdd7c) SHA1(5c5cb3a9d6a96afc6e29149d2a8adf19aae0bc41), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE' 2.0 YD / EE_ 2.0)" ) -// "(C)1996 B.W.B." and "EE 1.0" (EE in 7-seg) -GAME_CUSTOM( 199?, m4kingq__c, m4kingq, "ee_20a_c.1_1", 0x0000, 0x010000, CRC(948140ac) SHA1(d43f1f2903ecd809dee191087fa075c638728a5b), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 1.0 K / EE 1.0)" ) -GAME_CUSTOM( 199?, m4kingq__e, m4kingq, "ee_20b_c.1_1", 0x0000, 0x010000, CRC(70d399ab) SHA1(ca2c593151f4f852c7cb66859a12e832e53cd31f), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 1.0 B / EE 1.0)" ) -GAME_CUSTOM( 199?, m4kingq__g, m4kingq, "ee_20bdc.1_1", 0x0000, 0x010000, CRC(cbb8c57b) SHA1(ea165199213f95128aec95ae40799faa8c457dd3), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 1.0 BD / EE 1.0)" ) -GAME_CUSTOM( 199?, m4kingq__j, m4kingq, "ee_20s_c.1_1", 0x0000, 0x010000, CRC(a0c1e313) SHA1(8a088a33e51a31ff0abdb554aa4d8ce61eaf4b7d), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 1.0 CB / EE 1.0)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4KINGQ_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // "(C)1998 B.W.B." and "EE2 1.0" (EE2 in 7-seg) GAME_CUSTOM( 199?, m4kingq__t, m4kingq, "knq2pprg.bin", 0x0000, 0x010000, CRC(23b22f79) SHA1(3d8b9cbffb9b427897548981ddacf724215336a4), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE2 1.0 / EE2 1.0)" ) + +/***************************************************************************************************************************************************************************** +* +* Kings & Queens Classic +* +*****************************************************************************************************************************************************************************/ + +// Hopper error + #define M4KINGQC_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "knqsnd.bin", 0x0000, 0x080000, CRC(13012f48) SHA1(392b3bcf6f8e3e01082087637f9d378302d046c4) ) \ @@ -5268,7 +6530,7 @@ GAME_CUSTOM( 199?, m4kingq__t, m4kingq, "knq2pprg.bin", 0x0000, 0x010000, CR ROM_LOAD( name, offset, length, hash ) \ M4KINGQC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1996 B.W.B." and "CN4 6.0" GAME_CUSTOM( 199?, m4kingqc, 0, "cn_20_b4.6_1", 0x0000, 0x010000, CRC(22d0b20c) SHA1(a7a4f60017cf62247339c9b23420d29845657895), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (CN4 / CN4 6.0 YD)" ) @@ -5309,9 +6571,16 @@ GAME_CUSTOM( 199?, m4kingqc__3, m4kingqc, "cn_30b_c.1_1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4kingqc__4, m4kingqc, "cn_30bgc.1_1", 0x0000, 0x010000, CRC(40afaa86) SHA1(edb8f55abf66e3e1cc7e353c520a93fc42073585), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (CN 1.4 AD)" ) GAME_CUSTOM( 199?, m4kingqc__5, m4kingqc, "cn_30btc.1_1", 0x0000, 0x010000, CRC(1920cc67) SHA1(55a3ad78d68d635faff98390e2feeea29dd10664), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (CN 1.4 BR)" ) + +/***************************************************************************************************************************************************************************** +* +* Take Your Pick Club +* +*****************************************************************************************************************************************************************************/ + +// Reel A Error + #define M4TYPCL_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "ctp13s.chr", 0x0000, 0x000048, CRC(6b8772a9) SHA1(8b92686e675b00d2c2541dd7b8055c3145283bec) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "ctpsnd02.p1", 0x000000, 0x080000, CRC(6fdd5051) SHA1(3f713314b303d6e1f78e3ca050bed7a45f43d5b3) ) \ ROM_LOAD( "ctpsnd02.p2", 0x080000, 0x080000, CRC(994bfb3a) SHA1(3cebfbbe77c4bbb5fb73e6d9b23f721b07c6435e) ) @@ -5323,7 +6592,7 @@ GAME_CUSTOM( 199?, m4kingqc__5, m4kingqc, "cn_30btc.1_1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4TYPCL_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1996 BARCREST" and "CTP 1.2" GAME_CUSTOM( 199?, m4typcl, 0, "ctp12s.p1", 0x0000, 0x020000, CRC(5f0bbd2a) SHA1(ba1fa09ea7b4713a99b2033bdbbf6b15f973dcca), "Barcrest","Take Your Pick Club (Barcrest) (MPU4) (CTP 1.2)" ) @@ -5335,7 +6604,15 @@ GAME_CUSTOM( 199?, m4typcl__b, m4typcl, "ctp13f.p1", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4typcl__d, m4typcl, "ntp02.p1", 0x0000, 0x020000, CRC(6063e27d) SHA1(c99599fbc7146d8fcf62432994098dd51250b17b), "Barcrest","Take Your Pick Club (Barcrest) (MPU4) (NTP 0.2)" ) -void mpu4_state::init_m4andybt() +/***************************************************************************************************************************************************************************** +* +* Andy's Big Time Club +* +*****************************************************************************************************************************************************************************/ + +// boots, trail lamps not working properly in layout + +void mpu4mod4oki_machines_state::init_m4andybt() { init_m4default_big(); //Derived from Andy's_Big_Time_(Barcrest)_[C03_800_250jp]_[c].gam @@ -5369,12 +6646,12 @@ void mpu4_state::init_m4andybt() //Front door code 0 Cash door code 0 } + #define M4ANDYBT_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "abt18s.chr", 0x0000, 0x000048, CRC(68007536) SHA1(72f7a76a1ba1c8ac94de425892780ffe78269513) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "abtsnd.p1", 0x000000, 0x080000, CRC(0ba1e73a) SHA1(dde70b1bf973b023c45afb8d3191325514b96e47) ) \ ROM_LOAD( "abtsnd.p2", 0x080000, 0x080000, CRC(dcfa85f2) SHA1(30e8467841309a4840824ec89f82044489c94ac5) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -5382,7 +6659,7 @@ void mpu4_state::init_m4andybt() ROM_LOAD( name, offset, length, hash ) \ M4ANDYBT_EXTRA_ROMS \ ROM_END \ - GAMEL( year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4andybt, ROT0, company, title, GAME_FLAGS, layout_m4andybt ) + GAMEL( year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4andybt, ROT0, company, title, GAME_FLAGS, layout_m4andybt ) // "(C)1991 BARCREST" and "ABT 1.8" GAME_CUSTOM( 199?, m4andybt, 0, "abt18s.p1", 0x0000, 0x020000, CRC(625263e4) SHA1(23fa0547164cc1f9b7c6cd26e06b0d779bf0329d), "Barcrest","Andy's Big Time Club (Barcrest) (MPU4) (ABT 1.8)" ) @@ -5392,6 +6669,14 @@ GAME_CUSTOM( 199?, m4andybt__a, m4andybt, "abt18f.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4andybt__c, m4andybt, "abt1.5", 0x0000, 0x020000, CRC(05303209) SHA1(6a9eba19e7138ede122ec04c062556763b80f6c0), "Barcrest","Andy's Big Time Club (Barcrest) (MPU4) (ABT 1.5)" ) +/***************************************************************************************************************************************************************************** +* +* The Streak +* +*****************************************************************************************************************************************************************************/ + +// hopper error + #define M4THESTR_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "thestreaksnd.bin", 0x0000, 0x080000, CRC(fdbd0f88) SHA1(8d0eaa9aa8d505affeb8bd12d7cb13337aa2e2c2) ) @@ -5403,7 +6688,7 @@ GAME_CUSTOM( 199?, m4andybt__c, m4andybt, "abt1.5", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4THESTR_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_thestreak, ROT0, company, title, GAME_FLAGS ) // versioning here makes no sense, why do the higher revision numbers have earlier years? @@ -5440,6 +6725,14 @@ GAME_CUSTOM( 199?, m4thestr__x, m4thestr, "ts_39a_c.1_1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4thestr__y, m4thestr, "ts_39b_c.1_1", 0x0000, 0x010000, CRC(470cd6d1) SHA1(c9c3c9c23c596e79f1b6495d4706b1da6cbd1b2e), "Bwb","The Streak (Barcrest) (MPU4) (TS 1.3 B)" ) +/***************************************************************************************************************************************************************************** +* +* Copy Cat +* +*****************************************************************************************************************************************************************************/ + +// ALARM 17 + #define M4CPYCAT_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", 0 ) \ ROM_LOAD( "copycatsnd.bin", 0x0000, 0x080000, CRC(cd27a3ce) SHA1(d061fae0ef8584d2e349e91e53f41718128c61e2) ) @@ -5451,7 +6744,7 @@ GAME_CUSTOM( 199?, m4thestr__y, m4thestr, "ts_39b_c.1_1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4CPYCAT_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1997 B.W.B." and "CO 1.1" GAME_CUSTOM( 199?, m4cpycat, 0, "co_20_bc.1_1", 0x0000, 0x010000, CRC(c9d3cdc1) SHA1(28265b0f95a8829efc4e346269a7af17a6abe345), "Bwb","Copy Cat (Barcrest) (MPU4) (CO 1.1 YD)" ) @@ -5498,26 +6791,19 @@ GAME_CUSTOM( 199?, m4cpycat__2, m4cpycat, "co_30_dp.4_1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4cpycat__3, m4cpycat, "co_30_kp.4_1", 0x0000, 0x010000, CRC(97ab5c33) SHA1(dc6b9705de4731a5cbc35557ca26c80b20cc6518), "Bwb","Copy Cat (Barcrest) (MPU4) (CO 4.0 Y)" ) +/***************************************************************************************************************************************************************************** +* +* Bank Roller Club +* +*****************************************************************************************************************************************************************************/ -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - ROM_END \ - GAME(year, setname, parent, mod2, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - -// "(C)1991 BARCREST" and "HPC 0.5" -GAME_CUSTOM( 199?, m4hypclb, 0, "hpcs.p1", 0x0000, 0x010000, CRC(55601e10) SHA1(78c3f13cd122e86ff8b7750b375c26e56c6b27c6), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (HPC 0.5)" ) -GAME_CUSTOM( 199?, m4hypclb__c, m4hypclb, "hpcd.p1", 0x0000, 0x010000, CRC(7fac8944) SHA1(32f0f16ef6c4b99fe70464341a1ce226f6221122), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (HPC 0.5 D)" ) -GAME_CUSTOM( 199?, m4hypclb__a, m4hypclb, "hpcf.p1", 0x0000, 0x010000, CRC(2931a558) SHA1(2f7fe541edc502738dd6603435deaef1cb26a1e2), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (HPC 0.5 F)" ) -GAME_CUSTOM( 199?, m4hypclb__b, m4hypclb, "hpcfd.p1", 0x0000, 0x010000, CRC(b127e577) SHA1(da034086bb92934f73d1a2be776f91462274479d), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (HPC 0.5 FD)" ) - +// some kind of error #define M4BNKROL_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "cbrsnd.p1", 0x000000, 0x080000, CRC(3524418a) SHA1(85cf286d9cf97cc9009c0283d632fef2a19f5de2) ) \ ROM_LOAD( "cbrsnd.p2", 0x080000, 0x080000, CRC(a53796a3) SHA1(f094f40cc93ea445922a9c5412aa355b7d21b1f4) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -5525,7 +6811,7 @@ GAME_CUSTOM( 199?, m4hypclb__b, m4hypclb, "hpcfd.p1", 0x0000, 0x010000, CRC ROM_LOAD( name, offset, length, hash ) \ M4BNKROL_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_alt_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4altreels_big, ROT0, company, title, GAME_FLAGS ) // "(C)1996 BARCREST" and "CBR 0.5" GAME_CUSTOM( 199?, m4bnkrol, 0, "cbr05s.p1", 0x0000, 0x020000, CRC(a8b53a0d) SHA1(661ab61aa8f427b92fdee02539f19e5dd2243da7), "Barcrest","Bank Roller Club (Barcrest) (MPU4) (CBR 0.5)" ) @@ -5537,9 +6823,224 @@ GAME_CUSTOM( 199?, m4bnkrol__a, m4bnkrol, "br301d.p1", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4bnkrol__b, m4bnkrol, "br301f.p1", 0x0000, 0x020000, CRC(c4be5b69) SHA1(9b08d5c0c5aebeef9f0767f5bd456cc6b05ea317), "Barcrest","Bank Roller Club (Barcrest) (MPU4) (BR3 0.1 F)" ) + +/***************************************************************************************************************************************************************************** +* +* Red Hot Roll Club +* +*****************************************************************************************************************************************************************************/ + +// boots + +#define M4RHRCL_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "rhrcs1.hex", 0x000000, 0x080000, CRC(7e265003) SHA1(3800ddfbdde07bf0af5db5cbe05a85425297fa4a) ) \ + ROM_LOAD( "rhrcs2.hex", 0x080000, 0x080000, CRC(39843d40) SHA1(7c8efcce4ed4ed53e681680bb33869f14f662609) ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4RHRCL_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1991 BARCREST" and "RH2 1.1" +GAME_CUSTOM( 199?, m4rhrcl, 0, "rh2s.p1", 0x0000, 0x010000, CRC(aa15e8a8) SHA1(243e7562a4cf938527afebbd99581acea1ab4134), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (RH2 1.1)" ) +GAME_CUSTOM( 199?, m4rhrcl__a, m4rhrcl, "rh2d.p1", 0x0000, 0x010000, CRC(b55a01c3) SHA1(8c94c2ca509ac7631528df78e82fb39b5f579c45), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (RH2 1.1 D)" ) +GAME_CUSTOM( 199?, m4rhrcl__b, m4rhrcl, "rh2f.p1", 0x0000, 0x010000, CRC(83466c89) SHA1(790d626e361bfec1265edc6f6ce51f098eb774ba), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (RH2 1.1 F)" ) +// "(C)1991 BARCREST" and "RH2 1.0" +GAME_CUSTOM( 199?, m4rhrcl__c, m4rhrcl, "rhrc.hex", 0x0000, 0x010000, CRC(e4b89d53) SHA1(fc222d56cdba2891048726d6e6ecd8a4028ba8ba), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (RH2 1.0)" ) + + +/***************************************************************************************************************************************************************************** +* +* Road Hog Club +* +*****************************************************************************************************************************************************************************/ + +// REEL A ALM + +#define M4RHOGC_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "rhc.s1", 0x000000, 0x080000, CRC(8840737f) SHA1(eb4a4bedfdba1b33fa74b9c2000c0d09a4cca5d7) ) \ + ROM_LOAD( "rhc.s2", 0x080000, 0x080000, CRC(04eaa2da) SHA1(2c23bde76f6a9406b0cb30246ce8805b5181047f) ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4RHOGC_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1991 BARCREST" and "RHC 0.5" +GAME_CUSTOM( 199?, m4rhogc, 0, "rhcs.p1", 0x0000, 0x010000, CRC(d1541050) SHA1(ef1ee3b9319e2a357540cf0de902de439267c3e2), "Barcrest","Road Hog Club (Barcrest) (MPU4) (RHC 0.5)" ) +GAME_CUSTOM( 199?, m4rhogc__a, m4rhogc, "rhcf.p1", 0x0000, 0x010000, CRC(0b726e87) SHA1(12c334e7dd712b9e19e8241b1a8e278ff84110d4), "Barcrest","Road Hog Club (Barcrest) (MPU4) (RHC 0.5 F)" ) +GAME_CUSTOM( 199?, m4rhogc__b, m4rhogc, "rhcd.p1", 0x0000, 0x010000, CRC(7a7df536) SHA1(9c53e5c6a5f3a32de05a574e1c8dedc3e5be66eb), "Barcrest","Road Hog Club (Barcrest) (MPU4) (RHC 0.5 D)" ) + + +/***************************************************************************************************************************************************************************** +* +* Games Bond 006 +* +*****************************************************************************************************************************************************************************/ + +// boots + +#define M4GB006_EXTRA_ROMS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "006snd.p1", 0x000000, 0x080000, CRC(44afef7d) SHA1(d8a4b6dc04e0f337db6d3b5322d066ae5f5bda41) ) \ + ROM_LOAD( "006snd.p2", 0x080000, 0x080000, CRC(5f3c7cf8) SHA1(500f8fb07ef344d44c062f8d01878df1c917bcfc) ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4GB006_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 BARCREST" and "006 0.6" +GAME_CUSTOM( 199?, m4gb006, 0, "006s.p1", 0x0000, 0x010000, CRC(6e750ab9) SHA1(2e1f08df7991efe450633e0bcec201e6fa7fdbaa), "Barcrest","Games Bond 006 (Barcrest) (MPU4) (006 0.6)" ) +GAME_CUSTOM( 199?, m4gb006__a, m4gb006, "006d.p1", 0x0000, 0x010000, CRC(7e0a4282) SHA1(8fd0cbdd9cf3ac74b7b202ce7615392c1a746906), "Barcrest","Games Bond 006 (Barcrest) (MPU4) (006 0.6 D)" ) +GAME_CUSTOM( 199?, m4gb006__b, m4gb006, "006y.p1", 0x0000, 0x010000, CRC(2947f4ed) SHA1(7d212bcef36e2bd792ded3e1e1638218e76da119), "Barcrest","Games Bond 006 (Barcrest) (MPU4) (006 0.6 Y)" ) +GAME_CUSTOM( 199?, m4gb006__c, m4gb006, "bond20_11", 0x0000, 0x010000, CRC(8d810cb1) SHA1(065d8df33472a3476dd6cf21a684db9d7c8ba829), "Barcrest","Games Bond 006 (Barcrest) (MPU4) (006 0.6 C)" ) + + +/***************************************************************************************************************************************************************************** +* +* Cash Encounters +* +*****************************************************************************************************************************************************************************/ + +// boots + +#define M4CSHENC_EXTRA_ROMS \ + ROM_REGION( 0x180000, "msm6376", 0 ) \ + ROM_LOAD( "cesnd.p1", 0x000000, 0x080000, CRC(2a10dc1a) SHA1(f6803f6e1fee2b58fe4831f59ddc08ec02792823) ) \ + ROM_LOAD( "cesnd.p2", 0x080000, 0x080000, CRC(6f0b75c0) SHA1(33898d75a1e51b49950d7843069066d17c4736c5) ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4CSHENC_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1997 BWB" and "CA_ 5.0" +GAME_CUSTOM( 199?, m4cshenc, 0, "ca_sj__c.5_1", 0x0000, 0x020000, CRC(d9131b39) SHA1(4af89a7bc10de1406f401bede41e1bc452dbb159), "Bwb","Cash Encounters (Barcrest) (MPU4) (CA_ 5.0 C)" ) +GAME_CUSTOM( 199?, m4cshenc__a, m4cshenc, "ca_sj_bc.5_1", 0x0000, 0x020000, CRC(30d1fb6d) SHA1(f845bef4ad7f2f48077eed74840916e87abb24b2), "Bwb","Cash Encounters (Barcrest) (MPU4) (CA_ 5.0 YCD)" ) +GAME_CUSTOM( 199?, m4cshenc__b, m4cshenc, "ca_sj_dc.5_1", 0x0000, 0x020000, CRC(ac3ec716) SHA1(4ff8c26c46ec6e1321249b4d6d0c5194ed917f33), "Bwb","Cash Encounters (Barcrest) (MPU4) (CA_ 5.0 CD)" ) +GAME_CUSTOM( 199?, m4cshenc__c, m4cshenc, "ca_sja_c.5_1", 0x0000, 0x020000, CRC(c56a9d0b) SHA1(b0298c2e03097ab8ba5f99892e732ff1ab784c9b), "Bwb","Cash Encounters (Barcrest) (MPU4) (CA_ 5.0 CK)" ) +GAME_CUSTOM( 199?, m4cshenc__d, m4cshenc, "ca_sjb_c.5_1", 0x0000, 0x020000, CRC(8fad355d) SHA1(2ac16ad85ab8239a3e961abb06f9f71d17e5832a), "Bwb","Cash Encounters (Barcrest) (MPU4) (CA_ 5.0 BC)" ) + + + +/***************************************************************************************************************************************************************************** +* +* Rocky Horror Show +* +*****************************************************************************************************************************************************************************/ + +// boots + +#define M4RHS_EXTRA_ROMS \ + ROM_REGION( 0x200000, "msm6376", 0 ) \ + ROM_LOAD( "rh___snd.1_1", 0x000000, 0x080000, CRC(ceebd8f4) SHA1(fe9f62034aae7d2ec097d80dc471a7fd27ddec8a) ) \ + ROM_LOAD( "rh___snd.1_2", 0x080000, 0x080000, CRC(1f24cfb6) SHA1(cf1dc9d2a1c1cfb8718c89e245e9bf375fef8bfd) ) \ + ROM_LOAD( "rh___snd.1_3", 0x100000, 0x080000, CRC(726958d8) SHA1(6373765b80971dd7ff5c8eaeee83966335db4d27) ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4RHS_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1998 B.W.B." and "RH__4.0" +GAME_CUSTOM( 199?, m4rhs, 0, "rh_sj___.4s1", 0x0000, 0x020000, CRC(be6179cd) SHA1(8aefffdffb25bc4dd7d083c7027be746181c2ff9), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0)" ) +GAME_CUSTOM( 199?, m4rhs__b, m4rhs, "rh_sj_b_.4s1", 0x0000, 0x020000, CRC(58a4480e) SHA1(f4ecfa1debbfa9dba75263bce2c9f66741c3466f), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 YD)" ) +GAME_CUSTOM( 199?, m4rhs__d, m4rhs, "rh_sj_d_.4s1", 0x0000, 0x020000, CRC(8f1176db) SHA1(283ef0b9515eac342a02489118bd30016ba85399), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 D)" ) +GAME_CUSTOM( 199?, m4rhs__e, m4rhs, "rh_sj_k_.4s1", 0x0000, 0x020000, CRC(3f2ef505) SHA1(28c3806bc48af21a2b7ea27d42ea9f6b4346f3b8), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 Y)" ) +GAME_CUSTOM( 199?, m4rhs__f, m4rhs, "rh_sja__.4s1", 0x0000, 0x020000, CRC(b8cdd5fb) SHA1(4e336dd3d61f4fdba731951c56e440766ea8efeb), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 K)" ) +GAME_CUSTOM( 199?, m4rhs__h, m4rhs, "rh_sjab_.4s1", 0x0000, 0x020000, CRC(c8468d4c) SHA1(6a9f8fe10949712ecacca3bfcd7d5ab4860682e2), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 YKD)" ) +GAME_CUSTOM( 199?, m4rhs__i, m4rhs, "rh_sjad_.4s1", 0x0000, 0x020000, CRC(df4768f0) SHA1(74894b232b27e65058d59acf174172da86def95a), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 KD)" ) +GAME_CUSTOM( 199?, m4rhs__j, m4rhs, "rh_sjak_.4s1", 0x0000, 0x020000, CRC(6f78eb2e) SHA1(a9fec7a7ad9334c3d8760e1982ac00651858cee8), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 YK)" ) +// "(C)1998 B.W.B." and "RH__6.0" +GAME_CUSTOM( 199?, m4rhs__a, m4rhs, "rh_sj__c.6_1", 0x0000, 0x020000, CRC(476f3cf2) SHA1(18ce990e28ca8565ade5eec9a62f0b243121af73), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__6.0)" ) +GAME_CUSTOM( 199?, m4rhs__c, m4rhs, "rh_sj_bc.6_1", 0x0000, 0x020000, CRC(2e37a58c) SHA1(a48c96384aa81f98bfa980c93e93523ecef3d43c), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__6.0 YD)" ) +GAME_CUSTOM( 199?, m4rhs__g, m4rhs, "rh_sja_c.6_1", 0x0000, 0x020000, CRC(b7b790e5) SHA1(e2b34dc2f6ede4f4c22b11123dfaed46f2c5c45e), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__6.0 K)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4RHS_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + + +// different protection handling +// no copyright string and "RH__2.0" +GAME_CUSTOM( 199?, m4rhs__k, m4rhs, "rocky15g", 0x0000, 0x020000, CRC(05f4f333) SHA1(a1b917f6c91d751fb2433e46c4c60840b47eed9e), "hack","Rocky Horror Show (Barcrest) (MPU4) (RH__2.0, hack)" ) +// no copyright string and "RH__3.0" +GAME_CUSTOM( 199?, m4rhs__l, m4rhs, "rocky15t", 0x0000, 0x020000, CRC(3fbad6de) SHA1(e8d76b3878794c769187d92d2834018a84e764ac), "hack","Rocky Horror Show (Barcrest) (MPU4) (RH__3.0 YC, hack)" ) + + +/***************************************************************************************************************************************************************************** +* +* Ooh Aah Dracula +* +*****************************************************************************************************************************************************************************/ + +// boots + +#define M4OADRAC_EXTRA_ROMS \ + ROM_REGION( 0x200000, "msm6376", 0 ) \ + ROM_LOAD( "oadsnd1.bin", 0x000000, 0x080000, CRC(b9a9b49b) SHA1(261e939da031768e2a2b5b171cbba55c87d1a758) ) \ + ROM_LOAD( "oadsnd2.bin", 0x080000, 0x080000, CRC(94e34646) SHA1(8787d6757e4ed86417aafac0e042091189974d3b) ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4OADRAC_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + +// "(C)1999 BWB" and "DR_ 2.0" +GAME_CUSTOM( 199?, m4oadrac, 0, "dr__x__x.2_0", 0x0000, 0x020000, CRC(4ca65bd9) SHA1(deb0a7d3596647210061b69a10fc6cdfc066538e), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.0, set 1)" ) +GAME_CUSTOM( 199?, m4oadrac__b, m4oadrac, "dr__x_dx.2_0", 0x0000, 0x020000, CRC(47f3ac5a) SHA1(e0413c55b897e96e32c3332dac041bc94da6dea3), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.0 D)" ) +GAME_CUSTOM( 199?, m4oadrac__d, m4oadrac, "dr__xa_x.2_0", 0x0000, 0x020000, CRC(702f0f7a) SHA1(8529c3eaa33cb972cc38067d176c7c8af0674147), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.0 K)" ) +GAME_CUSTOM( 199?, m4oadrac__f, m4oadrac, "dr__xb_x.2_0", 0x0000, 0x020000, CRC(3ae8a72c) SHA1(a27faba69430b1d16abf62e0ef37182ab302bbbd), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.0 B)" ) +GAME_CUSTOM( 199?, m4oadrac__h, m4oadrac, "dri_xa_x.2_0", 0x0000, 0x020000, CRC(849d2a80) SHA1(c9ff0a5a543b62ca5b885f93a35b5f40e88db8c3), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.0, set 2)" ) +// "(C)1999 BWB" and "DR_ 2.1" +GAME_CUSTOM( 199?, m4oadrac__a, m4oadrac, "dr__x__x.2_1", 0x0000, 0x020000, CRC(d91773af) SHA1(3d8dda0f409f55bce9c4d4e2a8377e43fe2f1f7d), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.1)" ) +GAME_CUSTOM( 199?, m4oadrac__c, m4oadrac, "dr__x_dx.2_1", 0x0000, 0x020000, CRC(f8c36b67) SHA1(c765d7a5eb4d7cd74295da26a7c6f5341a1ca257), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.1 D)" ) +GAME_CUSTOM( 199?, m4oadrac__e, m4oadrac, "dr__xa_x.2_1", 0x0000, 0x020000, CRC(cf1fc847) SHA1(6b09c0de15a380da1783a387569d83328f5b29a0), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.1 K)" ) +GAME_CUSTOM( 199?, m4oadrac__g, m4oadrac, "dr__xb_x.2_1", 0x0000, 0x020000, CRC(85d86011) SHA1(81f8624908299aa37e75fc5d12059b3600212d35), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.1 B)" ) + + +/***************************************************************************************************************************************************************************** +* +* Tic Tac Toe +* +*****************************************************************************************************************************************************************************/ + +// boots + #define M4TIC_EXTRA_ROMS \ ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \ - /* missing? */ + ROM_LOAD( "ct______.5_a", 0x0000, 0x080000, CRC(9a936f50) SHA1(f3f66d6093a939220d24aee985e210cdfd214db4) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -5547,7 +7048,7 @@ GAME_CUSTOM( 199?, m4bnkrol__b, m4bnkrol, "br301f.p1", 0x0000, 0x020000, CR ROM_LOAD( name, offset, length, hash ) \ M4TIC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1995 B.W.B." and "TT_ 2.0" GAME_CUSTOM( 199?, m4tic, 0, "tt_20s__.2_1", 0x0000, 0x010000, CRC(53dfefe9) SHA1(0f9fc1d65ebd7e370de6001f594616b79b2aa57e), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (TT_ 2.0)" ) @@ -5564,6 +7065,16 @@ GAME_CUSTOM( 199?, m4tic__a, m4tic, "tt_20a_c.1_1", 0x0000, 0x010000, CRC(18a6 GAME_CUSTOM( 199?, m4tic__c, m4tic, "tt_20b_c.1_1", 0x0000, 0x010000, CRC(d35079ab) SHA1(d109af8ef6f4d26b505f63df10d5850ddc0c0b65), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (TT 1.0 B)" ) GAME_CUSTOM( 199?, m4tic__e, m4tic, "tt_20bdc.1_1", 0x0000, 0x010000, CRC(2a43efd4) SHA1(9f6e568ca95a5f4e1a4e82eda2d15dfa225e65ea), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (TT 1.0 BD)" ) GAME_CUSTOM( 199?, m4tic__i, m4tic, "tt_20s_c.1_1", 0x0000, 0x010000, CRC(65a38960) SHA1(48ffdda1c5c98742124418429c510de9f5b90270), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (TT 1.0 CB)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4TIC_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + // "(C)1995 B.W.B." and "TT_ 3.0" GAME_CUSTOM( 199?, m4tic__l, m4tic, "tt_25a_c.3_1", 0x0000, 0x010000, CRC(2e44c6db) SHA1(ffc96dafbcfae719c3971882e066971540fafe78), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (TT_ 3.0 K)" ) GAME_CUSTOM( 199?, m4tic__m, m4tic, "tt_25b_c.3_1", 0x0000, 0x010000, CRC(d393edf0) SHA1(66f17a88018fee71f3e0c7996371c9b6832ef23a), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (TT_ 3.0 B)" ) @@ -5572,233 +7083,19 @@ GAME_CUSTOM( 199?, m4tic__o, m4tic, "tt_25bgc.3_1", 0x0000, 0x010000, CRC(2dbe GAME_CUSTOM( 199?, m4tic__p, m4tic, "tt_25btc.3_1", 0x0000, 0x010000, CRC(d5702abf) SHA1(6115f39d70dfdf1a00bcfc5f0fe257dd1e0ff968), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (TT_ 3.0 BR)" ) GAME_CUSTOM( 199?, m4tic__r, m4tic, "tt_25sbc.3_1", 0x0000, 0x010000, CRC(11c0152f) SHA1(d46b0a6774da35cf9d3a352b9fe7cb574880b210), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (TT_ 3.0 YD)" ) -#define M4RHRCL_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "m462.chr", 0x0000, 0x000048, CRC(ab59f1aa) SHA1(04a7deac039bc9bc15ec07b8a4ba3bce6f4d5103) ) \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "rhrcs1.hex", 0x000000, 0x080000, CRC(7e265003) SHA1(3800ddfbdde07bf0af5db5cbe05a85425297fa4a) ) \ - ROM_LOAD( "rhrcs2.hex", 0x080000, 0x080000, CRC(39843d40) SHA1(7c8efcce4ed4ed53e681680bb33869f14f662609) ) -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4RHRCL_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - -// "(C)1991 BARCREST" and "RH2 1.1" -GAME_CUSTOM( 199?, m4rhrcl, 0, "rh2s.p1", 0x0000, 0x010000, CRC(aa15e8a8) SHA1(243e7562a4cf938527afebbd99581acea1ab4134), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (RH2 1.1)" ) -GAME_CUSTOM( 199?, m4rhrcl__a, m4rhrcl, "rh2d.p1", 0x0000, 0x010000, CRC(b55a01c3) SHA1(8c94c2ca509ac7631528df78e82fb39b5f579c45), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (RH2 1.1 D)" ) -GAME_CUSTOM( 199?, m4rhrcl__b, m4rhrcl, "rh2f.p1", 0x0000, 0x010000, CRC(83466c89) SHA1(790d626e361bfec1265edc6f6ce51f098eb774ba), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (RH2 1.1 F)" ) -// "(C)1991 BARCREST" and "RH2 1.0" -GAME_CUSTOM( 199?, m4rhrcl__c, m4rhrcl, "rhrc.hex", 0x0000, 0x010000, CRC(e4b89d53) SHA1(fc222d56cdba2891048726d6e6ecd8a4028ba8ba), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (RH2 1.0)" ) - -#define M4RHOGC_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "rhc.chr", 0x0000, 0x000048, CRC(6ceab6b0) SHA1(04f4238ea3fcf944c97bc11031e456b851ebe917) ) \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "rhc.s1", 0x000000, 0x080000, CRC(8840737f) SHA1(eb4a4bedfdba1b33fa74b9c2000c0d09a4cca5d7) ) \ - ROM_LOAD( "rhc.s2", 0x080000, 0x080000, CRC(04eaa2da) SHA1(2c23bde76f6a9406b0cb30246ce8805b5181047f) ) -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4RHOGC_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - -// "(C)1991 BARCREST" and "RHC 0.5" -GAME_CUSTOM( 199?, m4rhogc, 0, "rhcs.p1", 0x0000, 0x010000, CRC(d1541050) SHA1(ef1ee3b9319e2a357540cf0de902de439267c3e2), "Barcrest","Road Hog Club (Barcrest) (MPU4) (RHC 0.5)" ) -GAME_CUSTOM( 199?, m4rhogc__a, m4rhogc, "rhcf.p1", 0x0000, 0x010000, CRC(0b726e87) SHA1(12c334e7dd712b9e19e8241b1a8e278ff84110d4), "Barcrest","Road Hog Club (Barcrest) (MPU4) (RHC 0.5 F)" ) -GAME_CUSTOM( 199?, m4rhogc__b, m4rhogc, "rhcd.p1", 0x0000, 0x010000, CRC(7a7df536) SHA1(9c53e5c6a5f3a32de05a574e1c8dedc3e5be66eb), "Barcrest","Road Hog Club (Barcrest) (MPU4) (RHC 0.5 D)" ) - -#define M4GB006_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "006s.chr", 0x0000, 0x000048, CRC(ee3d06eb) SHA1(570a715e71d4184e4df02b7e5b68fee70e03aeb0) ) \ - ROM_REGION( 0x100000, "msm6376", 0 ) \ - ROM_LOAD( "006snd.p1", 0x000000, 0x080000, CRC(44afef7d) SHA1(d8a4b6dc04e0f337db6d3b5322d066ae5f5bda41) ) \ - ROM_LOAD( "006snd.p2", 0x080000, 0x080000, CRC(5f3c7cf8) SHA1(500f8fb07ef344d44c062f8d01878df1c917bcfc) ) -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4GB006_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - - -// "(C)1993 BARCREST" and "006 0.6" -GAME_CUSTOM( 199?, m4gb006, 0, "006s.p1", 0x0000, 0x010000, CRC(6e750ab9) SHA1(2e1f08df7991efe450633e0bcec201e6fa7fdbaa), "Barcrest","Games Bond 006 (Barcrest) (MPU4) (006 0.6)" ) -GAME_CUSTOM( 199?, m4gb006__a, m4gb006, "006d.p1", 0x0000, 0x010000, CRC(7e0a4282) SHA1(8fd0cbdd9cf3ac74b7b202ce7615392c1a746906), "Barcrest","Games Bond 006 (Barcrest) (MPU4) (006 0.6 D)" ) -GAME_CUSTOM( 199?, m4gb006__b, m4gb006, "006y.p1", 0x0000, 0x010000, CRC(2947f4ed) SHA1(7d212bcef36e2bd792ded3e1e1638218e76da119), "Barcrest","Games Bond 006 (Barcrest) (MPU4) (006 0.6 Y)" ) -GAME_CUSTOM( 199?, m4gb006__c, m4gb006, "bond20_11", 0x0000, 0x010000, CRC(8d810cb1) SHA1(065d8df33472a3476dd6cf21a684db9d7c8ba829), "Barcrest","Games Bond 006 (Barcrest) (MPU4) (006 0.6 C)" ) - - -#define M4GBUST_EXTRA_ROMS \ - ROM_REGION( 0x800000, "msm6376", ROMREGION_ERASE00 ) \ - /* missing? */ -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4GBUST_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - -// some of these ROMs (the non-D ones?) contain a 'Barcrest Video' string, and the game seems to do nothing, could require other (undumped?) parts as there really aren't many strings in here - -// "(C)1994 B.W.B." and "GB 5.0" -GAME_CUSTOM( 199?, m4gbust, 0, "gb_05___.4s3", 0x0000, 0x010000, CRC(e2227701) SHA1(271682c7bf6e0f6f49f6d6b138aa19b6ef6bc626), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 5.0)" ) -// "(C)1994 B.W.B." and "GB 4.0" -GAME_CUSTOM( 199?, m4gbust__d, m4gbust, "gb_05___.4a3", 0x0000, 0x010000, CRC(8be6949e) SHA1(9731a1cb0d17c3cec2bec263cd6348f05662d917), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 4.0, set 1)" ) -GAME_CUSTOM( 199?, m4gbust__e, m4gbust, "gb_05___.4n3", 0x0000, 0x010000, CRC(621b25f0) SHA1(bf699068284def8bad9143c5841f667f2cb6f20f), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 4.0, set 2)" ) -GAME_CUSTOM( 199?, m4gbust__g, m4gbust, "gb_05_d_.4a3", 0x0000, 0x010000, CRC(a1b2b32f) SHA1(c1504b3768920f90dbd441b9d50db9676528ca97), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 4.0 D)" ) -// "(C)1994 B.W.B." and "GB 3.0" -GAME_CUSTOM( 199?, m4gbust__b, m4gbust, "gb_02___.3n3", 0x0000, 0x010000, CRC(99514ddd) SHA1(432d484525867c6ad68cd93a4bfded4dba36cf56), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0, 1994, set 1)" ) -GAME_CUSTOM( 199?, m4gbust__a, m4gbust, "gb_02___.3a3", 0x0000, 0x010000, CRC(2b9d94b6) SHA1(ca433240f9e926cdf5240209589951e6018a496a), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0, 1994, set 2)" ) -// "(C)1994 B.W.B." and "GB 2.0" -GAME_CUSTOM( 199?, m4gbust__c, m4gbust, "gb_02___.3s3", 0x0000, 0x010000, CRC(2634aa5f) SHA1(58ab973940138bdfd2690867e2ac3eb52bffb633), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, 1994)" ) -// "(C)1993 B.W.B." and "GB 3.0" -GAME_CUSTOM( 199?, m4gbust__j, m4gbust, "gb_10___.3s3", 0x0000, 0x010000, CRC(427e043b) SHA1(2f64c11a04306692ac5eb9919892f7226156dce0), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0, set 1)" ) -GAME_CUSTOM( 199?, m4gbust__p, m4gbust, "gb_20___.3s3", 0x0000, 0x010000, CRC(4a86d879) SHA1(72e92b6482fdeb4dca36d9426a712ac24d60f7f7), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0, set 2)" ) -GAME_CUSTOM( 199?, m4gbust__n, m4gbust, "gb_10_d_.3s3", 0x0000, 0x010000, CRC(776736de) SHA1(4f80d9ffdf4468801cf830e9774b6028f7684864), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0 D, set 1)" ) -GAME_CUSTOM( 199?, m4gbust__v, m4gbust, "gb_20_d_.3s3", 0x0000, 0x010000, CRC(4fc69155) SHA1(09a0f2122893d9fd90204a74c8862e01386503a4), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0 D, set 2)" ) -GAME_CUSTOM( 199?, m4gbust__k, m4gbust, "gb_10_b_.3s3", 0x0000, 0x010000, CRC(091afb66) SHA1(ac32d7be1e1f4f1453e37017966990a481506024), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0 YD, set 1)" ) -GAME_CUSTOM( 199?, m4gbust__s, m4gbust, "gb_20_b_.3s3", 0x0000, 0x010000, CRC(1a7cc3cf) SHA1(0d5764d35489bde284965c197b217a06f26a3e3b), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0 YD, set 2)" ) -// "(C)1993 B.W.B." and "GB 2.0" -GAME_CUSTOM( 199?, m4gbust__f, m4gbust, "gb_02___.2n3", 0x0000, 0x010000, CRC(973b3538) SHA1(31df04d9f35cbde4d5e395256927f146d1613178), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 1)" ) -GAME_CUSTOM( 199?, m4gbust__i, m4gbust, "gb_10___.2n3", 0x0000, 0x010000, CRC(de18c441) SHA1(5a7055fcd755c1ac58e1b94af243801f169f29f5), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 2)" ) -GAME_CUSTOM( 199?, m4gbust__o, m4gbust, "gb_20___.2n3", 0x0000, 0x010000, CRC(27fc2ee1) SHA1(2e6a042f7117b4594b2601ae166ee0db72c70ed5), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 3)" ) -GAME_CUSTOM( 199?, m4gbust__h, m4gbust, "gb_10___.2a3", 0x0000, 0x010000, CRC(a5c692f3) SHA1(8305c88ab8b80b407f4723df25135c25a4c0794f), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 4)" ) -GAME_CUSTOM( 199?, m4gbust__w, m4gbust, "ghostbusters 2p.bin", 0x0000, 0x010000, CRC(abb288c4) SHA1(2012e027711996a552ab59674ae3bce1bf14f44b), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 5)" ) -GAME_CUSTOM( 199?, m4gbust__m, m4gbust, "gb_10_d_.2n3", 0x0000, 0x010000, CRC(cac5057d) SHA1(afcc21dbd07515ed134675b7dbfb53c048a465b0), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0 D, set 1)" ) -GAME_CUSTOM( 199?, m4gbust__u, m4gbust, "gb_20_d_.2n3", 0x0000, 0x010000, CRC(431c2965) SHA1(eb24e560d5c4bf419465fc760621a4fa853fff95), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0 D, set 2)" ) -GAME_CUSTOM( 199?, m4gbust__l, m4gbust, "gb_10_d_.2a3", 0x0000, 0x010000, CRC(f1446bf5) SHA1(4011d60e13045476741c5a02c64dabbe6a1ae2d6), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0 D, set 3)" ) -GAME_CUSTOM( 199?, m4gbust__t, m4gbust, "gb_20_d_.2a3", 0x0000, 0x010000, CRC(70f40688) SHA1(ed14f8f460825ffa087394ef5984ae064e02f7b6), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0 D, set 4)" ) -GAME_CUSTOM( 199?, m4gbust__r, m4gbust, "gb_20_b_.2n3", 0x0000, 0x010000, CRC(28cbb217) SHA1(a74978ff5e1511a33f543006b3f8ad30a77ea462), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0 YD, set 1)" ) -GAME_CUSTOM( 199?, m4gbust__q, m4gbust, "gb_20_b_.2a3", 0x0000, 0x010000, CRC(4dd7d38f) SHA1(8a71c27189ec3089c016a8292db68f7cdc91b083), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0 YD, set 2)" ) - - - -#define M4CSHENC_EXTRA_ROMS \ - ROM_REGION( 0x180000, "msm6376", 0 ) \ - ROM_LOAD( "cesnd.p1", 0x000000, 0x080000, CRC(2a10dc1a) SHA1(f6803f6e1fee2b58fe4831f59ddc08ec02792823) ) \ - ROM_LOAD( "cesnd.p2", 0x080000, 0x080000, CRC(6f0b75c0) SHA1(33898d75a1e51b49950d7843069066d17c4736c5) ) -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4CSHENC_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) - -// "(C)1997 BWB" and "CA_ 5.0" -GAME_CUSTOM( 199?, m4cshenc, 0, "ca_sj__c.5_1", 0x0000, 0x020000, CRC(d9131b39) SHA1(4af89a7bc10de1406f401bede41e1bc452dbb159), "Bwb","Cash Encounters (Barcrest) (MPU4) (CA_ 5.0 C)" ) -GAME_CUSTOM( 199?, m4cshenc__a, m4cshenc, "ca_sj_bc.5_1", 0x0000, 0x020000, CRC(30d1fb6d) SHA1(f845bef4ad7f2f48077eed74840916e87abb24b2), "Bwb","Cash Encounters (Barcrest) (MPU4) (CA_ 5.0 YCD)" ) -GAME_CUSTOM( 199?, m4cshenc__b, m4cshenc, "ca_sj_dc.5_1", 0x0000, 0x020000, CRC(ac3ec716) SHA1(4ff8c26c46ec6e1321249b4d6d0c5194ed917f33), "Bwb","Cash Encounters (Barcrest) (MPU4) (CA_ 5.0 CD)" ) -GAME_CUSTOM( 199?, m4cshenc__c, m4cshenc, "ca_sja_c.5_1", 0x0000, 0x020000, CRC(c56a9d0b) SHA1(b0298c2e03097ab8ba5f99892e732ff1ab784c9b), "Bwb","Cash Encounters (Barcrest) (MPU4) (CA_ 5.0 CK)" ) -GAME_CUSTOM( 199?, m4cshenc__d, m4cshenc, "ca_sjb_c.5_1", 0x0000, 0x020000, CRC(8fad355d) SHA1(2ac16ad85ab8239a3e961abb06f9f71d17e5832a), "Bwb","Cash Encounters (Barcrest) (MPU4) (CA_ 5.0 BC)" ) - - - - -#define M4LVLCL_EXTRA_ROMS \ - ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \ - /* missing? */ -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4LVLCL_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) - -// "(C)1998 BWB" and "LLU 0.1" -GAME_CUSTOM( 199?, m4lvlcl, 0, "ll__x__x.1_1", 0x0000, 0x010000, CRC(1ef1c5b4) SHA1(455c147f158f8a36a9add9b984abc22af78258cf), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 0.1)" ) -GAME_CUSTOM( 199?, m4lvlcl__e, m4lvlcl, "ll__xgdx.1_1", 0x0000, 0x010000, CRC(65824c4f) SHA1(a514e48ac0f9d4a8d7506bf6932aeee88ca17104), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 0.1 AD)" ) -// "(C)1998 BWB" and "LLU 3.0" -GAME_CUSTOM( 199?, m4lvlcl__a, m4lvlcl, "ll__x__x.3_1", 0x0000, 0x010000, CRC(42b85ebc) SHA1(a352d8389674fcfd90dc4e8155e6f4a78c9ec70d), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 3.0)" ) -GAME_CUSTOM( 199?, m4lvlcl__b, m4lvlcl, "ll__x_dx.3_1", 0x0000, 0x010000, CRC(7753c8f0) SHA1(9600fee08529f29716697c4630730f15ef8a457b), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 3.0 D)" ) -GAME_CUSTOM( 199?, m4lvlcl__c, m4lvlcl, "ll__xa_x.3_1", 0x0000, 0x010000, CRC(79468e93) SHA1(4beaa6fe2ad095b4674473ab99a7216513923077), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 3.0 K)" ) -GAME_CUSTOM( 199?, m4lvlcl__d, m4lvlcl, "ll__xb_x.3_1", 0x0000, 0x010000, CRC(73b2fb34) SHA1(c127bc0954f8d01e9d8365a4506dde6f17da33fd), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 3.0 B)" ) -GAME_CUSTOM( 199?, m4lvlcl__f, m4lvlcl, "ll__xgdx.3_1", 0x0000, 0x010000, CRC(ba5b951a) SHA1(9ee36d3d42ce68f5797208633be87ddbbe605cf1), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 3.0 AD)" ) - - -#define M4RHS_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "rh.chr", 0x0000, 0x000048, CRC(6e246d8f) SHA1(c6b0dff1b918c578b76f020ff70a24ea48dbae2e) ) \ - ROM_REGION( 0x200000, "altmsm6376", 0 ) \ - ROM_LOAD( "rhp2snd", 0x0000, 0x080000, CRC(18112293) SHA1(b2bf838849ad1a9931c294ccc291ba2f5c5f45e9) ) \ - ROM_REGION( 0x200000, "msm6376", 0 ) \ - ROM_LOAD( "rh___snd.1_1", 0x000000, 0x080000, CRC(ceebd8f4) SHA1(fe9f62034aae7d2ec097d80dc471a7fd27ddec8a) ) \ - ROM_LOAD( "rh___snd.1_2", 0x080000, 0x080000, CRC(1f24cfb6) SHA1(cf1dc9d2a1c1cfb8718c89e245e9bf375fef8bfd) ) \ - ROM_LOAD( "rh___snd.1_3", 0x100000, 0x080000, CRC(726958d8) SHA1(6373765b80971dd7ff5c8eaeee83966335db4d27) ) -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4RHS_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) - -// "(C)1998 B.W.B." and "RH__4.0" -GAME_CUSTOM( 199?, m4rhs, 0, "rh_sj___.4s1", 0x0000, 0x020000, CRC(be6179cd) SHA1(8aefffdffb25bc4dd7d083c7027be746181c2ff9), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0)" ) -GAME_CUSTOM( 199?, m4rhs__b, m4rhs, "rh_sj_b_.4s1", 0x0000, 0x020000, CRC(58a4480e) SHA1(f4ecfa1debbfa9dba75263bce2c9f66741c3466f), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 YD)" ) -GAME_CUSTOM( 199?, m4rhs__d, m4rhs, "rh_sj_d_.4s1", 0x0000, 0x020000, CRC(8f1176db) SHA1(283ef0b9515eac342a02489118bd30016ba85399), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 D)" ) -GAME_CUSTOM( 199?, m4rhs__e, m4rhs, "rh_sj_k_.4s1", 0x0000, 0x020000, CRC(3f2ef505) SHA1(28c3806bc48af21a2b7ea27d42ea9f6b4346f3b8), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 Y)" ) -GAME_CUSTOM( 199?, m4rhs__f, m4rhs, "rh_sja__.4s1", 0x0000, 0x020000, CRC(b8cdd5fb) SHA1(4e336dd3d61f4fdba731951c56e440766ea8efeb), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 K)" ) -GAME_CUSTOM( 199?, m4rhs__h, m4rhs, "rh_sjab_.4s1", 0x0000, 0x020000, CRC(c8468d4c) SHA1(6a9f8fe10949712ecacca3bfcd7d5ab4860682e2), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 YKD)" ) -GAME_CUSTOM( 199?, m4rhs__i, m4rhs, "rh_sjad_.4s1", 0x0000, 0x020000, CRC(df4768f0) SHA1(74894b232b27e65058d59acf174172da86def95a), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 KD)" ) -GAME_CUSTOM( 199?, m4rhs__j, m4rhs, "rh_sjak_.4s1", 0x0000, 0x020000, CRC(6f78eb2e) SHA1(a9fec7a7ad9334c3d8760e1982ac00651858cee8), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 YK)" ) -// "(C)1998 B.W.B." and "RH__6.0" -GAME_CUSTOM( 199?, m4rhs__a, m4rhs, "rh_sj__c.6_1", 0x0000, 0x020000, CRC(476f3cf2) SHA1(18ce990e28ca8565ade5eec9a62f0b243121af73), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__6.0)" ) -GAME_CUSTOM( 199?, m4rhs__c, m4rhs, "rh_sj_bc.6_1", 0x0000, 0x020000, CRC(2e37a58c) SHA1(a48c96384aa81f98bfa980c93e93523ecef3d43c), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__6.0 YD)" ) -GAME_CUSTOM( 199?, m4rhs__g, m4rhs, "rh_sja_c.6_1", 0x0000, 0x020000, CRC(b7b790e5) SHA1(e2b34dc2f6ede4f4c22b11123dfaed46f2c5c45e), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__6.0 K)" ) -// no copyright string and "RH__2.0" -GAME_CUSTOM( 199?, m4rhs__k, m4rhs, "rocky15g", 0x0000, 0x020000, CRC(05f4f333) SHA1(a1b917f6c91d751fb2433e46c4c60840b47eed9e), "hack","Rocky Horror Show (Barcrest) (MPU4) (RH__2.0, hack)" ) -// no copyright string and "RH__3.0" -GAME_CUSTOM( 199?, m4rhs__l, m4rhs, "rocky15t", 0x0000, 0x020000, CRC(3fbad6de) SHA1(e8d76b3878794c769187d92d2834018a84e764ac), "hack","Rocky Horror Show (Barcrest) (MPU4) (RH__3.0 YC, hack)" ) - - -#define M4OADRAC_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "oad.chr", 0x0000, 0x000048, CRC(910b09db) SHA1(d54399660b1bf1a89712b25292ac99b740442e5c) ) \ - ROM_REGION( 0x200000, "msm6376", 0 ) \ - ROM_LOAD( "oadsnd1.bin", 0x000000, 0x080000, CRC(b9a9b49b) SHA1(261e939da031768e2a2b5b171cbba55c87d1a758) ) \ - ROM_LOAD( "oadsnd2.bin", 0x080000, 0x080000, CRC(94e34646) SHA1(8787d6757e4ed86417aafac0e042091189974d3b) ) -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4OADRAC_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) - -// "(C)1999 BWB" and "DR_ 2.0" -GAME_CUSTOM( 199?, m4oadrac, 0, "dr__x__x.2_0", 0x0000, 0x020000, CRC(4ca65bd9) SHA1(deb0a7d3596647210061b69a10fc6cdfc066538e), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.0, set 1)" ) -GAME_CUSTOM( 199?, m4oadrac__b, m4oadrac, "dr__x_dx.2_0", 0x0000, 0x020000, CRC(47f3ac5a) SHA1(e0413c55b897e96e32c3332dac041bc94da6dea3), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.0 D)" ) -GAME_CUSTOM( 199?, m4oadrac__d, m4oadrac, "dr__xa_x.2_0", 0x0000, 0x020000, CRC(702f0f7a) SHA1(8529c3eaa33cb972cc38067d176c7c8af0674147), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.0 K)" ) -GAME_CUSTOM( 199?, m4oadrac__f, m4oadrac, "dr__xb_x.2_0", 0x0000, 0x020000, CRC(3ae8a72c) SHA1(a27faba69430b1d16abf62e0ef37182ab302bbbd), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.0 B)" ) -GAME_CUSTOM( 199?, m4oadrac__h, m4oadrac, "dri_xa_x.2_0", 0x0000, 0x020000, CRC(849d2a80) SHA1(c9ff0a5a543b62ca5b885f93a35b5f40e88db8c3), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.0, set 2)" ) -// "(C)1999 BWB" and "DR_ 2.1" -GAME_CUSTOM( 199?, m4oadrac__a, m4oadrac, "dr__x__x.2_1", 0x0000, 0x020000, CRC(d91773af) SHA1(3d8dda0f409f55bce9c4d4e2a8377e43fe2f1f7d), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.1)" ) -GAME_CUSTOM( 199?, m4oadrac__c, m4oadrac, "dr__x_dx.2_1", 0x0000, 0x020000, CRC(f8c36b67) SHA1(c765d7a5eb4d7cd74295da26a7c6f5341a1ca257), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.1 D)" ) -GAME_CUSTOM( 199?, m4oadrac__e, m4oadrac, "dr__xa_x.2_1", 0x0000, 0x020000, CRC(cf1fc847) SHA1(6b09c0de15a380da1783a387569d83328f5b29a0), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.1 K)" ) -GAME_CUSTOM( 199?, m4oadrac__g, m4oadrac, "dr__xb_x.2_1", 0x0000, 0x020000, CRC(85d86011) SHA1(81f8624908299aa37e75fc5d12059b3600212d35), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.1 B)" ) +/***************************************************************************************************************************************************************************** +* +* Tic Tac Toe Classic +* +*****************************************************************************************************************************************************************************/ +// HOP COIN SENSE ALM (17) #define M4TICCLA_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "ct______.5_a", 0x0000, 0x080000, CRC(9a936f50) SHA1(f3f66d6093a939220d24aee985e210cdfd214db4) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -5806,7 +7103,7 @@ GAME_CUSTOM( 199?, m4oadrac__g, m4oadrac, "dr__xb_x.2_1", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4TICCLA_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1996 B.W.B." and "CT4 7.0" @@ -5843,17 +7140,27 @@ GAME_CUSTOM( 199?, m4ticcla__y, m4ticcla, "ct_30bdc.2_1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4ticcla__z, m4ticcla, "ct_30bgc.2_1", 0x0000, 0x010000, CRC(a1bc89b4) SHA1(4c82ce8fe78768443823e868f7cc49a06e7cc441), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.4 BAD)" ) GAME_CUSTOM( 199?, m4ticcla__0, m4ticcla, "ct_30btc.2_1", 0x0000, 0x010000, CRC(cde0d12e) SHA1(5427ad700311c30cc86eccc7f1ff36cf0da3b980), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.4 BR)" ) + +/***************************************************************************************************************************************************************************** +* +* Tic Tac Toe Gold +* +*****************************************************************************************************************************************************************************/ + +// gives ALM17 (hopper?) + #define M4TICGLC_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "ct______.5_a", 0x0000, 0x080000, CRC(9a936f50) SHA1(f3f66d6093a939220d24aee985e210cdfd214db4) ) #undef GAME_CUSTOM + #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ M4TICGLC_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)1998 B.W.B." and "TG 3.3" GAME_CUSTOM( 199?, m4ticglc, 0, "tg_25a_c.3_1", 0x0000, 0x010000, CRC(44b2b6b0) SHA1(c2caadd68659bd474df534101e3bc13b15a43694), "Bwb","Tic Tac Toe Gold (Barcrest) (MPU4) (TG 3.3 K)" ) @@ -5863,11 +7170,19 @@ GAME_CUSTOM( 199?, m4ticglc__b, m4ticglc, "tg_30a_c.4_1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4ticglc__c, m4ticglc, "tg_30b_c.4_1", 0x0000, 0x010000, CRC(83d1517a) SHA1(38a9269dac53ca701e4b621d5e77696142f429cd), "Bwb","Tic Tac Toe Gold (Barcrest) (MPU4) (TG 4.4 B)" ) GAME_CUSTOM( 199?, m4ticglc__d, m4ticglc, "tg_30bgc.4_1", 0x0000, 0x010000, CRC(a366c32d) SHA1(8d86778411ef07e06d99c12147a211d7620af9bf), "Bwb","Tic Tac Toe Gold (Barcrest) (MPU4) (TG 4.4 BAD)" ) + +/***************************************************************************************************************************************************************************** +* +* Super Streak Classic +* +*****************************************************************************************************************************************************************************/ + +// boots + #define M4SSCLAS_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "ssbwb.chr", 0x0000, 0x000048, CRC(910b09db) SHA1(d54399660b1bf1a89712b25292ac99b740442e5c) ) \ ROM_REGION( 0x200000, "msm6376", 0 ) \ ROM_LOAD( "css_____.1_1", 0x0000, 0x080000, CRC(e738fa1e) SHA1(7a1125320e0d488729aec66e658d418b96228fd0) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -5875,7 +7190,7 @@ GAME_CUSTOM( 199?, m4ticglc__d, m4ticglc, "tg_30bgc.4_1", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4SSCLAS_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) // "(C)2000 BWB" and "CSS 6.0" GAME_CUSTOM( 199?, m4ssclas, 0, "cs__x__x.6_0", 0x0000, 0x010000, CRC(3230284d) SHA1(bca3b4c43859ed424956c4119fa6a91a2e7d6eec), "Bwb","Super Streak Classic (Barcrest) (MPU4) (CSS 6.0)" ) @@ -5886,17 +7201,20 @@ GAME_CUSTOM( 199?, m4ssclas__e, m4ssclas, "cs__xb_x.6_0", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4ssclas__d, m4ssclas, "cs__xb_x.5_0", 0x0000, 0x010000, CRC(a5f46ff5) SHA1(a068029f774bc6ed2e76acc2eb509bc6e2490945), "Bwb","Super Streak Classic (Barcrest) (MPU4) (CSS 5.0 B)" ) // "(C)1998 BWB" and "CSS 2.0" GAME_CUSTOM( 199?, m4ssclas__a, m4ssclas, "cs__x_dx.2_0", 0x0000, 0x010000, CRC(ea004a13) SHA1(db9a187b0672c69a6a149ec6d1025bd6da9beccd), "Bwb","Super Streak Classic (Barcrest) (MPU4) (CSS 2.0 D)" ) -// was in SC2 Super Star set, but seems to fit here, ident hacked to "BILL BIXBY" and "V1 0.1" -GAME_CUSTOM( 199?, m4ssclas__f, m4ssclas, "supst20.15", 0x0000, 0x010000, CRC(c3446ec4) SHA1(3c1ad27385547a33993a839b53873d8b92214ade), "hack","Super Streak Classic (Barcrest) (MPU4) (hack C)" ) - +/***************************************************************************************************************************************************************************** +* +* Squids In +* +*****************************************************************************************************************************************************************************/ #define M4SQUID_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "squidsnd.p1", 0x000000, 0x080000, CRC(44cebe30) SHA1(a93f64897b4ba333d044649f28fa5dd68d3d2e94) ) \ ROM_LOAD( "squidsnd.p2", 0x080000, 0x080000, CRC(d2a1b073) SHA1(d4931f18d369e89492fe72a7a1c511c8d3c23a71) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -5904,7 +7222,7 @@ GAME_CUSTOM( 199?, m4ssclas__f, m4ssclas, "supst20.15", 0x0000, 0x010000, ROM_LOAD( name, offset, length, hash ) \ M4SQUID_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1999 BWB" and "SQ_ 2.0" GAME_CUSTOM( 199?, m4squid, 0, "squidsin.bin", 0x0000, 0x020000, CRC(be369b43) SHA1(e5c7b7a858b264db2f8f726396ddeb42004d7cb9), "Bwb","Squids In (Barcrest) (MPU4) (SQ_ 2.0 C)" ) @@ -5912,12 +7230,20 @@ GAME_CUSTOM( 199?, m4squid__a, m4squid, "sq__x_dx.2_0", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4squid__b, m4squid, "sq__xa_x.2_0", 0x0000, 0x020000, CRC(196a6b34) SHA1(a044ba73b4cf04657ddfcf787dedcb151507ef15), "Bwb","Squids In (Barcrest) (MPU4) (SQ_ 2.0 CK)" ) GAME_CUSTOM( 199?, m4squid__c, m4squid, "sq__xb_x.2_0", 0x0000, 0x020000, CRC(53adc362) SHA1(3920f08299bf284ee9f102ce1505d9e9cdc1d1f0), "Bwb","Squids In (Barcrest) (MPU4) (SQ_ 2.0 BC)" ) + +/***************************************************************************************************************************************************************************** +* +* Calamari Club +* +*****************************************************************************************************************************************************************************/ + +// does not show anything meaningful + #define M4CALAMA_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "m407.chr", 0x0000, 0x000048, CRC(fa693a0d) SHA1(601afba4a6efe8334ecc2cadfee99273a9818c1c) ) \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "cala1.hex", 0x0000, 0x080000, CRC(c9768f65) SHA1(a8f2946fdba640033da0e21d4e18293b3fc004bf) ) \ ROM_LOAD( "cala2.hex", 0x0000, 0x080000, CRC(56bd2950) SHA1(b109c726514c3ee04c1bbdf5f518f60dfd0375a8) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -5925,7 +7251,7 @@ GAME_CUSTOM( 199?, m4squid__c, m4squid, "sq__xb_x.2_0", 0x0000, 0x020000, CR ROM_LOAD( name, offset, length, hash ) \ M4CALAMA_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1996 BARCREST" and "CAC 0.3" GAME_CUSTOM( 199?, m4calama, 0, "cac03s.p1", 0x0000, 0x020000, CRC(edc97795) SHA1(58fb91809c7f475fbceacfc1c3bda41b86dff54b), "Barcrest","Calamari Club (Barcrest) (MPU4) (CAC 0.3)" ) @@ -5935,6 +7261,16 @@ GAME_CUSTOM( 199?, m4calama__e, m4calama, "cac03f.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4calama__c, m4calama, "ca301s.p1", 0x0000, 0x020000, CRC(95beecf1) SHA1(70f72abc0d4280618033b61f9dbe5b90b455c2b1), "Barcrest","Calamari Club (Barcrest) (MPU4) (CA3 0.1)" ) GAME_CUSTOM( 199?, m4calama__a, m4calama, "ca301d.p1", 0x0000, 0x020000, CRC(9a220126) SHA1(d5b12955bb336f8233ed3f892e23a14ba755a511), "Barcrest","Calamari Club (Barcrest) (MPU4) (CA3 0.1 D)" ) GAME_CUSTOM( 199?, m4calama__b, m4calama, "ca301f.p1", 0x0000, 0x020000, CRC(e7af1462) SHA1(72659ef85c3b7916e10b4dbc09ad62638e7ab7e1), "Barcrest","Calamari Club (Barcrest) (MPU4) (CA3 0.1 F)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4CALAMA_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + // "(C)1996 BARCREST" and "BC3 0.2" GAME_CUSTOM( 199?, m4calama__g, m4calama, "bc302s.p1", 0x0000, 0x020000, CRC(b349bd2d) SHA1(9b026bece40584c4f53c30f3dacc91942c871a9f), "Barcrest","Calamari Club (Barcrest) (MPU4) (BC3 0.2)" ) GAME_CUSTOM( 199?, m4calama__f, m4calama, "bc302f.p1", 0x0000, 0x020000, CRC(4b356aca) SHA1(81ce1585f529f1717ec56ace0a4902ae901593ae), "Barcrest","Calamari Club (Barcrest) (MPU4) (BC3 0.2 F)" ) @@ -5945,10 +7281,17 @@ GAME_CUSTOM( 199?, m4calama__j, m4calama, "bca04.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4calama__h, m4calama, "calamari.cl", 0x0000, 0x020000, CRC(bb5e81ac) SHA1(b27f71321978712d2950d58715d18fd5523d6b06), "Barcrest","Calamari Club (Barcrest) (MPU4) (BCA 0.2)" ) +/***************************************************************************************************************************************************************************** +* +* Cosmic Casinos +* +*****************************************************************************************************************************************************************************/ + #define M4COSCAS_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "cc___snd.1_1", 0x000000, 0x080000, CRC(d858f238) SHA1(92a3dfacde8bfa8705e91fab5bb627f9b34ad2dc) ) \ ROM_LOAD( "cc___snd.1_2", 0x080000, 0x080000, CRC(bab1bd8e) SHA1(c703d0e24c0a522ebf79895049e85f5471f7d7e9) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -5956,41 +7299,62 @@ GAME_CUSTOM( 199?, m4calama__h, m4calama, "calamari.cl", 0x0000, 0x020000, ROM_LOAD( name, offset, length, hash ) \ M4COSCAS_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1998 B.W.B." and "CC__3.0" -GAME_CUSTOM( 199?, m4coscas, 0, "cc_sj___.3s1", 0x0000, 0x020000, CRC(52c312b0) SHA1(bd5381d58b1acb7adf6857c142eae4a253081fbd), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0)" ) -GAME_CUSTOM( 199?, m4coscas__d, m4coscas, "cc_sj__c.3r1", 0x0000, 0x020000, CRC(44b940a6) SHA1(7e621873fcf6460f654e35cc74552e86b6253ddb), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 C)" ) -GAME_CUSTOM( 199?, m4coscas__f, m4coscas, "cc_sj_b_.3s1", 0x0000, 0x020000, CRC(019f0a71) SHA1(7a97f4e89c16e25f8e7502bba37f49c8496fbb47), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 YD)" ) -GAME_CUSTOM( 199?, m4coscas__g, m4coscas, "cc_sj_bc.3r1", 0x0000, 0x020000, CRC(de9bb8e1) SHA1(7974b03974531eb4b5ed865b8eeb9649c1346df4), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 YCD)" ) -GAME_CUSTOM( 199?, m4coscas__i, m4coscas, "cc_sj_d_.3s1", 0x0000, 0x020000, CRC(215e12f3) SHA1(68ed9923c6fd51e9305afac9d271c7b3ce38b12f), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 D)" ) -GAME_CUSTOM( 199?, m4coscas__j, m4coscas, "cc_sj_dc.3r1", 0x0000, 0x020000, CRC(00e357c3) SHA1(02bf7427899d2e536442b87d41c140ebd787a580), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 CD)" ) -GAME_CUSTOM( 199?, m4coscas__l, m4coscas, "cc_sj_k_.3s1", 0x0000, 0x020000, CRC(9161912d) SHA1(d11109f4bdc1c60f4cf477e1f26556800a83abdb), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 Y)" ) -GAME_CUSTOM( 199?, m4coscas__m, m4coscas, "cc_sj_kc.3r1", 0x0000, 0x020000, CRC(b0dcd41d) SHA1(6b50a5e401bf854186331673dcc0c3fc5de2991b), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 YC)" ) -GAME_CUSTOM( 199?, m4coscas__n, m4coscas, "cc_sja__.3s1", 0x0000, 0x020000, CRC(1682b1d3) SHA1(24baaf789eca150f0f6fd9c510e245aa7b88cc4c), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 K)" ) -GAME_CUSTOM( 199?, m4coscas__o, m4coscas, "cc_sja_c.3r1", 0x0000, 0x020000, CRC(373ff4e3) SHA1(55b7ab247863eb3c025e84782c8cab7734343077), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 CK)" ) -GAME_CUSTOM( 199?, m4coscas__q, m4coscas, "cc_sjb__.3s1", 0x0000, 0x020000, CRC(5c451985) SHA1(517f634d31f7190ca6685c1037fb66a8b87effba), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 B)" ) -GAME_CUSTOM( 199?, m4coscas__s, m4coscas, "cc_sjbgc.3r1", 0x0000, 0x020000, CRC(2de82f88) SHA1(5c8029d43282a014e82b4f975616ed2bbc0e5641), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 BCAD)" ) -GAME_CUSTOM( 199?, m4coscas__t, m4coscas, "cc_sjbtc.3r1", 0x0000, 0x020000, CRC(976c2858) SHA1(a70a8fe51d1b9d903d099e89a40481ea6af13683), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 BCR)" ) -GAME_CUSTOM( 199?, m4coscas__u, m4coscas, "cc_sjwb_.3s1", 0x0000, 0x020000, CRC(e2df8167) SHA1(c312b30402dd93c6d4a32932677430c9c996fd36), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 YDH)" ) -GAME_CUSTOM( 199?, m4coscas__v, m4coscas, "cc_sjwbc.3r1", 0x0000, 0x020000, CRC(a33a59a6) SHA1(a74ffd647e8390d89df475cc3f5205462c9d93d7), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 YCDH)" ) +GAME_CUSTOM( 199?, m4coscas, 0, "cc_sj___.3s1", 0x0000, 0x020000, CRC(52c312b0) SHA1(bd5381d58b1acb7adf6857c142eae4a253081fbd), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0)" ) +GAME_CUSTOM( 199?, m4coscas__d, m4coscas, "cc_sj__c.3r1", 0x0000, 0x020000, CRC(44b940a6) SHA1(7e621873fcf6460f654e35cc74552e86b6253ddb), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 C)" ) +GAME_CUSTOM( 199?, m4coscas__f, m4coscas, "cc_sj_b_.3s1", 0x0000, 0x020000, CRC(019f0a71) SHA1(7a97f4e89c16e25f8e7502bba37f49c8496fbb47), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 YD)" ) +GAME_CUSTOM( 199?, m4coscas__g, m4coscas, "cc_sj_bc.3r1", 0x0000, 0x020000, CRC(de9bb8e1) SHA1(7974b03974531eb4b5ed865b8eeb9649c1346df4), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 YCD)" ) +GAME_CUSTOM( 199?, m4coscas__i, m4coscas, "cc_sj_d_.3s1", 0x0000, 0x020000, CRC(215e12f3) SHA1(68ed9923c6fd51e9305afac9d271c7b3ce38b12f), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 D)" ) +GAME_CUSTOM( 199?, m4coscas__j, m4coscas, "cc_sj_dc.3r1", 0x0000, 0x020000, CRC(00e357c3) SHA1(02bf7427899d2e536442b87d41c140ebd787a580), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 CD)" ) +GAME_CUSTOM( 199?, m4coscas__l, m4coscas, "cc_sj_k_.3s1", 0x0000, 0x020000, CRC(9161912d) SHA1(d11109f4bdc1c60f4cf477e1f26556800a83abdb), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 Y)" ) +GAME_CUSTOM( 199?, m4coscas__m, m4coscas, "cc_sj_kc.3r1", 0x0000, 0x020000, CRC(b0dcd41d) SHA1(6b50a5e401bf854186331673dcc0c3fc5de2991b), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 YC)" ) +GAME_CUSTOM( 199?, m4coscas__n, m4coscas, "cc_sja__.3s1", 0x0000, 0x020000, CRC(1682b1d3) SHA1(24baaf789eca150f0f6fd9c510e245aa7b88cc4c), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 K)" ) +GAME_CUSTOM( 199?, m4coscas__o, m4coscas, "cc_sja_c.3r1", 0x0000, 0x020000, CRC(373ff4e3) SHA1(55b7ab247863eb3c025e84782c8cab7734343077), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 CK)" ) +GAME_CUSTOM( 199?, m4coscas__q, m4coscas, "cc_sjb__.3s1", 0x0000, 0x020000, CRC(5c451985) SHA1(517f634d31f7190ca6685c1037fb66a8b87effba), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 B)" ) +GAME_CUSTOM( 199?, m4coscas__s, m4coscas, "cc_sjbgc.3r1", 0x0000, 0x020000, CRC(2de82f88) SHA1(5c8029d43282a014e82b4f975616ed2bbc0e5641), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 BCAD)" ) +GAME_CUSTOM( 199?, m4coscas__t, m4coscas, "cc_sjbtc.3r1", 0x0000, 0x020000, CRC(976c2858) SHA1(a70a8fe51d1b9d903d099e89a40481ea6af13683), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 BCR)" ) +GAME_CUSTOM( 199?, m4coscas__u, m4coscas, "cc_sjwb_.3s1", 0x0000, 0x020000, CRC(e2df8167) SHA1(c312b30402dd93c6d4a32932677430c9c996fd36), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 YDH)" ) +GAME_CUSTOM( 199?, m4coscas__v, m4coscas, "cc_sjwbc.3r1", 0x0000, 0x020000, CRC(a33a59a6) SHA1(a74ffd647e8390d89df475cc3f5205462c9d93d7), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0 YCDH)" ) // "(C)1998 B.W.B." and "CC__7.0" -GAME_CUSTOM( 199?, m4coscas__e, m4coscas, "cc_sj__c.7_1", 0x0000, 0x020000, CRC(ee9e6126) SHA1(fab6fd04004acebf291544720ba06cea79d5a054), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__7.0)" ) -GAME_CUSTOM( 199?, m4coscas__h, m4coscas, "cc_sj_bc.7_1", 0x0000, 0x020000, CRC(afe1aac6) SHA1(fc9c69e45db6a85c45ef8d32d048e5726d7da655), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__7.0 YD)" ) -GAME_CUSTOM( 199?, m4coscas__k, m4coscas, "cc_sj_dc.7_1", 0x0000, 0x020000, CRC(330d68a2) SHA1(12410af5f37b26f29f5cd23606ab0e128675095a), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__7.0 D)" ) -GAME_CUSTOM( 199?, m4coscas__p, m4coscas, "cc_sja_c.7_1", 0x0000, 0x020000, CRC(e956898e) SHA1(f51682651520551d481360bf86eba510cd758441), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__7.0 K)" ) -GAME_CUSTOM( 199?, m4coscas__r, m4coscas, "cc_sjb_c.7_1", 0x0000, 0x020000, CRC(109e9ae9) SHA1(00f381beb33cae58fc3429d3501efa4a9d9f0035), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__7.0 B)" ) -GAME_CUSTOM( 199?, m4coscas__b, m4coscas, "cosmiccasinos15.bin", 0x0000, 0x020000, CRC(ddba1241) SHA1(7ca2928ae2ab4e323b60bb661b60681f89cc5663), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__7.0 Y)" ) -// no copyright string and "CC__3.0" -GAME_CUSTOM( 199?, m4coscas__c, m4coscas, "cc30s.p1", 0x0000, 0x020000, CRC(e308100a) SHA1(14cb07895d17237768877dd62ba7c3fc8e5b2630), "hack","Cosmic Casino (Barcrest) (MPU4) (CC__3.0, hack)" ) -// no copyright string and "CC__6.0" -GAME_CUSTOM( 199?, m4coscas__a, m4coscas, "cosm15g", 0x0000, 0x020000, CRC(edd01d55) SHA1(49246fa1e12ceb3297f35616cdc1cf62472a379f), "hack","Cosmic Casino (Barcrest) (MPU4) (CC__6.0, hack)" ) +GAME_CUSTOM( 199?, m4coscas__e, m4coscas, "cc_sj__c.7_1", 0x0000, 0x020000, CRC(ee9e6126) SHA1(fab6fd04004acebf291544720ba06cea79d5a054), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__7.0)" ) +GAME_CUSTOM( 199?, m4coscas__h, m4coscas, "cc_sj_bc.7_1", 0x0000, 0x020000, CRC(afe1aac6) SHA1(fc9c69e45db6a85c45ef8d32d048e5726d7da655), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__7.0 YD)" ) +GAME_CUSTOM( 199?, m4coscas__k, m4coscas, "cc_sj_dc.7_1", 0x0000, 0x020000, CRC(330d68a2) SHA1(12410af5f37b26f29f5cd23606ab0e128675095a), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__7.0 D)" ) +GAME_CUSTOM( 199?, m4coscas__p, m4coscas, "cc_sja_c.7_1", 0x0000, 0x020000, CRC(e956898e) SHA1(f51682651520551d481360bf86eba510cd758441), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__7.0 K)" ) +GAME_CUSTOM( 199?, m4coscas__r, m4coscas, "cc_sjb_c.7_1", 0x0000, 0x020000, CRC(109e9ae9) SHA1(00f381beb33cae58fc3429d3501efa4a9d9f0035), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__7.0 B)" ) +GAME_CUSTOM( 199?, m4coscas__b, m4coscas, "cosmiccasinos15.bin", 0x0000, 0x020000, CRC(ddba1241) SHA1(7ca2928ae2ab4e323b60bb661b60681f89cc5663), "Bwb","Cosmic Casinos (Barcrest) (MPU4) (CC__7.0 Y)" ) +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + M4COSCAS_EXTRA_ROMS \ + ROM_END \ + GAME(year, setname, parent, mod4oki_bootleg_fixedret<0x70>, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) + + +// need different protection handling +// no copyright string and "CC__3.0" +GAME_CUSTOM( 199?, m4coscas__c, m4coscas, "cc30s.p1", 0x0000, 0x020000, CRC(e308100a) SHA1(14cb07895d17237768877dd62ba7c3fc8e5b2630), "hack","Cosmic Casinos (Barcrest) (MPU4) (CC__3.0, hack)" ) +// no copyright string and "CC__6.0" +GAME_CUSTOM( 199?, m4coscas__a, m4coscas, "cosm15g", 0x0000, 0x020000, CRC(edd01d55) SHA1(49246fa1e12ceb3297f35616cdc1cf62472a379f), "hack","Cosmic Casinos (Barcrest) (MPU4) (CC__6.0, hack)" ) + + +/***************************************************************************************************************************************************************************** +* +* Double Diamond Club +* +*****************************************************************************************************************************************************************************/ + +// "Wrong Sound, Need V1" but can be bypassed to boot #define M4DBLDM_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ ROM_LOAD( "cddsnd.p1", 0x000000, 0x080000, CRC(e1833e31) SHA1(1486e5afab347d6dee1543a55d1193b7db3c89d7) ) \ ROM_LOAD( "cddsnd.p2", 0x080000, 0x080000, CRC(fd33ed2a) SHA1(f68ffadde40f88e7954d4a98bcd7ff023841b55b) ) + #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ @@ -5998,7 +7362,7 @@ GAME_CUSTOM( 199?, m4coscas__a, m4coscas, "cosm15g", 0x0000, 0 ROM_LOAD( name, offset, length, hash ) \ M4DBLDM_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4oki, mpu4, mpu4_state, init_m4_showstring_big, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4oki_cheatchr_pal, mpu4, mpu4mod4oki_machines_state, init_m4default_big, ROT0, company, title, GAME_FLAGS ) // "(C)1996 BARCREST" and "CDD 0.5" GAME_CUSTOM( 199?, m4dbldm, 0, "cdd05s.p1", 0x0000, 0x020000, CRC(fc14771f) SHA1(f418af9fed331560195a694f20ef2fea27ed04b0), "Barcrest","Double Diamond Club (Barcrest) (MPU4) (CDD 0.5)" ) @@ -6006,3 +7370,56 @@ GAME_CUSTOM( 199?, m4dbldm__a, m4dbldm, "cdd05d.p1", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4dbldm__b, m4dbldm, "cdd05f.p1", 0x0000, 0x020000, CRC(81914bd4) SHA1(cf286810ad6732ca1d706e70f4c2958d28cc979c), "Barcrest","Double Diamond Club (Barcrest) (MPU4) (CDD 0.5 F)" ) // "(C)1996 BARCREST" and "CDD 0.1" GAME_CUSTOM( 199?, m4dbldm__c, m4dbldm, "cdd01.p1", 0x0000, 0x020000, CRC(e35dffde) SHA1(0bfc977f25f25785f20b510c44d2d3d79e23af8b), "Barcrest","Double Diamond Club (Barcrest) (MPU4) (CDD 0.1 TD)" ) + + +/***************************************************************************************************************************************************************************** +* +* Super Blackjack Club +* +*****************************************************************************************************************************************************************************/ + +#define M4SUPBJC_EXTRAS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "sbjsnd1.hex", 0x000000, 0x080000, CRC(70388bec) SHA1(256fa01b57049d73e88b0bb270fccb555b12dfb7) ) \ + ROM_LOAD( "sbjsnd2.hex", 0x080000, 0x080000, CRC(1d588554) SHA1(48c092ce83d2f881fc217a3d566e896718ad6f24) ) \ + ROM_REGION( 0x100000, "altmsm6376", 0 ) \ + ROM_LOAD( "sbj.s1", 0x000000, 0x080000, CRC(9bcba966) SHA1(5ced282aca9d39ebf0828aa19357026d5298e955) ) \ + ROM_LOAD( "sbj.s2", 0x080000, 0x080000, CRC(1d588554) SHA1(48c092ce83d2f881fc217a3d566e896718ad6f24) ) + +ROM_START( m4supbjc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "sbjs.p1", 0x0000, 0x010000, CRC(f7fb2b99) SHA1(c860d3f95ee3fde02bf00b2e20eeee0ebaf01912) ) + M4SUPBJC_EXTRAS +ROM_END + +ROM_START( m4supbjca ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "sbjd.p1", 0x0000, 0x010000, CRC(555361f4) SHA1(f5327b811ab3421307dc59d209a216798cd54393) ) + M4SUPBJC_EXTRAS +ROM_END + +ROM_START( m4supbjcb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "sbjf.p1", 0x0000, 0x010000, CRC(7966deff) SHA1(5cdb6c80ef56b27878eb1fffd6fdf31060e56291) ) + M4SUPBJC_EXTRAS +ROM_END + +ROM_START( m4supbjcc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "sbjl.p1", 0x0000, 0x010000, CRC(fc47ed74) SHA1(f29b2caac8168410e534e2f224c98dd4bbb9a7f7) ) + M4SUPBJC_EXTRAS +ROM_END + +ROM_START( m4supbjcd ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "superbjclub.bin", 0x0000, 0x010000, CRC(68d11d27) SHA1(a0303f845fb5f5b396a7be3ca17a9eaf1a7baef4) ) + M4SUPBJC_EXTRAS +ROM_END + +// protecton confirmed as m574, but doesn't read from lamp scramble, require stake set +GAME(199?, m4supbjc, 0, mod4oki_cheatchr_pal, mpu420p, mpu4mod4oki_machines_state, init_m4default, ROT0, "Barcrest","Super Blackjack Club (Barcrest) (MPU4) (SBJ 3.1, set 1)",GAME_FLAGS ) +GAME(199?, m4supbjca, m4supbjc, mod4oki_cheatchr_pal, mpu420p, mpu4mod4oki_machines_state, init_m4default, ROT0, "Barcrest","Super Blackjack Club (Barcrest) (MPU4) (SBJ 3.1, set 2)",GAME_FLAGS ) +GAME(199?, m4supbjcb, m4supbjc, mod4oki_cheatchr_pal, mpu420p, mpu4mod4oki_machines_state, init_m4default, ROT0, "Barcrest","Super Blackjack Club (Barcrest) (MPU4) (SBJ 3.1, set 3)",GAME_FLAGS ) +GAME(199?, m4supbjcc, m4supbjc, mod4oki_cheatchr_pal, mpu420p, mpu4mod4oki_machines_state, init_m4default, ROT0, "Barcrest","Super Blackjack Club (Barcrest) (MPU4) (SBJ 3.1, set 4)",GAME_FLAGS ) +GAME(199?, m4supbjcd, m4supbjc, mod4oki_cheatchr_pal, mpu420p, mpu4mod4oki_machines_state, init_m4default, ROT0, "Barcrest","Super Blackjack Club (Barcrest) (MPU4) (SBJ 2.0)",GAME_FLAGS ) + diff --git a/src/mame/drivers/mpu4mod4yam.cpp b/src/mame/drivers/mpu4mod4yam.cpp index 6ec8a6b26a9..dbdd1a518a6 100644 --- a/src/mame/drivers/mpu4mod4yam.cpp +++ b/src/mame/drivers/mpu4mod4yam.cpp @@ -5,46 +5,239 @@ #include "emu.h" #include "includes/mpu4.h" -INPUT_PORTS_EXTERN( mpu4 ); +namespace { +class mpu4mod4yam_machines_state : public mpu4_state +{ +public: + + mpu4mod4yam_machines_state(const machine_config &mconfig, device_type type, const char *tag) : + mpu4_state(mconfig, type, tag) + { + } + + void init_m4addr(); + + void mod4yam_cheatchr_gambal(machine_config &config); + +private: + void pia_ic5_porta_gambal_w(uint8_t data); +}; #include "gamball.lh" +#include "m4addr.lh" -void mpu4_state::init_m4_debug_mod4yam() +} // anonymous namespace + +#define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) + + +/***************************************************************************************************************************************************************************** +* +* Classic Adders and Ladders +* +*****************************************************************************************************************************************************************************/ + + +void mpu4mod4yam_machines_state::init_m4addr() { + //Derived from Adders_&_Ladders_(Barcrest)_[C03_800_6jp].gam init_m4default(); + init_m4_hopper_tubes(); + init_m4default_reels(); - // many original barcrest / bwb sets have identification info around here - // this helps with sorting - uint8_t *src = memregion( "maincpu" )->base(); - int size = memregion( "maincpu" )->bytes(); - - for (int j = 0; j < size; j += 0x10000) - { - if (size > 0x10000) printf("\nblock 0x%06x:\n",j); - printf("\ncopyright string:\n"); - for (int i = 0xffe0; i < 0xfff0; i++) - { - printf("%c", src[j+i]); - } - printf("\n\nidentification string:\n"); - for (int i = 0xff28; i < 0xff30; i++) - { - printf("%c", src[j+i]); - } - printf("\n"); - } -} - -void mpu4_state::init_m4_showstring_mod4yam() -{ - init_m4_debug_mod4yam(); - init_m4debug(); + //PCKEY =0 + //STKEY =0 + //JPKEY =0 + //JPSET =0 + //DIP1_0=false + //DIP1_1=false + //DIP1_2=false + //DIP1_3=false + //DIP1_4=false + //DIP1_5=false + //DIP1_6=false + //DIP1_7=false + //DIP2_0=false + //DIP2_1=false + //DIP2_2=false + //DIP2_3=false + //DIP2_4=false + //DIP2_5=false + //DIP2_6=false + //DIP2_7=false + //Sound barcrest1 + //Standard + //Volume 0 Stereo= 1 + //Sample rate 16000 + //Front door code 0 Cash door code 0 } +INPUT_PORTS_START( m4addr ) + PORT_INCLUDE(mpu4) + + PORT_MODIFY("BLACK1") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_UNUSED) + + PORT_MODIFY("BLACK2") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Collect / Take Feature") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Hold 1/Nudge 1") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Hold 2/Nudge 2") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("Hold 3/Nudge 3") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_NAME("Hi") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_NAME("Lo") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_BUTTON7) PORT_NAME("Exchange Feature") + + PORT_MODIFY("DIL2") + PORT_DIPNAME( 0x08, 0x00, "Show Attract Sequence" ) PORT_DIPLOCATION("DIL2:04") + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +INPUT_PORTS_END + + + + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title, flags) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAMEL( year, setname, parent, machine, inputs, mpu4mod4yam_machines_state, init, ROT0, company, title, flags, layout_m4addr ) + +// "(C)1991 BARCREST" and "A6L 0.1" +GAME_CUSTOM( 1991, m4addr, 0, mod4yam_cheatchr_pal, m4addr, init_m4addr, "a6ls.p1", 0x0000, 0x010000, CRC(9f97f57b) SHA1(402d1518bb78fdc489b06c2aabc771e5ce151847), "Barcrest","Classic Adders & Ladders (Barcrest) (MPU4) (A6L 0.1, set 1)", 0 ) +GAME_CUSTOM( 199?, m4addrc__d, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "alddr20", 0x0000, 0x010000, CRC(19cf4437) SHA1(b528823c476bebd1a9a6c720a4144294743693d2), "Barcrest","Classic Adders & Ladders (Barcrest) (MPU4) (A6L 0.1, set 2)", 0 ) // hack? +GAME_CUSTOM( 1991, m4addr6ld, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "a6ld.p1", 0x0000, 0x010000, CRC(de555e12) SHA1(2233160f1c734c889c1c00dee202a928f18ad763), "Barcrest","Classic Adders & Ladders (Barcrest) (MPU4) (A6L 0.1 D)", 0 ) +GAME_CUSTOM( 1991, m4addr6lc, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "a6lc.p1", 0x0000, 0x010000, CRC(1e75fe67) SHA1(4497b19d4c512c934d445b4acf607dc2dc080d44), "Barcrest","Classic Adders & Ladders (Barcrest) (MPU4) (A6L 0.1 C)", 0 ) +GAME_CUSTOM( 1991, m4addr6lk, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "a6lk.p1", 0x0000, 0x010000, CRC(af5ae5c4) SHA1(20e40cf996c2c3b7b18ec104a374be1da193b94e), "Barcrest","Classic Adders & Ladders (Barcrest) (MPU4) (A6L 0.1 K)", 0 ) +GAME_CUSTOM( 1991, m4addr6ly, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "adders ladders 20p 6.bin", 0x0000, 0x010000, CRC(62abeb34) SHA1(8069e6fde0673fdbc124a1a172dc988bb3205ff6), "Barcrest","Classic Adders & Ladders (Barcrest) (MPU4) (A6L 0.1 Y)", 0 ) +GAME_CUSTOM( 1991, m4addr6lyd, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "a6ldy.p1", 0x0000, 0x010000, CRC(82f060a5) SHA1(2e8474e6c17def07e35448b5bf8d453cce0f292c), "Barcrest","Classic Adders & Ladders (Barcrest) (MPU4) (A6L 0.1 YD)", 0 ) +GAME_CUSTOM( 1991, m4addr6lybd, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "a6lbdy.p1", 0x0000, 0x010000, CRC(28064099) SHA1(c916f73911974440d4c79ecb51b343aad78f115b), "Barcrest","Classic Adders & Ladders (Barcrest) (MPU4) (A6L 0.1 YBD)", 0 ) +// "(C)1993 B.W.B." and "ADD 1.0" +GAME_CUSTOM( 199?, m4addrc__l, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "al10", 0x0000, 0x010000, CRC(3c3c82b6) SHA1(cc5ffdd0837c9af31d5737a70430a01d1989cdcc), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0, 1993)", GAME_FLAGS ) +// "(C)1994 B.W.B." and "ADD 1.0" (actually version 10?) +GAME_CUSTOM( 1994, m4addr10, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05___.1o3", 0x0000, 0x010000, CRC(8d9e0f5d) SHA1(fecc844908876e161d0134ce3cc098e79e74e0b1), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr10d, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05_d_.1o3", 0x0000, 0x010000, CRC(2d29040f) SHA1(ee2bdd5da1a7e4146419ffd8bad521a9c1b49aa2), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 D, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr10c, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "adi05___.1o3", 0x0000, 0x010000, CRC(050764b1) SHA1(364c50e4887c9fdd7ff62e63a6be4513336b4814), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr10yd, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05_b_.1o3", 0x0000, 0x010000, CRC(b10b194a) SHA1(4dc3f14ff3b903c49829f4a91136f9b03a5cb1ae), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 YD, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr10_a, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_10___.1o3", 0x0000, 0x010000, CRC(d587cb00) SHA1(6574c42402f13e5f9cb8f951e0f59b499b2d025d), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0, set 2)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr10d_a, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_10_d_.1o3", 0x0000, 0x010000, CRC(d7670d32) SHA1(09dfe2a7fe267f485efed234411efc92d9cce414), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 D, set 2)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr10c_a, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "adi10___.1o3", 0x0000, 0x010000, CRC(005caaa1) SHA1(b4b421c045012b5fbeaca95fa09d087a9c5e6b5b), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, set 2)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr10yd_a, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_10_b_.1o3", 0x0000, 0x010000, CRC(e2b5c0db) SHA1(9e1716186bb049c61dddaef2465fb1e55d2d93fd), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 YD, set 2)", GAME_FLAGS ) +// "(C)1993 B.W.B." and "ADD 3.0" +GAME_CUSTOM( 1993, m4addr3, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05___.3q3", 0x0000, 0x010000, CRC(ec6ed7ce) SHA1(dfad04b5f6c4ff0fd784ad20471f1cf84586f2cd), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr3d, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05_d_.3q3", 0x0000, 0x010000, CRC(8d05fba9) SHA1(9c69d7eec7ce0d647d4f8b8b0a6b7e54daa7a79f), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 D, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr3yd, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05_b_.3q3", 0x0000, 0x010000, CRC(d4c06db1) SHA1(dacb66b98f9d1d51eddc48b6946d517c277e588e), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 YD, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr3_a, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_20___.3a3", 0x0000, 0x010000, CRC(c2431657) SHA1(b2b7541207eb3c898f9cf3df520bff396213b78a), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0, set 2)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr3d_a, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_20_d_.3a3", 0x0000, 0x010000, CRC(62304025) SHA1(59b7815bf1b5337f46083cef186fedd078a4ad37), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 D, set 2)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr3yd_a, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_20_b_.3a3", 0x0000, 0x010000, CRC(19990a19) SHA1(ab1031513fb1e499da4a3001b5b26ff1e86cc628), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 YD, set 2)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr3_b, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_20___.3n3", 0x0000, 0x010000, CRC(883ff001) SHA1(50540270dba31820ad99a4a4034c69d4a58d87c5), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0, set 3)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr3d_b, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_20_d_.3n3", 0x0000, 0x010000, CRC(cf254a00) SHA1(1e430b652e4023e28b5648b8bea63e778c6dafc9), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 D, set 3)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr3yd_b, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_20_b_.3n3", 0x0000, 0x010000, CRC(65f9946f) SHA1(6bf6f315ed2dc6f603381d36dd408e951ace76bc), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 YD, set 3)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr3_c, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_20___.3s3", 0x0000, 0x010000, CRC(b1d54cb6) SHA1(35205975ccdaccd5bf3c1b7bf9a26c5ef30050b3), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0, set 4)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr3d_c, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_20_d_.3s3", 0x0000, 0x010000, CRC(89d2301b) SHA1(62ad1a9e008063eb16442b50af806f061669dba7), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 D, set 4)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr3yd_c, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_20_b_.3s3", 0x0000, 0x010000, CRC(86982248) SHA1(a6d876333777a29eb0504fa3636727ebcc104f0a), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0 YD, set 4)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr3_d, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "adl5pv2", 0x0000, 0x010000, CRC(09c39527) SHA1(16af3e552a7d6c6b802d2b1923523e9aa9de766a), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 3.0, set 5)", GAME_FLAGS ) +// "(C)1994 B.W.B." and "ADD 5.0" +GAME_CUSTOM( 1994, m4addr5, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05___.5a3", 0x0000, 0x010000, CRC(9821a988) SHA1(2be85a0b68e5e31401a5c753b40f3cf803589444), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr5d, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05_d_.5a3", 0x0000, 0x010000, CRC(b5be8114) SHA1(28dfe1d1cc1d9fc2bcc13fd6437602a6e8c90de2), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0 D, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr5c, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "adi05___.5a3", 0x0000, 0x010000, CRC(03777f8c) SHA1(9e3fddc2130600f343df0531bf3e636b82c2f108), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0 C, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr5yd, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05_b_.5a3", 0x0000, 0x010000, CRC(592cb1ae) SHA1(5696ecb3e9e6419f73087120b6a832fde606bacc), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0 YD, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr5_a, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05___.5n3", 0x0000, 0x010000, CRC(86ac3564) SHA1(1dd9cf39d2aee11a3e1bbc68460c12f10e62aeaf), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0, set 2)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr5d_a, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05_d_.5n3", 0x0000, 0x010000, CRC(ca2653d5) SHA1(30cd35627be8fb4fff2f0d61a6ab43cf3e4c1742), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0 D, set 2)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr5c_a, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "adi05___.5n3", 0x0000, 0x010000, CRC(13003560) SHA1(aabad24748f9b1b09f1820bf1af932160e64fe3e), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0 C, set 2)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr5yd_a, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05_b_.5n3", 0x0000, 0x010000, CRC(cdc8ca39) SHA1(33fdeef8ab8908f6908120aedf501ec3e9d7d23e), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 5.0 YD, set 2)", GAME_FLAGS ) +// "(C)1993 B.W.B." and "ADD 4.0" +GAME_CUSTOM( 1993, m4addr4, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05___.4s3", 0x0000, 0x010000, CRC(6d1a3c51) SHA1(0e4b985173c7c3bd5804573d99913d66a05d54fb), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr4c, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "adi05___.4s3", 0x0000, 0x010000, CRC(a4343a89) SHA1(cef67bbe03e6f535b530fc099f1b9a8bc7a2f864), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0 C, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr4d, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05_d_.4s3", 0x0000, 0x010000, CRC(e672baf0) SHA1(bae2e2fe9f51b3b8da20fcefb145f6d35fa2d604), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0 D, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 1993, m4addr4yd, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_05_b_.4s3", 0x0000, 0x010000, CRC(6bd6fdb6) SHA1(7ee1e80da5833b3eaf4b23035690a09379781584), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0 YD, set 1)", GAME_FLAGS ) +// "(C)1994 B.W.B." and "ADD 4.0" +GAME_CUSTOM( 1994, m4addr4_a, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "ad_10___.4a3", 0x0000, 0x010000, CRC(9151dac3) SHA1(bf1c065a62e84a8073f8f9854981bedad60805be), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0, set 2)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr4c_a, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "adi10___.4a3", 0x0000, 0x010000, CRC(2d2aa3cc) SHA1(21a7690c3fb7d158f4b4e6da63663778246ac902), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0 C, set 2)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr4c_b, m4addr, mod4yam_cheatchr_pal, m4addr, init_m4addr, "adi10___.4n3", 0x0000, 0x010000, CRC(af9aad00) SHA1(09729e73f27d9ac5d6ac7171191ed76aeaac3e3d), "Bwb","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 4.0 C, set 3)", GAME_FLAGS ) + +// These have different protection +// "(C)1991 BARCREST" and "A6L 0.1" (but hack?) +GAME_CUSTOM( 199?, m4addrc__b, m4addr, mod4yam_bootleg_fixedret<0x43>, m4addr, init_m4addr, "add20_101", 0x0000, 0x010000, CRC(361b7173) SHA1(dea2b1b0f5910e2fd3f45d220554f0e712dedada), "hack","Classic Adders & Ladders (Barcrest) (MPU4) (A6L 0.1, hack, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 199?, m4addrc__k, m4addr, mod4yam_bootleg_fixedret<0x63>, m4addr, init_m4addr, "addl_20_.8", 0x0000, 0x010000, CRC(43c98f46) SHA1(0ca4a093b38fc04639e3f4bb742a8923b90d2ed1), "hack","Classic Adders & Ladders (Barcrest) (MPU4) (A6L 0.1, hack, set 2)", GAME_FLAGS ) +// "BIG DIPPER" and ADD 1.0 +GAME_CUSTOM( 199?, m4addrc__h, m4addr, mod4yam_bootleg_fixedret<0x1d>, m4addr, init_m4addr, "adders classic.bin", 0x0000, 0x010000, CRC(6bc1d2aa) SHA1(cf17e697ff0cfba999f6511f24051dbc3d0384ef), "hack","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0, hack)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr_h1, m4addr, mod4yam_bootleg_fixedret<0x1d>, m4addr, init_m4addr, "5p4addersladders.bin", 0x0000, 0x010000, CRC(03fc43da) SHA1(cf2fdb0d1ad702331ba004fd39072484b05e2b97), "hack","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 1)", GAME_FLAGS ) +GAME_CUSTOM( 199?, m4addrc__m, m4addr, mod4yam_bootleg_fixedret<0x1d>, m4addr, init_m4addr, "alad58c", 0x0000, 0x010000, CRC(df9c46b8) SHA1(439ea1ce17aa89e19cedb78465b4388b72c8c5ed), "hack","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 5)", GAME_FLAGS ) +GAME_CUSTOM( 1994, m4addr_h2, m4addr, mod4yam_bootleg_fixedret<0x61>, m4addr, init_m4addr, "ad05.6c", 0x0000, 0x010000, CRC(0940e4aa) SHA1(e8e7f7249a18386af990999a4c06f001db7003c5), "hack","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 2)", GAME_FLAGS ) +GAME_CUSTOM( 199?, m4addrc, m4addr, mod4yam_bootleg_fixedret<0x2d>, m4addr, init_m4addr, "add05_101", 0x0000, 0x010000, CRC(4b3fb104) SHA1(9dba619019a476ce317122a3553965b279c684ba), "hack","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 3)", GAME_FLAGS ) +GAME_CUSTOM( 199?, m4addrc__c, m4addr, mod4yam_bootleg_fixedret<0x25>, m4addr, init_m4addr, "add55", 0x0000, 0x010000, CRC(48c5bc73) SHA1(18c9f70bad6141cca95b6bbcb4fc621e71f87700), "hack","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 4)", GAME_FLAGS ) +// "DADS ARMY" and "ADD 1.0" +GAME_CUSTOM( 199?, m4addrc__a, m4addr, mod4yam_bootleg_fixedret<0x2b>, m4addr, init_m4addr, "add10_101", 0x0000, 0x010000, CRC(af8f8b4e) SHA1(712c33ed0f425dc10b79780b0cfce0ac5768e2d5), "hack","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 6)", GAME_FLAGS ) +GAME_CUSTOM( 199?, m4addrc__i, m4addr, mod4yam_bootleg_fixedret<0x5f>, m4addr, init_m4addr, "addl_10_.4", 0x0000, 0x010000, CRC(c2d11126) SHA1(0eafe9dc30013ed5817ac303a4eea5ea82d62715), "hack","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 7)", GAME_FLAGS ) +GAME_CUSTOM( 199?, m4addrc__j, m4addr, mod4yam_bootleg_fixedret<0x5f>, m4addr, init_m4addr, "addl_10_.8", 0x0000, 0x010000, CRC(9fc82c47) SHA1(0f56afc33f09fe22afc5ec74aeb496c32f9e623c), "hack","Classic Adders & Ladders (Bwb / Barcrest) (MPU4) (ADD 1.0 C, hack, set 8)", GAME_FLAGS ) + + +/***************************************************************************************************************************************************************************** +* +* Classic Adders and Ladders CLUB +* +*****************************************************************************************************************************************************************************/ + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// REEL A SETUP ALM + +// "(C)1991 BARCREST" and "ADC 1.1" +GAME_CUSTOM( 199?, m4addrcc, 0, "adcs.p1", 0x0000, 0x010000, CRC(7247de78) SHA1(e390b4e912d7bc8c1ca5e42bf2e2753d4c2b4d17), "Barcrest","Adders & Ladders Classic Club (Barcrest) (MPU4) (ADC 1.1)" ) +GAME_CUSTOM( 199?, m4addrcc__c, m4addrcc, "adcd.p1", 0x0000, 0x010000, CRC(47e41c9a) SHA1(546aaaa5765b3bc91eeb9bf5a979ed68a2e72da8), "Barcrest","Adders & Ladders Classic Club (Barcrest) (MPU4) (ADC 1.1 D)" ) +GAME_CUSTOM( 199?, m4addrcc__a, m4addrcc, "adcf.p1", 0x0000, 0x010000, CRC(1dbbc990) SHA1(fb9439b43089e3135a719ab94b24dd65561d17cf), "Barcrest","Adders & Ladders Classic Club (Barcrest) (MPU4) (ADC 1.1 F)" ) +GAME_CUSTOM( 199?, m4addrcc__b, m4addrcc, "adcl.p1", 0x0000, 0x010000, CRC(89299196) SHA1(9a92b250b47b11536f8708429d69c95111ecdb98), "Barcrest","Adders & Ladders Classic Club (Barcrest) (MPU4) (ADC 1.1 L)" ) +// "(C)1991 BARCREST" and "ADC 0.5" +GAME_CUSTOM( 199?, m4addrcc__d, m4addrcc, "adrscfm", 0x0000, 0x010000, CRC(6c95881a) SHA1(db658bd722c54fc84734105f1a9b0028b23179fb), "Barcrest","Adders & Ladders Classic Club (Barcrest) (MPU4) (ADC 0.5)" ) + + +/***************************************************************************************************************************************************************************** +* +* Carry On Joker +* +*****************************************************************************************************************************************************************************/ + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +GAME_CUSTOM( 199?, m4cojok, 0, "cojx.p1", 0x0000, 0x010000, CRC(a9c0aefb) SHA1(c5b367a01ddee2cb90e266f1e62459b9b96eb3e3), "Barcrest","Carry On Joker (Barcrest) (MPU4) (COJ 2.1, set 1)" ) +GAME_CUSTOM( 199?, m4cojok__a, m4cojok, "cojxb.p1", 0x0000, 0x010000, CRC(2680c84a) SHA1(6cf9bb72df41ea1389334597a772fd197aba4fc4), "Barcrest","Carry On Joker (Barcrest) (MPU4) (COJ 2.1, set 2)" ) +GAME_CUSTOM( 199?, m4cojok__b, m4cojok, "cojxc.p1", 0x0000, 0x010000, CRC(a67db981) SHA1(08ac65baf774c63705c3a4db36248777375404f6), "Barcrest","Carry On Joker (Barcrest) (MPU4) (COJ 2.1, set 3)" ) +GAME_CUSTOM( 199?, m4cojok__c, m4cojok, "cojxcd.p1", 0x0000, 0x010000, CRC(33d31701) SHA1(a7ccaa5a3b1c97cc84cdca2f77381ea4a8d743a3), "Barcrest","Carry On Joker (Barcrest) (MPU4) (COJ 2.1, set 4)" ) +GAME_CUSTOM( 199?, m4cojok__d, m4cojok, "cojxd.p1", 0x0000, 0x010000, CRC(97c12c95) SHA1(282dfc5bc66fd4ad57f442c3ae75f6645919352d), "Barcrest","Carry On Joker (Barcrest) (MPU4) (COJ 2.1, set 5)" ) +GAME_CUSTOM( 199?, m4cojok__e, m4cojok, "cojxdy.p1", 0x0000, 0x010000, CRC(4f0be63b) SHA1(d701b5c2d2c71942f8574598a4ba687f532c16a8), "Barcrest","Carry On Joker (Barcrest) (MPU4) (COJ 2.1, set 6)" ) +GAME_CUSTOM( 199?, m4cojok__f, m4cojok, "cojxy.p1", 0x0000, 0x010000, CRC(88f1b57a) SHA1(cfc98d6ec90e7c186741d62d3ec68bd350196878), "Barcrest","Carry On Joker (Barcrest) (MPU4) (COJ 2.1, set 7)" ) + + +/***************************************************************************************************************************************************************************** +* +* Gamball +* +* has a Mechanical ball launcher to simulate random number generation +* +*****************************************************************************************************************************************************************************/ + INPUT_PORTS_START( m4gambal ) PORT_START("ORANGE1") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("00")// 20p level @@ -185,81 +378,110 @@ INPUT_PORTS_START( m4gambal ) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_COIN4) PORT_NAME("100p")PORT_IMPULSE(5) INPUT_PORTS_END -ROM_START( m4tst ) - ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) - ROM_LOAD( "ut4.p1", 0xC000, 0x4000, CRC(086dc325) SHA1(923caeb61347ac9d3e6bcec45998ddf04b2c8ffd)) -ROM_END -GAME(198?, m4tst, 0, mod4yam, mpu4, mpu4_state, init_m4default, ROT0,"Barcrest","MPU4 Unit Test (Program 4)",MACHINE_MECHANICAL ) +void mpu4mod4yam_machines_state::pia_ic5_porta_gambal_w(uint8_t data) +{ + pia_ic5_porta_w(data); -ROM_START( m4stc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "stc01s", 0x0000, 0x010000, CRC(8371bb8f) SHA1(bd60825b3f5011c218b34f00886b6b54afe61b9f) ) -ROM_END + /* The 'Gamball' device is a unique piece of mechanical equipment, designed to + provide a truly fair hi-lo gamble for an AWP. Functionally, it consists of + a ping-pong ball or similar enclosed in the machine's backbox, on a platform with 12 + holes. When the low 4 bytes of AUX1 are triggered, this fires the ball out from the + hole it's currently in, to land in another. Landing in the same hole causes the machine to + refire the ball. The ball detection is done by the high 4 bytes of AUX1. + Here we call the MAME RNG, once to pick a row, once to pick from the four pockets within it. We + then trigger the switches corresponding to the correct number. This appears to be the best way + of making the game fair, short of simulating the physics of a bouncing ball ;)*/ + if (data & 0x0f) + { + switch ((machine().rand()>>5) % 0x3) + { + case 0x00: //Top row + switch (machine().rand() & 0x3) + { + case 0x00: //7 + m_aux1_input = (m_aux1_input & 0x0f); + m_aux1_input|= 0xa0; + break; -ROM_START( m4sstrek ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "rhr2pprgpatched.bin", 0x0000, 0x010000, CRC(a0b3439d) SHA1(0976537a5170bf4c4f595f7fa04243a68f14b2ae) ) -ROM_END + case 0x01://4 + m_aux1_input = (m_aux1_input & 0x0f); + m_aux1_input|= 0xb0; + break; -ROM_START( m4joljokd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "djj15.bin", 0x0000, 0x010000, CRC(155cb134) SHA1(c1026effeceba131df9681afd91ccd6fb43b738a) ) -ROM_END + case 0x02://9 + m_aux1_input = (m_aux1_input & 0x0f); + m_aux1_input|= 0xc0; + break; -ROM_START( m4clbshf ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "csss.p1", 0x0000, 0x010000, CRC(32dd9b96) SHA1(93831858b2f0ada8e4a0aa2fae59d12c53287df1) ) - ROM_REGION( 0x48, "fakechr", 0 ) - ROM_LOAD( "club_shuffle.chr", 0x0000, 0x000048, CRC(97618d38) SHA1(7958e99684d50b9bdb56c97f7fcfe161f0824578) ) -ROM_END + case 0x03://8 + m_aux1_input = (m_aux1_input & 0x0f); + m_aux1_input|= 0xd0; + break; + } + break; -ROM_START( m4graffd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "grafittirom.bin", 0x0000, 0x010000, CRC(36135d6e) SHA1(e71eedabae36971739f8a6fd56a4a954de29944b) ) - ROM_REGION( 0x10000, "snd", 0 ) - // these are just trash I think, only a few bits used, and if it's ym based it shouldn't have them anyway. - ROM_LOAD( "grafittisound.bin", 0x0000, 0x010000, CRC(2d9bfff9) SHA1(ded774bcd2a7e10e4e2fc7b40976c9dcea0de6e3) ) - ROM_LOAD( "grafittisound2.bin", 0x0000, 0x010000, CRC(c06c5517) SHA1(9e11f93638d37ba6f7b34a78eea043821ca4e188) ) -ROM_END + case 0x01: //Middle row - note switches don't match pattern + switch (machine().rand() & 0x3) + { + case 0x00://12 + m_aux1_input = (m_aux1_input & 0x0f); + m_aux1_input|= 0x40; + break; + + case 0x01://1 + m_aux1_input = (m_aux1_input & 0x0f); + m_aux1_input|= 0x50; + break; + + case 0x02://11 + m_aux1_input = (m_aux1_input & 0x0f); + m_aux1_input|= 0x80; + break; + + case 0x03://2 + m_aux1_input = (m_aux1_input & 0x0f); + m_aux1_input|= 0x90; + break; + } + break; + + case 0x02: //Bottom row + switch (machine().rand() & 0x3) + { + case 0x00://5 + m_aux1_input = (m_aux1_input & 0x0f); + m_aux1_input|= 0x00; + break; + + case 0x01://10 + m_aux1_input = (m_aux1_input & 0x0f); + m_aux1_input|= 0x10; + break; + + case 0x02://3 + m_aux1_input = (m_aux1_input & 0x0f); + m_aux1_input|= 0x20; + break; + + case 0x03://6 + m_aux1_input = (m_aux1_input & 0x0f); + m_aux1_input|= 0x30; + break; + } + break; + } + } +} -ROM_START( m4voodoo ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ddo32", 0x0000, 0x010000, CRC(260dfef1) SHA1(2b4918e40808963a86d289cd251740a9b0bed70a) ) -ROM_END +void mpu4mod4yam_machines_state::mod4yam_cheatchr_gambal(machine_config &config) +{ + mod4yam_cheatchr_pal(config); -#define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) - -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - ROM_END \ - GAME(year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) -GAME_CUSTOM( 199?, m4cojok, 0, "cojx.p1", 0x0000, 0x010000, CRC(a9c0aefb) SHA1(c5b367a01ddee2cb90e266f1e62459b9b96eb3e3), "Barcrest","Carry On Joker (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4cojok__a, m4cojok, "cojxb.p1", 0x0000, 0x010000, CRC(2680c84a) SHA1(6cf9bb72df41ea1389334597a772fd197aba4fc4), "Barcrest","Carry On Joker (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4cojok__b, m4cojok, "cojxc.p1", 0x0000, 0x010000, CRC(a67db981) SHA1(08ac65baf774c63705c3a4db36248777375404f6), "Barcrest","Carry On Joker (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4cojok__c, m4cojok, "cojxcd.p1", 0x0000, 0x010000, CRC(33d31701) SHA1(a7ccaa5a3b1c97cc84cdca2f77381ea4a8d743a3), "Barcrest","Carry On Joker (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4cojok__d, m4cojok, "cojxd.p1", 0x0000, 0x010000, CRC(97c12c95) SHA1(282dfc5bc66fd4ad57f442c3ae75f6645919352d), "Barcrest","Carry On Joker (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4cojok__e, m4cojok, "cojxdy.p1", 0x0000, 0x010000, CRC(4f0be63b) SHA1(d701b5c2d2c71942f8574598a4ba687f532c16a8), "Barcrest","Carry On Joker (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4cojok__f, m4cojok, "cojxy.p1", 0x0000, 0x010000, CRC(88f1b57a) SHA1(cfc98d6ec90e7c186741d62d3ec68bd350196878), "Barcrest","Carry On Joker (Barcrest) (MPU4) (set 7)" ) - - -// has a Mechanical ball launcher to simulate random number generation -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - ROM_END \ - GAMEL( year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4gambal, ROT0, company, title, MACHINE_REQUIRES_ARTWORK | MACHINE_MECHANICAL, layout_gamball ) - -GAME_CUSTOM( 199?, m4gambal, 0, "gbbx.p1", 0x0000, 0x010000, CRC(0b5adcd0) SHA1(1a198bd4a1e7d6bf4cf025c43d35aaef351415fc), "Barcrest","Gamball (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4gambal__a, m4gambal, "gabcx.p1", 0x0000, 0x010000, CRC(52c35266) SHA1(bda49005de88094fbc84621f63b33f0e0a9c0bd3), "Barcrest","Gamball (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4gambal__b, m4gambal, "gabx.p1", 0x0000, 0x010000, CRC(74a8ed7e) SHA1(7363031c8a634ac13de957c62f32611963f797bd), "Barcrest","Gamball (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4gambal__c, m4gambal, "gbll20-6", 0x0000, 0x010000, CRC(f34d233a) SHA1(3f13563b2821b2f36267470c36ba346879521bc9), "Barcrest","Gamball (Barcrest) (MPU4) (set 4)" ) + // custom hookup for gambal feature + m_pia5->writepa_handler().set(FUNC(mpu4mod4yam_machines_state::pia_ic5_porta_gambal_w)); +} #undef GAME_CUSTOM @@ -268,11 +490,19 @@ GAME_CUSTOM( 199?, m4gambal__c, m4gambal, "gbll20-6", 0x0000, 0x010000, CRC ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ ROM_END \ - GAME(year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAMEL( year, setname, parent, mod4yam_cheatchr_gambal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, MACHINE_REQUIRES_ARTWORK | MACHINE_MECHANICAL, layout_gamball ) -GAME_CUSTOM( 199?, m4graff, 0, "graffo6", 0x0000, 0x010000, CRC(7349c9ca) SHA1(2744035d6c7897394c8fead27f48779047590fba), "Barcrest","Graffiti (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4graff__a, m4graff, "grax.p1", 0x0000, 0x010000, CRC(2e03a7d8) SHA1(333373fe15ae165dd24d5c11fef23f2e9b0388bf), "Barcrest","Graffiti (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4graff__b, m4graff, "graxc.p1", 0x0000, 0x010000, CRC(7620657b) SHA1(2aec38ee0f826c7bb012522fd098a6fdb857c9da), "Barcrest","Graffiti (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4gambal, 0, "gbbx.p1", 0x0000, 0x010000, CRC(0b5adcd0) SHA1(1a198bd4a1e7d6bf4cf025c43d35aaef351415fc), "Barcrest","Gamball (Barcrest) (MPU4) (GBB 2.0)" ) +GAME_CUSTOM( 199?, m4gambal__a, m4gambal, "gabcx.p1", 0x0000, 0x010000, CRC(52c35266) SHA1(bda49005de88094fbc84621f63b33f0e0a9c0bd3), "Barcrest","Gamball (Barcrest) (MPU4) (GAB 2.0, set 1)" ) +GAME_CUSTOM( 199?, m4gambal__b, m4gambal, "gabx.p1", 0x0000, 0x010000, CRC(74a8ed7e) SHA1(7363031c8a634ac13de957c62f32611963f797bd), "Barcrest","Gamball (Barcrest) (MPU4) (GAB 2.0, set 2)" ) +GAME_CUSTOM( 199?, m4gambal__c, m4gambal, "gbll20-6", 0x0000, 0x010000, CRC(f34d233a) SHA1(3f13563b2821b2f36267470c36ba346879521bc9), "Barcrest","Gamball (Barcrest) (MPU4) (GAB 2.0, set 3)" ) + + +/***************************************************************************************************************************************************************************** +* +* Graffiti +* +*****************************************************************************************************************************************************************************/ #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ @@ -280,8 +510,28 @@ GAME_CUSTOM( 199?, m4graff__b, m4graff, "graxc.p1", 0x0000, 0x010000, CRC(76 ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ ROM_END \ - GAME(year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) +GAME_CUSTOM( 199?, m4graff, 0, "graffo6", 0x0000, 0x010000, CRC(7349c9ca) SHA1(2744035d6c7897394c8fead27f48779047590fba), "Barcrest","Graffiti (Barcrest) (MPU4) (GRA 2.0X)" ) +GAME_CUSTOM( 199?, m4graff__a, m4graff, "grax.p1", 0x0000, 0x010000, CRC(2e03a7d8) SHA1(333373fe15ae165dd24d5c11fef23f2e9b0388bf), "Barcrest","Graffiti (Barcrest) (MPU4) (GRA 2.1X)" ) +GAME_CUSTOM( 199?, m4graff__b, m4graff, "graxc.p1", 0x0000, 0x010000, CRC(7620657b) SHA1(2aec38ee0f826c7bb012522fd098a6fdb857c9da), "Barcrest","Graffiti (Barcrest) (MPU4) (GRA 2.1CX)" ) + + +/***************************************************************************************************************************************************************************** +* +* Monte Carlo +* +*****************************************************************************************************************************************************************************/ + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// 'with 8GBP Jackpot' sets GAME_CUSTOM( 199?, m4monte, 0, "nm8b.p1", 0x0000, 0x010000, CRC(1632080e) SHA1(9ca2cd8f00e49c29f4a216d3c9eacba221ada6ce), "Barcrest","Monte Carlo (NM8 0.1 B) (Barcrest) (MPU4)" ) GAME_CUSTOM( 199?, m4monte__a, m4monte, "nm8ad.p1", 0x0000, 0x010000, CRC(92a07e05) SHA1(94015b219fffb8ad9a40a804a4e0b0fad61cdf21), "Barcrest","Monte Carlo (NM8 0.1 AD) (Barcrest) (MPU4)" ) GAME_CUSTOM( 199?, m4monte__b, m4monte, "nm8bd.p1", 0x0000, 0x010000, CRC(a4bc134f) SHA1(72af6b66a5ea7566289bd9bdf8975c29dbb547cf), "Barcrest","Monte Carlo (NM8 0.1 BD) (Barcrest) (MPU4)" ) @@ -292,27 +542,11 @@ GAME_CUSTOM( 199?, m4monte__f, m4monte, "nm8dy.p1", 0x0000, 0x010000, CRC(9d GAME_CUSTOM( 199?, m4monte__g, m4monte, "nm8k.p1", 0x0000, 0x010000, CRC(47c00612) SHA1(647216e7489043f90e0cd807ddc3d631842b3f7f), "Barcrest","Monte Carlo (NM8 0.1 K) (Barcrest) (MPU4)" ) GAME_CUSTOM( 199?, m4monte__h, m4monte, "nm8s.p1", 0x0000, 0x010000, CRC(cf8fd333) SHA1(4b2b98d0c3d043a6425a6d82f7a98cf662582832), "Barcrest","Monte Carlo (NM8 0.1) (Barcrest) (MPU4)" ) GAME_CUSTOM( 199?, m4monte__i, m4monte, "nm8y.p1", 0x0000, 0x010000, CRC(cbb96053) SHA1(9fb6c449d8e26ecacfa9ba40979134c705ecb1be), "Barcrest","Monte Carlo (NM8 0.1 Y) (Barcrest) (MPU4)" ) +// 'with 6GBP Jackpot' sets GAME_CUSTOM( 199?, m4monte__j, m4monte, "nmnc.p1", 0x0000, 0x010000, CRC(c2fdcc91) SHA1(aa3ec11425adee94c24b3a1472541e7e04e4000a), "Barcrest","Monte Carlo (NMN 0.1 C) (Barcrest) (MPU4)" ) GAME_CUSTOM( 199?, m4monte__k, m4monte, "nmnd.p1", 0x0000, 0x010000, CRC(94985809) SHA1(636b9106ea330a238f3d4168636fbf21021a7216), "Barcrest","Monte Carlo (NMN 0.1 D) (Barcrest) (MPU4)" ) GAME_CUSTOM( 199?, m4monte__l, m4monte, "nmnk.p1", 0x0000, 0x010000, CRC(8d022ae6) SHA1(01e12acbed34a2d4fb81dc9da12441ddc31f605b), "Barcrest","Monte Carlo (NMN 0.1 K) (Barcrest) (MPU4)" ) GAME_CUSTOM( 199?, m4monte__m, m4monte, "nmns.p1", 0x0000, 0x010000, CRC(48e2ab70) SHA1(bc452a36374a6e62516aad1a4887876ee9da37f7), "Barcrest","Monte Carlo (NMN 0.1) (Barcrest) (MPU4)" ) -// this might be a different game -GAME_CUSTOM( 1991, m4montez, m4monte, "montvnd", 0x0000, 0x010000, CRC(9858bb1d) SHA1(a2d3de2cec7420cc6f7da2239bdc79d7c4b7394e), "Barcrest","Monte Carlo (MSS 1.6 C) (Barcrest) (MPU4)" ) -// this might be a different game -GAME_CUSTOM( 1995, m4monteza, m4monte, "mx_05a__.2_1", 0x0000, 0x010000, CRC(a1a03e03) SHA1(bf49b516e6824a47cd9bf1408bf676f9f1e43d62), "BwB","Monte Carlo (MX052.0 K) (Barcrest) (MPU4)" ) -GAME_CUSTOM( 1995, m4montezi, m4monte, "mxi05___.2_1", 0x0000, 0x010000, CRC(de425b55) SHA1(2aa63bbd32c766e7e2d888345115c3185dc03bff), "BwB","Monte Carlo (MX052.0 C) (Barcrest) (MPU4)" ) -GAME_CUSTOM( 1995, m4montezb, m4monte, "mx_10a__.2_1", 0x0000, 0x010000, CRC(bbf21e9f) SHA1(901b14b96cdb0945f491c39707ab9d2b9a2d25dd), "BwB","Monte Carlo (MX102.0 K) (Barcrest) (MPU4)" ) -GAME_CUSTOM( 1995, m4montezj, m4monte, "mxi10___.2_1", 0x0000, 0x010000, CRC(19077425) SHA1(e31da38a903345c65b083cac192555f1f4ba2e5a), "BwB","Monte Carlo (MX102.0 C) (Barcrest) (MPU4)" ) -GAME_CUSTOM( 1996, m4montezc, m4monte, "mx_20__c.1_1", 0x0000, 0x010000, CRC(a753798d) SHA1(ae1f5f14a37dead66f6b2d075a5bfc019d59f806), "BwB","Monte Carlo (MC 2.0 C) (Barcrest) (MPU4)" ) -GAME_CUSTOM( 1996, m4montezd, m4monte, "mx_20a_c.1_1", 0x0000, 0x010000, CRC(9ec6f5fb) SHA1(ee181a64557053349cc8bff86bba937b191cab01), "BwB","Monte Carlo (MC 2.0 K) (Barcrest) (MPU4)" ) -GAME_CUSTOM( 1996, m4monteze, m4monte, "mx_20dkc.1_1", 0x0000, 0x010000, CRC(d580f742) SHA1(3c1d6aba4068d60ab53eceecf65bc920f8b5604e), "BwB","Monte Carlo (MC 2.0 YD) (Barcrest) (MPU4)" ) -GAME_CUSTOM( 1996, m4montezf, m4monte, "mx_25__c.3_1", 0x0000, 0x010000, CRC(11ae121d) SHA1(11e61db1c645410ac18ef429cde167a7774be5f5), "BwB","Monte Carlo (MC_ 3.0 C) (Barcrest) (MPU4)" ) -GAME_CUSTOM( 1996, m4montezh, m4monte, "mx_25a_c.3_1", 0x0000, 0x010000, CRC(283b9e6b) SHA1(937da8bda49a7a0fa1f728770f96d10a65bfe7bc), "BwB","Monte Carlo (MC_ 3.0 K) (Barcrest) (MPU4)" ) -GAME_CUSTOM( 1996, m4montezg, m4monte, "mx_25_bc.3_1", 0x0000, 0x010000, CRC(4228139c) SHA1(a448ddc034923cba58ee298fd2a4c2cdd4f84f04), "BwB","Monte Carlo (MC_ 3.0 YD) (Barcrest) (MPU4)" ) - - - - #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ @@ -320,13 +554,13 @@ GAME_CUSTOM( 1996, m4montezg, m4monte, "mx_25_bc.3_1", 0x0000, 0x010000, CR ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ ROM_END \ - GAME(year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) -GAME_CUSTOM( 199?, m4nudbnk, 0, "nb6", 0x0000, 0x010000, CRC(010dd3fc) SHA1(645cbe54200a6c3327e10909b1ef3a80579e96e5), "Barcrest","Nudge Banker (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4nudbnk__a, m4nudbnk, "nbncx.p1", 0x0000, 0x010000, CRC(57bbbedf) SHA1(d42d3176f41aedf2ddc15cdf73ab97e963b92213), "Barcrest","Nudge Banker (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4nudbnk__b, m4nudbnk, "nbnx.p1", 0x0000, 0x010000, CRC(075053d5) SHA1(43b9f6bb3a4ab531eb168007ceaf713261736144), "Barcrest","Nudge Banker (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4nudbnk__c, m4nudbnk, "sbns.p1", 0x0000, 0x010000, CRC(92aa5b8d) SHA1(4f6e309e152266b8f40077a7d734b2b9042570d2), "Barcrest","Nudge Banker (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4nudbnk__d, m4nudbnk, "sbnx.p1", 0x0000, 0x010000, CRC(861cbc50) SHA1(61166ea9092e2890ea9de421cc031d3a79335233), "Barcrest","Nudge Banker (Barcrest) (MPU4) (set 5)" ) +// Bwb sets +GAME_CUSTOM( 1995, m4monteza, m4monte, "mx_05a__.2_1", 0x0000, 0x010000, CRC(a1a03e03) SHA1(bf49b516e6824a47cd9bf1408bf676f9f1e43d62), "Bwb","Monte Carlo (MX052.0 K) (Bwb) (MPU4)" ) +GAME_CUSTOM( 1995, m4montezi, m4monte, "mxi05___.2_1", 0x0000, 0x010000, CRC(de425b55) SHA1(2aa63bbd32c766e7e2d888345115c3185dc03bff), "Bwb","Monte Carlo (MX052.0 C) (Bwb) (MPU4)" ) +GAME_CUSTOM( 1995, m4montezb, m4monte, "mx_10a__.2_1", 0x0000, 0x010000, CRC(bbf21e9f) SHA1(901b14b96cdb0945f491c39707ab9d2b9a2d25dd), "Bwb","Monte Carlo (MX102.0 K) (Bwb) (MPU4)" ) +GAME_CUSTOM( 1995, m4montezj, m4monte, "mxi10___.2_1", 0x0000, 0x010000, CRC(19077425) SHA1(e31da38a903345c65b083cac192555f1f4ba2e5a), "Bwb","Monte Carlo (MX102.0 C) (Bwb) (MPU4)" ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ @@ -334,15 +568,20 @@ GAME_CUSTOM( 199?, m4nudbnk__d, m4nudbnk, "sbnx.p1", 0x0000, 0x010000, CRC ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ ROM_END \ - GAME(year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) -GAME_CUSTOM( 199?, m4przmc, 0, "mssb.p1", 0x0000, 0x010000, CRC(5210dae0) SHA1(cc9916718249505e031ccdbc126f3fa1e6675f27), "Barcrest","Prize Monte Carlo (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4przmc__a, m4przmc, "mssad.p1", 0x0000, 0x010000, CRC(e3690c35) SHA1(fdaacda0d03ce8d54841525feff2529b1ee1f970), "Barcrest","Prize Monte Carlo (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4przmc__b, m4przmc, "mssd.p1", 0x0000, 0x010000, CRC(cf59305e) SHA1(7ba6f37aa1077561129f66ab663730fb6e5108ed), "Barcrest","Prize Monte Carlo (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4przmc__c, m4przmc, "mssdy.p1", 0x0000, 0x010000, CRC(12d7db63) SHA1(6e1e6b13783888f3d508d7cbecc52c65ffc99fb0), "Barcrest","Prize Monte Carlo (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4przmc__d, m4przmc, "mssk.p1", 0x0000, 0x010000, CRC(d56f62dc) SHA1(7df1fad20901607e710e8a7f64033f77d613a0fa), "Barcrest","Prize Monte Carlo (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4przmc__e, m4przmc, "msss.p1", 0x0000, 0x010000, CRC(c854c12f) SHA1(917d091383b07a995dc2c441717885b181a02d3c), "Barcrest","Prize Monte Carlo (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4przmc__f, m4przmc, "mssy.p1", 0x0000, 0x010000, CRC(159f4baa) SHA1(073c13e6bff4a641b29e5a45f88e3533aff460e4), "Barcrest","Prize Monte Carlo (Barcrest) (MPU4) (set 7)" ) + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) +GAME_CUSTOM( 1996, m4montezc, m4monte, "mx_20__c.1_1", 0x0000, 0x010000, CRC(a753798d) SHA1(ae1f5f14a37dead66f6b2d075a5bfc019d59f806), "Bwb","Monte Carlo (MC 2.0 C) (Bwb) (MPU4)" ) +GAME_CUSTOM( 1996, m4montezd, m4monte, "mx_20a_c.1_1", 0x0000, 0x010000, CRC(9ec6f5fb) SHA1(ee181a64557053349cc8bff86bba937b191cab01), "Bwb","Monte Carlo (MC 2.0 K) (Bwb) (MPU4)" ) +GAME_CUSTOM( 1996, m4monteze, m4monte, "mx_20dkc.1_1", 0x0000, 0x010000, CRC(d580f742) SHA1(3c1d6aba4068d60ab53eceecf65bc920f8b5604e), "Bwb","Monte Carlo (MC 2.0 YD) (Bwb) (MPU4)" ) +GAME_CUSTOM( 1996, m4montezf, m4monte, "mx_25__c.3_1", 0x0000, 0x010000, CRC(11ae121d) SHA1(11e61db1c645410ac18ef429cde167a7774be5f5), "Bwb","Monte Carlo (MC_ 3.0 C) (Bwb) (MPU4)" ) +GAME_CUSTOM( 1996, m4montezh, m4monte, "mx_25a_c.3_1", 0x0000, 0x010000, CRC(283b9e6b) SHA1(937da8bda49a7a0fa1f728770f96d10a65bfe7bc), "Bwb","Monte Carlo (MC_ 3.0 K) (Bwb) (MPU4)" ) +GAME_CUSTOM( 1996, m4montezg, m4monte, "mx_25_bc.3_1", 0x0000, 0x010000, CRC(4228139c) SHA1(a448ddc034923cba58ee298fd2a4c2cdd4f84f04), "Bwb","Monte Carlo (MC_ 3.0 YD) (Bwb) (MPU4)" ) + +/***************************************************************************************************************************************************************************** +* +* Monte Carlo (with Prizes) +* +*****************************************************************************************************************************************************************************/ #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ @@ -350,7 +589,117 @@ GAME_CUSTOM( 199?, m4przmc__f, m4przmc, "mssy.p1", 0x0000, 0x010000, CRC(15 ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ ROM_END \ - GAME(year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +GAME_CUSTOM( 199?, m4przmc, 0, "mssb.p1", 0x0000, 0x010000, CRC(5210dae0) SHA1(cc9916718249505e031ccdbc126f3fa1e6675f27), "Barcrest","Prize Monte Carlo (MSS 1.6 B) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__a, m4przmc, "mssad.p1", 0x0000, 0x010000, CRC(e3690c35) SHA1(fdaacda0d03ce8d54841525feff2529b1ee1f970), "Barcrest","Prize Monte Carlo (MSS 1.6 AD) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__b, m4przmc, "mssd.p1", 0x0000, 0x010000, CRC(cf59305e) SHA1(7ba6f37aa1077561129f66ab663730fb6e5108ed), "Barcrest","Prize Monte Carlo (MSS 1.6 D) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__c, m4przmc, "mssdy.p1", 0x0000, 0x010000, CRC(12d7db63) SHA1(6e1e6b13783888f3d508d7cbecc52c65ffc99fb0), "Barcrest","Prize Monte Carlo (MSS 1.6 YD) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__d, m4przmc, "mssk.p1", 0x0000, 0x010000, CRC(d56f62dc) SHA1(7df1fad20901607e710e8a7f64033f77d613a0fa), "Barcrest","Prize Monte Carlo (MSS 1.6 K) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__e, m4przmc, "msss.p1", 0x0000, 0x010000, CRC(c854c12f) SHA1(917d091383b07a995dc2c441717885b181a02d3c), "Barcrest","Prize Monte Carlo (MSS 1.6) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__f, m4przmc, "mssy.p1", 0x0000, 0x010000, CRC(159f4baa) SHA1(073c13e6bff4a641b29e5a45f88e3533aff460e4), "Barcrest","Prize Monte Carlo (MSS 1.6 Y) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 1991, m4przmc__g, m4przmc, "montvnd", 0x0000, 0x010000, CRC(9858bb1d) SHA1(a2d3de2cec7420cc6f7da2239bdc79d7c4b7394e), "Barcrest","Prize Monte Carlo (MSS 1.6 C) (Barcrest) (MPU4)" ) + +// sets below were in Prize Money sets, but boot to show 'Monte Carlo with Prizes' +// "(C)1995 B.W.B." and "MC 53.0" +GAME_CUSTOM( 199?, m4przmc__h, m4przmc, "mt_05a__.3o3", 0x0000, 0x010000, CRC(4175f4a9) SHA1(b0e172e4862aa3b7be7accefc90e98d07d449b65), "Bwb","Prize Monte Carlo (MC 53.0 K) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__i, m4przmc, "mt_05s__.3o3", 0x0000, 0x010000, CRC(92d674b7) SHA1(a828a9b0d870122bc09d865de90b8efa428f3fd0), "Bwb","Prize Monte Carlo (MC 53.0) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__j, m4przmc, "mt_05sb_.3o3", 0x0000, 0x010000, CRC(1158e506) SHA1(8c91bfe29545bbbc0d136a8c9abef785cadc3c64), "Bwb","Prize Monte Carlo (MC 53.0 YD) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__k, m4przmc, "mt_05sd_.3o3", 0x0000, 0x010000, CRC(5ed3d947) SHA1(4b9bc9be6e79014ad6ca95293eb464af39e40dc1), "Bwb","Prize Monte Carlo (MC 53.0 D) (Barcrest) (MPU4)" ) +// "(C)1995 B.W.B." and "MC103.0" +GAME_CUSTOM( 199?, m4przmc__l, m4przmc, "mt_10a__.3o3", 0x0000, 0x010000, CRC(6a8172a4) SHA1(92c081535258677e90d9f9748a168926c7a0cbed), "Bwb","Prize Monte Carlo (MC103.0 K) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__m, m4przmc, "mt_10s__.3o3", 0x0000, 0x010000, CRC(1b66f0f8) SHA1(308227b0144f0568df8190810e0de627b413a742), "Bwb","Prize Monte Carlo (MC103.0) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__n, m4przmc, "mt_10sb_.3o3", 0x0000, 0x010000, CRC(06a33d34) SHA1(5fa1269a7cf42ef14e2a19143a07bf28b38ad920), "Bwb","Prize Monte Carlo (MC103.0 YD) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__o, m4przmc, "mt_10sd_.3o3", 0x0000, 0x010000, CRC(42629cb1) SHA1(12f695e1f70bf93100c1af8052dcee9131711510), "Bwb","Prize Monte Carlo (MC103.0 D) (Barcrest) (MPU4)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1995 B.W.B." and "MT054.0" +GAME_CUSTOM( 199?, m4przmc__p, m4przmc, "mt_05a__.4o1", 0x0000, 0x010000, CRC(637fecee) SHA1(8c970bdf703177c71dde5c774c75929ac42b6eb0), "Bwb","Prize Monte Carlo (MT054.0 K) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__q, m4przmc, "mti05___.4o1", 0x0000, 0x010000, CRC(0e82c258) SHA1(c4aa7d32bcd9418e2919be8be8a2f9e60d46f316), "Bwb","Prize Monte Carlo (MT054.0 C) (Barcrest) (MPU4)" ) +// "(C)1995 B.W.B." and "MT104.0" +GAME_CUSTOM( 199?, m4przmc__r, m4przmc, "mt_10a__.4o1", 0x0000, 0x010000, CRC(36eeac30) SHA1(daa662392874806d18d4a161d39caed7e0abca73), "Bwb","Prize Monte Carlo (MT104.0 K) (Barcrest) (MPU4)" ) +GAME_CUSTOM( 199?, m4przmc__s, m4przmc, "mti10___.4o1", 0x0000, 0x010000, CRC(a35e0571) SHA1(9a22946047e76392f0c4534f892ee9ae9e700503), "Bwb","Prize Monte Carlo (MT104.0 C) (Barcrest) (MPU4)" ) + + + +/***************************************************************************************************************************************************************************** +* +* Nudge Banker +* +*****************************************************************************************************************************************************************************/ + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// (C)1991 BARCREST and SBN 2.0 +GAME_CUSTOM( 199?, m4nudbnk, 0, "nb6", 0x0000, 0x010000, CRC(010dd3fc) SHA1(645cbe54200a6c3327e10909b1ef3a80579e96e5), "Barcrest","Nudge Banker (Barcrest) (MPU4) (SBN 2.0X)" ) +// (C)1991 BARCREST and NBN 2.0 +GAME_CUSTOM( 199?, m4nudbnk__a, m4nudbnk, "nbncx.p1", 0x0000, 0x010000, CRC(57bbbedf) SHA1(d42d3176f41aedf2ddc15cdf73ab97e963b92213), "Barcrest","Nudge Banker (Barcrest) (MPU4) (NBN 1.0CX)" ) +GAME_CUSTOM( 199?, m4nudbnk__b, m4nudbnk, "nbnx.p1", 0x0000, 0x010000, CRC(075053d5) SHA1(43b9f6bb3a4ab531eb168007ceaf713261736144), "Barcrest","Nudge Banker (Barcrest) (MPU4) (NBN 1.0X)" ) +// (C)1991 BARCREST and SBN 1.1 +GAME_CUSTOM( 199?, m4nudbnk__c, m4nudbnk, "sbns.p1", 0x0000, 0x010000, CRC(92aa5b8d) SHA1(4f6e309e152266b8f40077a7d734b2b9042570d2), "Barcrest","Nudge Banker (Barcrest) (MPU4) (SBN 1.1)" ) +GAME_CUSTOM( 199?, m4nudbnk__d, m4nudbnk, "sbnx.p1", 0x0000, 0x010000, CRC(861cbc50) SHA1(61166ea9092e2890ea9de421cc031d3a79335233), "Barcrest","Nudge Banker (Barcrest) (MPU4) (SBN 1.1X)" ) + + +/***************************************************************************************************************************************************************************** +* +* Spend Spend Spend +* +*****************************************************************************************************************************************************************************/ + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, machine, inputs, mpu4mod4yam_machines_state, init, ROT0, company, title, GAME_FLAGS ) + +// (C)1995 B.W.B. and SP5 1.0 +GAME_CUSTOM( 199?, m4sss, 0, mod4yam_cheatchr_pal, mpu4,init_m4default, "sp_05a__.1o3", 0x0000, 0x010000, CRC(044a0133) SHA1(7cf85cf19f5c3f588daf5c0d7efe4204d67161a2), "Bwb","Spend Spend Spend (Bwb) (MPU4) (SP5 1.0, set 1)" ) +GAME_CUSTOM( 199?, m4sss__b, m4sss, mod4yam_cheatchr_pal, mpu4,init_m4default, "sp_05s__.1o3", 0x0000, 0x010000, CRC(2e000a62) SHA1(e60390a383388e385bbde79ca14c63e5d69a8869), "Bwb","Spend Spend Spend (Bwb) (MPU4) (SP5 1.0, set 2)" ) +GAME_CUSTOM( 199?, m4sss__c, m4sss, mod4yam_cheatchr_pal, mpu4,init_m4default, "sp_05sb_.1o3", 0x0000, 0x010000, CRC(c6380ef5) SHA1(673044aae9998dfe52205a5e4a3d26361f01c518), "Bwb","Spend Spend Spend (Bwb) (MPU4) (SP5 1.0, set 3)" ) +GAME_CUSTOM( 199?, m4sss__d, m4sss, mod4yam_cheatchr_pal, mpu4,init_m4default, "sp_05sd_.1o3", 0x0000, 0x010000, CRC(31f818e1) SHA1(bbfa45ef63a73aa726a8223be234fb8ffba45e24), "Bwb","Spend Spend Spend (Bwb) (MPU4) (SP5 1.0, set 4)" ) +// (C)1995 B.W.B. and SP101.0 +GAME_CUSTOM( 199?, m4sss__e, m4sss, mod4yam_cheatchr_pal, mpu4,init_m4default, "sp_10a__.1o3", 0x0000, 0x010000, CRC(918c038c) SHA1(608062dc4e39c15967e16d95945b65ef7feabea2), "Bwb","Spend Spend Spend (Bwb) (MPU4) (SP101.0, set 1)" ) +GAME_CUSTOM( 199?, m4sss__f, m4sss, mod4yam_cheatchr_pal, mpu4,init_m4default, "sp_10s__.1o3", 0x0000, 0x010000, CRC(1bc5780a) SHA1(df1b5d0d6f4751a480aef77be40fb2cfd153bf18), "Bwb","Spend Spend Spend (Bwb) (MPU4) (SP101.0, set 2)" ) +GAME_CUSTOM( 199?, m4sss__g, m4sss, mod4yam_cheatchr_pal, mpu4,init_m4default, "sp_10sb_.1o3", 0x0000, 0x010000, CRC(2dfc3926) SHA1(b6b201c65c182f9b18a590910183ce88b245af2b), "Bwb","Spend Spend Spend (Bwb) (MPU4) (SP101.0, set 3)" ) +GAME_CUSTOM( 199?, m4sss__h, m4sss, mod4yam_cheatchr_pal, mpu4,init_m4default, "sp_10sd_.1o3", 0x0000, 0x010000, CRC(fe5c7e3e) SHA1(f5066f1f0c2220da874cbac0ce510cbac6fff8e7), "Bwb","Spend Spend Spend (Bwb) (MPU4) (SP101.0, set 4)" ) +// (C)1995 B.W.B. and SX5 2.0 +GAME_CUSTOM( 199?, m4sss__i, m4sss, mod4yam_cheatchr_pal, mpu4,init_m4default, "sx_05a__.2_1", 0x0000, 0x010000, CRC(ceb830a1) SHA1(c9bef44d64a64872460ae3c450533fd14c92ca43), "Bwb","Spend Spend Spend (Bwb) (MPU4) (SX5 2.0, set 1)" ) +GAME_CUSTOM( 199?, m4sss__k, m4sss, mod4yam_cheatchr_pal, mpu4,init_m4default, "sxi05___.2_1", 0x0000, 0x010000, CRC(a804a20b) SHA1(477d2a750c0c252ffa215c3cf89916cb3a296b92), "Bwb","Spend Spend Spend (Bwb) (MPU4) (SX5 2.0, set 2)" ) +// (C)1995 B.W.B. and SX102.0 +GAME_CUSTOM( 199?, m4sss__j, m4sss, mod4yam_cheatchr_pal, mpu4,init_m4default, "sx_10a__.2_1", 0x0000, 0x010000, CRC(73e3bc13) SHA1(004097cc9cd62b8fa4c584fcb9874cf998c7b89d), "Bwb","Spend Spend Spend (Bwb) (MPU4) (SX102.0, set 1)" ) +GAME_CUSTOM( 199?, m4sss__l, m4sss, mod4yam_cheatchr_pal, mpu4,init_m4default, "sxi10___.2_1", 0x0000, 0x010000, CRC(bbb23438) SHA1(2cc4376f6393c69c1e18ad06be18933592b6bdae), "Bwb","Spend Spend Spend (Bwb) (MPU4) (SX102.0, set 2)" ) + + +/***************************************************************************************************************************************************************************** +* +* Spend Spend Spend (with Prizes) +* +*****************************************************************************************************************************************************************************/ + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// (C)1991 BARCREST and PS3 0.2 GAME_CUSTOM( 199?, m4przsss, 0, "ps302b.p1", 0x0000, 0x010000, CRC(1749ae18) SHA1(f04f91a1d534f2d2dc844862bb21160c5903d1df), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4przsss__a, m4przsss, "ps302ad.p1", 0x0000, 0x010000, CRC(e57f52d7) SHA1(25384517b68c488acd38956aeb69dda26d63c3ca), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4przsss__b, m4przsss, "ps302bd.p1", 0x0000, 0x010000, CRC(d3633f9d) SHA1(2500425d736a5c45f5bf40a7660b549f822266dc), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 3)" ) @@ -360,6 +709,16 @@ GAME_CUSTOM( 199?, m4przsss__e, m4przsss, "ps302dy.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4przsss__f, m4przsss, "ps302k.p1", 0x0000, 0x010000, CRC(23719bee) SHA1(13b7fd4f9edc60727e37078f6f2e24a63abd09f1), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4przsss__g, m4przsss, "ps302s.p1", 0x0000, 0x010000, CRC(4521c521) SHA1(90b5e444829ecc9a9b3e46f942830d263fbf02d3), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 8)" ) GAME_CUSTOM( 199?, m4przsss__h, m4przsss, "ps302y.p1", 0x0000, 0x010000, CRC(2ffed329) SHA1(a917161a7ea8312ef6a4a9a85f36f3b0a42b3a0c), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 9)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// (C)1991 BARCREST and PS8 0.1 GAME_CUSTOM( 199?, m4przsss__i, m4przsss, "ps8ad.p1", 0x0000, 0x010000, CRC(48917a87) SHA1(d32ac9e30ebddb6ca1d6a7d6c38026338c6df2cd), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 10)" ) GAME_CUSTOM( 199?, m4przsss__j, m4przsss, "ps8b.p1", 0x0000, 0x010000, CRC(7633226d) SHA1(581dfb56719682a744fe2b4f63bd1c20eb943903), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4przsss__k, m4przsss, "ps8bd.p1", 0x0000, 0x010000, CRC(92e384db) SHA1(ab1c2c7aebb9c8c0cff6dd43d74551c15de0c805), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 12)" ) @@ -371,14 +730,67 @@ GAME_CUSTOM( 199?, m4przsss__p, m4przsss, "ps8j.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4przsss__q, m4przsss, "ps8k.p1", 0x0000, 0x010000, CRC(7ed46dac) SHA1(481556298696d7f73d834034d0ce8628eb95b76c), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 18)" ) GAME_CUSTOM( 199?, m4przsss__r, m4przsss, "ps8s.p1", 0x0000, 0x010000, CRC(820a600a) SHA1(48701e315a94f92048ceb2e98df2bac1f04415e1), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 19)" ) GAME_CUSTOM( 199?, m4przsss__s, m4przsss, "ps8y.p1", 0x0000, 0x010000, CRC(a4d6934b) SHA1(215ed246f37daf1f8cdd0113b7b87e89c1aa2514), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4przsss__t, m4przsss, "sspb.p1", 0x0000, 0x010000, CRC(a781cdb8) SHA1(cbb1b9a85a80db7c91752349546bf55df4aea3f2), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4przsss__u, m4przsss, "sspd.p1", 0x0000, 0x010000, CRC(bcce54d7) SHA1(00a967188ddf1588331cda60e2589f6635e0a7ea), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4przsss__v, m4przsss, "sspdb.p1", 0x0000, 0x010000, CRC(edb5961e) SHA1(e1127d34148f04f9e34074269ee3740269105c63), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4przsss__w, m4przsss, "sspdy.p1", 0x0000, 0x010000, CRC(a368812e) SHA1(f377f13b866196fdbba07529f25713f9b5b91df5), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4przsss__x, m4przsss, "sspr.p1", 0x0000, 0x010000, CRC(720bad67) SHA1(3ee25abfc15e1c36a3ac6ac94e5229f938a39991), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4przsss__y, m4przsss, "ssprd.p1", 0x0000, 0x010000, CRC(b2ec7b80) SHA1(b562fbf2501dbaf0ec7c66d993df867384e750ff), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4przsss__z, m4przsss, "ssps.p1", 0x0000, 0x010000, CRC(e36f4d48) SHA1(fb88e8bcddb7dd2722b203a0ebb3a64c6b75ff24), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4przsss__0, m4przsss, "sspy.p1", 0x0000, 0x010000, CRC(0ea8f052) SHA1(3134ff47e6c5c4d200ffcdf0a5a3cb7b05b0fc2c), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (set 28)" ) + +// (C)1991 BARCREST and SSP 0.5 +GAME_CUSTOM( 199?, m4przsss__t, m4przsss, "sspb.p1", 0x0000, 0x010000, CRC(a781cdb8) SHA1(cbb1b9a85a80db7c91752349546bf55df4aea3f2), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (SSP 0.5 B)" ) +GAME_CUSTOM( 199?, m4przsss__u, m4przsss, "sspd.p1", 0x0000, 0x010000, CRC(bcce54d7) SHA1(00a967188ddf1588331cda60e2589f6635e0a7ea), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (SSP 0.5 D)" ) +GAME_CUSTOM( 199?, m4przsss__v, m4przsss, "sspdb.p1", 0x0000, 0x010000, CRC(edb5961e) SHA1(e1127d34148f04f9e34074269ee3740269105c63), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (SSP 0.5 BD)" ) +GAME_CUSTOM( 199?, m4przsss__w, m4przsss, "sspdy.p1", 0x0000, 0x010000, CRC(a368812e) SHA1(f377f13b866196fdbba07529f25713f9b5b91df5), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (SSP 0.5 YD)" ) +GAME_CUSTOM( 199?, m4przsss__x, m4przsss, "sspr.p1", 0x0000, 0x010000, CRC(720bad67) SHA1(3ee25abfc15e1c36a3ac6ac94e5229f938a39991), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (SSP 0.5 R)" ) +GAME_CUSTOM( 199?, m4przsss__y, m4przsss, "ssprd.p1", 0x0000, 0x010000, CRC(b2ec7b80) SHA1(b562fbf2501dbaf0ec7c66d993df867384e750ff), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (SSP 0.5 RD)" ) +GAME_CUSTOM( 199?, m4przsss__z, m4przsss, "ssps.p1", 0x0000, 0x010000, CRC(e36f4d48) SHA1(fb88e8bcddb7dd2722b203a0ebb3a64c6b75ff24), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (SSP 0.5)" ) +GAME_CUSTOM( 199?, m4przsss__0, m4przsss, "sspy.p1", 0x0000, 0x010000, CRC(0ea8f052) SHA1(3134ff47e6c5c4d200ffcdf0a5a3cb7b05b0fc2c), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (SSP 0.5 Y)" ) +GAME_CUSTOM( 199?, m4przsss__1, m4przsss, "sspc.p1", 0x0000, 0x010000, CRC(a7519725) SHA1(cdab0ae00b865291ff7389122d174ef2e2676c6e), "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4) (SSP 0.5 C)" ) + + +/***************************************************************************************************************************************************************************** +* +* Red Alert +* +*****************************************************************************************************************************************************************************/ + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, machine, inputs, mpu4mod4yam_machines_state, init, ROT0, company, title, GAME_FLAGS ) + +// (C)1991 BARCREST and R2T 3.3 +GAME_CUSTOM( 199?, m4ra, 0, mod4yam_cheatchr_pal, mpu4, init_m4default, "r2tx.p1", 0x0000, 0x010000, CRC(7efffe3d) SHA1(5472bc76f4450726fc49fce281a6ec69693d0923), "Barcrest","Red Alert (Barcrest) (MPU4) (R2T 3.3, set 1)" ) +GAME_CUSTOM( 199?, m4ra__a, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "r2txr.p1", 0x0000, 0x010000, CRC(9ff95e34) SHA1(79d19602b88e1c9d23e910332a968e6b820a39f5), "Barcrest","Red Alert (Barcrest) (MPU4) (R2T 3.3, set 2)" ) +GAME_CUSTOM( 199?, m4ra__b, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra2s.p1", 0x0000, 0x010000, CRC(cd0fd068) SHA1(a347372f7f737ca87f44e692015338831465f123), "Barcrest","Red Alert (Barcrest) (MPU4) (R2T 3.3, set 3)" ) +GAME_CUSTOM( 199?, m4ra__c, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra2x.p1", 0x0000, 0x010000, CRC(8217e235) SHA1(e17483afea2a9d9e70e88687f899e1b98b982b63), "Barcrest","Red Alert (Barcrest) (MPU4) (R2T 3.3, set 4)" ) +GAME_CUSTOM( 199?, m4ra__d, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra2xa.p1", 0x0000, 0x010000, CRC(0e6b2123) SHA1(af7c5ddddbfffef6fa5746a7b7927845457d02f8), "Barcrest","Red Alert (Barcrest) (MPU4) (R2T 3.3, set 5)" ) +GAME_CUSTOM( 199?, m4ra__e, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra2xb.p1", 0x0000, 0x010000, CRC(97fe4933) SHA1(201860b64577828547adb8a216a6a205c4a4f34b), "Barcrest","Red Alert (Barcrest) (MPU4) (R2T 3.3, set 6)" ) +GAME_CUSTOM( 199?, m4ra__f, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra2xr.p1", 0x0000, 0x010000, CRC(12e8eb9b) SHA1(2bcd2c911626a2cb2419f9540649e99d7f335b3b), "Barcrest","Red Alert (Barcrest) (MPU4) (R2T 3.3, set 7)" ) +// different protection, also reads from 811 at start, but check doesn't matter? +// (C)1991 BARCREST and R2T 3.1 +GAME_CUSTOM( 199?, m4ra__q, m4ra, mod4yam_bootleg_fixedret<0x11>, mpu4, init_m4default, "reda_20_.8", 0x0000, 0x010000, CRC(915aff5b) SHA1(e8e58c263e2bdb64a80e9355ac5e114fff1d59f8), "bootleg","Red Alert (Barcrest) (bootleg) (MPU4) (R2T 3.1)" ) + +// This appears to be a very different type of game based on the lamping +// (C)1991 BARCREST and RAH 3.3 +GAME_CUSTOM( 199?, m4ra__p, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "rahx.p1", 0x0000, 0x010000, CRC(6887014e) SHA1(25e4c008588a219895c1b326314fd11e1f0ad35f), "Barcrest","Red Alert (Barcrest) (MPU4) (RAH 3.3)" ) + +// This also appears to be a very different type of game based on the lamping +// (C)1991 BARCREST and RA3 0.2 +GAME_CUSTOM( 199?, m4ra__g, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra3xad.p1", 0x0000, 0x010000, CRC(75957d43) SHA1(f7d00842b8390f5464733a6fe1d61d7431a16817), "Barcrest","Red Alert (Barcrest) (MPU4) (RA3 0.2, set 1)" ) +GAME_CUSTOM( 199?, m4ra__h, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra3xb.p1", 0x0000, 0x010000, CRC(f37e9bd5) SHA1(584a1f6f1bfb35de813466448e35fc1251fa90bc), "Barcrest","Red Alert (Barcrest) (MPU4) (RA3 0.2, set 2)" ) +GAME_CUSTOM( 199?, m4ra__i, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra3xbd.p1", 0x0000, 0x010000, CRC(43891009) SHA1(5d9ebe9d48a39f0a121ae7b832b277910bfd0ad6), "Barcrest","Red Alert (Barcrest) (MPU4) (RA3 0.2, set 3)" ) +GAME_CUSTOM( 199?, m4ra__j, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra3xd.p1", 0x0000, 0x010000, CRC(bc59a07a) SHA1(3a8fc99690759ea376660feaf65bfda5386dcf0d), "Barcrest","Red Alert (Barcrest) (MPU4) (RA3 0.2, set 4)" ) +GAME_CUSTOM( 199?, m4ra__k, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra3xdr.p1", 0x0000, 0x010000, CRC(036950ba) SHA1(f0a534352b41c2762330762c3c7024d9a6d49cd4), "Barcrest","Red Alert (Barcrest) (MPU4) (RA3 0.2, set 5)" ) +GAME_CUSTOM( 199?, m4ra__l, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra3xdy.p1", 0x0000, 0x010000, CRC(468508d4) SHA1(ba6db1e1f7bca13b9c40173fb68418f319e2a9d8), "Barcrest","Red Alert (Barcrest) (MPU4) (RA3 0.2, set 6)" ) +GAME_CUSTOM( 199?, m4ra__m, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra3xr.p1", 0x0000, 0x010000, CRC(1a2b813d) SHA1(5d3b5d4ab31dd1848b3d0b2a5ff5798cc01e0c6f), "Barcrest","Red Alert (Barcrest) (MPU4) (RA3 0.2, set 7)" ) +GAME_CUSTOM( 199?, m4ra__n, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra3xs.p1", 0x0000, 0x010000, CRC(a1ba9673) SHA1(7d5441522e8676805f7e75a3d445acae83d8a03b), "Barcrest","Red Alert (Barcrest) (MPU4) (RA3 0.2, set 8)" ) +GAME_CUSTOM( 199?, m4ra__o, m4ra, mod4yam_cheatchr_pal, mpu4, init_m4default, "ra3xy.p1", 0x0000, 0x010000, CRC(3e2287de) SHA1(ba0861a0bfb6eb76f9786c0a4c098db362117618), "Barcrest","Red Alert (Barcrest) (MPU4) (RA3 0.2, set 9)" ) + + +/***************************************************************************************************************************************************************************** +* +* Say No More +* +*****************************************************************************************************************************************************************************/ #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ @@ -386,21 +798,11 @@ GAME_CUSTOM( 199?, m4przsss__0, m4przsss, "sspy.p1", 0x0000, 0x010000, ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ ROM_END \ - GAME(year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) -GAME_CUSTOM( 199?, m4sss, 0, "spend6 10m.bin", 0x0000, 0x010000, CRC(a7519725) SHA1(cdab0ae00b865291ff7389122d174ef2e2676c6e), "Barcrest","Spend Spend Spend (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4sss__a, m4sss, "sp_05a__.1o3", 0x0000, 0x010000, CRC(044a0133) SHA1(7cf85cf19f5c3f588daf5c0d7efe4204d67161a2), "Barcrest","Spend Spend Spend (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4sss__b, m4sss, "sp_05s__.1o3", 0x0000, 0x010000, CRC(2e000a62) SHA1(e60390a383388e385bbde79ca14c63e5d69a8869), "Barcrest","Spend Spend Spend (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4sss__c, m4sss, "sp_05sb_.1o3", 0x0000, 0x010000, CRC(c6380ef5) SHA1(673044aae9998dfe52205a5e4a3d26361f01c518), "Barcrest","Spend Spend Spend (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4sss__d, m4sss, "sp_05sd_.1o3", 0x0000, 0x010000, CRC(31f818e1) SHA1(bbfa45ef63a73aa726a8223be234fb8ffba45e24), "Barcrest","Spend Spend Spend (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4sss__e, m4sss, "sp_10a__.1o3", 0x0000, 0x010000, CRC(918c038c) SHA1(608062dc4e39c15967e16d95945b65ef7feabea2), "Barcrest","Spend Spend Spend (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4sss__f, m4sss, "sp_10s__.1o3", 0x0000, 0x010000, CRC(1bc5780a) SHA1(df1b5d0d6f4751a480aef77be40fb2cfd153bf18), "Barcrest","Spend Spend Spend (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4sss__g, m4sss, "sp_10sb_.1o3", 0x0000, 0x010000, CRC(2dfc3926) SHA1(b6b201c65c182f9b18a590910183ce88b245af2b), "Barcrest","Spend Spend Spend (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4sss__h, m4sss, "sp_10sd_.1o3", 0x0000, 0x010000, CRC(fe5c7e3e) SHA1(f5066f1f0c2220da874cbac0ce510cbac6fff8e7), "Barcrest","Spend Spend Spend (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4sss__i, m4sss, "sx_05a__.2_1", 0x0000, 0x010000, CRC(ceb830a1) SHA1(c9bef44d64a64872460ae3c450533fd14c92ca43), "Barcrest","Spend Spend Spend (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4sss__j, m4sss, "sx_10a__.2_1", 0x0000, 0x010000, CRC(73e3bc13) SHA1(004097cc9cd62b8fa4c584fcb9874cf998c7b89d), "Barcrest","Spend Spend Spend (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4sss__k, m4sss, "sxi05___.2_1", 0x0000, 0x010000, CRC(a804a20b) SHA1(477d2a750c0c252ffa215c3cf89916cb3a296b92), "Barcrest","Spend Spend Spend (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4sss__l, m4sss, "sxi10___.2_1", 0x0000, 0x010000, CRC(bbb23438) SHA1(2cc4376f6393c69c1e18ad06be18933592b6bdae), "Barcrest","Spend Spend Spend (Barcrest) (MPU4) (set 13)" ) + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) +// (C)1991 BARCREST and SNM 2.0 +GAME_CUSTOM( 199?, m4sayno, 0, "snms.p1", 0x0000, 0x010000, CRC(be1f2222) SHA1(7d8319796e1d45a3d0246bf13b6d818f20796db3), "Barcrest","Say No More (Barcrest) (MPU4) (SNM 2.0)" ) +GAME_CUSTOM( 199?, m4sayno__d, m4sayno, "snmx.p1", 0x0000, 0x010000, CRC(61a78035) SHA1(1d6c553c60fee0b80e06f8421b8a3806d1f3a587), "Barcrest","Say No More (Barcrest) (MPU4) (SNM 2.0 X)" ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ @@ -408,28 +810,11 @@ GAME_CUSTOM( 199?, m4sss__l, m4sss, "sxi10___.2_1", 0x0000, 0x010000, CRC( ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ ROM_END \ - GAME(year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) -GAME_CUSTOM( 199?, m4ra, 0, "r2tx.p1", 0x0000, 0x010000, CRC(7efffe3d) SHA1(5472bc76f4450726fc49fce281a6ec69693d0923), "Barcrest","Red Alert (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4ra__a, m4ra, "r2txr.p1", 0x0000, 0x010000, CRC(9ff95e34) SHA1(79d19602b88e1c9d23e910332a968e6b820a39f5), "Barcrest","Red Alert (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4ra__b, m4ra, "ra2s.p1", 0x0000, 0x010000, CRC(cd0fd068) SHA1(a347372f7f737ca87f44e692015338831465f123), "Barcrest","Red Alert (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4ra__c, m4ra, "ra2x.p1", 0x0000, 0x010000, CRC(8217e235) SHA1(e17483afea2a9d9e70e88687f899e1b98b982b63), "Barcrest","Red Alert (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4ra__d, m4ra, "ra2xa.p1", 0x0000, 0x010000, CRC(0e6b2123) SHA1(af7c5ddddbfffef6fa5746a7b7927845457d02f8), "Barcrest","Red Alert (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4ra__e, m4ra, "ra2xb.p1", 0x0000, 0x010000, CRC(97fe4933) SHA1(201860b64577828547adb8a216a6a205c4a4f34b), "Barcrest","Red Alert (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4ra__f, m4ra, "ra2xr.p1", 0x0000, 0x010000, CRC(12e8eb9b) SHA1(2bcd2c911626a2cb2419f9540649e99d7f335b3b), "Barcrest","Red Alert (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4ra__g, m4ra, "ra3xad.p1", 0x0000, 0x010000, CRC(75957d43) SHA1(f7d00842b8390f5464733a6fe1d61d7431a16817), "Barcrest","Red Alert (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4ra__h, m4ra, "ra3xb.p1", 0x0000, 0x010000, CRC(f37e9bd5) SHA1(584a1f6f1bfb35de813466448e35fc1251fa90bc), "Barcrest","Red Alert (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4ra__i, m4ra, "ra3xbd.p1", 0x0000, 0x010000, CRC(43891009) SHA1(5d9ebe9d48a39f0a121ae7b832b277910bfd0ad6), "Barcrest","Red Alert (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4ra__j, m4ra, "ra3xd.p1", 0x0000, 0x010000, CRC(bc59a07a) SHA1(3a8fc99690759ea376660feaf65bfda5386dcf0d), "Barcrest","Red Alert (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4ra__k, m4ra, "ra3xdr.p1", 0x0000, 0x010000, CRC(036950ba) SHA1(f0a534352b41c2762330762c3c7024d9a6d49cd4), "Barcrest","Red Alert (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4ra__l, m4ra, "ra3xdy.p1", 0x0000, 0x010000, CRC(468508d4) SHA1(ba6db1e1f7bca13b9c40173fb68418f319e2a9d8), "Barcrest","Red Alert (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4ra__m, m4ra, "ra3xr.p1", 0x0000, 0x010000, CRC(1a2b813d) SHA1(5d3b5d4ab31dd1848b3d0b2a5ff5798cc01e0c6f), "Barcrest","Red Alert (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4ra__n, m4ra, "ra3xs.p1", 0x0000, 0x010000, CRC(a1ba9673) SHA1(7d5441522e8676805f7e75a3d445acae83d8a03b), "Barcrest","Red Alert (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4ra__o, m4ra, "ra3xy.p1", 0x0000, 0x010000, CRC(3e2287de) SHA1(ba0861a0bfb6eb76f9786c0a4c098db362117618), "Barcrest","Red Alert (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4ra__p, m4ra, "rahx.p1", 0x0000, 0x010000, CRC(6887014e) SHA1(25e4c008588a219895c1b326314fd11e1f0ad35f), "Barcrest","Red Alert (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4ra__q, m4ra, "reda_20_.8", 0x0000, 0x010000, CRC(915aff5b) SHA1(e8e58c263e2bdb64a80e9355ac5e114fff1d59f8), "Barcrest","Red Alert (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4ra__r, m4ra, "redx_20_.8", 0x0000, 0x010000, CRC(b5e8dec5) SHA1(74777ed7f78ef7cc615beadf097380569832a75a), "Barcrest","Red Alert (Barcrest) (MPU4) (set 19)" ) - + GAME(year, setname, parent, mod4yam_bootleg_fixedret<0x08>, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) +// no copyright string and SNM 0.5, different protection, hack? +GAME_CUSTOM( 199?, m4sayno__a, m4sayno, "snm 5p.bin", 0x0000, 0x010000, CRC(4fba5c0a) SHA1(85438c531d4122bc31f59127a577dc6d71a4ba9d), "hack?","Say No More (Barcrest) (MPU4) (SNM 0.5, hack, set 1)" ) +GAME_CUSTOM( 199?, m4sayno__b, m4sayno, "say no more 425b.bin", 0x0000, 0x010000, CRC(2cf27394) SHA1(fb7688b7d9d2e68f0c84a57b66dd02dbbc6accc7), "hack?","Say No More (Barcrest) (MPU4) (SNM 0.5, hack, set 2)" ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ @@ -437,12 +822,17 @@ GAME_CUSTOM( 199?, m4ra__r, m4ra, "redx_20_.8", 0x0000, 0x010000, CRC(b5e ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ ROM_END \ - GAME(year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) -GAME_CUSTOM( 199?, m4sayno, 0, "snms.p1", 0x0000, 0x010000, CRC(be1f2222) SHA1(7d8319796e1d45a3d0246bf13b6d818f20796db3), "Barcrest","Say No More (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4sayno__a, m4sayno, "snm 5p.bin", 0x0000, 0x010000, CRC(4fba5c0a) SHA1(85438c531d4122bc31f59127a577dc6d71a4ba9d), "Barcrest","Say No More (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4sayno__b, m4sayno, "say no more 425b.bin", 0x0000, 0x010000, CRC(2cf27394) SHA1(fb7688b7d9d2e68f0c84a57b66dd02dbbc6accc7), "Barcrest","Say No More (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4sayno__c, m4sayno, "snm 6.bin", 0x0000, 0x010000, CRC(0d14730b) SHA1(2a35d72bdcc9402b00153621ec852f902720c104), "Barcrest","Say No More (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4sayno__d, m4sayno, "snmx.p1", 0x0000, 0x010000, CRC(61a78035) SHA1(1d6c553c60fee0b80e06f8421b8a3806d1f3a587), "Barcrest","Say No More (Barcrest) (MPU4) (set 5)" ) + GAME(year, setname, parent, mod4yam_bootleg_fixedret<0xb0>, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// no copyright string and SNM 0.4, different protection, hack? +GAME_CUSTOM( 199?, m4sayno__c, m4sayno, "snm 6.bin", 0x0000, 0x010000, CRC(0d14730b) SHA1(2a35d72bdcc9402b00153621ec852f902720c104), "hack?","Say No More (Barcrest) (MPU4) (SNM 0.4, hack)" ) + + +/***************************************************************************************************************************************************************************** +* +* Ace Chase +* +*****************************************************************************************************************************************************************************/ #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ @@ -450,151 +840,24 @@ GAME_CUSTOM( 199?, m4sayno__d, m4sayno, "snmx.p1", 0x0000, 0x01 ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ ROM_END \ - GAME(year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) -GAME_CUSTOM( 199?, m4acechs, 0, "ae_05a__.2_3", 0x0000, 0x010000, CRC(c9a03623) SHA1(8daf7e71057528c481915eb8506e03ce9cf372c8), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4acechs__a, m4acechs, "ae_05a__.3_1", 0x0000, 0x010000, CRC(900e1789) SHA1(dbb13f1728d8527a7de5d257c866732adb0a95b5), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4acechs__b, m4acechs, "ae_05s__.2_3", 0x0000, 0x010000, CRC(eb64ab0a) SHA1(4d4c6908c8ca8b1d3c39c8973c8386da079cbd39), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4acechs__c, m4acechs, "ae_05sb_.2_3", 0x0000, 0x010000, CRC(5d67c6f6) SHA1(213225405defb3be7f564459d71aeca6f5856f8f), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4acechs__d, m4acechs, "ae_05sd_.2_3", 0x0000, 0x010000, CRC(2bdbe356) SHA1(a328a8f50847cbb199b31672ca50e1e95a474e4b), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4acechs__e, m4acechs, "ae_10a__.2_3", 0x0000, 0x010000, CRC(d718d498) SHA1(d13970b0ca86b988bcc91cd3c2dbee4c637944ca), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4acechs__f, m4acechs, "ae_10a__.3_1", 0x0000, 0x010000, CRC(e20c2513) SHA1(857ed8a6b155863c769ee9c3aca5e4702c1372b6), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4acechs__g, m4acechs, "ae_10bg_.2_3", 0x0000, 0x010000, CRC(7ed7fcee) SHA1(7b2b0c47dc8a75d11f49f09441a4320815d838ac), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4acechs__h, m4acechs, "ae_10s__.2_3", 0x0000, 0x010000, CRC(31932d3f) SHA1(a1809c7baaea22d24491829a8638f232e2d75849), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4acechs__i, m4acechs, "ae_10sb_.2_3", 0x0000, 0x010000, CRC(d6bcd1fd) SHA1(664ec7e7821c09bddfd1996892ae3f9fbdbc6809), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4acechs__j, m4acechs, "ae_10sd_.2_3", 0x0000, 0x010000, CRC(5920b9ad) SHA1(fb8de53e7877505fe53ff874b396707ee8e01e5e), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4acechs__k, m4acechs, "ae_20a__.3_1", 0x0000, 0x010000, CRC(43f6cc19) SHA1(3eda49477b141c649a4ba7a4ecc021694d9830db), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4acechs__l, m4acechs, "ae_20b__.3_1", 0x0000, 0x010000, CRC(30060ac4) SHA1(488263a1d3cfe067d43de29c57e58fe55024437c), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4acechs__m, m4acechs, "ae_20bd_.3_1", 0x0000, 0x010000, CRC(f9b922c2) SHA1(fc0deb79fc6c33732872da8925a6729f3d11bcaf), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4acechs__n, m4acechs, "ae_20bg_.3_1", 0x0000, 0x010000, CRC(02706741) SHA1(8388d91091945d1f73aa5e68a86f930f5d9dafa2), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4acechs__o, m4acechs, "ae_20bt_.3_1", 0x0000, 0x010000, CRC(3b313958) SHA1(9fe4cb99dc30d1305816f9a27079d97c4d07cb15), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4acechs__p, m4acechs, "ae_20sb_.3_1", 0x0000, 0x010000, CRC(471f2ba4) SHA1(baaf8339d8ee15365886cea2ecb36ad298975633), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4acechs__q, m4acechs, "aei05___.2_3", 0x0000, 0x010000, CRC(f035ba55) SHA1(d13bebec00650018a9236cc18df73b06c970cfd0), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4acechs__r, m4acechs, "aei05___.3_1", 0x0000, 0x010000, CRC(bb84d01f) SHA1(f1653590e8cd642faf09a16c5c1b0a4b267d42e7), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4acechs__s, m4acechs, "aei10___.2_3", 0x0000, 0x010000, CRC(96edf44f) SHA1(8abcb5d4018e0a4c879eb1a1550af09f55f75135), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4acechs__t, m4acechs, "aei10___.3_1", 0x0000, 0x010000, CRC(db99a965) SHA1(1fb200b30e10d502af39bcd2e58d3e36e13f3695), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4acechs__u, m4acechs, "aei20___.3_1", 0x0000, 0x010000, CRC(1744e7f4) SHA1(bf2f1b720a1a2610aff46a1de5c789a17828eae0), "Barcrest","Ace Chase (Barcrest) (MPU4) (set 22)" ) - - - - - -#define M4SUPST_EXTRA_ROMS \ - ROM_REGION( 0x48, "fakechr", 0 ) \ - ROM_LOAD( "ss.chr", 0x0000, 0x000048, CRC(bd206d57) SHA1(ecfe38d9b4823ae6bc2fc440c243e6ae5e2edaa4) ) -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - M4SUPST_EXTRA_ROMS \ - ROM_END \ - GAME(year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) -GAME_CUSTOM( 199?, m4supst, 0, "cs4b.p1", 0x0000, 0x010000, CRC(fb0aac20) SHA1(3a40be78f7add7905afa8d1226ad41bf0041a2ec), "Barcrest","Super Streak (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4supst__a, m4supst, "cs4ad.p1", 0x0000, 0x010000, CRC(c0e81dfd) SHA1(2da922df6c102f8d0f1678e974df9e4d356e5133), "Barcrest","Super Streak (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4supst__b, m4supst, "cs4bd.p1", 0x0000, 0x010000, CRC(dafc7ed6) SHA1(3e92d5557d2f587132f4b3b633978ab7d4333fcc), "Barcrest","Super Streak (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4supst__c, m4supst, "cs4d.p1", 0x0000, 0x010000, CRC(c1fcda65) SHA1(11f2a45f3f821eac6b98b1988824d77aada3d759), "Barcrest","Super Streak (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4supst__d, m4supst, "cs4dk.p1", 0x0000, 0x010000, CRC(30a46171) SHA1(ef1f2951b478ba2b2d42dfb0ec4ed59f28d79972), "Barcrest","Super Streak (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4supst__e, m4supst, "cs4dy.p1", 0x0000, 0x010000, CRC(72b15ce7) SHA1(c451ac552ffe9bcde1990b97a60b0ed8918bf8c8), "Barcrest","Super Streak (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4supst__f, m4supst, "cs4k.p1", 0x0000, 0x010000, CRC(f252f9ea) SHA1(251998ea752deb4f4a05c833b19e89d334334fac), "Barcrest","Super Streak (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4supst__g, m4supst, "cs4s.p1", 0x0000, 0x010000, CRC(10f7b88d) SHA1(0aac0ebbe0ce04db49fc7de4325eea9abdfd74b5), "Barcrest","Super Streak (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4supst__h, m4supst, "cs4y.p1", 0x0000, 0x010000, CRC(a464d09d) SHA1(d38c0f8c7c9b7f560b685781a7dcf82bc031a191), "Barcrest","Super Streak (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4supst__i, m4supst, "csp02ad.p1", 0x0000, 0x010000, CRC(96bbbc26) SHA1(ca127151c771963c07f0f368102ede8095d11863), "Barcrest","Super Streak (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4supst__j, m4supst, "csp02b.p1", 0x0000, 0x010000, CRC(913ea9ff) SHA1(182bcc007d007a1c7f57767358600d2de7d1e3cf), "Barcrest","Super Streak (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4supst__k, m4supst, "csp02bd.p1", 0x0000, 0x010000, CRC(ad0137a1) SHA1(d043372ba09081dd4e807f009a6460b4b30e6453), "Barcrest","Super Streak (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4supst__l, m4supst, "csp02c.p1", 0x0000, 0x010000, CRC(fdad4b22) SHA1(4f19922821a9d1663bd9355447209384272e7542), "Barcrest","Super Streak (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4supst__m, m4supst, "csp02d.p1", 0x0000, 0x010000, CRC(9717a58d) SHA1(8bc495dc4db0041718ae2db14a01a789616c8764), "Barcrest","Super Streak (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4supst__n, m4supst, "csp02dk.p1", 0x0000, 0x010000, CRC(cd8aa547) SHA1(a13dcb75507878cb133b9ef739fb41d932d4eed5), "Barcrest","Super Streak (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4supst__o, m4supst, "csp02dr.p1", 0x0000, 0x010000, CRC(6656e588) SHA1(4001ec0d1145ef0107e62ccda61e22ba8b0cdc92), "Barcrest","Super Streak (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4supst__p, m4supst, "csp02dy.p1", 0x0000, 0x010000, CRC(14ff7e1d) SHA1(455b6ff93a5f25dc5f43c62a6c1d9a18de1ce94b), "Barcrest","Super Streak (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4supst__q, m4supst, "csp02k.p1", 0x0000, 0x010000, CRC(c438c754) SHA1(c1d2e664091c1eaf1e4d964a3bfd446b11d7ba41), "Barcrest","Super Streak (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4supst__r, m4supst, "csp02r.p1", 0x0000, 0x010000, CRC(4abe0f80) SHA1(67f7f9946a26b5097b6ce719dbd599790078f365), "Barcrest","Super Streak (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4supst__s, m4supst, "csp02s.p1", 0x0000, 0x010000, CRC(47c0068d) SHA1(5480a519a6e6df2757e66cfcf904dd6c2873cc43), "Barcrest","Super Streak (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4supst__t, m4supst, "csp02y.p1", 0x0000, 0x010000, CRC(d51d18d8) SHA1(a65fd4326872775364d2d7a886e98a1ee07596b7), "Barcrest","Super Streak (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4supst__u, m4supst, "cst04ad.p1", 0x0000, 0x010000, CRC(b946d40d) SHA1(c03fa48f8b64c3cf4504f472f21a38f8a55f12e6), "Barcrest","Super Streak (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4supst__v, m4supst, "cst04b.p1", 0x0000, 0x010000, CRC(45333d45) SHA1(d6ccb39ee9b316772052f856f79424c34ff273c5), "Barcrest","Super Streak (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4supst__w, m4supst, "cst04bd.p1", 0x0000, 0x010000, CRC(03b56b07) SHA1(903b24ab93f9584f228278729b5a99451b8e81f7), "Barcrest","Super Streak (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4supst__x, m4supst, "cst04c.p1", 0x0000, 0x010000, CRC(9c000883) SHA1(da0a9f1afc218c14a57a46fe2ea63e166f4e3739), "Barcrest","Super Streak (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4supst__y, m4supst, "cst04d.p1", 0x0000, 0x010000, CRC(32281bec) SHA1(a043fb615c2a66d23d85ae80cb0b1705523f411c), "Barcrest","Super Streak (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4supst__z, m4supst, "cst04dk.p1", 0x0000, 0x010000, CRC(9345e7b7) SHA1(8bff80d2b847fbae050f77215efe3e55b98a4657), "Barcrest","Super Streak (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4supst__0, m4supst, "cst04dr.p1", 0x0000, 0x010000, CRC(8d397063) SHA1(45642de2629e89e2495d1cbd5aed90cf2a4cf1c1), "Barcrest","Super Streak (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4supst__1, m4supst, "cst04dy.p1", 0x0000, 0x010000, CRC(4a303ced) SHA1(6c12b956358753c8bf99bd3316646721c9ec2585), "Barcrest","Super Streak (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4supst__2, m4supst, "cst04k.p1", 0x0000, 0x010000, CRC(a59584f5) SHA1(8cfcf069ad905277f1925e682602e129e97e619b), "Barcrest","Super Streak (Barcrest) (MPU4) (set 30)" ) -GAME_CUSTOM( 199?, m4supst__3, m4supst, "cst04r.p1", 0x0000, 0x010000, CRC(c9771997) SHA1(ed98650c0d73f2db0fe380777d10404ccabced31), "Barcrest","Super Streak (Barcrest) (MPU4) (set 31)" ) -GAME_CUSTOM( 199?, m4supst__4, m4supst, "cst04s.p1", 0x0000, 0x010000, CRC(cd5b848d) SHA1(4dd3dd1c883552c7b5c475156308604b12eff75a), "Barcrest","Super Streak (Barcrest) (MPU4) (set 32)" ) -GAME_CUSTOM( 199?, m4supst__5, m4supst, "cst04y.p1", 0x0000, 0x010000, CRC(7adc00ae) SHA1(5688f0876c18faf474a6d8487fdd85f20f9fc144), "Barcrest","Super Streak (Barcrest) (MPU4) (set 33)" ) -GAME_CUSTOM( 199?, m4supst__6, m4supst, "csu03ad.p1", 0x0000, 0x010000, CRC(5d7b6393) SHA1(19c24f4113efb6a1499936e5f89a8ad859ff8df0), "Barcrest","Super Streak (Barcrest) (MPU4) (set 34)" ) -GAME_CUSTOM( 199?, m4supst__7, m4supst, "csu03b.p1", 0x0000, 0x010000, CRC(57826c2a) SHA1(b835eb3066fec468ab55851d1dd023484e2d57e3), "Barcrest","Super Streak (Barcrest) (MPU4) (set 35)" ) -GAME_CUSTOM( 199?, m4supst__8, m4supst, "csu03bd.p1", 0x0000, 0x010000, CRC(092e7039) SHA1(36a7c18872e4012e3acce0d01d2cc2c201a3c867), "Barcrest","Super Streak (Barcrest) (MPU4) (set 36)" ) -GAME_CUSTOM( 199?, m4supst__9, m4supst, "csu03c.p1", 0x0000, 0x010000, CRC(b30a3c00) SHA1(066b0007092720a6f89edf8eafffe2f8fd83edbc), "Barcrest","Super Streak (Barcrest) (MPU4) (set 37)" ) -GAME_CUSTOM( 199?, m4supst__aa, m4supst, "csu03d.p1", 0x0000, 0x010000, CRC(03ff9d99) SHA1(390087c136e4c314de9086adb7b020e8adabe34a), "Barcrest","Super Streak (Barcrest) (MPU4) (set 38)" ) -GAME_CUSTOM( 199?, m4supst__ab, m4supst, "csu03dk.p1", 0x0000, 0x010000, CRC(cf7e61ff) SHA1(0e328ce5ff86770fabaf91d48a8de039323d112a), "Barcrest","Super Streak (Barcrest) (MPU4) (set 39)" ) -GAME_CUSTOM( 199?, m4supst__ac, m4supst, "csu03dr.p1", 0x0000, 0x010000, CRC(00d700d1) SHA1(8bcc3c470c42780b1f1404fc6ff53e6ec7d89ad0), "Barcrest","Super Streak (Barcrest) (MPU4) (set 40)" ) -GAME_CUSTOM( 199?, m4supst__ad, m4supst, "csu03dy.p1", 0x0000, 0x010000, CRC(8ec77c04) SHA1(64708460439a7e124f90eef6b9628e57f7d78ebc), "Barcrest","Super Streak (Barcrest) (MPU4) (set 41)" ) -GAME_CUSTOM( 199?, m4supst__ae, m4supst, "csu03k.p1", 0x0000, 0x010000, CRC(701a0837) SHA1(31237fd108b354fb2afc449efa3a53dee2cf7be8), "Barcrest","Super Streak (Barcrest) (MPU4) (set 42)" ) -GAME_CUSTOM( 199?, m4supst__af, m4supst, "csu03r.p1", 0x0000, 0x010000, CRC(d86a6895) SHA1(2c42bcf5de739f01e18bd1b766eec26a6da5aa52), "Barcrest","Super Streak (Barcrest) (MPU4) (set 43)" ) -GAME_CUSTOM( 199?, m4supst__ag, m4supst, "csu03s.p1", 0x0000, 0x010000, CRC(197bb032) SHA1(06e98713ff5fc72bffccde1cc92fc8cb63665fad), "Barcrest","Super Streak (Barcrest) (MPU4) (set 44)" ) -GAME_CUSTOM( 199?, m4supst__ah, m4supst, "csu03y.p1", 0x0000, 0x010000, CRC(bee0e7e1) SHA1(6a1ab766af9147f0d4a7c1d2a95c9a6e3e3f4986), "Barcrest","Super Streak (Barcrest) (MPU4) (set 45)" ) -GAME_CUSTOM( 199?, m4supst__ai, m4supst, "eeh02ad.p1", 0x0000, 0x010000, CRC(25874a6d) SHA1(12e4fb36d231c3104df3613dd3851f411a876eb0), "Barcrest","Super Streak (Barcrest) (MPU4) (set 46)" ) -GAME_CUSTOM( 199?, m4supst__aj, m4supst, "eeh02b.p1", 0x0000, 0x010000, CRC(ef280a8a) SHA1(912a825e69482a540cf0cadfc49a37a2822f3ecb), "Barcrest","Super Streak (Barcrest) (MPU4) (set 47)" ) -GAME_CUSTOM( 199?, m4supst__ak, m4supst, "eeh02bd.p1", 0x0000, 0x010000, CRC(5f126810) SHA1(8fe1cbc7d93e2db35225388ee0773f6a98762ca1), "Barcrest","Super Streak (Barcrest) (MPU4) (set 48)" ) -GAME_CUSTOM( 199?, m4supst__al, m4supst, "eeh02c.p1", 0x0000, 0x010000, CRC(3f49b936) SHA1(a0d07e0101f8cc38ebc28cfc1b239793b961f5ab), "Barcrest","Super Streak (Barcrest) (MPU4) (set 49)" ) -GAME_CUSTOM( 199?, m4supst__am, m4supst, "eeh02d.p1", 0x0000, 0x010000, CRC(14dcfe63) SHA1(3ac77c9aa9b3b77fb1df98d2b427564be41dca78), "Barcrest","Super Streak (Barcrest) (MPU4) (set 50)" ) -GAME_CUSTOM( 199?, m4supst__an, m4supst, "eeh02dk.p1", 0x0000, 0x010000, CRC(81a39421) SHA1(6fa43e8cb83e7fb940cc224eed5ee3f254c18c4d), "Barcrest","Super Streak (Barcrest) (MPU4) (set 51)" ) -GAME_CUSTOM( 199?, m4supst__ao, m4supst, "eeh02dr.p1", 0x0000, 0x010000, CRC(c7755823) SHA1(05626ed49a2f800555f3f404273fa910b68de75c), "Barcrest","Super Streak (Barcrest) (MPU4) (set 52)" ) -GAME_CUSTOM( 199?, m4supst__ap, m4supst, "eeh02dy.p1", 0x0000, 0x010000, CRC(5a1e70cd) SHA1(88bb29fd52d2331b72bb04652f9578f2c2f5a9ac), "Barcrest","Super Streak (Barcrest) (MPU4) (set 53)" ) -GAME_CUSTOM( 199?, m4supst__aq, m4supst, "eeh02k.p1", 0x0000, 0x010000, CRC(b78882ec) SHA1(79c6a6d2cfe113743d3a93eb825fccab2b025933), "Barcrest","Super Streak (Barcrest) (MPU4) (set 54)" ) -GAME_CUSTOM( 199?, m4supst__ar, m4supst, "eeh02r.p1", 0x0000, 0x010000, CRC(ff54884e) SHA1(2783f0e562e946597288ddbec4dcd1101e188d1d), "Barcrest","Super Streak (Barcrest) (MPU4) (set 55)" ) -GAME_CUSTOM( 199?, m4supst__as, m4supst, "eeh02s.p1", 0x0000, 0x010000, CRC(c5856c3c) SHA1(5a0e5a7188913e1c36eac894bbeeae47a4f3589c), "Barcrest","Super Streak (Barcrest) (MPU4) (set 56)" ) -GAME_CUSTOM( 199?, m4supst__at, m4supst, "eeh02y.p1", 0x0000, 0x010000, CRC(623fa0a0) SHA1(5a49cea5e94afccbf965cbda7a8d9a74f9734a6e), "Barcrest","Super Streak (Barcrest) (MPU4) (set 57)" ) -GAME_CUSTOM( 199?, m4supst__au, m4supst, "sp8b.p1", 0x0000, 0x010000, CRC(3b12d7e8) SHA1(92a15e5f8391d74c192e8386abdb8853a76bff05), "Barcrest","Super Streak (Barcrest) (MPU4) (set 58)" ) -GAME_CUSTOM( 199?, m4supst__av, m4supst, "sp8bd.p1", 0x0000, 0x010000, CRC(e0d7f789) SHA1(f6157469e43059adb44e7f2eff5bf73861d5636c), "Barcrest","Super Streak (Barcrest) (MPU4) (set 59)" ) -GAME_CUSTOM( 199?, m4supst__aw, m4supst, "sp8c.p1", 0x0000, 0x010000, CRC(da0af8ae) SHA1(91042506050967c508b30c3dc2bfa6f6a6e8b532), "Barcrest","Super Streak (Barcrest) (MPU4) (set 60)" ) -GAME_CUSTOM( 199?, m4supst__ax, m4supst, "sp8dk.p1", 0x0000, 0x010000, CRC(92432e8f) SHA1(5e6df963ccf92a89c71ae1edd7b71ec1e3f97522), "Barcrest","Super Streak (Barcrest) (MPU4) (set 61)" ) -GAME_CUSTOM( 199?, m4supst__ay, m4supst, "sp8k.p1", 0x0000, 0x010000, CRC(e39f74d8) SHA1(9d776e7d67859f4514c69fc4f9f43160da9a2ca1), "Barcrest","Super Streak (Barcrest) (MPU4) (set 62)" ) -GAME_CUSTOM( 199?, m4supst__az, m4supst, "sp8s.p1", 0x0000, 0x010000, CRC(fab99461) SHA1(82f8ca06bb04396f86124dfe4de46265b2edc393), "Barcrest","Super Streak (Barcrest) (MPU4) (set 63)" ) -GAME_CUSTOM( 199?, m4supst__a0, m4supst, "spsbd.p1", 0x0000, 0x010000, CRC(b621b32d) SHA1(9aab0e074c120cb12beac585f9c513053502955c), "Barcrest","Super Streak (Barcrest) (MPU4) (set 64)" ) -GAME_CUSTOM( 199?, m4supst__a1, m4supst, "spsc.p1", 0x0000, 0x010000, CRC(8c7a24f5) SHA1(f86be164e05235281fb275e950cedaf6f630d29a), "Barcrest","Super Streak (Barcrest) (MPU4) (set 65)" ) -GAME_CUSTOM( 199?, m4supst__a2, m4supst, "spsd.p1", 0x0000, 0x010000, CRC(d34d3617) SHA1(5373335557e4bbb21264bbd9d0fbaf3640f9ab35), "Barcrest","Super Streak (Barcrest) (MPU4) (set 66)" ) -GAME_CUSTOM( 199?, m4supst__a3, m4supst, "spsdk.p1", 0x0000, 0x010000, CRC(cf2fd3e7) SHA1(50d3c0851bec90037cd65a5c55654b0e688b96ca), "Barcrest","Super Streak (Barcrest) (MPU4) (set 67)" ) -GAME_CUSTOM( 199?, m4supst__a4, m4supst, "spsk.p1", 0x0000, 0x010000, CRC(873a1414) SHA1(47b2bbef168382112cd12ace2d6a58695f4b0254), "Barcrest","Super Streak (Barcrest) (MPU4) (set 68)" ) -GAME_CUSTOM( 199?, m4supst__a5, m4supst, "spss.p1", 0x0000, 0x010000, CRC(5e28bdb7) SHA1(3865c891178feb744ad11b2dea491350efc48bea), "Barcrest","Super Streak (Barcrest) (MPU4) (set 69)" ) -GAME_CUSTOM( 199?, m4supst__a6, m4supst, "stc02ad.p1", 0x0000, 0x010000, CRC(d9a2b4d1) SHA1(9a6862a44817b3ec465f126fd2a5d2c9825d846e), "Barcrest","Super Streak (Barcrest) (MPU4) (set 70)" ) -GAME_CUSTOM( 199?, m4supst__a7, m4supst, "stc02b.p1", 0x0000, 0x010000, CRC(bd2e8e6c) SHA1(71670dccedc2f47888c1205de59a81677ffeabaa), "Barcrest","Super Streak (Barcrest) (MPU4) (set 71)" ) -GAME_CUSTOM( 199?, m4supst__a8, m4supst, "stc02bd.p1", 0x0000, 0x010000, CRC(efbed99b) SHA1(62d80248bb666bfb49ed7546936da744e43fa870), "Barcrest","Super Streak (Barcrest) (MPU4) (set 72)" ) -GAME_CUSTOM( 199?, m4supst__a9, m4supst, "stc02c.p1", 0x0000, 0x010000, CRC(9d342386) SHA1(b50f64d66d89dbd3dee1ff2cb430a2caa050e7c8), "Barcrest","Super Streak (Barcrest) (MPU4) (set 73)" ) -GAME_CUSTOM( 199?, m4supst__ba, m4supst, "stc02d.p1", 0x0000, 0x010000, CRC(c43f6e65) SHA1(0278cf389f8289d7b819125ae0a612c81ea75fab), "Barcrest","Super Streak (Barcrest) (MPU4) (set 74)" ) -GAME_CUSTOM( 199?, m4supst__bb, m4supst, "stc02dk.p1", 0x0000, 0x010000, CRC(36576570) SHA1(214a57344d8e161b3dbd07457291ed9bce011842), "Barcrest","Super Streak (Barcrest) (MPU4) (set 75)" ) -GAME_CUSTOM( 199?, m4supst__bc, m4supst, "stc02dr.p1", 0x0000, 0x010000, CRC(450c553f) SHA1(46050285eeb10dc368ad501c61d41351c4e2fcde), "Barcrest","Super Streak (Barcrest) (MPU4) (set 76)" ) -GAME_CUSTOM( 199?, m4supst__bd, m4supst, "stc02dy.p1", 0x0000, 0x010000, CRC(d8677dd1) SHA1(18abc0a1d28458c3b26a0d1dbf6ca8aba3f3e240), "Barcrest","Super Streak (Barcrest) (MPU4) (set 77)" ) -GAME_CUSTOM( 199?, m4supst__be, m4supst, "stc02k.p1", 0x0000, 0x010000, CRC(c6e8d110) SHA1(9e05961b9bba502f52a03de27e608afc52f6c025), "Barcrest","Super Streak (Barcrest) (MPU4) (set 78)" ) -GAME_CUSTOM( 199?, m4supst__bf, m4supst, "stc02r.p1", 0x0000, 0x010000, CRC(918d769f) SHA1(2a4438828d9e7efd3a94eaebe56585e7ae23d9d1), "Barcrest","Super Streak (Barcrest) (MPU4) (set 79)" ) -GAME_CUSTOM( 199?, m4supst__bg, m4supst, "stc02s.p1", 0x0000, 0x010000, CRC(9c50fff7) SHA1(3468340d2d04cbdecd669817f8a9c4028e301eeb), "Barcrest","Super Streak (Barcrest) (MPU4) (set 80)" ) -GAME_CUSTOM( 199?, m4supst__bh, m4supst, "stc02y.p1", 0x0000, 0x010000, CRC(0ce65e71) SHA1(02ae1fd5a41ab5a96ddcfe1cf3e8567561291961), "Barcrest","Super Streak (Barcrest) (MPU4) (set 81)" ) -GAME_CUSTOM( 199?, m4supst__bi, m4supst, "sttad.p1", 0x0000, 0x010000, CRC(af615f05) SHA1(b2c1b8ba086a4d33f1269c28d4caa7286a27f085), "Barcrest","Super Streak (Barcrest) (MPU4) (set 82)" ) -GAME_CUSTOM( 199?, m4supst__bj, m4supst, "sttb.p1", 0x0000, 0x010000, CRC(3119149f) SHA1(e749fcc5f95ccd29f42bfd0b140cf3cbb84d9599), "Barcrest","Super Streak (Barcrest) (MPU4) (set 83)" ) -GAME_CUSTOM( 199?, m4supst__bk, m4supst, "sttbd.p1", 0x0000, 0x010000, CRC(cfddaf39) SHA1(0f24b5e691e1d43f6604087f0b3bc2571d2c4002), "Barcrest","Super Streak (Barcrest) (MPU4) (set 84)" ) -GAME_CUSTOM( 199?, m4supst__bl, m4supst, "sttd.p1", 0x0000, 0x010000, CRC(8bc2498c) SHA1(a9cd3a6968186818a8c4033b1f304eac152244cf), "Barcrest","Super Streak (Barcrest) (MPU4) (set 85)" ) -GAME_CUSTOM( 199?, m4supst__bm, m4supst, "sttdk.p1", 0x0000, 0x010000, CRC(39903dde) SHA1(f92c4380051ada7bbc5739550c8dfdd6ddaaa3fe), "Barcrest","Super Streak (Barcrest) (MPU4) (set 86)" ) -GAME_CUSTOM( 199?, m4supst__bn, m4supst, "sttdr.p1", 0x0000, 0x010000, CRC(866f69f0) SHA1(ef9717f89b9718f1bcf8d3592f240ec9cf48bca3), "Barcrest","Super Streak (Barcrest) (MPU4) (set 87)" ) -GAME_CUSTOM( 199?, m4supst__bo, m4supst, "sttdy.p1", 0x0000, 0x010000, CRC(74ebd933) SHA1(b308c8cae2c74e4e07c6e4afb505068220714824), "Barcrest","Super Streak (Barcrest) (MPU4) (set 88)" ) -GAME_CUSTOM( 199?, m4supst__bp, m4supst, "sttk.p1", 0x0000, 0x010000, CRC(461db2f5) SHA1(8b97342d7ebfb33aa6aff246e8d799f4435788b7), "Barcrest","Super Streak (Barcrest) (MPU4) (set 89)" ) -GAME_CUSTOM( 199?, m4supst__bq, m4supst, "sttr.p1", 0x0000, 0x010000, CRC(2591f6ec) SHA1(3d83d930e41e164e71d67b529967320e1eee8354), "Barcrest","Super Streak (Barcrest) (MPU4) (set 90)" ) -GAME_CUSTOM( 199?, m4supst__br, m4supst, "stts.p1", 0x0000, 0x010000, CRC(a5e29c32) SHA1(8ba2f76505c2f40493c918b9d9524fa67999f7c1), "Barcrest","Super Streak (Barcrest) (MPU4) (set 91)" ) -GAME_CUSTOM( 199?, m4supst__bs, m4supst, "stty.p1", 0x0000, 0x010000, CRC(7306fab9) SHA1(0da1612490fcff9b7a17f97190b6b561016c3b18), "Barcrest","Super Streak (Barcrest) (MPU4) (set 92)" ) -GAME_CUSTOM( 199?, m4supst__bt, m4supst, "stuad.p1", 0x0000, 0x010000, CRC(e7a01b7b) SHA1(3db08800a35d440f012ca69d84c30465818b4993), "Barcrest","Super Streak (Barcrest) (MPU4) (set 93)" ) -GAME_CUSTOM( 199?, m4supst__bu, m4supst, "stub.p1", 0x0000, 0x010000, CRC(9044badf) SHA1(af8e218e3dc457bb5f24e3f2d74a8639466c3f11), "Barcrest","Super Streak (Barcrest) (MPU4) (set 94)" ) -GAME_CUSTOM( 199?, m4supst__bv, m4supst, "stubd.p1", 0x0000, 0x010000, CRC(438e1687) SHA1(5e0f27e95bf861d4edc55709efc79496c7353e8b), "Barcrest","Super Streak (Barcrest) (MPU4) (set 95)" ) -GAME_CUSTOM( 199?, m4supst__bw, m4supst, "stud.p1", 0x0000, 0x010000, CRC(1cbe3bec) SHA1(005dde84e57c5517fc6d6b975cc882dae11cbf63), "Barcrest","Super Streak (Barcrest) (MPU4) (set 96)" ) -GAME_CUSTOM( 199?, m4supst__bx, m4supst, "studk.p1", 0x0000, 0x010000, CRC(0931d501) SHA1(afa078248230cbc0acc9d3af641ec63ed0424a75), "Barcrest","Super Streak (Barcrest) (MPU4) (set 97)" ) -GAME_CUSTOM( 199?, m4supst__by, m4supst, "studr.p1", 0x0000, 0x010000, CRC(e06e1c59) SHA1(f4454f640335dbf6f9b8154d7805102253f605b4), "Barcrest","Super Streak (Barcrest) (MPU4) (set 98)" ) -GAME_CUSTOM( 199?, m4supst__bz, m4supst, "study.p1", 0x0000, 0x010000, CRC(8b4275e0) SHA1(267a9d2eddf41b8838eeaee06bba45f0a8b8451f), "Barcrest","Super Streak (Barcrest) (MPU4) (set 99)" ) -GAME_CUSTOM( 199?, m4supst__b0, m4supst, "stuk.p1", 0x0000, 0x010000, CRC(a66fb54f) SHA1(4351edbf6c5de817cf6972885ff1f6c7df837c37), "Barcrest","Super Streak (Barcrest) (MPU4) (set 100)" ) -GAME_CUSTOM( 199?, m4supst__b1, m4supst, "stur.p1", 0x0000, 0x010000, CRC(eeb3bfed) SHA1(87a753511fb384a505d3cc69ca67fe4e288cf3bb), "Barcrest","Super Streak (Barcrest) (MPU4) (set 101)" ) -GAME_CUSTOM( 199?, m4supst__b2, m4supst, "stus.p1", 0x0000, 0x010000, CRC(19aca6ad) SHA1(1583e76a4e1058fa97efdd9a7e6f7c4fe806b2f4), "Barcrest","Super Streak (Barcrest) (MPU4) (set 102)" ) -GAME_CUSTOM( 199?, m4supst__b3, m4supst, "stuy.p1", 0x0000, 0x010000, CRC(e6b2b76f) SHA1(bf251b751e6a8d2764c63e92d48e1a64666b9a47), "Barcrest","Super Streak (Barcrest) (MPU4) (set 103)" ) -GAME_CUSTOM( 199?, m4supst__b4, m4supst, "superstreak1deb.bin", 0x0000, 0x010000, CRC(892ccad9) SHA1(c88daadd9778e363e154b674b57ccd07cea59836), "Barcrest","Super Streak (Barcrest) (MPU4) (set 104)" ) -GAME_CUSTOM( 199?, m4supst__b5, m4supst, "supst2515", 0x0000, 0x010000, CRC(c073a249) SHA1(4ae37eb61dd5e50687f433fb89f65b97926b7358), "Barcrest","Super Streak (Barcrest) (MPU4) (set 105)" ) +// (C)1995 B.W.B. and AE5 3.0 +GAME_CUSTOM( 199?, m4acechs__a, m4acechs, "ae_05a__.3_1", 0x0000, 0x010000, CRC(900e1789) SHA1(dbb13f1728d8527a7de5d257c866732adb0a95b5), "Bwb","Ace Chase (Bwb) (MPU4) (AE5 3.0, set 1)" ) +GAME_CUSTOM( 199?, m4acechs__r, m4acechs, "aei05___.3_1", 0x0000, 0x010000, CRC(bb84d01f) SHA1(f1653590e8cd642faf09a16c5c1b0a4b267d42e7), "Bwb","Ace Chase (Bwb) (MPU4) (AE5 3.0, set 2)" ) +// (C)1995 B.W.B. and AE10 3.0 +GAME_CUSTOM( 199?, m4acechs__f, m4acechs, "ae_10a__.3_1", 0x0000, 0x010000, CRC(e20c2513) SHA1(857ed8a6b155863c769ee9c3aca5e4702c1372b6), "Bwb","Ace Chase (Bwb) (MPU4) (AE10 3.0, set 1)" ) +GAME_CUSTOM( 199?, m4acechs__t, m4acechs, "aei10___.3_1", 0x0000, 0x010000, CRC(db99a965) SHA1(1fb200b30e10d502af39bcd2e58d3e36e13f3695), "Bwb","Ace Chase (Bwb) (MPU4) (AE10 3.0, set 2)" ) +// (C)1994 B.W.B. and AE 1.0 +GAME_CUSTOM( 199?, m4acechs__g, m4acechs, "ae_10bg_.2_3", 0x0000, 0x010000, CRC(7ed7fcee) SHA1(7b2b0c47dc8a75d11f49f09441a4320815d838ac), "Bwb","Ace Chase (Bwb) (MPU4) (AE 1.0)" ) +// (C)1995 B.W.B. and AE20 3.0 +GAME_CUSTOM( 199?, m4acechs__k, m4acechs, "ae_20a__.3_1", 0x0000, 0x010000, CRC(43f6cc19) SHA1(3eda49477b141c649a4ba7a4ecc021694d9830db), "Bwb","Ace Chase (Bwb) (MPU4) (AE20 3.0, set 1)" ) +GAME_CUSTOM( 199?, m4acechs__l, m4acechs, "ae_20b__.3_1", 0x0000, 0x010000, CRC(30060ac4) SHA1(488263a1d3cfe067d43de29c57e58fe55024437c), "Bwb","Ace Chase (Bwb) (MPU4) (AE20 3.0, set 2)" ) +GAME_CUSTOM( 199?, m4acechs__m, m4acechs, "ae_20bd_.3_1", 0x0000, 0x010000, CRC(f9b922c2) SHA1(fc0deb79fc6c33732872da8925a6729f3d11bcaf), "Bwb","Ace Chase (Bwb) (MPU4) (AE20 3.0, set 3)" ) +GAME_CUSTOM( 199?, m4acechs__n, m4acechs, "ae_20bg_.3_1", 0x0000, 0x010000, CRC(02706741) SHA1(8388d91091945d1f73aa5e68a86f930f5d9dafa2), "Bwb","Ace Chase (Bwb) (MPU4) (AE20 3.0, set 4)" ) +GAME_CUSTOM( 199?, m4acechs__o, m4acechs, "ae_20bt_.3_1", 0x0000, 0x010000, CRC(3b313958) SHA1(9fe4cb99dc30d1305816f9a27079d97c4d07cb15), "Bwb","Ace Chase (Bwb) (MPU4) (AE20 3.0, set 5)" ) +GAME_CUSTOM( 199?, m4acechs__p, m4acechs, "ae_20sb_.3_1", 0x0000, 0x010000, CRC(471f2ba4) SHA1(baaf8339d8ee15365886cea2ecb36ad298975633), "Bwb","Ace Chase (Bwb) (MPU4) (AE20 3.0, set 6)" ) +GAME_CUSTOM( 199?, m4acechs__u, m4acechs, "aei20___.3_1", 0x0000, 0x010000, CRC(1744e7f4) SHA1(bf2f1b720a1a2610aff46a1de5c789a17828eae0), "Bwb","Ace Chase (Bwb) (MPU4) (AE20 3.0, set 7)" ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ @@ -602,71 +865,468 @@ GAME_CUSTOM( 199?, m4supst__b5, m4supst, "supst2515", 0x0000, 0x01 ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ ROM_END \ - GAME(year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) -GAME_CUSTOM( 199?, m4fastfw, 0, "ffo05__1.0", 0x0000, 0x010000, CRC(8b683969) SHA1(7469b551e4d6f65550d54ee39b2bac07cf3dbd4b), "Bwb / Barcrest","Fast Forward (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4fastfw__a, m4fastfw, "ffo10__1.0", 0x0000, 0x010000, CRC(294288fd) SHA1(87d25f6333b6862fcc57a550b5cc7c0bc64e72cd), "Bwb / Barcrest","Fast Forward (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4fastfw__b, m4fastfw, "ffo10d_1.0", 0x0000, 0x010000, CRC(8d96f3d4) SHA1(2070a335cfa3f9de1bd9e9094d91cce81b91347d), "Bwb / Barcrest","Fast Forward (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4fastfw__c, m4fastfw, "ffo20__1.0", 0x0000, 0x010000, CRC(9528291e) SHA1(61c0eb8ce955f708e8a68a28f253706267e28254), "Bwb / Barcrest","Fast Forward (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4fastfw__d, m4fastfw, "ffo20d_1.0", 0x0000, 0x010000, CRC(5bae35fe) SHA1(7e4d61ed97ddd170bd1424f34d0327093668da3f), "Bwb / Barcrest","Fast Forward (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4fastfw__e, m4fastfw, "ffo20dy1.0", 0x0000, 0x010000, CRC(37167d46) SHA1(94b87697615f81b746ce3bcc64fc893f865e00dc), "Bwb / Barcrest","Fast Forward (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4fastfw__f, m4fastfw, "fastf206", 0x0000, 0x010000, CRC(a830b121) SHA1(0bf813ee75bd8e109e6688b91bd0983d341a6695), "Bwb / Barcrest","Fast Forward (Barcrest) (MPU4) (set 7)" ) + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// (C)1994 B.W.B. and AE5 2.0 +GAME_CUSTOM( 199?, m4acechs, 0, "ae_05a__.2_3", 0x0000, 0x010000, CRC(c9a03623) SHA1(8daf7e71057528c481915eb8506e03ce9cf372c8), "Bwb","Ace Chase (Bwb) (MPU4) (AE5 2.0, set 1)" ) +GAME_CUSTOM( 199?, m4acechs__b, m4acechs, "ae_05s__.2_3", 0x0000, 0x010000, CRC(eb64ab0a) SHA1(4d4c6908c8ca8b1d3c39c8973c8386da079cbd39), "Bwb","Ace Chase (Bwb) (MPU4) (AE5 2.0, set 2)" ) +GAME_CUSTOM( 199?, m4acechs__c, m4acechs, "ae_05sb_.2_3", 0x0000, 0x010000, CRC(5d67c6f6) SHA1(213225405defb3be7f564459d71aeca6f5856f8f), "Bwb","Ace Chase (Bwb) (MPU4) (AE5 2.0, set 3)" ) +GAME_CUSTOM( 199?, m4acechs__d, m4acechs, "ae_05sd_.2_3", 0x0000, 0x010000, CRC(2bdbe356) SHA1(a328a8f50847cbb199b31672ca50e1e95a474e4b), "Bwb","Ace Chase (Bwb) (MPU4) (AE5 2.0, set 4)" ) +GAME_CUSTOM( 199?, m4acechs__q, m4acechs, "aei05___.2_3", 0x0000, 0x010000, CRC(f035ba55) SHA1(d13bebec00650018a9236cc18df73b06c970cfd0), "Bwb","Ace Chase (Bwb) (MPU4) (AE5 2.0, set 5)" ) +// (C)1994 B.W.B. and AE10 2.0 +GAME_CUSTOM( 199?, m4acechs__e, m4acechs, "ae_10a__.2_3", 0x0000, 0x010000, CRC(d718d498) SHA1(d13970b0ca86b988bcc91cd3c2dbee4c637944ca), "Bwb","Ace Chase (Bwb) (MPU4) (AE10 2.0, set 1)" ) +GAME_CUSTOM( 199?, m4acechs__h, m4acechs, "ae_10s__.2_3", 0x0000, 0x010000, CRC(31932d3f) SHA1(a1809c7baaea22d24491829a8638f232e2d75849), "Bwb","Ace Chase (Bwb) (MPU4) (AE10 2.0, set 2)" ) +GAME_CUSTOM( 199?, m4acechs__i, m4acechs, "ae_10sb_.2_3", 0x0000, 0x010000, CRC(d6bcd1fd) SHA1(664ec7e7821c09bddfd1996892ae3f9fbdbc6809), "Bwb","Ace Chase (Bwb) (MPU4) (AE10 2.0, set 3)" ) +GAME_CUSTOM( 199?, m4acechs__j, m4acechs, "ae_10sd_.2_3", 0x0000, 0x010000, CRC(5920b9ad) SHA1(fb8de53e7877505fe53ff874b396707ee8e01e5e), "Bwb","Ace Chase (Bwb) (MPU4) (AE10 2.0, set 4)" ) +GAME_CUSTOM( 199?, m4acechs__s, m4acechs, "aei10___.2_3", 0x0000, 0x010000, CRC(96edf44f) SHA1(8abcb5d4018e0a4c879eb1a1550af09f55f75135), "Bwb","Ace Chase (Bwb) (MPU4) (AE10 2.0, set 5)" ) + + +/***************************************************************************************************************************************************************************** +* +* Super Streak +* +*****************************************************************************************************************************************************************************/ + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, machine, inputs, mpu4mod4yam_machines_state, init, ROT0, company, title, GAME_FLAGS ) + +// boot +GAME_CUSTOM( 199?, m4supst__au, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sp8b.p1", 0x0000, 0x010000, CRC(3b12d7e8) SHA1(92a15e5f8391d74c192e8386abdb8853a76bff05), "Barcrest","Super Streak (Barcrest) (MPU4) (SP8 0.1, set 1)" ) +GAME_CUSTOM( 199?, m4supst__av, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sp8bd.p1", 0x0000, 0x010000, CRC(e0d7f789) SHA1(f6157469e43059adb44e7f2eff5bf73861d5636c), "Barcrest","Super Streak (Barcrest) (MPU4) (SP8 0.1, set 2)" ) +GAME_CUSTOM( 199?, m4supst__aw, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sp8c.p1", 0x0000, 0x010000, CRC(da0af8ae) SHA1(91042506050967c508b30c3dc2bfa6f6a6e8b532), "Barcrest","Super Streak (Barcrest) (MPU4) (SP8 0.1, set 3)" ) +GAME_CUSTOM( 199?, m4supst__ax, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sp8dk.p1", 0x0000, 0x010000, CRC(92432e8f) SHA1(5e6df963ccf92a89c71ae1edd7b71ec1e3f97522), "Barcrest","Super Streak (Barcrest) (MPU4) (SP8 0.1, set 4)" ) +GAME_CUSTOM( 199?, m4supst__ay, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sp8k.p1", 0x0000, 0x010000, CRC(e39f74d8) SHA1(9d776e7d67859f4514c69fc4f9f43160da9a2ca1), "Barcrest","Super Streak (Barcrest) (MPU4) (SP8 0.1, set 5)" ) +GAME_CUSTOM( 199?, m4supst__az, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sp8s.p1", 0x0000, 0x010000, CRC(fab99461) SHA1(82f8ca06bb04396f86124dfe4de46265b2edc393), "Barcrest","Super Streak (Barcrest) (MPU4) (SP8 0.1, set 6)" ) + +// boot +GAME_CUSTOM( 199?, m4supst__a0, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "spsbd.p1", 0x0000, 0x010000, CRC(b621b32d) SHA1(9aab0e074c120cb12beac585f9c513053502955c), "Barcrest","Super Streak (Barcrest) (MPU4) (SPS 0.8, set 1)" ) +GAME_CUSTOM( 199?, m4supst__a1, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "spsc.p1", 0x0000, 0x010000, CRC(8c7a24f5) SHA1(f86be164e05235281fb275e950cedaf6f630d29a), "Barcrest","Super Streak (Barcrest) (MPU4) (SPS 0.8, set 2)" ) +GAME_CUSTOM( 199?, m4supst__a2, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "spsd.p1", 0x0000, 0x010000, CRC(d34d3617) SHA1(5373335557e4bbb21264bbd9d0fbaf3640f9ab35), "Barcrest","Super Streak (Barcrest) (MPU4) (SPS 0.8, set 3)" ) +GAME_CUSTOM( 199?, m4supst__a3, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "spsdk.p1", 0x0000, 0x010000, CRC(cf2fd3e7) SHA1(50d3c0851bec90037cd65a5c55654b0e688b96ca), "Barcrest","Super Streak (Barcrest) (MPU4) (SPS 0.8, set 4)" ) +GAME_CUSTOM( 199?, m4supst__a4, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "spsk.p1", 0x0000, 0x010000, CRC(873a1414) SHA1(47b2bbef168382112cd12ace2d6a58695f4b0254), "Barcrest","Super Streak (Barcrest) (MPU4) (SPS 0.8, set 5)" ) +GAME_CUSTOM( 199?, m4supst__a5, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "spss.p1", 0x0000, 0x010000, CRC(5e28bdb7) SHA1(3865c891178feb744ad11b2dea491350efc48bea), "Barcrest","Super Streak (Barcrest) (MPU4) (SPS 0.8, set 6)" ) + +// Hopper error +GAME_CUSTOM( 199?, m4supst, 0, mod4yam_cheatchr_pal, mpu4, init_m4default, "cs4b.p1", 0x0000, 0x010000, CRC(fb0aac20) SHA1(3a40be78f7add7905afa8d1226ad41bf0041a2ec), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.7, set 1)" ) +GAME_CUSTOM( 199?, m4supst__a, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cs4ad.p1", 0x0000, 0x010000, CRC(c0e81dfd) SHA1(2da922df6c102f8d0f1678e974df9e4d356e5133), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.7, set 2)" ) +GAME_CUSTOM( 199?, m4supst__b, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cs4bd.p1", 0x0000, 0x010000, CRC(dafc7ed6) SHA1(3e92d5557d2f587132f4b3b633978ab7d4333fcc), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.7, set 3)" ) +GAME_CUSTOM( 199?, m4supst__c, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cs4d.p1", 0x0000, 0x010000, CRC(c1fcda65) SHA1(11f2a45f3f821eac6b98b1988824d77aada3d759), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.7, set 4)" ) +GAME_CUSTOM( 199?, m4supst__d, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cs4dk.p1", 0x0000, 0x010000, CRC(30a46171) SHA1(ef1f2951b478ba2b2d42dfb0ec4ed59f28d79972), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.7, set 5)" ) +GAME_CUSTOM( 199?, m4supst__e, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cs4dy.p1", 0x0000, 0x010000, CRC(72b15ce7) SHA1(c451ac552ffe9bcde1990b97a60b0ed8918bf8c8), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.7, set 6)" ) +GAME_CUSTOM( 199?, m4supst__f, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cs4k.p1", 0x0000, 0x010000, CRC(f252f9ea) SHA1(251998ea752deb4f4a05c833b19e89d334334fac), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.7, set 7)" ) +GAME_CUSTOM( 199?, m4supst__g, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cs4s.p1", 0x0000, 0x010000, CRC(10f7b88d) SHA1(0aac0ebbe0ce04db49fc7de4325eea9abdfd74b5), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.7, set 8)" ) +GAME_CUSTOM( 199?, m4supst__h, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cs4y.p1", 0x0000, 0x010000, CRC(a464d09d) SHA1(d38c0f8c7c9b7f560b685781a7dcf82bc031a191), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.7, set 9)" ) + +// Hopper error +// CS4 0.4 in header, CST 0.4 on boot +GAME_CUSTOM( 199?, m4supst__u, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cst04ad.p1", 0x0000, 0x010000, CRC(b946d40d) SHA1(c03fa48f8b64c3cf4504f472f21a38f8a55f12e6), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.4 / CST 0.4, set 1)" ) +GAME_CUSTOM( 199?, m4supst__v, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cst04b.p1", 0x0000, 0x010000, CRC(45333d45) SHA1(d6ccb39ee9b316772052f856f79424c34ff273c5), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.4 / CST 0.4, set 2)" ) +GAME_CUSTOM( 199?, m4supst__w, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cst04bd.p1", 0x0000, 0x010000, CRC(03b56b07) SHA1(903b24ab93f9584f228278729b5a99451b8e81f7), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.4 / CST 0.4, set 3)" ) +GAME_CUSTOM( 199?, m4supst__x, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cst04c.p1", 0x0000, 0x010000, CRC(9c000883) SHA1(da0a9f1afc218c14a57a46fe2ea63e166f4e3739), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.4 / CST 0.4, set 4)" ) +GAME_CUSTOM( 199?, m4supst__y, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cst04d.p1", 0x0000, 0x010000, CRC(32281bec) SHA1(a043fb615c2a66d23d85ae80cb0b1705523f411c), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.4 / CST 0.4, set 5)" ) +GAME_CUSTOM( 199?, m4supst__z, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cst04dk.p1", 0x0000, 0x010000, CRC(9345e7b7) SHA1(8bff80d2b847fbae050f77215efe3e55b98a4657), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.4 / CST 0.4, set 6)" ) +GAME_CUSTOM( 199?, m4supst__0, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cst04dr.p1", 0x0000, 0x010000, CRC(8d397063) SHA1(45642de2629e89e2495d1cbd5aed90cf2a4cf1c1), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.4 / CST 0.4, set 7)" ) +GAME_CUSTOM( 199?, m4supst__1, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cst04dy.p1", 0x0000, 0x010000, CRC(4a303ced) SHA1(6c12b956358753c8bf99bd3316646721c9ec2585), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.4 / CST 0.4, set 8)" ) +GAME_CUSTOM( 199?, m4supst__2, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cst04k.p1", 0x0000, 0x010000, CRC(a59584f5) SHA1(8cfcf069ad905277f1925e682602e129e97e619b), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.4 / CST 0.4, set 9)" ) +GAME_CUSTOM( 199?, m4supst__3, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cst04r.p1", 0x0000, 0x010000, CRC(c9771997) SHA1(ed98650c0d73f2db0fe380777d10404ccabced31), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.4 / CST 0.4, set 10)" ) +GAME_CUSTOM( 199?, m4supst__4, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cst04s.p1", 0x0000, 0x010000, CRC(cd5b848d) SHA1(4dd3dd1c883552c7b5c475156308604b12eff75a), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.4 / CST 0.4, set 11)" ) +GAME_CUSTOM( 199?, m4supst__5, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "cst04y.p1", 0x0000, 0x010000, CRC(7adc00ae) SHA1(5688f0876c18faf474a6d8487fdd85f20f9fc144), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.4 / CST 0.4, set 12)" ) + +// Hopper error +// CS4 0.3 in header, CSU 0.3 on boot +GAME_CUSTOM( 199?, m4supst__6, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csu03ad.p1", 0x0000, 0x010000, CRC(5d7b6393) SHA1(19c24f4113efb6a1499936e5f89a8ad859ff8df0), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.3 / CSU 0.3, set 1)" ) +GAME_CUSTOM( 199?, m4supst__7, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csu03b.p1", 0x0000, 0x010000, CRC(57826c2a) SHA1(b835eb3066fec468ab55851d1dd023484e2d57e3), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.3 / CSU 0.3, set 2)" ) +GAME_CUSTOM( 199?, m4supst__8, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csu03bd.p1", 0x0000, 0x010000, CRC(092e7039) SHA1(36a7c18872e4012e3acce0d01d2cc2c201a3c867), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.3 / CSU 0.3, set 3)" ) +GAME_CUSTOM( 199?, m4supst__9, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csu03c.p1", 0x0000, 0x010000, CRC(b30a3c00) SHA1(066b0007092720a6f89edf8eafffe2f8fd83edbc), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.3 / CSU 0.3, set 4)" ) +GAME_CUSTOM( 199?, m4supst__aa, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csu03d.p1", 0x0000, 0x010000, CRC(03ff9d99) SHA1(390087c136e4c314de9086adb7b020e8adabe34a), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.3 / CSU 0.3, set 5)" ) +GAME_CUSTOM( 199?, m4supst__ab, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csu03dk.p1", 0x0000, 0x010000, CRC(cf7e61ff) SHA1(0e328ce5ff86770fabaf91d48a8de039323d112a), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.3 / CSU 0.3, set 6)" ) +GAME_CUSTOM( 199?, m4supst__ac, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csu03dr.p1", 0x0000, 0x010000, CRC(00d700d1) SHA1(8bcc3c470c42780b1f1404fc6ff53e6ec7d89ad0), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.3 / CSU 0.3, set 7)" ) +GAME_CUSTOM( 199?, m4supst__ad, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csu03dy.p1", 0x0000, 0x010000, CRC(8ec77c04) SHA1(64708460439a7e124f90eef6b9628e57f7d78ebc), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.3 / CSU 0.3, set 8)" ) +GAME_CUSTOM( 199?, m4supst__ae, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csu03k.p1", 0x0000, 0x010000, CRC(701a0837) SHA1(31237fd108b354fb2afc449efa3a53dee2cf7be8), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.3 / CSU 0.3, set 9)" ) +GAME_CUSTOM( 199?, m4supst__af, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csu03r.p1", 0x0000, 0x010000, CRC(d86a6895) SHA1(2c42bcf5de739f01e18bd1b766eec26a6da5aa52), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.3 / CSU 0.3, set 10)" ) +GAME_CUSTOM( 199?, m4supst__ag, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csu03s.p1", 0x0000, 0x010000, CRC(197bb032) SHA1(06e98713ff5fc72bffccde1cc92fc8cb63665fad), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.3 / CSU 0.3, set 11)" ) +GAME_CUSTOM( 199?, m4supst__ah, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csu03y.p1", 0x0000, 0x010000, CRC(bee0e7e1) SHA1(6a1ab766af9147f0d4a7c1d2a95c9a6e3e3f4986), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.3 / CSU 0.3, set 12)" ) + +// different CHR - boots +GAME_CUSTOM( 199?, m4supst__bi, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sttad.p1", 0x0000, 0x010000, CRC(af615f05) SHA1(b2c1b8ba086a4d33f1269c28d4caa7286a27f085), "Barcrest","Super Streak (Barcrest) (MPU4) (STT 0.3, set 1)" ) +GAME_CUSTOM( 199?, m4supst__bj, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sttb.p1", 0x0000, 0x010000, CRC(3119149f) SHA1(e749fcc5f95ccd29f42bfd0b140cf3cbb84d9599), "Barcrest","Super Streak (Barcrest) (MPU4) (STT 0.3, set 2)" ) +GAME_CUSTOM( 199?, m4supst__bk, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sttbd.p1", 0x0000, 0x010000, CRC(cfddaf39) SHA1(0f24b5e691e1d43f6604087f0b3bc2571d2c4002), "Barcrest","Super Streak (Barcrest) (MPU4) (STT 0.3, set 3)" ) +GAME_CUSTOM( 199?, m4supst__bl, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sttd.p1", 0x0000, 0x010000, CRC(8bc2498c) SHA1(a9cd3a6968186818a8c4033b1f304eac152244cf), "Barcrest","Super Streak (Barcrest) (MPU4) (STT 0.3, set 4)" ) +GAME_CUSTOM( 199?, m4supst__bm, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sttdk.p1", 0x0000, 0x010000, CRC(39903dde) SHA1(f92c4380051ada7bbc5739550c8dfdd6ddaaa3fe), "Barcrest","Super Streak (Barcrest) (MPU4) (STT 0.3, set 5)" ) +GAME_CUSTOM( 199?, m4supst__bn, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sttdr.p1", 0x0000, 0x010000, CRC(866f69f0) SHA1(ef9717f89b9718f1bcf8d3592f240ec9cf48bca3), "Barcrest","Super Streak (Barcrest) (MPU4) (STT 0.3, set 6)" ) +GAME_CUSTOM( 199?, m4supst__bo, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sttdy.p1", 0x0000, 0x010000, CRC(74ebd933) SHA1(b308c8cae2c74e4e07c6e4afb505068220714824), "Barcrest","Super Streak (Barcrest) (MPU4) (STT 0.3, set 7)" ) +GAME_CUSTOM( 199?, m4supst__bp, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sttk.p1", 0x0000, 0x010000, CRC(461db2f5) SHA1(8b97342d7ebfb33aa6aff246e8d799f4435788b7), "Barcrest","Super Streak (Barcrest) (MPU4) (STT 0.3, set 8)" ) +GAME_CUSTOM( 199?, m4supst__bq, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "sttr.p1", 0x0000, 0x010000, CRC(2591f6ec) SHA1(3d83d930e41e164e71d67b529967320e1eee8354), "Barcrest","Super Streak (Barcrest) (MPU4) (STT 0.3, set 9)" ) +GAME_CUSTOM( 199?, m4supst__br, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stts.p1", 0x0000, 0x010000, CRC(a5e29c32) SHA1(8ba2f76505c2f40493c918b9d9524fa67999f7c1), "Barcrest","Super Streak (Barcrest) (MPU4) (STT 0.3, set 10)" ) +GAME_CUSTOM( 199?, m4supst__bs, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stty.p1", 0x0000, 0x010000, CRC(7306fab9) SHA1(0da1612490fcff9b7a17f97190b6b561016c3b18), "Barcrest","Super Streak (Barcrest) (MPU4) (STT 0.3, set 11)" ) +// different CHR - boots +GAME_CUSTOM( 199?, m4supst__bt, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stuad.p1", 0x0000, 0x010000, CRC(e7a01b7b) SHA1(3db08800a35d440f012ca69d84c30465818b4993), "Barcrest","Super Streak (Barcrest) (MPU4) (STU 0.1, set 1)" ) +GAME_CUSTOM( 199?, m4supst__bu, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stub.p1", 0x0000, 0x010000, CRC(9044badf) SHA1(af8e218e3dc457bb5f24e3f2d74a8639466c3f11), "Barcrest","Super Streak (Barcrest) (MPU4) (STU 0.1, set 2)" ) +GAME_CUSTOM( 199?, m4supst__bv, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stubd.p1", 0x0000, 0x010000, CRC(438e1687) SHA1(5e0f27e95bf861d4edc55709efc79496c7353e8b), "Barcrest","Super Streak (Barcrest) (MPU4) (STU 0.1, set 3)" ) +GAME_CUSTOM( 199?, m4supst__bw, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stud.p1", 0x0000, 0x010000, CRC(1cbe3bec) SHA1(005dde84e57c5517fc6d6b975cc882dae11cbf63), "Barcrest","Super Streak (Barcrest) (MPU4) (STU 0.1, set 4)" ) +GAME_CUSTOM( 199?, m4supst__bx, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "studk.p1", 0x0000, 0x010000, CRC(0931d501) SHA1(afa078248230cbc0acc9d3af641ec63ed0424a75), "Barcrest","Super Streak (Barcrest) (MPU4) (STU 0.1, set 5)" ) +GAME_CUSTOM( 199?, m4supst__by, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "studr.p1", 0x0000, 0x010000, CRC(e06e1c59) SHA1(f4454f640335dbf6f9b8154d7805102253f605b4), "Barcrest","Super Streak (Barcrest) (MPU4) (STU 0.1, set 6)" ) +GAME_CUSTOM( 199?, m4supst__bz, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "study.p1", 0x0000, 0x010000, CRC(8b4275e0) SHA1(267a9d2eddf41b8838eeaee06bba45f0a8b8451f), "Barcrest","Super Streak (Barcrest) (MPU4) (STU 0.1, set 7)" ) +GAME_CUSTOM( 199?, m4supst__b0, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stuk.p1", 0x0000, 0x010000, CRC(a66fb54f) SHA1(4351edbf6c5de817cf6972885ff1f6c7df837c37), "Barcrest","Super Streak (Barcrest) (MPU4) (STU 0.1, set 8)" ) +GAME_CUSTOM( 199?, m4supst__b1, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stur.p1", 0x0000, 0x010000, CRC(eeb3bfed) SHA1(87a753511fb384a505d3cc69ca67fe4e288cf3bb), "Barcrest","Super Streak (Barcrest) (MPU4) (STU 0.1, set 9)" ) +GAME_CUSTOM( 199?, m4supst__b2, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stus.p1", 0x0000, 0x010000, CRC(19aca6ad) SHA1(1583e76a4e1058fa97efdd9a7e6f7c4fe806b2f4), "Barcrest","Super Streak (Barcrest) (MPU4) (STU 0.1, set 10)" ) +GAME_CUSTOM( 199?, m4supst__b3, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stuy.p1", 0x0000, 0x010000, CRC(e6b2b76f) SHA1(bf251b751e6a8d2764c63e92d48e1a64666b9a47), "Barcrest","Super Streak (Barcrest) (MPU4) (STU 0.1, set 11)" ) +// different CHR - boots +GAME_CUSTOM( 199?, m4supst__b4, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "superstreak1deb.bin", 0x0000, 0x010000, CRC(892ccad9) SHA1(c88daadd9778e363e154b674b57ccd07cea59836), "Barcrest","Super Streak (Barcrest) (MPU4) (STT 0.2K)" ) + +// different CHR - hopper +// CS4 0.2 in header, CSP 0.2 on boot +GAME_CUSTOM( 199?, m4supst__i, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csp02ad.p1", 0x0000, 0x010000, CRC(96bbbc26) SHA1(ca127151c771963c07f0f368102ede8095d11863), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / CSP 0.2, set 1)" ) +GAME_CUSTOM( 199?, m4supst__j, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csp02b.p1", 0x0000, 0x010000, CRC(913ea9ff) SHA1(182bcc007d007a1c7f57767358600d2de7d1e3cf), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / CSP 0.2, set 2)" ) +GAME_CUSTOM( 199?, m4supst__k, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csp02bd.p1", 0x0000, 0x010000, CRC(ad0137a1) SHA1(d043372ba09081dd4e807f009a6460b4b30e6453), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / CSP 0.2, set 3)" ) +GAME_CUSTOM( 199?, m4supst__l, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csp02c.p1", 0x0000, 0x010000, CRC(fdad4b22) SHA1(4f19922821a9d1663bd9355447209384272e7542), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / CSP 0.2, set 4)" ) +GAME_CUSTOM( 199?, m4supst__m, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csp02d.p1", 0x0000, 0x010000, CRC(9717a58d) SHA1(8bc495dc4db0041718ae2db14a01a789616c8764), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / CSP 0.2, set 5)" ) +GAME_CUSTOM( 199?, m4supst__n, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csp02dk.p1", 0x0000, 0x010000, CRC(cd8aa547) SHA1(a13dcb75507878cb133b9ef739fb41d932d4eed5), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / CSP 0.2, set 6)" ) +GAME_CUSTOM( 199?, m4supst__o, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csp02dr.p1", 0x0000, 0x010000, CRC(6656e588) SHA1(4001ec0d1145ef0107e62ccda61e22ba8b0cdc92), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / CSP 0.2, set 7)" ) +GAME_CUSTOM( 199?, m4supst__p, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csp02dy.p1", 0x0000, 0x010000, CRC(14ff7e1d) SHA1(455b6ff93a5f25dc5f43c62a6c1d9a18de1ce94b), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / CSP 0.2, set 8)" ) +GAME_CUSTOM( 199?, m4supst__q, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csp02k.p1", 0x0000, 0x010000, CRC(c438c754) SHA1(c1d2e664091c1eaf1e4d964a3bfd446b11d7ba41), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / CSP 0.2, set 9)" ) +GAME_CUSTOM( 199?, m4supst__r, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csp02r.p1", 0x0000, 0x010000, CRC(4abe0f80) SHA1(67f7f9946a26b5097b6ce719dbd599790078f365), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / CSP 0.2, set 10)" ) +GAME_CUSTOM( 199?, m4supst__s, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csp02s.p1", 0x0000, 0x010000, CRC(47c0068d) SHA1(5480a519a6e6df2757e66cfcf904dd6c2873cc43), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / CSP 0.2, set 11)" ) +GAME_CUSTOM( 199?, m4supst__t, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "csp02y.p1", 0x0000, 0x010000, CRC(d51d18d8) SHA1(a65fd4326872775364d2d7a886e98a1ee07596b7), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / CSP 0.2, set 12)" ) +// different CHR - hopper +// CS4 0.2 in header, EEH 0.2 on boot +GAME_CUSTOM( 199?, m4supst__ai, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "eeh02ad.p1", 0x0000, 0x010000, CRC(25874a6d) SHA1(12e4fb36d231c3104df3613dd3851f411a876eb0), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / EEH 0.2, set 1)" ) +GAME_CUSTOM( 199?, m4supst__aj, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "eeh02b.p1", 0x0000, 0x010000, CRC(ef280a8a) SHA1(912a825e69482a540cf0cadfc49a37a2822f3ecb), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / EEH 0.2, set 2)" ) +GAME_CUSTOM( 199?, m4supst__ak, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "eeh02bd.p1", 0x0000, 0x010000, CRC(5f126810) SHA1(8fe1cbc7d93e2db35225388ee0773f6a98762ca1), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / EEH 0.2, set 3)" ) +GAME_CUSTOM( 199?, m4supst__al, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "eeh02c.p1", 0x0000, 0x010000, CRC(3f49b936) SHA1(a0d07e0101f8cc38ebc28cfc1b239793b961f5ab), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / EEH 0.2, set 4)" ) +GAME_CUSTOM( 199?, m4supst__am, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "eeh02d.p1", 0x0000, 0x010000, CRC(14dcfe63) SHA1(3ac77c9aa9b3b77fb1df98d2b427564be41dca78), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / EEH 0.2, set 5)" ) +GAME_CUSTOM( 199?, m4supst__an, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "eeh02dk.p1", 0x0000, 0x010000, CRC(81a39421) SHA1(6fa43e8cb83e7fb940cc224eed5ee3f254c18c4d), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / EEH 0.2, set 6)" ) +GAME_CUSTOM( 199?, m4supst__ao, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "eeh02dr.p1", 0x0000, 0x010000, CRC(c7755823) SHA1(05626ed49a2f800555f3f404273fa910b68de75c), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / EEH 0.2, set 7)" ) +GAME_CUSTOM( 199?, m4supst__ap, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "eeh02dy.p1", 0x0000, 0x010000, CRC(5a1e70cd) SHA1(88bb29fd52d2331b72bb04652f9578f2c2f5a9ac), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / EEH 0.2, set 8)" ) +GAME_CUSTOM( 199?, m4supst__aq, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "eeh02k.p1", 0x0000, 0x010000, CRC(b78882ec) SHA1(79c6a6d2cfe113743d3a93eb825fccab2b025933), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / EEH 0.2, set 9)" ) +GAME_CUSTOM( 199?, m4supst__ar, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "eeh02r.p1", 0x0000, 0x010000, CRC(ff54884e) SHA1(2783f0e562e946597288ddbec4dcd1101e188d1d), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / EEH 0.2, set 10)" ) +GAME_CUSTOM( 199?, m4supst__as, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "eeh02s.p1", 0x0000, 0x010000, CRC(c5856c3c) SHA1(5a0e5a7188913e1c36eac894bbeeae47a4f3589c), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / EEH 0.2, set 11)" ) +GAME_CUSTOM( 199?, m4supst__at, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "eeh02y.p1", 0x0000, 0x010000, CRC(623fa0a0) SHA1(5a49cea5e94afccbf965cbda7a8d9a74f9734a6e), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / EEH 0.2, set 12)" ) +// different CHR - hopper +// CS4 0.2 in header, STC 0.2 in boot +GAME_CUSTOM( 199?, m4supst__a6, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stc02ad.p1", 0x0000, 0x010000, CRC(d9a2b4d1) SHA1(9a6862a44817b3ec465f126fd2a5d2c9825d846e), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / STC 0.2, set 1)" ) +GAME_CUSTOM( 199?, m4supst__a7, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stc02b.p1", 0x0000, 0x010000, CRC(bd2e8e6c) SHA1(71670dccedc2f47888c1205de59a81677ffeabaa), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / STC 0.2, set 2)" ) +GAME_CUSTOM( 199?, m4supst__a8, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stc02bd.p1", 0x0000, 0x010000, CRC(efbed99b) SHA1(62d80248bb666bfb49ed7546936da744e43fa870), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / STC 0.2, set 3)" ) +GAME_CUSTOM( 199?, m4supst__a9, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stc02c.p1", 0x0000, 0x010000, CRC(9d342386) SHA1(b50f64d66d89dbd3dee1ff2cb430a2caa050e7c8), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / STC 0.2, set 4)" ) +GAME_CUSTOM( 199?, m4supst__ba, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stc02d.p1", 0x0000, 0x010000, CRC(c43f6e65) SHA1(0278cf389f8289d7b819125ae0a612c81ea75fab), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / STC 0.2, set 5)" ) +GAME_CUSTOM( 199?, m4supst__bb, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stc02dk.p1", 0x0000, 0x010000, CRC(36576570) SHA1(214a57344d8e161b3dbd07457291ed9bce011842), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / STC 0.2, set 6)" ) +GAME_CUSTOM( 199?, m4supst__bc, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stc02dr.p1", 0x0000, 0x010000, CRC(450c553f) SHA1(46050285eeb10dc368ad501c61d41351c4e2fcde), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / STC 0.2, set 7)" ) +GAME_CUSTOM( 199?, m4supst__bd, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stc02dy.p1", 0x0000, 0x010000, CRC(d8677dd1) SHA1(18abc0a1d28458c3b26a0d1dbf6ca8aba3f3e240), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / STC 0.2, set 8)" ) +GAME_CUSTOM( 199?, m4supst__be, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stc02k.p1", 0x0000, 0x010000, CRC(c6e8d110) SHA1(9e05961b9bba502f52a03de27e608afc52f6c025), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / STC 0.2, set 9)" ) +GAME_CUSTOM( 199?, m4supst__bf, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stc02r.p1", 0x0000, 0x010000, CRC(918d769f) SHA1(2a4438828d9e7efd3a94eaebe56585e7ae23d9d1), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / STC 0.2, set 10)" ) +GAME_CUSTOM( 199?, m4supst__bg, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stc02s.p1", 0x0000, 0x010000, CRC(9c50fff7) SHA1(3468340d2d04cbdecd669817f8a9c4028e301eeb), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / STC 0.2, set 11)" ) +GAME_CUSTOM( 199?, m4supst__bh, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stc02y.p1", 0x0000, 0x010000, CRC(0ce65e71) SHA1(02ae1fd5a41ab5a96ddcfe1cf3e8567561291961), "Barcrest","Super Streak (Barcrest) (MPU4) (CS4 0.2 / STC 0.2, set 12)" ) + +GAME_CUSTOM( 199?, m4stc, m4supst, mod4yam_cheatchr_pal, mpu4, init_m4default, "stc01s", 0x0000, 0x010000, CRC(8371bb8f) SHA1(bd60825b3f5011c218b34f00886b6b54afe61b9f), "Barcrest","Super Streak (Barcrest) (MPU4) (STC 0.1)" ) + +// different protection +// was in SC2 Super Star set, but seems to fit here, ident hacked to "BILL BIXBY" and "V1 0.1" +GAME_CUSTOM( 199?, m4supst__b6, m4supst, mod4yam_bootleg_fixedret<0x46>, mpu4, init_m4default, "supst20.15", 0x0000, 0x010000, CRC(c3446ec4) SHA1(3c1ad27385547a33993a839b53873d8b92214ade), "hack","Super Streak (Barcrest) (MPU4) (hack)" ) + +// different protection style +GAME_CUSTOM( 199?, m4supst__b5, m4supst, mod4yam_bootleg_fixedret<0x52>, mpu4, init_m4default, "supst2515", 0x0000, 0x010000, CRC(c073a249) SHA1(4ae37eb61dd5e50687f433fb89f65b97926b7358), "hack","Super Streak (Barcrest) (MPU4) (STT 0.3, hack)" ) + +// different protection + +// "(C)1998 B.W.B." and "SS2 1.0" +GAME_CUSTOM( 199?, m4supst__b7, m4supst, mod4yam_bootleg_fixedret<0x74>, mpu4, init_m4default, "rhr2pprg.bin", 0x0000, 0x010000, CRC(f97047b2) SHA1(d3ed8c93e405f9e7448b3924ff9aa84223b76046), "hack","Super Streak (Barcrest) (MPU4) (SS2 1.0, hack?)" ) + +ROM_START( m4sstrek ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "rhr2pprgpatched.bin", 0x0000, 0x010000, CRC(a0b3439d) SHA1(0976537a5170bf4c4f595f7fa04243a68f14b2ae) ) +ROM_END +// no sequence +GAME(199?, m4sstrek, m4supst, mod4yam, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, "bootleg","Super Streak (bootleg) (MPU4) (SS2 1.0)",GAME_FLAGS) // unprotected, no characteriser PAL required + + +/***************************************************************************************************************************************************************************** +* +* Fast Forward +* +*****************************************************************************************************************************************************************************/ -// these seem to all be mod4yam, so why is there a sample rom? from another game of the same title? -#define M4VIVALV_EXTRA_ROMS \ - ROM_REGION( 0x080000, "msm6376", 0 ) \ - ROM_LOAD( "vivalasvegas4.bin", 0x0000, 0x080000, CRC(76971425) SHA1(0974a9dce51cc3dd4e26cec11a948c9c8021fde4) ) \ - ROM_REGION( 0x48, "fakechr", 0 ) /* from viva last vegas 'six' set */ \ - ROM_LOAD( "vlvs.chr", 0x0000, 0x000048, CRC(31acf949) SHA1(d622ea1caee968b786f3183ca44355f9db190081) ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ ROM_START( setname ) \ ROM_REGION( length, "maincpu", 0 ) \ ROM_LOAD( name, offset, length, hash ) \ - M4VIVALV_EXTRA_ROMS \ ROM_END \ - GAME(year, setname, parent, mod4yam, mpu4, mpu4_state, init_m4_showstring, ROT0, company, title, GAME_FLAGS ) -GAME_CUSTOM( 199?, m4vivalv, 0, "5p5vivalasvegas6.bin", 0x0000, 0x010000, CRC(4d365b57) SHA1(69ff75ccc91f1f7b867a0914d350d1649834a48e), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4vivalv__a, m4vivalv, "v.las vegas 6 10p 10m.bin", 0x0000, 0x010000, CRC(f09d5a2c) SHA1(6f9df58767e88a1ca7fc7dd17c618d30ab97067d), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4vivalv__b, m4vivalv, "vegas15g", 0x0000, 0x020000, CRC(5b804e4d) SHA1(5967b9f4e28e5a5e5e7005a29ecb30fc661800e0), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4vivalv__c, m4vivalv, "vegas15t", 0x0000, 0x020000, CRC(9d15f44f) SHA1(3a3f2034de9ba56cb2cb18b4898f2829a2019d4e), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4vivalv__e, m4vivalv, "viva05_11", 0x0000, 0x010000, CRC(1e6ea483) SHA1(e6a53eb1bf3b8e661287c0d57fc6ab5ed41755a3), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4vivalv__f, m4vivalv, "viva10_11", 0x0000, 0x010000, CRC(246a39b7) SHA1(c0f5c21374e43b42df5df0ada0967a34ecefbdb4), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4vivalv__g, m4vivalv, "viva20_1.1", 0x0000, 0x010000, CRC(80ea2429) SHA1(e5d258967340fe85dd5baf6ba16f82ce83307b68), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4vivalv__h, m4vivalv, "viva20_11", 0x0000, 0x010000, CRC(51b93018) SHA1(fc13179e3e1939839c3b90d7600a7eb301ea03da), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4vivalv__i, m4vivalv, "viva58c", 0x0000, 0x010000, CRC(719d0802) SHA1(ba6bd5fbf49f0ada383cb2e8faa037b78f6af587), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4vivalv__j, m4vivalv, "viva_05_.4", 0x0000, 0x010000, CRC(b094914f) SHA1(8217b4bb7a8d55fb8e86018ffc520a63f41a79b8), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4vivalv__k, m4vivalv, "viva_05_.8", 0x0000, 0x010000, CRC(c5c09c10) SHA1(47890d0ba1c2ca53231ac148a02f046452dce1b4), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4vivalv__l, m4vivalv, "viva_10_.4", 0x0000, 0x010000, CRC(b1d5e820) SHA1(68012216d7e82168c7468d1e54c527c15d268917), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4vivalv__m, m4vivalv, "viva_10_.8", 0x0000, 0x010000, CRC(f392c81c) SHA1(cb3320b688b315dbc226f45b78490fed439ee9a2), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4vivalv__n, m4vivalv, "viva_20_.4", 0x0000, 0x010000, CRC(e1efc846) SHA1(a4bf7f5c4febe5a71a09e23876387328e1bba87b), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4vivalv__o, m4vivalv, "viva_20_.8", 0x0000, 0x010000, CRC(f538a1fc) SHA1(d0dbd22a1cb4b7ec5bfa304ba544806e01150662), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4vivalv__p, m4vivalv, "vlv208ac", 0x0000, 0x010000, CRC(416535ee) SHA1(f2b0177fecd5076d9d89c819fe9402fc944c8d77), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4vivalv__q, m4vivalv, "vlvad.p1", 0x0000, 0x010000, CRC(88262812) SHA1(f0a31d510c1b06af122df493585c04a49177f06d), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4vivalv__r, m4vivalv, "vlvb.p1", 0x0000, 0x010000, CRC(c4caec15) SHA1(d88c6e081a6bbdd80f773713b038293cabdeee8c), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4vivalv__s, m4vivalv, "vlvc.p1", 0x0000, 0x010000, CRC(4d651ba4) SHA1(7746656f0a9f8af8e265568f7479edef9a2247d9), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4vivalv__t, m4vivalv, "vlvd.p1", 0x0000, 0x010000, CRC(cce926c7) SHA1(8e3a0cef0cbee66d264da5d6dfc7ec2fbdcd9584), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4vivalv__u, m4vivalv, "vlvdy.p1", 0x0000, 0x010000, CRC(6e17cbc8) SHA1(5c69eda0ff6a01d9d0d434ff7ce1ac1e67b16362), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4vivalv__v, m4vivalv, "vlvk.p1", 0x0000, 0x010000, CRC(b5f2157e) SHA1(574f3e2890ac5479790ea92760c6500d37e6637d), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4vivalv__w, m4vivalv, "vlvs.p1", 0x0000, 0x010000, CRC(b7fb3e19) SHA1(c6cc4175f8c100fc37e6e7014b0744054b4e547a), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4vivalv__x, m4vivalv, "vlvy.p1", 0x0000, 0x010000, CRC(3211caf3) SHA1(3634ef11099c2f4938529bb262cc2556ad96a675), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4vivalv__y, m4vivalv, "vv_05___.3_3", 0x0000, 0x010000, CRC(bb8361f6) SHA1(d5f651a66be1cab3662798751a290a65c29bba64), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4vivalv__z, m4vivalv, "vv_05_b_.3_3", 0x0000, 0x010000, CRC(12079321) SHA1(5b5dd55080c04393a45d3ef9c63b6fef5de9b7cd), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4vivalv__0, m4vivalv, "vv_05_d_.3_3", 0x0000, 0x010000, CRC(b758df52) SHA1(f4d47a93fa1b1deb84654bb2272767093f3463c2), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4vivalv__1, m4vivalv, "vv_05_k_.3_3", 0x0000, 0x010000, CRC(9875c59c) SHA1(c31a7fc5df8af9d931353bc095a59befe808434b), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4vivalv__2, m4vivalv, "vv_05a__.3_3", 0x0000, 0x010000, CRC(0f416e47) SHA1(54338fbef5f227c440c04448b51e8f0ec04a4cc7), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 30)" ) -GAME_CUSTOM( 199?, m4vivalv__3, m4vivalv, "vv_10___.3_3", 0x0000, 0x010000, CRC(dc8db002) SHA1(305547b4f0b1e1bde9354e5ed9f18f99c6829cab), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 31)" ) -GAME_CUSTOM( 199?, m4vivalv__4, m4vivalv, "vv_10_b_.3_3", 0x0000, 0x010000, CRC(e1c4b292) SHA1(4516c7d918935862824e206626a5a24f936ec514), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 32)" ) -GAME_CUSTOM( 199?, m4vivalv__5, m4vivalv, "vv_10_d_.3_3", 0x0000, 0x010000, CRC(e9dda1ee) SHA1(6363b5b26be22cb1f5aac71e98c5e5a5064839f4), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 33)" ) -GAME_CUSTOM( 199?, m4vivalv__6, m4vivalv, "vv_10_k_.3_3", 0x0000, 0x010000, CRC(70fc4c56) SHA1(02cbaadd3575ef0d9dc192aabbe39a735893a662), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 34)" ) -GAME_CUSTOM( 199?, m4vivalv__7, m4vivalv, "vv_10a__.3_3", 0x0000, 0x010000, CRC(c908d65a) SHA1(5af180e697c22c27380e275d76708103e298cf41), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 35)" ) -GAME_CUSTOM( 199?, m4vivalv__8, m4vivalv, "vvi05___.3_3", 0x0000, 0x010000, CRC(a5829d5c) SHA1(4cd1a2185579898db7be75f8c3f565043f0691b6), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 36)" ) + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +GAME_CUSTOM( 199?, m4fastfw, 0, "ffo05__1.0", 0x0000, 0x010000, CRC(8b683969) SHA1(7469b551e4d6f65550d54ee39b2bac07cf3dbd4b), "Bwb / Barcrest","Fast Forward (Barcrest) (MPU4) (SFF 3.0, set 1)" ) +GAME_CUSTOM( 199?, m4fastfw__a, m4fastfw, "ffo10__1.0", 0x0000, 0x010000, CRC(294288fd) SHA1(87d25f6333b6862fcc57a550b5cc7c0bc64e72cd), "Bwb / Barcrest","Fast Forward (Barcrest) (MPU4) (SFF 3.0, set 2)" ) +GAME_CUSTOM( 199?, m4fastfw__b, m4fastfw, "ffo10d_1.0", 0x0000, 0x010000, CRC(8d96f3d4) SHA1(2070a335cfa3f9de1bd9e9094d91cce81b91347d), "Bwb / Barcrest","Fast Forward (Barcrest) (MPU4) (SFF 3.0, set 3)" ) +GAME_CUSTOM( 199?, m4fastfw__c, m4fastfw, "ffo20__1.0", 0x0000, 0x010000, CRC(9528291e) SHA1(61c0eb8ce955f708e8a68a28f253706267e28254), "Bwb / Barcrest","Fast Forward (Barcrest) (MPU4) (SFF 3.0, set 4)" ) +GAME_CUSTOM( 199?, m4fastfw__d, m4fastfw, "ffo20d_1.0", 0x0000, 0x010000, CRC(5bae35fe) SHA1(7e4d61ed97ddd170bd1424f34d0327093668da3f), "Bwb / Barcrest","Fast Forward (Barcrest) (MPU4) (SFF 3.0, set 5)" ) +GAME_CUSTOM( 199?, m4fastfw__e, m4fastfw, "ffo20dy1.0", 0x0000, 0x010000, CRC(37167d46) SHA1(94b87697615f81b746ce3bcc64fc893f865e00dc), "Bwb / Barcrest","Fast Forward (Barcrest) (MPU4) (SFF 3.0, set 6)" ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod4yam_bootleg_fixedret<0x80>, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + + +// different protection style, has (C)1993 BYTEFREE, reads from 811 on startup, and 821 later, but only check on 806 matters? +GAME_CUSTOM( 199?, m4fastfw__f, m4fastfw, "fastf206", 0x0000, 0x010000, CRC(a830b121) SHA1(0bf813ee75bd8e109e6688b91bd0983d341a6695), "hack","Fast Forward (Barcrest) (MPU4) (FFD 1.0, hack)" ) + + +/***************************************************************************************************************************************************************************** +* +* Viva Las Vegas +* +*****************************************************************************************************************************************************************************/ + +// This ROM was included in the sets, but it appears to be a 68k family (not plain 68000) program ROM, and has a (c)1998 MAB Systems in it, it does not belong here +// ROM_LOAD( "vivalasvegas4.bin", 0x0000, 0x080000, CRC(76971425) SHA1(0974a9dce51cc3dd4e26cec11a948c9c8021fde4) ) + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, machine, inputs, mpu4mod4yam_machines_state, init, ROT0, company, title, GAME_FLAGS ) + +// "(C)1991 BARCREST" and "VLV 1.1" +GAME_CUSTOM( 199?, m4vivalv, 0, mod4yam_cheatchr_pal, mpu4, init_m4default, "vlvs.p1", 0x0000, 0x010000, CRC(b7fb3e19) SHA1(c6cc4175f8c100fc37e6e7014b0744054b4e547a), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.1, set 7)" ) +GAME_CUSTOM( 199?, m4vivalv__a, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vlvad.p1", 0x0000, 0x010000, CRC(88262812) SHA1(f0a31d510c1b06af122df493585c04a49177f06d), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.1, set 1)" ) +GAME_CUSTOM( 199?, m4vivalv__b, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vlvb.p1", 0x0000, 0x010000, CRC(c4caec15) SHA1(d88c6e081a6bbdd80f773713b038293cabdeee8c), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.1, set 2)" ) +GAME_CUSTOM( 199?, m4vivalv__c, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vlvc.p1", 0x0000, 0x010000, CRC(4d651ba4) SHA1(7746656f0a9f8af8e265568f7479edef9a2247d9), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.1, set 3)" ) +GAME_CUSTOM( 199?, m4vivalv__d, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vlvd.p1", 0x0000, 0x010000, CRC(cce926c7) SHA1(8e3a0cef0cbee66d264da5d6dfc7ec2fbdcd9584), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.1, set 4)" ) +GAME_CUSTOM( 199?, m4vivalv__e, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vlvdy.p1", 0x0000, 0x010000, CRC(6e17cbc8) SHA1(5c69eda0ff6a01d9d0d434ff7ce1ac1e67b16362), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.1, set 5)" ) +GAME_CUSTOM( 199?, m4vivalv__f, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vlvk.p1", 0x0000, 0x010000, CRC(b5f2157e) SHA1(574f3e2890ac5479790ea92760c6500d37e6637d), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.1, set 6)" ) +GAME_CUSTOM( 199?, m4vivalv__g, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vlvy.p1", 0x0000, 0x010000, CRC(3211caf3) SHA1(3634ef11099c2f4938529bb262cc2556ad96a675), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.1, set 8)" ) // "(C)1991 BARCREST" and "VLV 1.0" -GAME_CUSTOM( 199?, m4vivalv__9, m4vivalv, "viva206", 0x0000, 0x010000, CRC(76ab9a5d) SHA1(455699cbc05f744eafe58881a8fb120b24cfe5c8), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (set 37)" ) +GAME_CUSTOM( 199?, m4vivalv__h, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "viva206", 0x0000, 0x010000, CRC(76ab9a5d) SHA1(455699cbc05f744eafe58881a8fb120b24cfe5c8), "Barcrest","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.0)" ) +// (C)1993 B.W.B. and "VL_ 2.0" - boots with cheatchr +GAME_CUSTOM( 199?, m4vivalv__i, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "v.las vegas 6 10p 10m.bin", 0x0000, 0x010000, CRC(f09d5a2c) SHA1(6f9df58767e88a1ca7fc7dd17c618d30ab97067d), "Bwb","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, set 1)" ) +GAME_CUSTOM( 199?, m4vivalv__j, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vv_05___.3_3", 0x0000, 0x010000, CRC(bb8361f6) SHA1(d5f651a66be1cab3662798751a290a65c29bba64), "Bwb","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, set 2)" ) +GAME_CUSTOM( 199?, m4vivalv__k, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vv_05_b_.3_3", 0x0000, 0x010000, CRC(12079321) SHA1(5b5dd55080c04393a45d3ef9c63b6fef5de9b7cd), "Bwb","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, set 3)" ) +GAME_CUSTOM( 199?, m4vivalv__l, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vv_05_d_.3_3", 0x0000, 0x010000, CRC(b758df52) SHA1(f4d47a93fa1b1deb84654bb2272767093f3463c2), "Bwb","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, set 4)" ) +GAME_CUSTOM( 199?, m4vivalv__m, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vv_05_k_.3_3", 0x0000, 0x010000, CRC(9875c59c) SHA1(c31a7fc5df8af9d931353bc095a59befe808434b), "Bwb","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, set 5)" ) +GAME_CUSTOM( 199?, m4vivalv__n, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vv_05a__.3_3", 0x0000, 0x010000, CRC(0f416e47) SHA1(54338fbef5f227c440c04448b51e8f0ec04a4cc7), "Bwb","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, set 6)" ) +GAME_CUSTOM( 199?, m4vivalv__o, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vv_10___.3_3", 0x0000, 0x010000, CRC(dc8db002) SHA1(305547b4f0b1e1bde9354e5ed9f18f99c6829cab), "Bwb","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, set 7)" ) +GAME_CUSTOM( 199?, m4vivalv__p, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vv_10_b_.3_3", 0x0000, 0x010000, CRC(e1c4b292) SHA1(4516c7d918935862824e206626a5a24f936ec514), "Bwb","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, set 8)" ) +GAME_CUSTOM( 199?, m4vivalv__q, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vv_10_d_.3_3", 0x0000, 0x010000, CRC(e9dda1ee) SHA1(6363b5b26be22cb1f5aac71e98c5e5a5064839f4), "Bwb","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, set 9)" ) +GAME_CUSTOM( 199?, m4vivalv__r, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vv_10_k_.3_3", 0x0000, 0x010000, CRC(70fc4c56) SHA1(02cbaadd3575ef0d9dc192aabbe39a735893a662), "Bwb","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, set 10)" ) +GAME_CUSTOM( 199?, m4vivalv__s, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vv_10a__.3_3", 0x0000, 0x010000, CRC(c908d65a) SHA1(5af180e697c22c27380e275d76708103e298cf41), "Bwb","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, set 11)" ) +GAME_CUSTOM( 199?, m4vivalv__t, m4vivalv, mod4yam_cheatchr_pal, mpu4, init_m4default, "vvi05___.3_3", 0x0000, 0x010000, CRC(a5829d5c) SHA1(4cd1a2185579898db7be75f8c3f565043f0691b6), "Bwb","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, set 12)" ) + +// "(C)1991 BARCREST" and "VLV 1.0" but different protection, hacks / bootlegs +// this one is unusual, the 2nd and 3rd checks expect different values, or you get scrambled lamps, usually they want the same +GAME_CUSTOM( 199?, m4vivalv__u, m4vivalv, mod4yam_bootleg_fixedret<0x5a>, mpu4, init_m4default_806prot, "viva20_1.1", 0x0000, 0x010000, CRC(80ea2429) SHA1(e5d258967340fe85dd5baf6ba16f82ce83307b68), "hack?","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.0, hack?, set 1)" ) +// these expect the same for each test +GAME_CUSTOM( 199?, m4vivalv__w, m4vivalv, mod4yam_bootleg_fixedret<0x6a>, mpu4, init_m4default, "viva_20_.4", 0x0000, 0x010000, CRC(e1efc846) SHA1(a4bf7f5c4febe5a71a09e23876387328e1bba87b), "hack?","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.0, hack?, set 3)" ) +GAME_CUSTOM( 199?, m4vivalv__x, m4vivalv, mod4yam_bootleg_fixedret<0x6a>, mpu4, init_m4default, "viva_20_.8", 0x0000, 0x010000, CRC(f538a1fc) SHA1(d0dbd22a1cb4b7ec5bfa304ba544806e01150662), "hack?","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.0, hack?, set 4)" ) +GAME_CUSTOM( 199?, m4vivalv__y, m4vivalv, mod4yam_bootleg_fixedret<0x6a>, mpu4, init_m4default, "vlv208ac", 0x0000, 0x010000, CRC(416535ee) SHA1(f2b0177fecd5076d9d89c819fe9402fc944c8d77), "hack?","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.0, hack?, set 5)" ) +GAME_CUSTOM( 199?, m4vivalv__v, m4vivalv, mod4yam_bootleg_fixedret<0x5a>, mpu4, init_m4default, "viva20_11", 0x0000, 0x010000, CRC(51b93018) SHA1(fc13179e3e1939839c3b90d7600a7eb301ea03da), "hack?","Viva Las Vegas (Barcrest) (MPU4) (VLV 1.0, hack?, set 2)" ) + +// no copyright string, "VL_ 2.0", hack +GAME_CUSTOM( 199?, m4vivalv__z, m4vivalv, mod4yam_bootleg_fixedret<0x38>, mpu4, init_m4default, "5p5vivalasvegas6.bin", 0x0000, 0x010000, CRC(4d365b57) SHA1(69ff75ccc91f1f7b867a0914d350d1649834a48e), "hack?","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, hack?, set 1)" ) +GAME_CUSTOM( 199?, m4vivalv__0, m4vivalv, mod4yam_bootleg_fixedret<0x5c>, mpu4, init_m4default, "viva05_11", 0x0000, 0x010000, CRC(1e6ea483) SHA1(e6a53eb1bf3b8e661287c0d57fc6ab5ed41755a3), "hack?","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, hack?, set 2)" ) +GAME_CUSTOM( 199?, m4vivalv__1, m4vivalv, mod4yam_bootleg_fixedret<0x12>, mpu4, init_m4default, "viva10_11", 0x0000, 0x010000, CRC(246a39b7) SHA1(c0f5c21374e43b42df5df0ada0967a34ecefbdb4), "hack?","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, hack?, set 3)" ) +GAME_CUSTOM( 199?, m4vivalv__2, m4vivalv, mod4yam_bootleg_fixedret<0x28>, mpu4, init_m4default, "viva58c", 0x0000, 0x010000, CRC(719d0802) SHA1(ba6bd5fbf49f0ada383cb2e8faa037b78f6af587), "hack?","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, hack?, set 4)" ) +GAME_CUSTOM( 199?, m4vivalv__3, m4vivalv, mod4yam_bootleg_fixedret<0x28>, mpu4, init_m4default, "viva_05_.4", 0x0000, 0x010000, CRC(b094914f) SHA1(8217b4bb7a8d55fb8e86018ffc520a63f41a79b8), "hack?","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, hack?, set 5)" ) +GAME_CUSTOM( 199?, m4vivalv__4, m4vivalv, mod4yam_bootleg_fixedret<0x28>, mpu4, init_m4default, "viva_05_.8", 0x0000, 0x010000, CRC(c5c09c10) SHA1(47890d0ba1c2ca53231ac148a02f046452dce1b4), "hack?","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, hack?, set 6)" ) +GAME_CUSTOM( 199?, m4vivalv__5, m4vivalv, mod4yam_bootleg_fixedret<0x66>, mpu4, init_m4default, "viva_10_.4", 0x0000, 0x010000, CRC(b1d5e820) SHA1(68012216d7e82168c7468d1e54c527c15d268917), "hack?","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, hack?, set 7)" ) +GAME_CUSTOM( 199?, m4vivalv__6, m4vivalv, mod4yam_bootleg_fixedret<0x66>, mpu4, init_m4default, "viva_10_.8", 0x0000, 0x010000, CRC(f392c81c) SHA1(cb3320b688b315dbc226f45b78490fed439ee9a2), "hack?","Viva Las Vegas (Bwb) (MPU4) (VL_ 2.0, hack ? , set 8)" ) -GAME(199?, m4stc, 0, mod4yam, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","unknown MPU4 'STC 0.1' (Barcrest) (MPU4)",GAME_FLAGS) -GAME(199?, m4sstrek, m4supst, mod4yam, mpu4, mpu4_state, init_m4default, ROT0, "bootleg","Super Streak (bootleg) (MPU4)",GAME_FLAGS) -GAME(199?, m4joljokd, m4joljok, mod4yam, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Jolly Joker (Barcrest) [Dutch] (MPU4) (DJJ)",GAME_FLAGS) -GAME(199?, m4clbshf, 0, mod4yam, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Club Shuffle (Barcrest) (MPU4)",GAME_FLAGS) // set stake -GAME(199?, m4voodoo, 0, mod4yam, mpu4, mpu4_state, init_m4altreels, ROT0, "Barcrest","Voodoo 1000 (Barcrest) (Dutch) (MPU4) (DDO 3.2)",GAME_FLAGS ) -GAME(199?, m4graffd, m4graff, mod4yam, mpu4, mpu4_state, init_m4default, ROT0, "Barcrest","Grafitti (Barcrest) [Dutch] (MPU4)",GAME_FLAGS ) + +/***************************************************************************************************************************************************************************** +* +* Super Hyper Viper +* +*****************************************************************************************************************************************************************************/ + +// These were mixed in Hyper Viper and Super Hyper Viper sets +// Super Hyper Viper is the MPU4 version, while the original game ran on MPU3? + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent, machine, inputs, init, name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, machine, inputs, mpu4mod4yam_machines_state, init, ROT0, company, title, GAME_FLAGS ) + +// "(C)1993 B.W.B." and "HVP 3.0" +GAME_CUSTOM( 199?, m4shv__h, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hvyp10p", 0x0000, 0x010000, CRC(b4af635a) SHA1(420cdf3a6899e432d74e3b10a57414cbedc0913e), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 1)" ) +GAME_CUSTOM( 199?, m4shv__i, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hv_05___.3h3", 0x0000, 0x010000, CRC(13bfa891) SHA1(ffddd14a019d52029bf8d4f680d8d05413a9f0b7), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 2)" ) +GAME_CUSTOM( 199?, m4shv__j, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hv_05_d_.3h3", 0x0000, 0x010000, CRC(50c66ce8) SHA1(ef12525fc3ac82caf80326edaac81bb9fbc3245c), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 3)" ) +GAME_CUSTOM( 199?, m4shv__k, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hv_10___.3h3", 0x0000, 0x010000, CRC(627caac7) SHA1(4851ce2441850743ea68ecbf89bde3f4cd6c2b4c), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 4)" ) +GAME_CUSTOM( 199?, m4shv__l, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hv_10_d_.3h3", 0x0000, 0x010000, CRC(15cfa26e) SHA1(6bc3feaba65d1797b9945f23a89e983f56b13f79), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 5)" ) +GAME_CUSTOM( 199?, m4shv__m, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hv_10_d_.3n3", 0x0000, 0x010000, CRC(b81f1d0a) SHA1(5fd293be2b75393069c9f5e099b4700ff930f081), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 6)" ) +GAME_CUSTOM( 199?, m4shv__n, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hvi05___.3h3", 0x0000, 0x010000, CRC(6959332e) SHA1(edaa5f86ad4389b0a3bc2e6679fe8f62520be3ae), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 7)" ) +GAME_CUSTOM( 199?, m4shv__o, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hvi10___.3h3", 0x0000, 0x010000, CRC(6c1b4b89) SHA1(e8eb4e689d43c5b9e8354aa7375ca3ba12ed1160), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 8)" ) +GAME_CUSTOM( 199?, m4shv__p, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hvi10___.3n3", 0x0000, 0x010000, CRC(9d95cf8c) SHA1(26daf3975e1e3a605bc4392700c5470b52450d6e), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 9)" ) +// "(C)1994 B.W.B." and "HVP 3.0" +GAME_CUSTOM( 199?, m4shv__q, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "h.viper10p610m.bin", 0x0000, 0x010000, CRC(104b0c48) SHA1(ab4cdb596a0cfb877ed1b6bf801e4a759b53971f), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, C)" ) +GAME_CUSTOM( 199?, m4shv__r, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hvyp56c", 0x0000, 0x010000, CRC(297d3cf8) SHA1(78f4de2ed69fb38b944a54d4d5927ff791e7876c), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, C, bad?)" ) // bad rom? checksum alarm +GAME_CUSTOM( 199?, m4shv__s, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hv_05___.3o3", 0x0000, 0x010000, CRC(9ae86366) SHA1(614ae0ab184645c9f568796783f29a177eda3208), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 1)" ) +GAME_CUSTOM( 199?, m4shv__t, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hv_05_d_.3o3", 0x0000, 0x010000, CRC(87dfca0e) SHA1(3ab4105680acc46d3633a722f40ff1af0a520a7f), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 2)" ) +GAME_CUSTOM( 199?, m4shv__u, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hv_10___.3o3", 0x0000, 0x010000, CRC(02e4d86a) SHA1(47aa83e8bcd85e8ba7fb972cdd1ead7fe21e0418), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 3)" ) +GAME_CUSTOM( 199?, m4shv__v, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hv_10_d_.3o3", 0x0000, 0x010000, CRC(85f176b9) SHA1(30380d58bf2834829764cbdbdc7d950632e61e6d), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 4)" ) +GAME_CUSTOM( 199?, m4shv__w, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hvi05___.3o3", 0x0000, 0x010000, CRC(cdba80a5) SHA1(6c9fac7e5ee324b18922cc7a053495f1977bcb6d), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 5)" ) +// "(C)1993 B.W.B." and "HVP 4.0" +GAME_CUSTOM( 199?, m4shv__x, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hv_05___.4n3", 0x0000, 0x010000, CRC(f607f351) SHA1(d7b779b80fa964a27b106bd9d5ca3be16a11d5e9), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 4.0, set 1)" ) +GAME_CUSTOM( 199?, m4shv__y, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hv_05_d_.4n3", 0x0000, 0x010000, CRC(f4d702d7) SHA1(268c7f6443c7ae587caf5b227fcd438530a06bcc), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 4.0, set 2)" ) +GAME_CUSTOM( 199?, m4shv__z, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hvi05___.4n3", 0x0000, 0x010000, CRC(38a33c2b) SHA1(21004092b81e08146291fd3a025652f0edbe47dc), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVP 4.0, set 3)" ) +// "(C)1991 BARCREST" and "H6Y 0.3" +GAME_CUSTOM( 199?, m4shv, 0, mod4yam_cheatchr_pal, mpu4, init_m4default, "h6ys.p1", 0x0000, 0x010000, CRC(4af914ff) SHA1(3d9b7c65ec1129ee64e3f4e14e43e4c39c76166b), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, set 1)" ) +GAME_CUSTOM( 199?, m4shv__a, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "h6yc.p1", 0x0000, 0x010000, CRC(8faca3bc) SHA1(9d666371f1118ccb1a94bfc4e6c79b540a84842b), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (H6Y 0.3 C)" ) +GAME_CUSTOM( 199?, m4shv__b, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "h6yd.p1", 0x0000, 0x010000, CRC(862e7f5b) SHA1(2f5bbc31978fb9fd0ba17f0de220152da87cf06f), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (H6Y 0.3 D)" ) +GAME_CUSTOM( 199?, m4shv__c, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "h6yk.p1", 0x0000, 0x010000, CRC(51f43c88) SHA1(d6ee4f537d09b33e9b13c972e1bda01a28f54f8e), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (H6Y 0.3 K)" ) +GAME_CUSTOM( 199?, m4shv__d, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "h6yy.p1", 0x0000, 0x010000, CRC(bed4b3bb) SHA1(7c592fbc6541c03777ff0498db90c575b3193222), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (H6Y 0.3 Y)" ) +GAME_CUSTOM( 199?, m4shv__e, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hyperviper.bin", 0x0000, 0x010000, CRC(8373f6a3) SHA1(79bff20ab80ffe11447595c6fe8e5ab90d432e17), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, set 2)" ) // hack? +// "(C)1991 BARCREST" and "H6Y 0.2" +GAME_CUSTOM( 199?, m4shv__f, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default, "hvypr206", 0x0000, 0x010000, CRC(e1d96b8c) SHA1(e21b1bdbca1bae41f0e7274e3521f99eb984759e), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (H6Y 0.2 Y)" ) + // "(C)1995 B.W.B." and "HVC 1.0" +GAME_CUSTOM( 199?, m4shv__g, m4shv, mod4yam_cheatchr_pal, mpu4, init_m4default,"5p4hypervyper.bin", 0x0000, 0x010000, CRC(51ac9288) SHA1(1580079b6e710506ab03e1d8a89af65cd06cedd2), "Bwb","Super Hyper Viper (Barcrest) (MPU4) (HVC 1.0 C)" ) + +// different protection +// no copyright string and "HVP 3.0" +GAME_CUSTOM( 199?, m4shv__0, m4shv, mod4yam_bootleg_fixedret<0xb1>, mpu4, init_m4default, "hv056c", 0x0000, 0x010000, CRC(91dcef99) SHA1(8fb6245fa8731b58799c0d2edc0e6c6942984a6f), "hack","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 1)" ) +GAME_CUSTOM( 199?, m4shv__1, m4shv, mod4yam_bootleg_fixedret<0x65>, mpu4, init_m4default, "hv05_101", 0x0000, 0x010000, CRC(e1fa633d) SHA1(3f446c3396142631141cf85db507f3ae288847e3), "hack","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 2)" ) +GAME_CUSTOM( 199?, m4shv__2, m4shv, mod4yam_bootleg_fixedret<0x15>, mpu4, init_m4default, "hyp55", 0x0000, 0x010000, CRC(07bd7455) SHA1(0d0a017c90e8d28500594f55c9a60dfc08aff5c3), "hack","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 3)" ) +GAME_CUSTOM( 199?, m4shv__3, m4shv, mod4yam_bootleg_fixedret<0x11>, mpu4, init_m4default, "hypr58c", 0x0000, 0x010000, CRC(d6028f8f) SHA1(54a3188ddb5196808a1161a0e1e6a8c1fe8bfde3), "hack","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 4)" ) +GAME_CUSTOM( 199?, m4shv__4, m4shv, mod4yam_bootleg_fixedret<0x11>, mpu4, init_m4default, "hypv_05_.4", 0x0000, 0x010000, CRC(246f171c) SHA1(7bbefb0cae57cf8097aa6d033df1a428e8bfe744), "hack","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 5)" ) +GAME_CUSTOM( 199?, m4shv__5, m4shv, mod4yam_bootleg_fixedret<0x11>, mpu4, init_m4default, "hvip_05_.8", 0x0000, 0x010000, CRC(625f1b9d) SHA1(f8dc0cde774f3fc4fb3d66d014ad47e9576c0f44), "hack","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, hack, set 1)" ) +// "DICK WAS ERE" and "HVP 3.0" +GAME_CUSTOM( 199?, m4shv__6, m4shv, mod4yam_bootleg_fixedret<0x5b>, mpu4, init_m4default, "hv108c", 0x0000, 0x010000, CRC(4d40ebfe) SHA1(0e355fe5b185ba595c5040335956037b8ed21599), "hack","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 6)" ) +GAME_CUSTOM( 199?, m4shv__8, m4shv, mod4yam_bootleg_fixedret<0x5b>, mpu4, init_m4default, "hypv_10_.4", 0x0000, 0x010000, CRC(f85d21a1) SHA1(55ed92147335a1471b7b443f68dd700f579d21f3), "hack","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 8)" ) +GAME_CUSTOM( 199?, m4shv__9, m4shv, mod4yam_bootleg_fixedret<0x5b>, mpu4, init_m4default, "hvip_10_.8", 0x0000, 0x010000, CRC(f91d7fec) SHA1(4c8130f9ce0ee3b14744e2b3cab79d4a65767e78), "hack","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0, hack, set 2)" ) +GAME_CUSTOM( 199?, m4shv__7, m4shv, mod4yam_bootleg_fixedret<0x6b>, mpu4, init_m4default, "hv10_101", 0x0000, 0x010000, CRC(57714454) SHA1(de99f5a66081191a7280c54e875fd17cc94e111b), "hack","Super Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 7)" ) +// "(C)1991 BARCREST" and "H6Y 0.3" (but hack, doesn't want usual characterizer) +GAME_CUSTOM( 199?, m4shv__10, m4shv, mod4yam_bootleg_fixedret<0x7a>, mpu4, init_m4default, "hv20_101", 0x0000, 0x010000, CRC(b2ab79c9) SHA1(fd097b5b062d725fa0607117d6b52be6cbf7e597), "hack","Super Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, hack, set 1)" ) +GAME_CUSTOM( 199?, m4shv__11, m4shv, mod4yam_bootleg_fixedret<0x4a>, mpu4, init_m4default, "hvip_20_.8", 0x0000, 0x010000, CRC(61a608c7) SHA1(1ed98c8bd90a3a789ba00b6b39f49e3aa0fcb1ca), "hack","Super Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, hack, set 2)" ) +GAME_CUSTOM( 199?, m4shv__12, m4shv, mod4yam_bootleg_fixedret<0x4a>, mpu4, init_m4default, "hypv_20_.4", 0x0000, 0x010000, CRC(27a0162b) SHA1(2d1342edbfa29c4f2ee1f1a825f3eeb0489fbaf5), "hack","Super Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, hack, set 3)" ) + + +/***************************************************************************************************************************************************************************** +* +* Hyper Viper Club +* +*****************************************************************************************************************************************************************************/ + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// "(C)1991 BARCREST" and "HPC 0.5" +GAME_CUSTOM( 199?, m4hypclb, 0, "hpcs.p1", 0x0000, 0x010000, CRC(55601e10) SHA1(78c3f13cd122e86ff8b7750b375c26e56c6b27c6), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (HPC 0.5)" ) +GAME_CUSTOM( 199?, m4hypclb__c, m4hypclb, "hpcd.p1", 0x0000, 0x010000, CRC(7fac8944) SHA1(32f0f16ef6c4b99fe70464341a1ce226f6221122), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (HPC 0.5 D)" ) +GAME_CUSTOM( 199?, m4hypclb__a, m4hypclb, "hpcf.p1", 0x0000, 0x010000, CRC(2931a558) SHA1(2f7fe541edc502738dd6603435deaef1cb26a1e2), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (HPC 0.5 F)" ) +GAME_CUSTOM( 199?, m4hypclb__b, m4hypclb, "hpcfd.p1", 0x0000, 0x010000, CRC(b127e577) SHA1(da034086bb92934f73d1a2be776f91462274479d), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (HPC 0.5 FD)" ) + + +/***************************************************************************************************************************************************************************** +* +* Ghost Buster +* +*****************************************************************************************************************************************************************************/ + +// code crashes, why? are the alarms buggy? + +#undef GAME_CUSTOM +#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ + ROM_START( setname ) \ + ROM_REGION( length, "maincpu", 0 ) \ + ROM_LOAD( name, offset, length, hash ) \ + ROM_END \ + GAME(year, setname, parent, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, company, title, GAME_FLAGS ) + +// some of these ROMs (the non-D ones?) contain a 'Barcrest Video' string, why? there's no footage to support it being a video game + +// "(C)1994 B.W.B." and "GB 5.0" +GAME_CUSTOM( 199?, m4gbust, 0, "gb_05___.4s3", 0x0000, 0x010000, CRC(e2227701) SHA1(271682c7bf6e0f6f49f6d6b138aa19b6ef6bc626), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 5.0)" ) +// "(C)1994 B.W.B." and "GB 4.0" +GAME_CUSTOM( 199?, m4gbust__d, m4gbust, "gb_05___.4a3", 0x0000, 0x010000, CRC(8be6949e) SHA1(9731a1cb0d17c3cec2bec263cd6348f05662d917), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 4.0, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__e, m4gbust, "gb_05___.4n3", 0x0000, 0x010000, CRC(621b25f0) SHA1(bf699068284def8bad9143c5841f667f2cb6f20f), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 4.0, set 2)" ) +GAME_CUSTOM( 199?, m4gbust__g, m4gbust, "gb_05_d_.4a3", 0x0000, 0x010000, CRC(a1b2b32f) SHA1(c1504b3768920f90dbd441b9d50db9676528ca97), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 4.0 D)" ) +// "(C)1994 B.W.B." and "GB 3.0" +GAME_CUSTOM( 199?, m4gbust__b, m4gbust, "gb_02___.3n3", 0x0000, 0x010000, CRC(99514ddd) SHA1(432d484525867c6ad68cd93a4bfded4dba36cf56), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0, 1994, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__a, m4gbust, "gb_02___.3a3", 0x0000, 0x010000, CRC(2b9d94b6) SHA1(ca433240f9e926cdf5240209589951e6018a496a), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0, 1994, set 2)" ) +// "(C)1994 B.W.B." and "GB 2.0" +GAME_CUSTOM( 199?, m4gbust__c, m4gbust, "gb_02___.3s3", 0x0000, 0x010000, CRC(2634aa5f) SHA1(58ab973940138bdfd2690867e2ac3eb52bffb633), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, 1994)" ) +// "(C)1993 B.W.B." and "GB 3.0" +GAME_CUSTOM( 199?, m4gbust__j, m4gbust, "gb_10___.3s3", 0x0000, 0x010000, CRC(427e043b) SHA1(2f64c11a04306692ac5eb9919892f7226156dce0), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__p, m4gbust, "gb_20___.3s3", 0x0000, 0x010000, CRC(4a86d879) SHA1(72e92b6482fdeb4dca36d9426a712ac24d60f7f7), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0, set 2)" ) +GAME_CUSTOM( 199?, m4gbust__n, m4gbust, "gb_10_d_.3s3", 0x0000, 0x010000, CRC(776736de) SHA1(4f80d9ffdf4468801cf830e9774b6028f7684864), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0 D, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__v, m4gbust, "gb_20_d_.3s3", 0x0000, 0x010000, CRC(4fc69155) SHA1(09a0f2122893d9fd90204a74c8862e01386503a4), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0 D, set 2)" ) +GAME_CUSTOM( 199?, m4gbust__k, m4gbust, "gb_10_b_.3s3", 0x0000, 0x010000, CRC(091afb66) SHA1(ac32d7be1e1f4f1453e37017966990a481506024), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0 YD, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__s, m4gbust, "gb_20_b_.3s3", 0x0000, 0x010000, CRC(1a7cc3cf) SHA1(0d5764d35489bde284965c197b217a06f26a3e3b), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0 YD, set 2)" ) +// "(C)1993 B.W.B." and "GB 2.0" +GAME_CUSTOM( 199?, m4gbust__f, m4gbust, "gb_02___.2n3", 0x0000, 0x010000, CRC(973b3538) SHA1(31df04d9f35cbde4d5e395256927f146d1613178), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__i, m4gbust, "gb_10___.2n3", 0x0000, 0x010000, CRC(de18c441) SHA1(5a7055fcd755c1ac58e1b94af243801f169f29f5), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 2)" ) +GAME_CUSTOM( 199?, m4gbust__o, m4gbust, "gb_20___.2n3", 0x0000, 0x010000, CRC(27fc2ee1) SHA1(2e6a042f7117b4594b2601ae166ee0db72c70ed5), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 3)" ) +GAME_CUSTOM( 199?, m4gbust__h, m4gbust, "gb_10___.2a3", 0x0000, 0x010000, CRC(a5c692f3) SHA1(8305c88ab8b80b407f4723df25135c25a4c0794f), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 4)" ) +GAME_CUSTOM( 199?, m4gbust__w, m4gbust, "ghostbusters 2p.bin", 0x0000, 0x010000, CRC(abb288c4) SHA1(2012e027711996a552ab59674ae3bce1bf14f44b), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 5)" ) +GAME_CUSTOM( 199?, m4gbust__m, m4gbust, "gb_10_d_.2n3", 0x0000, 0x010000, CRC(cac5057d) SHA1(afcc21dbd07515ed134675b7dbfb53c048a465b0), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0 D, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__u, m4gbust, "gb_20_d_.2n3", 0x0000, 0x010000, CRC(431c2965) SHA1(eb24e560d5c4bf419465fc760621a4fa853fff95), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0 D, set 2)" ) +GAME_CUSTOM( 199?, m4gbust__l, m4gbust, "gb_10_d_.2a3", 0x0000, 0x010000, CRC(f1446bf5) SHA1(4011d60e13045476741c5a02c64dabbe6a1ae2d6), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0 D, set 3)" ) +GAME_CUSTOM( 199?, m4gbust__t, m4gbust, "gb_20_d_.2a3", 0x0000, 0x010000, CRC(70f40688) SHA1(ed14f8f460825ffa087394ef5984ae064e02f7b6), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0 D, set 4)" ) +GAME_CUSTOM( 199?, m4gbust__r, m4gbust, "gb_20_b_.2n3", 0x0000, 0x010000, CRC(28cbb217) SHA1(a74978ff5e1511a33f543006b3f8ad30a77ea462), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0 YD, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__q, m4gbust, "gb_20_b_.2a3", 0x0000, 0x010000, CRC(4dd7d38f) SHA1(8a71c27189ec3089c016a8292db68f7cdc91b083), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0 YD, set 2)" ) + + +/***************************************************************************************************************************************************************************** +* +* Misc Other Sets +* +*****************************************************************************************************************************************************************************/ + +ROM_START( m4tst ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD( "ut4.p1", 0xC000, 0x4000, CRC(086dc325) SHA1(923caeb61347ac9d3e6bcec45998ddf04b2c8ffd)) +ROM_END + +ROM_START( m4joljokd ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "djj15.bin", 0x0000, 0x010000, CRC(155cb134) SHA1(c1026effeceba131df9681afd91ccd6fb43b738a) ) +ROM_END + +ROM_START( m4clbshf ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "csss.p1", 0x0000, 0x010000, CRC(32dd9b96) SHA1(93831858b2f0ada8e4a0aa2fae59d12c53287df1) ) +ROM_END + +ROM_START( m4graffd ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "grafittirom.bin", 0x0000, 0x010000, CRC(36135d6e) SHA1(e71eedabae36971739f8a6fd56a4a954de29944b) ) +ROM_END + +ROM_START( m4voodoo ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ddo32", 0x0000, 0x010000, CRC(260dfef1) SHA1(2b4918e40808963a86d289cd251740a9b0bed70a) ) +ROM_END + +GAME(198?, m4tst, 0, mod4yam, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0,"Barcrest","MPU4 Unit Test (Program 4)",MACHINE_MECHANICAL ) + +GAME(199?, m4joljokd, 0, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, "Barcrest","Jolly Joker (Barcrest) (Dutch) (MPU4) (DJJ 1.5)",GAME_FLAGS) // Geen Tubes + +GAME(199?, m4clbshf, 0, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, "Barcrest","Club Shuffle (Barcrest) (MPU4) (CSS 1.0)",GAME_FLAGS) // set stake (runs if you do) + +GAME(199?, m4voodoo, 0, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, "Barcrest","Voodoo 1000 (Barcrest) (Dutch) (MPU4) (DDO 3.2)",GAME_FLAGS ) // ROL F SETUP ALM + +GAME(199?, m4graffd, 0, mod4yam_cheatchr_pal, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, "Barcrest","Grafitti (Barcrest) (Dutch) (MPU4) (DGR 1.3)",GAME_FLAGS ) // ROL D SETUP ALM + +ROM_START( m4hslo ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "hot30", 0x0000, 0x010000, CRC(62f2c420) SHA1(5ae89a1b585738255e8d9ae153c3c63b4a2893e4) ) +ROM_END + +// non-standard protection +GAME(199?, m4hslo, 0, mod4yam_bootleg_fixedret<0x56>, mpu4, mpu4mod4yam_machines_state, init_m4default, ROT0, "(bootleg)","Hot Slot (bootleg) (MPU4) (HOT 3.0)",GAME_FLAGS ) diff --git a/src/mame/drivers/mpu4plasma.cpp b/src/mame/drivers/mpu4plasma.cpp index 5e9e182fb30..95c98417d43 100644 --- a/src/mame/drivers/mpu4plasma.cpp +++ b/src/mame/drivers/mpu4plasma.cpp @@ -4,6 +4,7 @@ /* the Plasma was an oversized DMD, but was rarely used, Big Chief might be the only game with it, at least it's the only dump we have? */ // http://www.youtube.com/watch?v=PAs8p48u0Jc +// code currently uses a 'screen' but it has been since decided this is not how to handle such display types in MAME. #include "emu.h" #include "includes/mpu4.h" @@ -11,8 +12,7 @@ #include "cpu/m68000/m68000.h" #include "screen.h" -#include "mpu4plasma.lh" - +namespace { class mpu4plasma_state : public mpu4_state { @@ -40,7 +40,7 @@ private: void mpu4plasma_map(address_map &map); }; -INPUT_PORTS_EXTERN( mpu4 ); +#include "mpu4plasma.lh" void mpu4plasma_state::mpu4plasma_map(address_map &map) { @@ -96,6 +96,12 @@ void mpu4plasma_state::mpu4plasma(machine_config &config) screen.set_palette(m_palette); PALETTE(config, m_palette).set_entries(0x200); + + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("maincpu"); + m_characteriser->set_allow_6809_cheat(true); + m_characteriser->set_lamp_table(nullptr); + } // plasma v0.1 @@ -189,16 +195,22 @@ ROM_START( m4elite ) M4ELITE_PLASMA ROM_END +} // anonymous namespace + #define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) +// 00 50 40 14 4c 80 34 44 5c 9c 9c 9c dc 9c dc 94 2c cc ec a8 ec a0 30 40 54 (m435) GAMEL(199?, m4bigchf, 0, mpu4plasma, mpu4, mpu4plasma_state, init_m4default, ROT0, "Barcrest","Big Chief (Barcrest) (MPU4 w/ Plasma DMD) (set 1)", GAME_FLAGS|MACHINE_NO_SOUND,layout_mpu4plasma ) GAMEL(199?, m4bigchfa, m4bigchf, mpu4plasma, mpu4, mpu4plasma_state, init_m4default, ROT0, "Barcrest","Big Chief (Barcrest) (MPU4 w/ Plasma DMD) (set 2)", GAME_FLAGS|MACHINE_NO_SOUND,layout_mpu4plasma ) GAMEL(199?, m4bigchfb, m4bigchf, mpu4plasma, mpu4, mpu4plasma_state, init_m4default, ROT0, "Barcrest","Big Chief (Barcrest) (MPU4 w/ Plasma DMD) (set 3)", GAME_FLAGS|MACHINE_NO_SOUND,layout_mpu4plasma ) GAMEL(199?, m4bigchfc, m4bigchf, mpu4plasma, mpu4, mpu4plasma_state, init_m4default, ROT0, "Barcrest","Big Chief (Barcrest) (MPU4 w/ Plasma DMD) (set 4)", GAME_FLAGS|MACHINE_NO_SOUND,layout_mpu4plasma ) +// 00 44 44 c4 70 04 c4 50 a4 d4 30 a0 54 20 64 40 64 e4 f4 14 80 GAMEL(199?, m4click, 0, mpu4plasma, mpu4, mpu4plasma_state, init_m4default, ROT0, "Barcrest","Clickity Click (Barcrest) (MPU4 w/ Plasma DMD)", GAME_FLAGS|MACHINE_NO_SOUND,layout_mpu4plasma ) // not confirmed to be plasma, is this an alt version of big chief? maybe it uses the same plasma roms? +// 00 24 24 2c 70 20 0c 60 3c 5c 5c 5c 7c 4c 68 40 34 38 7c 54 (m4duty sequence) GAMEL(199?, m4apach, 0, mpu4plasma, mpu4, mpu4plasma_state, init_m4default, ROT0, "Barcrest","Apache (Barcrest) (MPU4 w/ Plasma DMD?)", GAME_FLAGS|MACHINE_NO_SOUND,layout_mpu4plasma ) // not confirmed to be plasma, but acts like it +// 00 30 20 14 2c a0 54 24 3c 9c 9c 9c bc 94 6c 80 58 bc bc 98 9c 9c (m441) GAMEL(199?, m4elite, 0, mpu4plasma, mpu4, mpu4plasma_state, init_m4default, ROT0, "Barcrest","Elite (Barcrest) (MPU4 w/ Plasma DMD?)", GAME_FLAGS|MACHINE_NO_SOUND,layout_mpu4plasma ) diff --git a/src/mame/drivers/mpu4union.cpp b/src/mame/drivers/mpu4union.cpp index a06ed7d2eab..3beb2960309 100644 --- a/src/mame/drivers/mpu4union.cpp +++ b/src/mame/drivers/mpu4union.cpp @@ -5,7 +5,17 @@ #include "emu.h" #include "includes/mpu4.h" -INPUT_PORTS_EXTERN( mpu4 ); +namespace { + +class mpu4union_machines_state : public mpu4_state +{ +public: + + mpu4union_machines_state(const machine_config &mconfig, device_type type, const char *tag) : + mpu4_state(mconfig, type, tag) + { + } +}; ROM_START( m4cwalk ) ROM_REGION( 0x010000, "maincpu", 0 ) @@ -249,6 +259,7 @@ ROM_START( m4rckrolb ) ROM_LOAD( "rocksnd.bin", 0x0000, 0x080000, CRC(c3e96650) SHA1(71952267d3149786cfef1dd49cc070664bb007a4) ) ROM_END +} // anonymous namespace #define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) @@ -256,37 +267,53 @@ ROM_END /* Union these don't boot, at best you get a 'CLEAR' message */ -GAME(199?, m4cwalk, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Cake Walk (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4eezee, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Eezee Fruits (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4frdrop, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Fruit Drop (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4gobana, 0, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4gobanaa, m4gobana, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4gobanab, m4gobana, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4gobanac, m4gobana, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4gobanad, m4gobana, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4lotty, 0, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Union","Lotty Time (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4maxmze, 0, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Union","Maximize (Union) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4maxmzea, m4maxmze, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Union","Maximize (Union) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4maxmzeb, m4maxmze, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Union","Maximize (Union) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4maxmzec, m4maxmze, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Union","Maximize (Union) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4maxmzed, m4maxmze, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Union","Maximize (Union) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4mecca, 0, mod2 ,mpu4, mpu4_state, init_m4default, ROT0, "Union","Mecca Money (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4purmad, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Pure Madness (Union)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4revolv, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Revolva (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4rotex, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Rotex (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4select, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Select (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4supfru, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Supafruits (Union) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4supfrua,m4supfru, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Supafruits (Union) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4trimad, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Triple Madness (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4unibox, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Unibox (Union) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4uniboxa,m4unibox, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Unibox (Union) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4unique, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Unique (Union) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4uniquep,m4unique, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Unique (Union) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4crzbn, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union","Crazy Bingo (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4cwalk, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Cake Walk (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4eezee, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Eezee Fruits (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4frdrop, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Fruit Drop (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4gobana, 0, mod2 ,mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4gobanaa, m4gobana, mod2 ,mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4gobanab, m4gobana, mod2 ,mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4gobanac, m4gobana, mod2 ,mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4gobanad, m4gobana, mod2 ,mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4lotty, 0, mod2 ,mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Lotty Time (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4maxmze, 0, mod2 ,mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Maximize (Union) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4maxmzea, m4maxmze, mod2 ,mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Maximize (Union) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4maxmzeb, m4maxmze, mod2 ,mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Maximize (Union) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4maxmzec, m4maxmze, mod2 ,mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Maximize (Union) (MPU4, set 4)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4maxmzed, m4maxmze, mod2 ,mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Maximize (Union) (MPU4, set 5)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4mecca, 0, mod2 ,mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Mecca Money (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4purmad, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Pure Madness (Union)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4revolv, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Revolva (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4rotex, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Rotex (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4select, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Select (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4supfru, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Supafruits (Union) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4supfrua,m4supfru, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Supafruits (Union) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4trimad, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Triple Madness (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4unibox, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Unibox (Union) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4uniboxa,m4unibox, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Unibox (Union) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4unique, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Unique (Union) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4uniquep,m4unique, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Unique (Union) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4crzbn, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union","Crazy Bingo (Union) (MPU4)", GAME_FLAGS|MACHINE_NO_SOUND ) /* Union + Empire same as Union above */ -GAME(199?, m4gvibes, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union / Empire","Good Vibrations (Union - Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4gvibesa, m4gvibes, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union / Empire","Good Vibrations (Union - Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4rckrol, 0, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union / Empire","Rock 'n' Roll (Union - Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4rckrola, m4rckrol, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union / Empire","Rock 'n' Roll (Union - Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) -GAME(199?, m4rckrolb, m4rckrol, mod4oki, mpu4, mpu4_state, init_m4default, ROT0, "Union / Empire","Rock 'n' Roll (Union - Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4gvibes, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union / Empire","Good Vibrations (Union - Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4gvibesa, m4gvibes, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union / Empire","Good Vibrations (Union - Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) + +GAME(199?, m4rckrol, 0, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union / Empire","Rock 'n' Roll (Union - Empire) (MPU4, set 1)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4rckrola, m4rckrol, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union / Empire","Rock 'n' Roll (Union - Empire) (MPU4, set 2)", GAME_FLAGS|MACHINE_NO_SOUND ) +GAME(199?, m4rckrolb, m4rckrol, mod4oki, mpu4, mpu4union_machines_state, init_m4default, ROT0, "Union / Empire","Rock 'n' Roll (Union - Empire) (MPU4, set 3)", GAME_FLAGS|MACHINE_NO_SOUND ) diff --git a/src/mame/drivers/mpu4unsorted.cpp b/src/mame/drivers/mpu4unsorted.cpp new file mode 100644 index 00000000000..e2cc15d7ea3 --- /dev/null +++ b/src/mame/drivers/mpu4unsorted.cpp @@ -0,0 +1,2439 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood + +/* + These are MPU4 based machines that are still in need of correct placement. + + Some of them appear to be official Barcrest machines, and will likely end up + being moved to the mod2/mod4 files based on hardware types. + + Official machines / licensed machines can typically be identified by the + standard Barcrest 'characteriser' protection sequence being written. + + Other machines in this files are unofficial machines, maybe one-off units + that will require individual attention. +*/ + +#include "emu.h" +#include "includes/mpu4.h" + + +namespace { + +class mpu4unsorted_state : public mpu4_state +{ +public: + + mpu4unsorted_state(const machine_config& mconfig, device_type type, const char* tag) : + mpu4_state(mconfig, type, tag) + { + } + + void init_m4aao(); +}; + + + +#include "m4aao.lh" + + +ROM_START( m4tst2 ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD( "ut2.p1", 0xe000, 0x2000, CRC(f7fb6575) SHA1(f7961cbd0801b9561d8cd2d23081043d733e1902)) +ROM_END + +ROM_START( m4clr ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD( "meter-zero.p1", 0x8000, 0x8000, CRC(e74297e5) SHA1(49a2cc85eda14199975ec37a794b685c839d3ab9)) +ROM_END + +ROM_START( m4rltst ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "rtv.p1", 0x08000, 0x08000, CRC(7b78f3f2) SHA1(07ef8e6a08fd70ee48e4463672a1230ecc669532) ) +ROM_END + + +ROM_START( m4addrd ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dal12.bin", 0x0000, 0x010000, CRC(4affa79a) SHA1(68bceab42b3616641a34a64a83306175ffc1ce32) ) +ROM_END + + +ROM_START( m4amhiwy ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dah20", 0x0000, 0x010000, CRC(e3f92f00) SHA1(122c8a429a1f75dac80b90c4f218bd311813daf5) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "sdr6_1.snd", 0x000000, 0x080000, CRC(63ad952d) SHA1(acc0ac3898fcc281e2d7ba19ada52d727885fe06) ) + ROM_LOAD( "sdr6_2.snd", 0x080000, 0x080000, CRC(48d2ace5) SHA1(ada0180cc60266c0a6d981a019d66bbedbced21a) ) +ROM_END + + +ROM_START( m4blkwhd ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dbw11.bin", 0x0000, 0x010000, CRC(337aaa2c) SHA1(26b12ea3ada9668293c6b44d62458590e5b4ac8f) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "bwsnd.bin", 0x0000, 0x080000, CRC(f247ba83) SHA1(9b173503e63a4a861d1380b2ab1fe14af1a189bd) ) +ROM_END + + +ROM_START( m4blkbul ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cbb08.epr", 0x0000, 0x010000, CRC(09376df6) SHA1(ba3b101accb6bbfbf75b9d22621dbda4efcb7769) ) +ROM_END + + +ROM_START( m4blkcat ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dbl14.bin", 0x0000, 0x010000, CRC(c5db9532) SHA1(309b5122b4a1cb33bbccfb97faf4fa996d29432e) ) + + ROM_REGION( 0x080000, "msm6376", 0 ) + ROM_LOAD( "dblcsnd.bin", 0x0000, 0x080000, CRC(c90fa8ad) SHA1(a98f03d4b6f5892333279bff7537d4d6d887da62) ) + + ROM_REGION( 0x200000, "msm6376_alt", 0 ) // bad dump of some sound rom? + ROM_LOAD( "sdbl_1.snd", 0x0000, 0x18008e, CRC(e36f71ae) SHA1(ebb643cfa02d28550f2bef135ceefc902baf0df6) ) +ROM_END + + +ROM_START( m4bluedm ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dbd10.bin", 0x0000, 0x010000, CRC(b75e319d) SHA1(8b81e852e318cfde1f5ff2123e1ef7076b208253) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "bdsnd.bin", 0x0000, 0x080000, CRC(8ac4aae6) SHA1(70dba43b398010a8bd0d82cf91553d3f5e0921f0) ) +ROM_END + + +ROM_START( m4brook ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "brkl10.epr", 0x0000, 0x010000, CRC(857255b3) SHA1(cfd77918a19b2532a02b8bb3fa8e2716db31fb0e) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "brkl_snd.epr", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) +ROM_END + + +ROM_START( m4bucks ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "bufd.p1", 0x0000, 0x010000, CRC(02c575d3) SHA1(92dc7a0c298e4d2d19bf754a5c82cc15e4e6456c) ) + ROM_LOAD( "bufs.p1", 0x0000, 0x010000, CRC(e394ae40) SHA1(911077053c47cebba1bed9d359cd38bd676a46f1) ) +ROM_END + + +ROM_START( m4calicl ) // protection is cheatchr_shuffle + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ca2s.p1", 0x0000, 0x010000, CRC(fad153fd) SHA1(bd1f1a5c73624df45d01cb4853d87e998e434d7a) ) +ROM_END + +ROM_START( m4calicla ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ca2d.p1", 0x0000, 0x010000, CRC(75eb8c6f) SHA1(1bb923d06dcfa24eaf9533c083f68f4bd840834f) ) +ROM_END + +ROM_START( m4caliclb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ca2f.p1", 0x0000, 0x010000, CRC(6c53cf29) SHA1(2e58453891ab4faa17ef58a81c5f3c0618d046a5) ) +ROM_END + +ROM_START( m4caliclc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cald.p1", 0x0000, 0x010000, CRC(296fdeeb) SHA1(7782c0c7d8f44e2c0d48cc24c13015241e47b9ec) ) +ROM_END + +ROM_START( m4calicld ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cals.p1", 0x0000, 0x010000, CRC(28a1c5fe) SHA1(e8474df609ea7f3517780b54d6f493987aad3650) ) +ROM_END + + +ROM_START( m4casmul ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "casinomultiplay.bin", 0x0000, 0x010000, CRC(2ebd1800) SHA1(d15e2593d17d8db9c6946af3366cf429ad291f76) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "casinomultiplaysnd.bin", 0x0000, 0x080000, CRC(be293e95) SHA1(bf0d419c898920a7546b542d8b205e25004ef04f) ) +ROM_END + +ROM_START( m4oldtmr ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dot11.bin", 0x00000, 0x10000, CRC(da095666) SHA1(bc7654dc9da1f830a43f925db8079f27e18bb61e)) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "sdot01.bin", 0x0000, 0x080000, CRC(f247ba83) SHA1(9b173503e63a4a861d1380b2ab1fe14af1a189bd) ) +ROM_END + +ROM_START( m4casot ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "casrom.bin", 0x00000, 0x10000, CRC(da095666) SHA1(bc7654dc9da1f830a43f925db8079f27e18bb61e) ) // == old timer (aka b&wrom.bin) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "cassound.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) // ( aka b&wsound.bin ) +ROM_END + +ROM_START( m4jpmcla ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "jcv2.epr", 0x00000, 0x10000, CRC(da095666) SHA1(bc7654dc9da1f830a43f925db8079f27e18bb61e) ) // == old timer + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "sjcv2.snd", 0x0000, 0x080000, CRC(f247ba83) SHA1(9b173503e63a4a861d1380b2ab1fe14af1a189bd) ) +ROM_END + + +ROM_START( m4ceptr ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dce10.bin", 0x0000, 0x010000, CRC(c94d41ef) SHA1(58fdff2de8dd3ead3980f6f34362183d084ce917) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "cepsnd.p1", 0x000000, 0x080000, CRC(3a91784a) SHA1(7297ccec3264aa9f1e7b3a2841f5f8a1e4ca6c54) ) + ROM_LOAD( "cepsnd.p2", 0x080000, 0x080000, CRC(a82f0096) SHA1(45b6b5a2ae06b45add9cdbb9f5e6f834687b4902) ) +ROM_END + + +#define M4CHASEI_EXTRAS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "cha.s1", 0x000000, 0x080000, CRC(8200b6bc) SHA1(bcc4ffbddcdcc1dd994fe29e9b24e83272f59442) ) \ + ROM_LOAD( "cha.s2", 0x080000, 0x080000, CRC(542863fa) SHA1(501d66b2badb5036bb5dd8bac3cdb681f630a982) ) + +ROM_START( m4chasei ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ci2c.p1", 0x0000, 0x010000, CRC(fc49a2e1) SHA1(f4f02e168cd9bf0245c2b7340fe151da66f09c5c) ) + M4CHASEI_EXTRAS +ROM_END + +ROM_START( m4chaseia ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ch20p8pn.rom", 0x0000, 0x010000, CRC(712bd2e7) SHA1(0e83fa077f42a051aaa07a7e13196955b0ac840d) ) + M4CHASEI_EXTRAS +ROM_END + +ROM_START( m4chaseib ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "chin2010l", 0x0000, 0x010000, CRC(7fe97181) SHA1(1ccf65ff108bdaa46efcb3f831fccc953297b9ac) ) + M4CHASEI_EXTRAS +ROM_END + +ROM_START( m4chaseic ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ci2k.p1", 0x0000, 0x010000, CRC(8d715b8a) SHA1(5dd6f8d3d6710b0741df37af8792d942f41062d2) ) + M4CHASEI_EXTRAS +ROM_END + +ROM_START( m4chaseid ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ci2s.p1", 0x0000, 0x010000, CRC(8175e1e3) SHA1(9a4b0a0288508e7900ceac8bc3b245ac1f898b19) ) + M4CHASEI_EXTRAS +ROM_END + +ROM_START( m4chaseie ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ci2y.p1", 0x0000, 0x010000, CRC(80410946) SHA1(60a4f73eb9a35e5c246d8ef7b25bcf25b28bf8ed) ) + M4CHASEI_EXTRAS +ROM_END + + +ROM_START( m4chaseig ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ci_20.10", 0x0000, 0x010000, CRC(80a4bfb3) SHA1(b3c11bd621457d190eeab423bc15895b0c7cf6da) ) // found in cash inferno set. + M4CHASEI_EXTRAS +ROM_END + + +ROM_START( m4c9c ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cncs.p1", 0x0000, 0x010000, CRC(10f15e2a) SHA1(c17ab13764d74302246984245485cb7692913b44) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) // should this set have an OKI? +ROM_END + +#define M4CLBVEG_EXTRAS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "cvegass1.hex", 0x0000, 0x080000, CRC(13a8c857) SHA1(c66e10bca1ad54f467b9c5eacd502c54397c09b2) ) \ + ROM_LOAD( "cvegass2.hex", 0x0000, 0x080000, CRC(88b37145) SHA1(1c6c9ad2010e1688d3370d1f2a5ae83dc683b500) ) + +ROM_START( m4clbveg ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "clas.p1", 0x0000, 0x010000, CRC(6aad03f0) SHA1(2f611cc6f020e334dc4b87d2d907727ba15ff7ff) ) + M4CLBVEG_EXTRAS +ROM_END + +ROM_START( m4clbvega ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "claf.p1", 0x0000, 0x010000, CRC(79b83184) SHA1(7319a405b2b0b274e03f5cd1465436f8548065e4) ) + M4CLBVEG_EXTRAS +ROM_END + +ROM_START( m4clbvegb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "clal.p1", 0x0000, 0x010000, CRC(db0bb5a2) SHA1(2735e02642fb92bb824e3b1f415a1a3ef13a856d) ) + M4CLBVEG_EXTRAS +ROM_END + +ROM_START( m4clbvegc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "clad.p1", 0x0000, 0x010000, CRC(4fa45cce) SHA1(58a5d6cc8608eb1aa453429e26eacea589afa524) ) + M4CLBVEG_EXTRAS +ROM_END + +#define M4CLBX_EXTRAS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "cxs1.hex", 0x000000, 0x080000, CRC(4ce005f1) SHA1(ee0f59a9c7e0222dd63fa63ccff8f194abd01ddb) ) \ + ROM_LOAD( "cxs2.hex", 0x080000, 0x080000, CRC(495e0730) SHA1(7ba8150fbcf974ac494a82fd373ff02185543e35) ) + +ROM_START( m4clbx ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "clx12s.p1", 0x0000, 0x020000, CRC(6798c153) SHA1(e621e341a0fed1cb35637edb0769ae1cca72a663) ) + M4CLBX_EXTRAS +ROM_END + +ROM_START( m4clbxa ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "clx12d.p1", 0x0000, 0x020000, CRC(43e797ba) SHA1(fb2fc843176fe50c1039214d48815d6e9871ae27) ) + M4CLBX_EXTRAS +ROM_END + +ROM_START( m4clbxb ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "clx12f.p1", 0x0000, 0x020000, CRC(3e6a82fe) SHA1(01ef9a15a3cf9b1191c573b36fb5758e79c3adc1) ) + M4CLBX_EXTRAS +ROM_END + + +ROM_START( m4crzjk ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "crjok2.04.bin", 0x0000, 0x010000, CRC(838336d6) SHA1(6f36de20c930cbbff479af2667c11152c6adb43e) ) +ROM_END + +#define M4CRZJWL_EXTRAS \ + ROM_REGION( 0x180000, "msm6376", 0 ) \ + ROM_LOAD( "cjsound1.bin", 0x000000, 0x080000, CRC(b023f6b9) SHA1(04c362c6511442d3ab775a5ff2051bfe26d5e624) ) \ + ROM_LOAD( "cjsound2.bin", 0x080000, 0x080000, CRC(02563a43) SHA1(dfcee4e0fdf81c726c8e13278e7950459bcaab18) ) \ + ROM_LOAD( "cjsound3.bin", 0x100000, 0x080000, CRC(e722e438) SHA1(070f3772920fa64d5214843c313b27a5b2a4c105) ) + +ROM_START( m4crzjwle ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "cj11bin", 0x0000, 0x020000, CRC(208fda73) SHA1(8b15c197693ea7749bc961fe4e5e36b317f9f6f8) ) // crown jewels (german) + M4CRZJWL_EXTRAS +ROM_END + +ROM_START( m4crzjwla ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "cjexlow", 0x0000, 0x020000, CRC(07c227c1) SHA1(286341ed44ef7cd08ca411f2b3e6936b5e83a5f3) ) // crown jewels (german) + M4CRZJWL_EXTRAS +ROM_END + +ROM_START( m4crzjwlb ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "cjgerman", 0x0000, 0x020000, CRC(b090e690) SHA1(bdbe4041085c995761306280c15f782ea3bdc110) ) + M4CRZJWL_EXTRAS +ROM_END + +ROM_START( m4crzjwlc ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "cjj54.bin", 0x0000, 0x020000, CRC(16dc92e7) SHA1(b791535054d5864c7053243408a54accfa014bd1) ) + M4CRZJWL_EXTRAS +ROM_END + +ROM_START( m4crzjwld ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "gcn11", 0x0000, 0x020000, CRC(51493500) SHA1(901e60c1a7e9e628d723e199579fc82cf2e433e6) ) + M4CRZJWL_EXTRAS +ROM_END + +ROM_START( m4crzjwl ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "gcn111", 0x0000, 0x020000, CRC(b1152ce6) SHA1(1d236bad57ad38b11215efe44008bb8e4014939e) ) + M4CRZJWL_EXTRAS +ROM_END + +ROM_START( m4crzjwlf ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "gjv4", 0x0000, 0x020000, CRC(df63105d) SHA1(56e28adef9ec8921da7ab8045859e834731196c5) ) + M4CRZJWL_EXTRAS +ROM_END + +ROM_START( m4crzjwlg ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "gjv5", 0x0000, 0x020000, CRC(e4f0bab2) SHA1(1a13d97ff2c4fbae39327f2a5a8b110f2617857e) ) + M4CRZJWL_EXTRAS +ROM_END + +ROM_START( m4crzjwlh ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "cjg.p1", 0x0000, 0x020000, CRC(1f4743bf) SHA1(f9a0da2ed9cad5e6685c8a6d1d09e5d4bbcfacec) ) // Crown Jewels Deluxe (german) + M4CRZJWL_EXTRAS +ROM_END + + +#define M4CRJWL_EXTRAS \ + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ + /* Missing? or in above set? */ + +ROM_START( m4crjwl ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cjcf.p1", 0x0000, 0x010000, CRC(7feccc74) SHA1(4d1c7c6d2085492ee4205a7383ad7dc1de4e8d60) ) + M4CRJWL_EXTRAS +ROM_END + +ROM_START( m4crjwla ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cjcd.p1", 0x0000, 0x010000, CRC(cb83f226) SHA1(f09996436b3db3c8f0fe237884d9125be2b7855e) ) + M4CRJWL_EXTRAS +ROM_END + +ROM_START( m4crjwlb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cjcs.p1", 0x0000, 0x010000, CRC(1054e02d) SHA1(067705f20862f6cfc4334c74e0fab1a1016d427c) ) + M4CRJWL_EXTRAS +ROM_END + +ROM_START( m4crjwlc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cjn02.p1", 0x0000, 0x010000, CRC(a3d50e20) SHA1(15698e74a37d5f95a5634d48ae2a9a5d19faa2b6) ) + M4CRJWL_EXTRAS +ROM_END + + +#define M4CRJWL2_EXTRAS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "cjcs1.hex", 0x000000, 0x080000, CRC(2ac3ba9f) SHA1(3332f29f81918c34aeec3da6f7d001dc9922840d) ) \ + ROM_LOAD( "cjcs2.hex", 0x080000, 0x080000, CRC(89838a9d) SHA1(502243cc0a14e63882b537f05c4cc0eb852e4a0c) ) + +ROM_START( m4crjwl2 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cj214f.p1", 0x0000, 0x010000, CRC(7ee4d30c) SHA1(2bf702bc925c473f7e9eaeb5b3ae0b00e124161a) ) + M4CRJWL2_EXTRAS +ROM_END + +ROM_START( m4crjwl2a ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cj214d.p1", 0x0000, 0x010000, CRC(359e2a73) SHA1(c85eeebafca14e6f975953f5daf2772a62693051) ) + M4CRJWL2_EXTRAS +ROM_END + +ROM_START( m4crjwl2b ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cj214s.hex", 0x0000, 0x010000, CRC(296aa885) SHA1(045b02848b37e8a04d950d54301dc6888d6178ad) ) + M4CRJWL2_EXTRAS +ROM_END + + + +#define M4DRAC_EXTRAS \ + ROM_REGION( 0x200000, "msm6376", 0 ) \ + ROM_LOAD( "drasnd.p1", 0x000000, 0x080000, CRC(54c3821c) SHA1(1fcc62e2b127dd7f1d5d27a3afdf56dc27f122f8) ) \ + ROM_LOAD( "drasnd.p2", 0x080000, 0x080000, CRC(9096d2bc) SHA1(1b4c530b7b0fde869980d519255e2585c5461e13) ) \ + ROM_LOAD( "drasnd.p3", 0x100000, 0x080000, CRC(a07f412b) SHA1(cca8f5cfe620ece45ca40bf801f0643cd76547e9) ) \ + ROM_LOAD( "drasnd.p4", 0x180000, 0x080000, CRC(018ed789) SHA1(64202da2c542f5ef208faeb04945eb1a758d4746) ) + +ROM_START( m4drac ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "dra21.bin", 0x0000, 0x020000, CRC(23be387e) SHA1(08a78f4b8ddef46069d1c75113300b21e52338c1) ) + M4DRAC_EXTRAS +ROM_END + +ROM_START( m4draca ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "dra24.bin", 0x0000, 0x020000, CRC(3db112ae) SHA1(b5303e2a65476931d4769327ca62afd0f6a9eda7) ) + M4DRAC_EXTRAS +ROM_END + +ROM_START( m4dracb ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "dra27.p1", 0x0000, 0x020000, CRC(8a095175) SHA1(41006e298f1688499ce6820ec28196c7578684b9) ) + M4DRAC_EXTRAS +ROM_END + +ROM_START( m4exgam ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "czep30.bin", 0x0000, 0x010000, CRC(4614e6f6) SHA1(5602a68e9b47394cb31bbcd49a9920e19af6242f) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "sczep.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) +ROM_END + + + +#define M4FORTCB_EXTRAS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "cfosnd.p1", 0x000000, 0x080000, CRC(74bbf913) SHA1(52ddc89ab34b11ede2c0e9b9b27e119b0c1eb2d9) ) \ + ROM_LOAD( "cfosnd.p2", 0x080000, 0x080000, CRC(1b2bb79a) SHA1(5f19ea000f34bb404ed6c8ea5ec7b809ccb1ae36) ) + + +ROM_START( m4fortcb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cfod.p1", 0x0000, 0x010000, CRC(9d0e2b63) SHA1(cce871d2bbe486793de5de9fadfbddf67c382e5c) ) + M4FORTCB_EXTRAS +ROM_END + +ROM_START( m4fortcba ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cfof.p1", 0x0000, 0x010000, CRC(010b3c1f) SHA1(b44c22c21d22603b277138eabf803e6d46ad4aae) ) + M4FORTCB_EXTRAS +ROM_END + +ROM_START( m4fortcbb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cfos.p1", 0x0000, 0x010000, CRC(f3b47df4) SHA1(3ad674864ba3a24283af14caaf2c999d4fde11fc) ) + M4FORTCB_EXTRAS +ROM_END + + +ROM_START( m4frtgm ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "fruit.bin", 0x0000, 0x010000, CRC(dbe44316) SHA1(15cd49dd2e6166f7a7668663f7fea802d6cbb12f) ) + + ROM_REGION( 0x800000, "msm6376", 0 ) // this isn't OKI, or is corrupt (bad size) + ROM_LOAD( "fruitsnd.bin", 0x0000, 0x010000, CRC(86547dc7) SHA1(4bf64f22e84c0ee82d961b0ba64932b8bf6a521f) ) // matches 'Replay' on SC1 hardware, probably just belongs there.. or this is eurocoin with different sound hw here? +ROM_END + + + +ROM_START( m4gldgat ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dgg22.bin", 0x0000, 0x010000, CRC(ef8498df) SHA1(6bf164ef18445e83e4510a000bc924cbe916ad99) ) +ROM_END + +ROM_START( m4gldjok ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dgj12.bin", 0x0000, 0x010000, CRC(93ee0c35) SHA1(5ae67b14f7f3d8528fa106519a8a27437c997a70) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "sdgj.snd", 0x0000, 0x080000, CRC(b6cd118b) SHA1(51c5d694ed0dfde8d3fd682f2471d83eec236736) ) +ROM_END + + + +ROM_START( m4gnsmk ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dgu16", 0x0000, 0x010000, CRC(6aa23345) SHA1(45e129ec95b1a796f334bedd08469f2ab47a18f8) ) + + ROM_REGION( 0x200000, "msm6376", 0 ) + ROM_LOAD( "sdgu01.s1", 0x000000, 0x080000, CRC(bfb284a2) SHA1(860b98d54a3180fbb00b7b03feae049fb4cf9d7f) ) + ROM_LOAD( "sdgu01.s2", 0x080000, 0x080000, CRC(1a46ba28) SHA1(d7154e5f92be8631207620eb313b28990c6a1c7f) ) + ROM_LOAD( "sdgu01.s3", 0x100000, 0x080000, CRC(88bffcf4) SHA1(1da853193f6a22889edff5aafd9440c676a82ea6) ) + ROM_LOAD( "sdgu01.s4", 0x180000, 0x080000, CRC(a6160bef) SHA1(807f7d470728a479a55c782fca3df1eacd0b594c) ) + ROM_END + +ROM_START( m4blkbuld ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dgu16", 0x0000, 0x010000, CRC(6aa23345) SHA1(45e129ec95b1a796f334bedd08469f2ab47a18f8) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "dbbsnd.p1", 0x000000, 0x080000, CRC(a913ad0d) SHA1(5f39b661912da903ce8d6658b7848081b191ea56) ) + ROM_LOAD( "dbbsnd.p2", 0x080000, 0x080000, CRC(6a22b39f) SHA1(0e0dbeac4310e03490b665fff514392481ad265f) ) +ROM_END + + +ROM_START( m4hpyjok ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dhj12", 0x0000, 0x010000, CRC(982439d7) SHA1(8d27fcecf7a6a7fd774678580074f945675758f4) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "dhjsnd", 0x0000, 0x080000, CRC(8ac4aae6) SHA1(70dba43b398010a8bd0d82cf91553d3f5e0921f0) ) +ROM_END + +ROM_START( m4hirise ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "hiix.p1", 0x0000, 0x010000, CRC(c68c816c) SHA1(2ec89d83f3b658700433fc165358290ce58eba64) ) +ROM_END + +ROM_START( m4hirisea ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "hirs.p1", 0x0000, 0x010000, CRC(a38f771e) SHA1(c1502200671389a1fe6dcb9c043d22583d5991dc) ) +ROM_END + +ROM_START( m4hiriseb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "hirs20dd", 0x0000, 0x010000, CRC(89941670) SHA1(28859adfa79dce53c348c63b46f6f5a068f2b2de) ) +ROM_END + +ROM_START( m4hirisec ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "hirx.p1", 0x0000, 0x010000, CRC(4280a16b) SHA1(c9179ec17404a6f084679ad5f04e53a50f00af98) ) +ROM_END + +ROM_START( m4hirised ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "hirxc.p1", 0x0000, 0x010000, CRC(1ad1d942) SHA1(91d02212606e22b280be9640433e013bc50e5ea8) ) +ROM_END + +ROM_START( m4hirisee ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "hrise206", 0x0000, 0x010000, CRC(58b4bbdd) SHA1(0b76d27147fbadba97328eb9d2dc81cff9d576e0) ) +ROM_END + +ROM_START( m4holdtm ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dht10.hex", 0x0000, 0x010000, CRC(217d382b) SHA1(a27dd107c554d4787967633dff998d3962ee0ea5) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "sun01.hex", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) +ROM_END + + +ROM_START( m4jok300 ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "cjo", 0x0000, 0x020000, CRC(386e99db) SHA1(5bb0b513ef63ffaedd98b8e9e7206658fe784fda) ) + + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASEFF ) + // missing? +ROM_END + +ROM_START( m4jokmil ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "cjm03.epr", 0x0000, 0x020000, CRC(e5e4986e) SHA1(149b950a739ad308f7759927c344de8193ce67c5) ) + + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASEFF ) + // missing? +ROM_END + + +ROM_START( m4joljokh ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "jollyjokerhungarian.bin", 0x0000, 0x010000, CRC(85b6a406) SHA1(e277f9d3b62faead04d65efbc06de7f4a50ae38d) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "jollyjokerhungariansnd.bin", 0x0000, 0x080000, CRC(93460383) SHA1(2b179a1dde09ebdfe8c84641899df7be87d443e5) ) +ROM_END + + +ROM_START( m4lineup ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "lineup5p1.bin", 0xc000, 0x004000, CRC(9ba9edbd) SHA1(385e01816b5631b6896e85343ae96b3c36f9647a) ) + ROM_LOAD( "lineup5p2.bin", 0x8000, 0x004000, CRC(e9e4dfb0) SHA1(46a0efa84770036366c7a6a33ef1d42c7b2b782b) ) + ROM_LOAD( "lineup5p3.bin", 0x6000, 0x002000, CRC(86623376) SHA1(e29442bfcd401361287852b87673368322e946b5) ) +ROM_END + +ROM_START( m4lineupa ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "lu2_10p1.bin", 0xc000, 0x004000, CRC(2fb89062) SHA1(55e86de8fd0d36cca9aab8ad5aae7b4f5a62b940) ) + ROM_LOAD( "lu2_10p2.bin", 0x8000, 0x004000, CRC(9d820af2) SHA1(63d27df91f80e47eb8c9685fcd2c3eff902a2ef8) ) + ROM_LOAD( "lu2_10p3.bin", 0x6000, 0x002000, CRC(8c8a210c) SHA1(2599d979f1a62e9ef6acc70d0ad5c9b4a65d712a) ) +ROM_END + + +ROM_START( m4luck7 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dl716.bin", 0x0000, 0x010000, CRC(141b23a9) SHA1(3bfb82ea0ee4104bd8739b545aba617f84bef770) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "dl7snd.bin", 0x0000, 0x080000, CRC(c90fa8ad) SHA1(a98f03d4b6f5892333279bff7537d4d6d887da62) ) +ROM_END + +ROM_START( m4luckdv ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cld_16.bin", 0x0000, 0x010000, CRC(89f63938) SHA1(8d3a5628e2c0bf39784afe2f00a007d40ea35423) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "cld_snd1.snd", 0x000000, 0x080000, CRC(f247ba83) SHA1(9b173503e63a4a861d1380b2ab1fe14af1a189bd) ) + ROM_LOAD( "cld_snd2.snd", 0x080000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) +ROM_END + +ROM_START( m4luckdvd ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dld13", 0x0000, 0x010000, CRC(b8ceb29b) SHA1(84b6ebad300214610635fb8141d18de2b7065435) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "sdld01.snd", 0x000000, 0x080000, CRC(9b035fa6) SHA1(51b7e5bc3abdf4f1beba2347146a91a2b3f4de35) ) +ROM_END + + +#define M4LUCKWB_EXTRAS \ + ROM_REGION( 0x100000, "msm6376", 0 ) /* these are all different sound roms... */ \ + ROM_LOAD( "lwbs3.bin", 0x0000, 0x07dc89, CRC(ee102376) SHA1(3fed581a4654acf285dd430fbfbac33cd67411b8) ) \ + ROM_LOAD( "lwbs7.bin", 0x0000, 0x080000, CRC(5d4177c7) SHA1(e13f145885bb719b0021ae4ce289261a3eaa2e18) ) \ + ROM_LOAD( "lwbs8.bin", 0x0000, 0x080000, CRC(187cdf5b) SHA1(87ec189af27c95f278a7531ec13df53a08889af8) ) \ + ROM_LOAD( "lwbs9.bin", 0x0000, 0x080000, CRC(2e02b617) SHA1(2502a1d2cff155a7fc5148e23a4723d4d60e9d42) ) + +ROM_START( m4luckwb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "lwb10.bin", 0x0000, 0x010000, CRC(6d43a14e) SHA1(267aba1a01bfd5f0eaa7683d041d5fcb2d301934) ) + M4LUCKWB_EXTRAS +ROM_END + +ROM_START( m4luckwba ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "lwb15.bin", 0x0000, 0x010000, CRC(b5af8cb2) SHA1(474975b83803627ad3ac4217d8cecb2d2db16fec) ) + M4LUCKWB_EXTRAS +ROM_END + +ROM_START( m4luckwbb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "lwb21.bin", 0x0000, 0x010000, CRC(6c570733) SHA1(7488318ca9689371e4f80be0a0fddd8ad141733e) ) + M4LUCKWB_EXTRAS +ROM_END + +ROM_START( m4luckwbc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "lwb22.bin", 0x0000, 0x010000, CRC(05b952a7) SHA1(952e328b280a18c1ffe253b6a56f2b5e893b1b72) ) + M4LUCKWB_EXTRAS +ROM_END + +ROM_START( m4luckwbd ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "lwb27.bin", 0x0000, 0x010000, CRC(9d6b6637) SHA1(65bad12cd08de128ca31c9488e32e3cebfb8eedb) ) + M4LUCKWB_EXTRAS +ROM_END + +ROM_START( m4luckwbe ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "lwb6.bin", 0x0000, 0x010000, CRC(8e7d4594) SHA1(4824a9a4628585a170c41e00f7b3fcb8a2330c02) ) + M4LUCKWB_EXTRAS +ROM_END + +ROM_START( m4luckwbf ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "lwb7.bin", 0x0000, 0x010000, CRC(8e651705) SHA1(bd4d09d586d14759a17d4d7d4016c427f3eef015) ) + M4LUCKWB_EXTRAS +ROM_END + + +ROM_START( m4magdrg ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dmd10.bin", 0x0000, 0x010000, CRC(9cc4f2f8) SHA1(46a90ffa18d35ad2b06542f91120c02bc34f0c40) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "mdsnd.bin", 0x000000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) +ROM_END + +ROM_START( m4maglin ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dma21.bin", 0x0000, 0x010000, CRC(836a25e6) SHA1(5f83bb8a2c77dd3b02724c076d6b37d2c1c93b93) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "mlsound1.p1", 0x000000, 0x080000, CRC(ff8749ff) SHA1(509b53f09cdfe5ee865e60ab42fd578586ac53ea) ) + ROM_LOAD( "mlsound2.p2", 0x080000, 0x080000, CRC(c8165b6c) SHA1(7c5059ee8630da31fc3ad50d84a4730297757d46) ) +ROM_END + +ROM_START( m4magrep ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dmr13.bin", 0x0000, 0x010000, CRC(c3015da3) SHA1(23cd505eedf666c012e4064a5fcf5a983f098e83) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "mrdsound.bin", 0x000000, 0x080000, CRC(9b035fa6) SHA1(51b7e5bc3abdf4f1beba2347146a91a2b3f4de35) ) +ROM_END + + +ROM_START( m4nspot ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ns2s.p1", 0x0000, 0x010000, CRC(ba0f5a81) SHA1(7015176d4528636cb8a753249c824c37941e8eae) ) +ROM_END + +ROM_START( m4nspota ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ns2d.p1", 0x0000, 0x010000, CRC(5e66b7e0) SHA1(e82044e3c1e5cf3a2baf1fde7b7ab8b6e221d360) ) +ROM_END + +ROM_START( m4nspotb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "nits.p1", 0x0000, 0x010000, CRC(47c965e6) SHA1(41a337a9a367c4e704a60e32d56b262d03f97b59) ) +ROM_END + +ROM_START( m4nile ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "gjn08.p1", 0x0000, 0x020000, CRC(2bafac0c) SHA1(363d08f798b5bea409510b1a9415098a69f19ee0) ) + + ROM_REGION( 0x200000, "msm6376", 0 ) + ROM_LOAD( "gjnsnd.p1", 0x000000, 0x080000, CRC(1d839591) SHA1(2e4ba74f96e7c0592b85409a3f50ec81e00e064c) ) + ROM_LOAD( "gjnsnd.p2", 0x080000, 0x080000, CRC(e2829c42) SHA1(2139c1625ad163cce99a522c2cf02ee47a8f9007) ) + ROM_LOAD( "gjnsnd.p3", 0x100000, 0x080000, CRC(db084eb4) SHA1(9b46a3cb16974942b0edd25b1b080d30fc60c3df) ) + ROM_LOAD( "gjnsnd.p4", 0x180000, 0x080000, CRC(da785b0a) SHA1(63358ab197eb1de8e489a9fd6ffbc2039efc9536) ) +ROM_END + + +ROM_START( m4nudshf ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "nusx.p1", 0x0000, 0x010000, CRC(87caab84) SHA1(e2492ad0d25ded4d760c4cbe05e9b51ca1a10544) ) +ROM_END + +ROM_START( m4nudshfa ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "nus6", 0x0000, 0x010000, CRC(017c5354) SHA1(07491e4b03ab62ad923f8479300c1af4633e3e8c) ) +ROM_END + +ROM_START( m4nudshfb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "nuss.bin", 0x0000, 0x010000, CRC(d3b860ee) SHA1(d5d1262c715e4684748b0cae708eeed31b1dc50f) ) +ROM_END + +ROM_START( m4nudshfc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "nusxc.p1", 0x0000, 0x010000, CRC(e2557b45) SHA1(a9d1514d4fe3897f6fcef22a5039d6bdff8126ff) ) +ROM_END + + +ROM_START( m4ordmnd ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "rab01.p1", 0x0000, 0x020000, CRC(99964fe7) SHA1(3745d09e7a4f417c8e85270d3ffec3e37ee1344d) ) + + ROM_REGION( 0x200000, "msm6376", 0 ) + ROM_LOAD( "odsnd1.bin", 0x000000, 0x080000, CRC(d746bae4) SHA1(293e1dc9edf88a183cc23dbb4576cefbc8f9d028) ) + ROM_LOAD( "odsnd2.bin", 0x080000, 0x080000, CRC(84ace1f4) SHA1(9cc70e59e9d26006870ea1cc522de33e71b71692) ) + ROM_LOAD( "odsnd3.bin", 0x100000, 0x080000, CRC(b1b12def) SHA1(d8debf8cfb3af2157d5d1571927588dc1c8d07b6) ) +ROM_END + + +ROM_START( m4ptblkc ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "potblackcasinoprg.bin", 0x0000, 0x020000, CRC(29190084) SHA1(c7a778331369c0fac796ef3e306e12c98605f365) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "potblackcasinosnd.p1", 0x000000, 0x080000, CRC(72a3331d) SHA1(b7475ba0ad86a6277e3d4f7b4311a98f3fc29802) ) + ROM_LOAD( "potblackcasinosnd.p2", 0x080000, 0x080000, CRC(c2460eec) SHA1(7c62fbc69ffaa788bf3839e37a75a812a7b8caef) ) +ROM_END + + +ROM_START( m4prem ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dpm14.bin", 0x0000, 0x010000, CRC(de344759) SHA1(d3e7514da83bbf1eba63661fb0675a6230af93cd) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "dpms.bin", 0x0000, 0x080000, CRC(93fd4253) SHA1(69feda7ffc56defd515c9cd1ce204af3d9731a3f) ) +ROM_END + + +ROM_START( m4rdht ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "drh12", 0x0000, 0x010000, CRC(b26cd308) SHA1(4e29f6cce773232a1c43cd2fb3ce9b844c446bb8) ) // aka gdjb + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "drh_1.snd", 0x0000, 0x080000, CRC(f652cd0c) SHA1(9ce986bc12bcf22a57e065329e82671d19cc96d7) ) // aka gn.snd +ROM_END + + +ROM_START( m4rwb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "drw14.bin", 0x0000, 0x010000, CRC(22c30ebe) SHA1(479f66732aac56dae60c80d11f05c084865f9389) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "rwb_1.snd", 0x000000, 0x080000, CRC(e0a6def5) SHA1(e3867b83e588fd6a9039b8d45186480a9d0433ea) ) + ROM_LOAD( "rwb_2.snd", 0x080000, 0x080000, CRC(54a2b2fd) SHA1(25875ff873bf22df510e7a4c56c336fbabcbdedb) ) +ROM_END + +ROM_START( m4magtbo ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "crmtb14.epr", 0x0000, 0x010000, CRC(79e1746c) SHA1(794317f3aba7b1a7994cde89d81abc2b687d0821) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "scrmtb.snd", 0x000000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) +ROM_END + + +ROM_START( m4ringfr ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "rof03s.p1", 0x0000, 0x020000, CRC(4b4703fe) SHA1(853ce1f5932e09af2b5f3b5314709f13aa35cf19) ) + + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) + // missing? +ROM_END + + +ROM_START( m4roadrn ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dro19", 0x0000, 0x010000, CRC(8b591766) SHA1(df156390b427e31cdda64826a6c1d2457c915f25) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "dro_1.snd", 0x000000, 0x080000, CRC(895cfe63) SHA1(02134e149cef3526bbdb6cb93ef3efa283b9d6a2) ) + ROM_LOAD( "dro_2.snd", 0x080000, 0x080000, CRC(1d5c8d4f) SHA1(15c18ae7286807cdc0feb825b958eae808445690) ) +ROM_END + + +ROM_START( m4royjwl ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "rj.bin", 0x0000, 0x020000, CRC(3ffbe4a8) SHA1(47a0309cc9ff315ad9f64e6855863409443e94e2) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "rj_sound1.bin", 0x000000, 0x080000, CRC(443c4901) SHA1(7b3c6737b47dfe04c072f0e157d83c09340c3f9b) ) + ROM_LOAD( "rj_sound2.bin", 0x080000, 0x080000, CRC(9456523e) SHA1(ea1b6bf16b7d1015c188ad83760336d9851de391) ) +ROM_END + + +ROM_START( m4salsa ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dsa15.epr", 0x0000, 0x010000, CRC(22b60b0b) SHA1(4ad184d1557bfd01650684ea9d8ad794fded65f7) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "dsa_1@97c2.snd", 0x0000, 0x080000, CRC(0281a6dd) SHA1(a35a8cd0da32c51f77856ea3eeff7c58fd032333) ) +ROM_END + + +ROM_START( m4showtm ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dsh13.bin", 0x0000, 0x010000, CRC(4ce40ff1) SHA1(f145d6c8e926ca4368d43dacda0fa38615988d84) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "sdsh01s1.snd", 0x0000, 0x080000, CRC(f247ba83) SHA1(9b173503e63a4a861d1380b2ab1fe14af1a189bd) ) +ROM_END + + +ROM_START( m4steptm ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dst11.bin", 0x0000, 0x010000, CRC(3960f210) SHA1(c7c4fe74cb9a53eaa9114a84240de3bce4ffe75e) ) + + ROM_REGION( 0x080000, "msm6376", 0 ) + ROM_LOAD( "sdun01.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) +ROM_END + + + +ROM_START( m4supbf ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "sbff.p1", 0x0000, 0x010000, CRC(f27feba0) SHA1(157bf28e2d5fc2fa58bed11b3285cf56ae18abb8) ) +ROM_END + +ROM_START( m4supbfa ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "sbfs.p1", 0x0000, 0x010000, CRC(c8c52d5e) SHA1(d53513b9faabc307623a7c2f5be0225fb812beeb) ) +ROM_END + + +#define M4TECHNO_EXTRAS \ + ROM_REGION( 0x080000, "msm6376", 0 ) \ + ROM_LOAD( "techno.bin", 0x0000, 0x080000, CRC(3e80f8bd) SHA1(2e3a195b49448da11cc0c089a8a9b462894c766b) ) + +ROM_START( m4techno ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dte13.bin", 0x0000, 0x010000, CRC(cf661d06) SHA1(316b2c42e7253a03b2c12b713821045d9f95a8a7) ) + M4TECHNO_EXTRAS +ROM_END + +ROM_START( m4technoa ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dte13hack.bin", 0x0000, 0x010000, CRC(8b8eafe3) SHA1(93a7714eb4c749b7b19f4f844cf88da9443b0bb7) ) + M4TECHNO_EXTRAS +ROM_END + + +ROM_START( m4toma ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dtk23.bin", 0x0000, 0x010000, CRC(ffba2b96) SHA1(c7635023ac5181e661e808c6b44ac1add58f4f56) ) +ROM_END + + +ROM_START( m4topdk ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dtd26pj.bin", 0x0000, 0x010000, CRC(1f84d995) SHA1(7412632cf79008b980e48f14aea89c3f8d742ed2) ) +ROM_END + + +ROM_START( m4toprn ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "toprun_v1_1.bin", 0xc000, 0x004000, CRC(9b924324) SHA1(7b155467f30cc22f7cda301ae770fb2a889c9c66) ) + ROM_LOAD( "toprun_v1_2.bin", 0x8000, 0x004000, CRC(940fafa9) SHA1(2a8b669c51c8df50710bd8b552ab30a5d1a136ab) ) +ROM_END + +#define M4TOPTIM_EXTRAS \ + ROM_REGION( 0x080000, "msm6376", 0 ) \ + ROM_LOAD( "toptimer-snd.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) + +ROM_START( m4toptim ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "toptimer.bin", 0x0000, 0x010000, CRC(74804012) SHA1(0d9460ba6b1d359d358483c4e8bfd5518f364518) ) + M4TOPTIM_EXTRAS +ROM_END + + +ROM_START( m4toptima ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dtt2-1.bin", 0x0000, 0x010000, CRC(f9c84a34) SHA1(ad654442f580d6a49658f0e4e39bacbd9d0d0018) ) + M4TOPTIM_EXTRAS +ROM_END + + +ROM_START( m4tropcl ) // cheatchr_shuffle + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "tros.p1", 0x0000, 0x010000, CRC(5e86c3fc) SHA1(ce2419991559839a8875060c1afe0f030190010a) ) +ROM_END + +ROM_START( m4tropcla ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "tr2d.p1", 0x0000, 0x010000, CRC(0cc23f89) SHA1(a66c8c28073f53381c43e3e597f15f81c5c61479) ) +ROM_END + +ROM_START( m4tropclb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "tr2f.p1", 0x0000, 0x010000, CRC(fbdcd06f) SHA1(27ccdc83e60a62227d33d8cf3d516fc43908ab99) ) +ROM_END + +ROM_START( m4tropclc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "tr2s.p1", 0x0000, 0x010000, CRC(6d43375c) SHA1(5be1dc85374c6a1235e0b137b46ebd7a2d7d922a) ) +ROM_END + +ROM_START( m4tropcld ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "trod.p1", 0x0000, 0x010000, CRC(60c84612) SHA1(84dc8b34e41436331832c1a32ddac0fce269488a) ) +ROM_END + + +#define M4TBPLAY_EXTRAS \ + ROM_REGION( 0x100000, "msm6376", 0 ) \ + ROM_LOAD( "dtps10_1", 0x000000, 0x080000, CRC(d1d2c981) SHA1(6a4940248b0bc8df0a9de0d60e98cfebf1962504) ) \ + ROM_LOAD( "dtps20_1", 0x080000, 0x080000, CRC(f77c4f39) SHA1(dc0e056f4d8c00824b3e672a02da64613bbf204e) ) + +ROM_START( m4tbplay ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dtp13", 0x0000, 0x010000, CRC(de424bc3) SHA1(c82dd56a0b3ccea78325cd90ed8e72ed68a1af77) ) + M4TBPLAY_EXTRAS +ROM_END + +ROM_START( m4tbplaya ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "rmtp4b", 0x0000, 0x010000, CRC(33a1764e) SHA1(7475f460dee015a2cd78fc3e0d1d14fd96fdbb9c) ) + M4TBPLAY_EXTRAS +ROM_END + +ROM_START( m4tbplayb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "trmyid", 0x0000, 0x010000, CRC(e7af5944) SHA1(64559c97375a3536f7929d7f4d8d19c30527a3ec) ) + M4TBPLAY_EXTRAS +ROM_END + + +ROM_START( m4twintm ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "d2t11.bin", 0x0000, 0x010000, CRC(6a76ac6f) SHA1(824912ff1fc3155d11d32b597be53481532fdf5e) ) + + ROM_REGION( 0x080000, "msm6376", 0 ) + ROM_LOAD( "sdun01.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) +ROM_END + + +ROM_START( m4twist ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "twist_again_mk29-6", 0x8000, 0x008000, CRC(cb331bee) SHA1(a88099a3f35caf02925f1a3f548fbf65c11e3ec9) ) +ROM_END + +ROM_START( m4twista ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "twistagain-98-mkii.bin", 0x8000, 0x008000, CRC(1cbc7b58) SHA1(eda998a64272fe6796243c2db48ef988b9668c35) ) +ROM_END + +ROM_START( m4twistb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "twistagain-mki-27.bin", 0x8000, 0x008000, CRC(357f7072) SHA1(8a23509fff79a83a819b27eff8de8db08c679e3f) ) +ROM_END + +ROM_START( m4univ ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dun20", 0x0000, 0x010000, CRC(6a845d4d) SHA1(82bfc3f3a0ede76a4d482efc71b0390610db7acf) ) + + ROM_REGION( 0x080000, "msm6376", 0 ) + ROM_LOAD( "sdun01.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) +ROM_END + + +ROM_START( m4vegastg ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "vs.p1", 0x0000, 0x020000, CRC(4099d572) SHA1(91a7c1575013e61c754b2c2cb841e7687b76d7f9) ) + + ROM_REGION( 0x200000, "msm6376", 0 ) + ROM_LOAD( "vssound.bin", 0x0000, 0x16ee37, CRC(456da6be) SHA1(f0e293f0a383878b581326f869c2e49bec61d0c5) ) +ROM_END + + +ROM_START( m4vivalvd ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dlv11.bin", 0x0000, 0x010000, CRC(a890184c) SHA1(26d9952bf2eb4b55d21cdb934ffc73ff1a1cfbac) ) + + ROM_REGION( 0x080000, "msm6376", 0 ) + ROM_LOAD( "vegssnd.bin", 0x0000, 0x080000, CRC(93fd4253) SHA1(69feda7ffc56defd515c9cd1ce204af3d9731a3f) ) +ROM_END + + +ROM_START( m4wildtm ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "wildtimer.bin", 0x0000, 0x010000, CRC(5bd54924) SHA1(23fcf13c52ee7b9b39f30f999a9102171fffd642) ) + + ROM_REGION( 0x080000, "msm6376", 0 ) + ROM_LOAD( "wildtimer-snd.bin", 0x0000, 0x080000, CRC(50450909) SHA1(181659b0594ba8d196b7130c5999c91676a363c0) ) +ROM_END + +ROM_START( m4fourmr ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "frmr5p26.bin", 0x8000, 0x008000, CRC(f0c5bd8a) SHA1(39026459008ed5b5bd3a10841799227fef70e5b5) ) +ROM_END + + +#define M4LAZY_EXTRAS \ + ROM_REGION( 0x180000, "msm6376", ROMREGION_ERASE00 ) \ + /* missing? */ + +ROM_START( m4lazy ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "lb_sj___.1_0", 0x0000, 0x020000, CRC(8628dcf1) SHA1(80cb9348e2704d0f72a44b4aa74b24fe03e279bc) ) + M4LAZY_EXTRAS +ROM_END + +ROM_START( m4lazya ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "lb_sj___.1_2", 0x0000, 0x020000, CRC(2b906f52) SHA1(802bcf6b3679e135308026752a55e55f00f21e85) ) + M4LAZY_EXTRAS +ROM_END + +ROM_START( m4lazyb ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "lb_sj_d_.1_2", 0x0000, 0x020000, CRC(a7691bad) SHA1(6cda3f3c18c13c04dbe0e4c1e4c817eedc34aa92) ) + M4LAZY_EXTRAS +ROM_END + + +ROM_START( m4specu ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "speculator.bin", 0x8000, 0x008000, CRC(4035d20c) SHA1(4a534294c5c7332eacd09ca44f351d6a6850cc29) ) + + ROM_REGION( 0x80000, "msm6376", ROMREGION_ERASE00 ) + // missing? +ROM_END + + +ROM_START( m4sunclb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "sucxe__0.2", 0x0000, 0x010000, CRC(fd702a6f) SHA1(0f6d553fcb096ca4874bb971425dabfbe18db31d) ) +ROM_END + +ROM_START( m4sunclba ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "sucxed_0.2", 0x0000, 0x010000, CRC(70802bc3) SHA1(69b36f716cb608931f933cb58e47232b18064f9d) ) +ROM_END + + +ROM_START( m4sunscl ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "sc_xe___.3_3", 0x0000, 0x010000, CRC(e3732cc6) SHA1(77f0368bb29ad00030f83af794a52df92fe97e5d) ) +ROM_END + +ROM_START( m4sunscla ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "sc_xe_d_.3_3", 0x0000, 0x010000, CRC(b8627c4a) SHA1(ad616d38773cbd82376b518aa15dc3d7027237c5) ) +ROM_END + +ROM_START( m4sunsclb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "sc_xef__.3_3", 0x0000, 0x010000, CRC(8e7e1100) SHA1(7648ea860a546081388a213845e27312730f46d9) ) +ROM_END + + +/* Vifico MPU4 games. + Escalera Tobogan use the "Barcrest Sampled Sound" game PCB: + + BARCREST SAMPLED SOUND + _________________________ + | · | + | · | + | · | + | · |_____________ + | · _________ _________ |_| + | SN74LS139N |_A880440| |_| + | _____________________ |_| + | | ST EF68B21P | |_| + | |____________________| |_| + | _______ _______________ |_| + | | OKI | | PROG EPROM | |_| + | | M6376 | |_______________| |_| + | |_______| ______________ |_| + | | ST EF68B40P | |_| + | _______________ |______________| |_| + | | SOUND 2 | __ ___________|_| + | |______________| | | | + | _______________ | | | + | | SOUND 1 | | |<-PAL16L8D + | |______________| |_| | + |________________________| + +Just one different byte between the three "Escalera y Tobogan" sets, at address 00001401: + 1268: 0xF4 + 1269: 0xF5 + 1270: 0xF6 +May be the game serial number hard-encoded on the EPROM? +*/ +ROM_START( m4esctbg ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "ma-15_b-1925-94_esc_1.6a_n-1270.rom1", 0x0000, 0x10000, CRC(6fa2a0ef) SHA1(3b60b545e417a45e61e3babbe27758a053ced926) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "escsnd_0.2_p1.rom2", 0x000000, 0x080000, CRC(2f6517bc) SHA1(b39a4fa17d3e373b7a89663668529d752e595641) ) + ROM_LOAD( "escsnd_0.2_p2.rom3", 0x080000, 0x080000, CRC(3b0b9fed) SHA1(5a03be7f3a7f40252cfec5f719a845d175e3995c) ) + + ROM_REGION( 0x48, "chr", 0 ) + ROM_LOAD( "m578.chr", 0x0000, 0x0048, NO_DUMP ) + + ROM_REGION( 0x104, "pld", 0 ) + ROM_LOAD( "pal16l8d-2pc.ic7", 0x000, 0x104, CRC(e8e7ccde) SHA1(b1ece0d51003c794f00655a8c52e5f7fd843b4c5) ) +ROM_END + +ROM_START( m4esctbga ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "ma-15_b-1925-94_esc_1.6a_n-1269.rom1", 0x0000, 0x10000, CRC(8c3f1cf3) SHA1(0e7961bacc4ba701efbbd1ee99b2a72422f96b07) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "escsnd_0.2_p1.rom2", 0x000000, 0x080000, CRC(2f6517bc) SHA1(b39a4fa17d3e373b7a89663668529d752e595641) ) + ROM_LOAD( "escsnd_0.2_p2.rom3", 0x080000, 0x080000, CRC(3b0b9fed) SHA1(5a03be7f3a7f40252cfec5f719a845d175e3995c) ) + + ROM_REGION( 0x48, "chr", 0 ) + ROM_LOAD( "m578.chr", 0x0000, 0x0048, NO_DUMP ) + + ROM_REGION( 0x104, "pld", 0 ) + ROM_LOAD( "pal16l8d-2pc.ic7", 0x000, 0x104, CRC(e8e7ccde) SHA1(b1ece0d51003c794f00655a8c52e5f7fd843b4c5) ) +ROM_END + +ROM_START( m4esctbgb ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "ma-15_b-1925-94_esc_1.6a_n-1268.rom1", 0x0000, 0x10000, CRC(d2b47707) SHA1(65096835d94242a5c07b266b8561a9e0d9f95e36) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "escsnd_0.2_p1.rom2", 0x000000, 0x080000, CRC(2f6517bc) SHA1(b39a4fa17d3e373b7a89663668529d752e595641) ) + ROM_LOAD( "escsnd_0.2_p2.rom3", 0x080000, 0x080000, CRC(3b0b9fed) SHA1(5a03be7f3a7f40252cfec5f719a845d175e3995c) ) + + ROM_REGION( 0x48, "chr", 0 ) + ROM_LOAD( "m578.chr", 0x0000, 0x0048, NO_DUMP ) + + ROM_REGION( 0x104, "pld", 0 ) + ROM_LOAD( "pal16l8d-2pc.ic7", 0x000, 0x104, CRC(e8e7ccde) SHA1(b1ece0d51003c794f00655a8c52e5f7fd843b4c5) ) +ROM_END + + +void mpu4unsorted_state::init_m4aao() +{ + //Derived from Against_All_Odds_(Eurotek)_[C01_800_15jp].gam + init_m4default(); + init_m4_hopper_duart_a(); + init_m4default_reels(); + //PCKEY =9 + //STKEY =0 + //JPKEY =0 + //JPSET =0 + //DIP1_0=true + //DIP1_1=true + //DIP1_2=true + //DIP1_3=true + //DIP1_4=true + //DIP1_5=false + //DIP1_6=false + //DIP1_7=false + //DIP2_0=false + //DIP2_1=false + //DIP2_2=false + //DIP2_3=false + //DIP2_4=false + //DIP2_5=false + //DIP2_6=false + //DIP2_7=false + //Sound barcrest1 + //Standard + //Volume 0 Stereo= 0 + //Sample rate 16000 + //Front door code 255 Cash door code 255 +} + +ROM_START( m4aao ) + ROM_REGION( 0x010000, "maincpu", 0 ) + ROM_LOAD( "aao2_8.bin", 0x0000, 0x010000, CRC(94ce4016) SHA1(2aecb6dbe798b7bbfb3d27f4d115b6611c7d990f) ) + + ROM_REGION( 0x080000, "msm6376", 0 ) + ROM_LOAD( "aaosnd.bin", 0x0000, 0x080000, CRC(7bf30b96) SHA1(f0086ae239b1d973018a3ea04e816a87f8f20bad) ) +ROM_END + + +ROM_START( m4bandgd ) + ROM_REGION( 0x020000, "maincpu", 0 ) + ROM_LOAD( "bog.bin", 0x0000, 0x020000, CRC(21186fb9) SHA1(3d536098c7541cbdf02d68a18a38cae71155d7ff) ) + + ROM_REGION( 0x080000, "msm6376", 0 ) + ROM_LOAD( "bandsofgoldsnd.bin", 0x0000, 0x080000, CRC(95c6235f) SHA1(a13afa048b73fabfad229b5c2f8ef5ee9948d9fb) ) +ROM_END + + +ROM_START( m4bigben ) + ROM_REGION( 0x010000, "maincpu", 0 ) + ROM_LOAD( "b_bv2_7.bin", 0x0000, 0x010000, CRC(9f3a7638) SHA1(b7169dc26a6e136d6daaf8d012f4c3d017e99e4a) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "big-bensnd1.bin", 0x000000, 0x080000, CRC(e41c3ec1) SHA1(a0c09f51229afcd14f09bb9080d4f3bb198b2050) ) + ROM_LOAD( "big-bensnd2.bin", 0x080000, 0x080000, CRC(ed71dbe1) SHA1(e67ca3c178caacb99118bacfcd7612e699f40455) ) +ROM_END + +ROM_START( m4bigbena ) + ROM_REGION( 0x010000, "maincpu", 0 ) + ROM_LOAD( "b_bv2_9.bin", 0x0000, 0x010000, CRC(86a745ee) SHA1(2347e8e38c743ea4d00faee6a56bb77e05c9c94d) ) // aka bb2_9.bin + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "big-bensnd1.bin", 0x000000, 0x080000, CRC(e41c3ec1) SHA1(a0c09f51229afcd14f09bb9080d4f3bb198b2050) ) + ROM_LOAD( "big-bensnd2.bin", 0x080000, 0x080000, CRC(ed71dbe1) SHA1(e67ca3c178caacb99118bacfcd7612e699f40455) ) +ROM_END + +ROM_START( m4bigbenb ) + ROM_REGION( 0x010000, "maincpu", 0 ) + ROM_LOAD( "bb1_9p.bin", 0x0000, 0x010000, CRC(c76c5a09) SHA1(b0e3b38998428f535841ab5373d57cb0d5b21ed3) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "big-bensnd1.bin", 0x000000, 0x080000, CRC(e41c3ec1) SHA1(a0c09f51229afcd14f09bb9080d4f3bb198b2050) ) + ROM_LOAD( "big-bensnd2.bin", 0x080000, 0x080000, CRC(ed71dbe1) SHA1(e67ca3c178caacb99118bacfcd7612e699f40455) ) +ROM_END + + +ROM_START( m4bigbend ) + ROM_REGION( 0x010000, "maincpu", 0 ) + ROM_LOAD( "bb_2_1.bin", 0x0000, 0x010000, CRC(d3511805) SHA1(c86756998d36e729874c71a5d6442785069c57e9) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "big-bensnd1.bin", 0x000000, 0x080000, CRC(e41c3ec1) SHA1(a0c09f51229afcd14f09bb9080d4f3bb198b2050) ) + ROM_LOAD( "big-bensnd2.bin", 0x080000, 0x080000, CRC(ed71dbe1) SHA1(e67ca3c178caacb99118bacfcd7612e699f40455) ) +ROM_END + +ROM_START( m4bigbene ) + ROM_REGION( 0x010000, "maincpu", 0 ) + ROM_LOAD( "bbs_2_9p.bin", 0x0000, 0x010000, CRC(0107608d) SHA1(9e5def90e77f65c366aea2a9ac24d5f17c4d0ae8) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "big-bensnd1.bin", 0x000000, 0x080000, CRC(e41c3ec1) SHA1(a0c09f51229afcd14f09bb9080d4f3bb198b2050) ) + ROM_LOAD( "big-bensnd2.bin", 0x080000, 0x080000, CRC(ed71dbe1) SHA1(e67ca3c178caacb99118bacfcd7612e699f40455) ) +ROM_END + + +ROM_START( m4boltbl ) + ROM_REGION( 0x010000, "maincpu", 0 ) + ROM_LOAD( "bfb.bin", 0x8000, 0x008000, CRC(63058a6b) SHA1(ebccc647a937c36ffc6c7cfc01389f04f829999c) ) +ROM_END + +ROM_START( m4boltbla ) + ROM_REGION( 0x010000, "maincpu", 0 ) + ROM_LOAD( "bfb1.1.bin", 0x8000, 0x008000, CRC(7a91122d) SHA1(28229e86feb4411978e556f7f7bd85bfd996b8aa) ) +ROM_END + +ROM_START( m4boltblb ) + ROM_REGION( 0x010000, "maincpu", 0 ) + ROM_LOAD( "bfb9 5p cash.bin", 0x8000, 0x008000, CRC(792bff34) SHA1(6996e87f22df6bac7bbe9908534b7e0480f03ede) ) +ROM_END + +ROM_START( m4boltblc ) + ROM_REGION( 0x010000, "maincpu", 0 ) + ROM_LOAD( "bolt-gilwern.bin", 0x8000, 0x008000, CRC(74e2c821) SHA1(1dcdc58585d1dcfc93e2aeb3df0cd41705cde196) ) +ROM_END + +ROM_START( m4dblchn ) + ROM_REGION( 0x010000, "maincpu", 0 ) + ROM_LOAD( "doublechance.bin", 0x0000, 0x010000, CRC(6feeeb7d) SHA1(40fe67d854fbf48959e08fdb5743e14d340c16e7) ) + + ROM_REGION( 0x080000, "msm6376", 0 ) + ROM_LOAD( "doublechancesnd.bin", 0x0000, 0x080000, CRC(3e80f8bd) SHA1(2e3a195b49448da11cc0c089a8a9b462894c766b) ) +ROM_END + + +ROM_START( m4kqclub ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "kingsque.p1", 0x8000, 0x008000, CRC(6501e501) SHA1(e289a9418c640415967fafda43f20877b38e3671) ) +ROM_END + +ROM_START( m4snookr ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "snooker.ts2", 0x8000, 0x004000, CRC(a6906eb3) SHA1(43b91e88f909b758f880d83df4f889f15aa17eb3) ) + ROM_LOAD( "snooker.ts1", 0xc000, 0x004000, CRC(3e3072dd) SHA1(9ea8b270044b48767a2e6c19e8ed257d5491c1d0) ) +ROM_END + + +ROM_START( m4stakex ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "stakex.bin", 0x0000, 0x010000, CRC(098c7117) SHA1(27f04cfb88ef870fc30afd055cf32ffe448275ea) ) + + ROM_REGION( 0x080000, "msm6376", 0 ) + ROM_LOAD( "stakexsnd.bin", 0x0000, 0x080000, CRC(baf17991) SHA1(282e0ac9d18299e9f7a0fecaf9edf0cb4205ef0e) ) +ROM_END + +ROM_START( m4stakexa ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "stakex2.bin", 0x0000, 0x010000, CRC(77ae3f63) SHA1(c5f1cfd5bffcf3156f584757de57ef6530214511) ) + + ROM_REGION( 0x080000, "msm6376", 0 ) + ROM_LOAD( "stakexsnd.bin", 0x0000, 0x080000, CRC(baf17991) SHA1(282e0ac9d18299e9f7a0fecaf9edf0cb4205ef0e) ) +ROM_END + + +ROM_START( m4stand2 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "stand 2 del 8.bin", 0x08000, 0x08000, CRC(a9a5edc7) SHA1(035d3f3b3373cec475753f1b0de2f4db48d6d288) ) +ROM_END + + +ROM_START( m4bigban ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "big04.p1", 0x0000, 0x020000, CRC(f7ead9c6) SHA1(46c10abb892cb6d427ad508aae96752c14b4cb83) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) + // Missing? +ROM_END + +ROM_START( m4crzcsn ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "crz03.bin", 0x0000, 0x020000, CRC(48610c4f) SHA1(a62ac8b3ee704ee4e98f9d56bfc723d4cbb25b54) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) + // Missing? +ROM_END + +ROM_START( m4crzcav ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "gcv05.p1", 0x0000, 0x020000, CRC(b9ba46f6) SHA1(78b745d85b36444c39747982987088a772b20a7e) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) + // Missing? +ROM_END + +ROM_START( m4dragon ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "dgl01.p1", 0x0000, 0x020000, CRC(d7d39c9b) SHA1(5350c9db549edee30815516b1ce74a018390ff3d) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) + // Missing? +ROM_END + +ROM_START( m4hilonv ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "hnc02.p1", 0x0000, 0x020000, CRC(33a8022b) SHA1(5168b8f32630aa2cb56f30c941695f1728e4fb7a) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) + // Missing? +ROM_END + +ROM_START( m4octo ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "oct03.p1", 0x0000, 0x020000, CRC(8df66e94) SHA1(e1ab93982846d83becae36b5814ebbd515b9078e) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) + // Missing? +ROM_END + +ROM_START( m4sctagt ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "gse3_0.p1", 0x0000, 0x010000, CRC(eff705ff) SHA1(6bf96872ef4bcc8f8041c5384d892f072c72be2b) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) + // Missing? +ROM_END + + + +ROM_START( m4barcrz ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "barcrazy.bin", 0x0000, 0x010000, CRC(917ad749) SHA1(cb0a3f6737b8f183d2efb0a3f8adbf86d40a38ff) ) + + ROM_REGION( 0x080000, "msm6376", 0 ) + ROM_LOAD( "barcrazysnd.bin", 0x0000, 0x080000, CRC(0e155193) SHA1(7583e9f3e3624f82f2329565bdcbdaa5a5b03ee0) ) +ROM_END + +ROM_START( m4bonzbn ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "bingo-bonanza_v1.bin", 0x0000, 0x010000, CRC(3d137ddf) SHA1(1ce23db111448e44a166554dd8853dc379e787da) ) + + ROM_REGION( 0x100000, "msm6376", 0 ) + ROM_LOAD( "bingo-bonanzasnd1.bin", 0x000000, 0x080000, CRC(e0eb2a92) SHA1(cbc0b3bba7857d87535d1c2a7459aed60709734a) ) + ROM_LOAD( "bingo-bonanzasnd2.bin", 0x080000, 0x080000, CRC(7db27b28) SHA1(98c5fa4bf8c7f67fae90a1ca98b74057f5ed9b6b) ) +ROM_END + +ROM_START( m4dnj ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "d.n.j 1-02", 0x0000, 0x010000, CRC(5750843d) SHA1(b87923e84071ea4a1af7566a7f413f8e30e208e9) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) // should this set have an OKI? +ROM_END + +ROM_START( m4dnja ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "d.n.j 1-03", 0x0000, 0x010000, CRC(7b805255) SHA1(f62765bfa66e2422ac0a71ebaff27f1ccd470fe2) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) // should this set have an OKI? +ROM_END + +ROM_START( m4dnjb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "d.n.j 1-06", 0x0000, 0x010000, CRC(aab770c7) SHA1(f24fff8346915017bc43fef9fac356a067676d86) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) // should this set have an OKI? +ROM_END + + +ROM_START( m4matdr ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "matador.bin", 0x0000, 0x020000, CRC(367788a4) SHA1(3c9b077a64f993cb60107558efdfcbee0fe5c958) ) + + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) + // missing +ROM_END + + + + +#define M4SBX_EXTRAS \ + ROM_REGION( 0x40000, "upd", 0 ) /* not oki at least... */ \ + ROM_LOAD( "sbsnd", 0x0000, 0x040000, CRC(27fd9fe6) SHA1(856fdc95a833affde0ada7041c68a4b6b729b715) ) + +ROM_START( m4sbx ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "sbx-2.1-cash.bin", 0x8000, 0x008000, CRC(2dca703e) SHA1(aef398f4ed38ba34f28009058c9486a570f64e0f) ) + M4SBX_EXTRAS +ROM_END + +ROM_START( m4sbxa ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "b_sbx23.bin", 0x8000, 0x008000, CRC(8188e94f) SHA1(dfbfc549d12c8f7c7db6c12ba766c28f1cf0873f) ) + M4SBX_EXTRAS +ROM_END + +ROM_START( m4sbxb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "s bears v1-4 20p po.bin", 0x8000, 0x008000, CRC(03486714) SHA1(91c237956bbec58cc08a3e92543488d8e2daa673) ) + M4SBX_EXTRAS +ROM_END + +ROM_START( m4sbxc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "s bears v2-4 10p 8.bin", 0x8000, 0x008000, CRC(9b94f8d0) SHA1(9808386def14c8a058730e90135a4d6506e6ed3d) ) + M4SBX_EXTRAS +ROM_END + +ROM_START( m4sbxd ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "s bears v2-4 20p po.bin", 0x8000, 0x008000, CRC(ad8f8d9d) SHA1(abd808f95b587a84e8b3aad1af9fe1cb613c9821) ) + M4SBX_EXTRAS +ROM_END + +ROM_START( m4sbxe ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "superbea.10p", 0x8000, 0x008000, CRC(70020466) SHA1(473c9feb9ce0024b870612af19ec8a47a7798506) ) + M4SBX_EXTRAS +ROM_END + + +ROM_START( m4bclimb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "bc8pv4.bin", 0x8000, 0x008000, CRC(229a7607) SHA1(b20b2c9f9d19ccd6146affdf519fa4bc0322c971) ) + + ROM_REGION( 0x40000, "upd", 0 ) // not oki at least... + ROM_LOAD( "sbsnd", 0x0000, 0x040000, CRC(27fd9fe6) SHA1(856fdc95a833affde0ada7041c68a4b6b729b715) ) +ROM_END + +ROM_START( m4captb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "c_bear21.rom", 0x8000, 0x008000, CRC(2e9a42e9) SHA1(0c3f33311f1543daf2ff5c0443dc8c000d49c26d) ) + + ROM_REGION( 0x40000, "upd", ROMREGION_ERASE00 ) // not oki at least... +// ROM_LOAD( "sbsnd", 0x0000, 0x040000, CRC(27fd9fe6) SHA1(856fdc95a833affde0ada7041c68a4b6b729b715) ) +ROM_END + +#define M4JUNGJ_EXTRAS \ + ROM_REGION( 0x40000, "upd", ROMREGION_ERASE00 ) \ + /* missing? */ +ROM_START( m4jungj ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "jj2410p.bin", 0x8000, 0x008000, CRC(490838c6) SHA1(a1e9963df9a429ae594592312e977f22f96c6073) ) + M4JUNGJ_EXTRAS +ROM_END + +ROM_START( m4jungja ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "jj2420p.bin", 0x8000, 0x008000, CRC(39329ccf) SHA1(6b79e4fc553bad935ec9989ad5ef3e186e720633) ) + M4JUNGJ_EXTRAS +ROM_END + +ROM_START( m4jungjb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "jjv2_4p.bin", 0x8000, 0x008000, CRC(125a8138) SHA1(18c62df5b331bd09d6dcda6280351e94b7b816fd) ) + M4JUNGJ_EXTRAS +ROM_END + +ROM_START( m4jungjc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "jjv4.bin", 0x8000, 0x008000, CRC(bf583156) SHA1(084c5ed3d96c92f265ad08cc7aed7fe6092217a5) ) + M4JUNGJ_EXTRAS +ROM_END + + +#define M4FSX_EXTRAS \ + ROM_REGION( 0x40000, "upd", ROMREGION_ERASE00 ) \ + /* missing? */ + +ROM_START( m4fsx ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD("funspotx.10p", 0x8000, 0x008000, CRC(55199f36) SHA1(7af376781e381582b06972725a2022cc28ba60b3) ) + M4FSX_EXTRAS +ROM_END + +ROM_START( m4fsxa ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "funspotx.20p", 0x8000, 0x008000, CRC(08d1eb6e) SHA1(7c7c02d9c34696d75490df8596ffe64fba93dcc4) ) + M4FSX_EXTRAS +ROM_END + +ROM_START( m4fsxb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "b_fsv1.bin", 0x8000, 0x008000, CRC(b077f944) SHA1(97d96594b8d2d7232bad087cc55912dec02d7484) ) + M4FSX_EXTRAS +ROM_END + +/* +Coinworld data + +Error Number Cause of alarm Comments +11 1 GBP coin in These alarms go off when a coin is jammed in the mech, or if the Mars anti-strimming alarm is activated. +12 50p coin in The machine will lock up for a short amount of time, whilst sounding as alarm tone. +13 20p coin in Error 15 can be caused by having DIL switch 6 in the wrong position for your coin mech loom. +14 10p coin in +15 5p coin in +16 2 GBP coin in +21 Reel 1 alarm The faulty reel will flash. Nothing more will happen until the machine is reset +22 Reel 2 alarm +23 Reel 3 alarm +42 Ram Cleared The RAM is cleared when the machine is turned on for the first time, or when the price of play is changed. The alarm + clears after a short time +51 Checksum error The machine will lock up completely if the eprom has failed, or if the security chip is missing or has failed +54 Security chip fail +61 Cash in meter failure The machine will not run if the cash in, or cash out meters are not connected properly. +62 Cash out meter failure +71 Datapack error If the machine is in protocol mode, and a datapack is not connected, then the machine alarms. It will reset after a + time, and have another go at transmitting the data +72 Sound card fail If the sound card is missing, or the wrong sound eprom is fitted, the machine alarms on power on. The machine will then + operate in silence. +99 Payout tubes empty If one of the tubes runs dry, the machine will attempt to compensate by paying from the other tube. If this runs dry + as well, the machine will lock up, requiring a refill before games can continue. The alarm tone is a softer, more friendly one. +*/ + +#define M4CCOP_EXTRAS \ + ROM_REGION( 0x100000, "alt1msm6376", ROMREGION_ERASE00 ) \ + ROM_LOAD( "cash-copssnd1-de.bin", 0x000000, 0x080000, CRC(cd03f7f7) SHA1(4c09a86bcdf9a9eb224b19b932b75c9db3784fad) ) \ + ROM_LOAD( "cash-copssnd2-de.bin", 0x080000, 0x080000, CRC(107816a2) SHA1(f5d4a0390b85a665a3536da4689ec91b1a2da3ae) ) \ + ROM_REGION( 0x100000, "alt2msm6376", ROMREGION_ERASE00 ) \ + ROM_LOAD( "cash-copssnd1.bin", 0x000000, 0x080000, CRC(776a303d) SHA1(a5a282674674f25bc6ca169eeebee7309239871f) ) \ + ROM_LOAD( "cash-copssnd2.bin", 0x080000, 0x080000, CRC(107816a2) SHA1(f5d4a0390b85a665a3536da4689ec91b1a2da3ae) ) \ + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ + ROM_LOAD( "cashcops.p1", 0x000000, 0x080000, CRC(9a59a3a1) SHA1(72cfc99b22ec5fb89714c6d2d66760d86dc19f2f) ) \ + ROM_LOAD( "cashcops.p2", 0x080000, 0x080000, CRC(deb3e755) SHA1(01f92881c451919be549a1c58afa1fa4630bf171) ) + +ROM_START( m4ccop ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cashcop9.bin", 0x0000, 0x010000, CRC(5f993207) SHA1(ab0614e6a1355d275158b1a32f65086e40c2f890) ) + M4CCOP_EXTRAS +ROM_END + +ROM_START( m4ccopa ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cash-cops_v4-de.bin", 0x0000, 0x010000, CRC(df3da824) SHA1(c275a33e4a89f1b9ecbae80cb7b62007b29b9fd2) ) + M4CCOP_EXTRAS +ROM_END + +ROM_START( m4ccopb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "cashcop8.bin", 0x0000, 0x010000, CRC(165603df) SHA1(d301696a340ed136a43c5753c8bf73283a925fd7) ) + M4CCOP_EXTRAS +ROM_END + +ROM_START( m4ccc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ccc12.bin", 0x8000, 0x008000, CRC(570cc766) SHA1(036c95ff6428ab38cceb0537dcc990be78fb331a) ) + + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) + ROM_LOAD( "criss cross crazy sound,27c2001", 0x0000, 0x040000, CRC(1994c509) SHA1(2bbe91a43aa9953b7776faf67e81e30a4f7b7cb2) ) +ROM_END + + +ROM_START( m4treel ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "trgv1.1s", 0x0000, 0x010000, CRC(a9c76b08) SHA1(a5b3bc980eb58e346cb02d8ca43401f304e5b6de) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( m4treela ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "trgv1.1b", 0x0000, 0x020000, CRC(7eaebef6) SHA1(5ab86329041e7df09cc2e3ce8d5afd44d88c246c) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + + + + +ROM_START( m4remag ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "remagv2", 0x0000, 0x010000, CRC(80d9c1c2) SHA1(c77d443d92084c324ef75575acca66ffbd9beef3) ) +ROM_END + +ROM_START( m4rmg ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "rmgicdd", 0x0000, 0x010000, CRC(bd64be0d) SHA1(772b80619c7d514a7a253f35137896d6a73bf4c6) ) +ROM_END + +ROM_START( m4wnud ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "wnudge.bin", 0x8000, 0x008000, CRC(1d935575) SHA1(c4177c41473c0fb511e0ee035961f55ad43be14d) ) +ROM_END + +ROM_START( m4brnze ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "bv25", 0x0000, 0x010000, CRC(5c66f460) SHA1(c7587a6e992549ad8814f77c65b33a17a3641431) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( m4brnzea ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "bv25v2", 0x0000, 0x010000, CRC(a675edb3) SHA1(a3c6ee6a0bfb301fed72b45ee8e363d77b8b8dbb) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( m4brnzeb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "bv55", 0x0000, 0x010000, CRC(93905bc9) SHA1(e8d3cd125dced43fc2cf23cbccc59110561d2a40) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( m4riotrp ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "drt10.bin", 0x0000, 0x010000, CRC(a1badb8a) SHA1(871786ea4e65ecbf61c9a776100321253922d11e) ) + + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) + ROM_LOAD( "dblcsnd.bin", 0x0000, 0x080000, CRC(c90fa8ad) SHA1(a98f03d4b6f5892333279bff7537d4d6d887da62) ) +ROM_END + + +#define M4SURF_EXTRAS \ + ROM_REGION( 0x200000, "msm6376", 0 ) \ + ROM_LOAD( "s_surf.sn1", 0x000000, 0x080000, CRC(f20a7d69) SHA1(7887230613b497dc71a60125dd1e265ebbc8eb23) ) \ + ROM_LOAD( "s_surf.sn2", 0x080000, 0x080000, CRC(6c4a9074) SHA1(3b993120156677de893e5dc1e0c5d6e0285c5570) ) + +ROM_START( m4surf ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "s_surfin._pound5", 0x0000, 0x020000, CRC(5f800636) SHA1(5b1789890eea44e5275e13f360876374d862935f) ) + M4SURF_EXTRAS +ROM_END + +ROM_START( m4surfa ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "s_surfin.upd", 0x0000, 0x020000, CRC(d0bef9cd) SHA1(9d53bfe8d928b190202bf747c0d7bb4cc0ae0efd) ) + M4SURF_EXTRAS +ROM_END + +ROM_START( m4surfb ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "s_surfin._pound15", 0x0000, 0x020000, CRC(eabce7fd) SHA1(4bb2bbcc7d2917eca72385a21ab85d2d94a882ec) ) + M4SURF_EXTRAS +ROM_END + + +ROM_START( m4wife ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "moy_wife.p1", 0x0000, 0x020000, CRC(293d35a6) SHA1(980a28ca5e9ec3ca2e1a5b34f658b622dca4cf50) ) + + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) + // missing? +ROM_END + +#define M4BLKGD_EXTRAS \ + ROM_REGION( 0x200000, "msm6376", 0 ) \ + ROM_LOAD( "blackgoldsnd1.bin", 0x000000, 0x080000, CRC(d251b59e) SHA1(960b81b87f0fb5000028c863892a273362cb897f) ) \ + ROM_LOAD( "blackgoldsnd2.bin", 0x080000, 0x080000, CRC(87cbcd1e) SHA1(a6cd186af7c5682e216f549b77735b9bf1b985ae) ) \ + ROM_LOAD( "blackgoldsnd3.bin", 0x100000, 0x080000, CRC(258f7b83) SHA1(a6df577d98ade8c5c5ff68ef891667e65e83ac17) ) +ROM_START( m4blkgd ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "blackgoldprg.bin", 0x0000, 0x080000, CRC(a04736b2) SHA1(9e060cc79e7922b38115f1412ed76f8c76deb917) ) + M4BLKGD_EXTRAS +ROM_END + +//Early rom banks empty? May need different loading +ROM_START( m4blkgda ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "blackgoldversion2.4.bin", 0x0000, 0x040000, CRC(fad4e360) SHA1(23c6a13e8d1ca307b0ef22edffed536675985aca) ) + M4BLKGD_EXTRAS +ROM_END + +#define M4ZILL_EXTRAS \ + ROM_REGION( 0x200000, "msm6376", 0 ) \ + ROM_LOAD( "zillsnd.bin", 0x0000, 0x080000, CRC(171ed677) SHA1(25d63f4d9c64f13bec4feffa265c5b0c5f6be4ec) ) + +ROM_START( m4zill ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "zillprgh.bin", 0x0000, 0x080000, CRC(6f831f6d) SHA1(6ab6d7f1752d27bc216bc11533b90178ce188715) ) + M4ZILL_EXTRAS +ROM_END + +ROM_START( m4zilla ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "zillprog.bin", 0x0000, 0x080000, CRC(0f730bab) SHA1(3ea82c8f7d62c70897a5c132273820c9f192cd72) ) + M4ZILL_EXTRAS +ROM_END + + +#define M4HSTR_EXTRAS \ + ROM_REGION( 0x200000, "altmsm6376", 0 ) \ + ROM_LOAD( "happystreak.p1", 0x0000, 0x080000, CRC(b1f328ff) SHA1(2bc6605965cb5743a2f8b813d68cf1646a4bcac1) ) \ + ROM_REGION( 0x200000, "msm6376", 0 ) \ + ROM_LOAD( "happystreaksnd.p1", 0x0000, 0x080000, CRC(76cda195) SHA1(21a985cd6cf1f63f4aa799563099a0527a7c0ea2) ) \ + ROM_LOAD( "happystreaksnd.p2", 0x080000, 0x080000, CRC(f3b4c763) SHA1(7fd6230c13b66a16daad9d45935c7803a5a4c35c) ) + +ROM_START( m4hstr ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "h_s_v1_2.bin", 0x0000, 0x010000, CRC(ef3d3461) SHA1(aa5b1934ab1c6739f36ac7b55d3fda2c640fe4f4) ) + M4HSTR_EXTRAS +ROM_END + +ROM_START( m4hstra ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "hs2_5.bin", 0x0000, 0x010000, CRC(f669a4c9) SHA1(46813ba7104c97eaa851b50019af9b80046d03b3) ) + M4HSTR_EXTRAS +ROM_END + +ROM_START( m4hstrb ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "hs2_5p.bin", 0x0000, 0x010000, CRC(71c981aa) SHA1(5effe7487e7216078127d3dc4a0a7ad02ad84390) ) + M4HSTR_EXTRAS +ROM_END + + +ROM_START( m4hstrcs ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "chs3_6.bin", 0x0000, 0x010000, CRC(d097ae0c) SHA1(bd78c14e7f057f173859bcb1db5e6a142d0c4062) ) + M4HSTR_EXTRAS +ROM_END + +ROM_START( m4hstrcsa ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "chs3_6p.bin", 0x0000, 0x010000, CRC(57378b6f) SHA1(cf1cf528b9790c1013d87ccf63dcbf59f365067f) ) + M4HSTR_EXTRAS +ROM_END + +ROM_START( m4hstrcsb ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "chs3_6pk.bin", 0x0000, 0x010000, CRC(f95f1afe) SHA1(fffa409e8c7148a840d5dedf490fd9f6975e9476) ) + M4HSTR_EXTRAS +ROM_END + +ROM_START( m4hstrcsc ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "chs3_6k.bin", 0x0000, 0x010000, CRC(7eff3f9d) SHA1(31dedb0d9476633e8eb947a687c7b8a94b0e182c) ) + M4HSTR_EXTRAS +ROM_END + +ROM_START( m4hstrcsd ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "chs_4_2.bin", 0x0000, 0x010000, CRC(ec148b65) SHA1(2d6252ce68719281f5597955227a1f662743f006) ) + M4HSTR_EXTRAS +ROM_END + + +#define M4DDB_EXTRAS \ + ROM_REGION( 0x200000, "msm6376", 0 ) \ + ROM_LOAD( "ddbsound1", 0x000000, 0x080000, CRC(47c87bd5) SHA1(c1578ae553c38e93235cea2142cb139170de2a7e) ) \ + ROM_LOAD( "ddbsound2", 0x080000, 0x080000, CRC(9c733ab1) SHA1(a83c3ebe99703bb016370a8caf76bdeaff5f2f40) ) +ROM_START( m4ddb ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "ddb3_1.bin", 0x0000, 0x010000, CRC(3b2da727) SHA1(8a677be3b82464d1bf1e97d22adad3b27374079f) ) + M4DDB_EXTRAS +ROM_END + +ROM_START( m4ddba ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "ddb3_1p.bin", 0x0000, 0x010000, CRC(bc8d8244) SHA1(9b8e0706b3add42e5e4a8b6c6a2f80a333a2f49e) ) + M4DDB_EXTRAS +ROM_END + + +ROM_START( m4hapfrt ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "hf1_1.bin", 0x0000, 0x010000, CRC(6c16cb05) SHA1(421b164c8410629956177355e505859757c97a6b) ) + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( m4hapfrta ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "hf1_1p.bin", 0x0000, 0x010000, CRC(ebb6ee66) SHA1(1f9b67260e5becd013d95358cc89acb1099d655d) ) + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( m4hapfrtb ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "hf1_4pk.bin", 0x0000, 0x010000, CRC(0944b3c6) SHA1(00cdb75dda4f8984f77806047ad79fe9a1a8760a) ) + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + + +ROM_START( m4sunday ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "sunday_sport_v11", 0x0000, 0x010000, CRC(14147d59) SHA1(03b14f4f83a545b3252702267ac012b3be76013d) ) + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( m4jp777 ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "jpot71", 0x0000, 0x010000, CRC(f4564a05) SHA1(97d21e2268e5d99e6e51cb12c45e09445cff1f50) ) + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( m4booze ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "boozecruise10_v10.bin", 0x0000, 0x010000, CRC(b37f752b) SHA1(166f7d17694689bd9d51d859c13ddafa1c6e5e7f) ) + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( m4cbing ) + ROM_REGION( 0x80000, "maincpu", 0 ) + ROM_LOAD( "cherrybingoprg.bin", 0x0000, 0x010000, CRC(00c1d4f3) SHA1(626df7f2f597ed13c32ce0fa8846f2e27ca68eae) ) + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) // not oki! + ROM_LOAD( "cherrybingosnd.p1", 0x000000, 0x100000, CRC(11bed9f9) SHA1(63ed45122dda8e412bb1eaeb967d8a0f925d4bde) ) + ROM_LOAD( "cherrybingosnd.p2", 0x100000, 0x100000, CRC(b2a7ec28) SHA1(307f19ffb46f4a2e8e93923ddb666e50de43a00e) ) +ROM_END + + +ROM_START( m4nod ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "nod.bin", 0x0000, 0x010000, CRC(bc738af5) SHA1(8df436139554ccfb48c4db0a32e3333dbf3c4f46) ) + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) //region was called "upd" but machine is mod4oki? Which one is correct? + ROM_LOAD( "nodsnd.bin", 0x0000, 0x080000, CRC(2134494a) SHA1(3b665bf79567a71195b20e76c50b02707d15b78d) ) +ROM_END + + +ROM_START( m4aliz ) + ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_LOAD( "70000000.bin", 0x0000, 0x040000, CRC(56f64dd9) SHA1(11f990c9a6864a969dc9a4146e1ac2c963e3eb9b) ) + + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) + ROM_LOAD( "alizsnd.hi", 0x0000, 0x080000, CRC(c7bd937a) SHA1(cc4d85a3d4cdf57fa96c812a4cd78b599c7052ff) ) + ROM_LOAD( "alizsnd.lo", 0x080000, 0x04e15e, CRC(111cc111) SHA1(413efedbc9e85240df833c10d680b0e907da10b3) ) + + ROM_REGION( 0x200000, "misc", ROMREGION_ERASE00 ) // i think this is just the sound roms as intelhex + ROM_LOAD( "71000000.hi", 0x0000, 0x0bbe9c, CRC(867058c1) SHA1(bd980cb0bb3075854cc2e9b829c31f3742f4f1c2) ) + ROM_LOAD( "71000000.lo", 0x0000, 0x134084, CRC(53046751) SHA1(b8f9eca933315b497732c895f4311f62103344fc) ) +ROM_END + + +ROM_START( m4c2 ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "ci2-0601.bin", 0x0000, 0x010000, CRC(84cc8aca) SHA1(1471e3ad9c9ba957b6cc99c204fe588cc55fbc50) ) + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + + +ROM_START( m4coney ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "70000060.bin", 0x0000, 0x010000, CRC(fda208e4) SHA1(b1a243b2681faa03add4ab6e4df98814f9c52fc5) ) + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + + +ROM_START( m4goldnn ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "goldenyears10.bin", 0x0000, 0x020000, CRC(1074bac6) SHA1(967ee64f267a80017fc95bbc6c5a38354e9cab65) ) + + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) + ROM_LOAD( "tgyosnd.p1", 0x000000, 0x080000, CRC(bda49b46) SHA1(fac143003641824bf0db4ac6841292e509fa00da) ) + ROM_LOAD( "tgyosnd.p2", 0x080000, 0x080000, CRC(43d28a0a) SHA1(5863e493e84641e4fabcd69e6402e3bcca87dde2) ) + ROM_LOAD( "tgyosnd.p3", 0x100000, 0x080000, CRC(b5b9eb68) SHA1(8d5a0a687dd7096da8dfd2a59c6fe96f4b1949f9) ) +ROM_END + + +ROM_START( m4mgpn ) + ROM_REGION( 0x010000, "maincpu", 0 ) + ROM_LOAD( "mgp15.p1", 0x0000, 0x010000, CRC(ec76233f) SHA1(aa8595c639c83026d7fe5c3a161f8b08ff9a8b46) ) + + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) + ROM_LOAD( "mgpsnd.p1", 0x000000, 0x080000, CRC(d5f0b845) SHA1(6d97d0d4d07407bb0a51e1d62da95c664418a9e9) ) + ROM_LOAD( "mgpsnd.p2", 0x080000, 0x080000, CRC(cefeea06) SHA1(45142ca1bab898dc6f3c32e382ee9157132810a6) ) + ROM_LOAD( "mgpsnd.p3", 0x100000, 0x080000, CRC(be4b3bd0) SHA1(f14c08dc770a24db8bbd00a65d3edf6ee9895ca3) ) + ROM_LOAD( "mgpsnd.p4", 0x180000, 0x080000, CRC(d74b4b03) SHA1(a35c99040a72485a6c2d4a4fdfc203634f6a9ad0) ) +ROM_END + + +ROM_START( m4spotln ) + ROM_REGION( 0x20000, "maincpu", 0 ) + ROM_LOAD( "gsp01.p1", 0x0000, 0x020000, CRC(54c56a07) SHA1(27f21872a7ffe0c497983fa5bbb59e967bf48974) ) + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + + +ROM_START( m4vivan ) + ROM_REGION( 0x40000, "maincpu", 0 ) + ROM_LOAD( "vlv.bin", 0x0000, 0x010000, CRC(f20c4858) SHA1(94bf19cfa79a1f5347ab61a80cbbce06942187a2) ) + + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) + ROM_LOAD( "vlvsound1.bin", 0x0000, 0x080000, CRC(ce4da47a) SHA1(7407f8053ee482db4d8d0732fdd7229aa531b405) ) + ROM_LOAD( "vlvsound2.bin", 0x0000, 0x080000, CRC(571c00d1) SHA1(5e7be40d3caae88dc3a580415f8ab796f6efd67f) ) +ROM_END + + +ROM_START( m4sunseta ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "b2512s.p1", 0x0000, 0x010000, CRC(8c509538) SHA1(eab6a1e44e77cb48cf490616facc74932acc93c5) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( m4sunsetb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "b2512y.p1", 0x0000, 0x010000, CRC(65fa2cd9) SHA1(d2ab1ae25d5425a0788f86535a20d3ebe4a9db2b) ) + ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) +ROM_END + + + +ROM_START( m4funh ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "funhouse.bin", 0x00000, 0x10000, CRC(4e342025) SHA1(288125ff5e3da7249d89dfcc3cd0915f791f7d43) ) + ROM_REGION( 0x200000, "msm6376", ROMREGION_ERASE00 ) // no idea if it uses an OKI +ROM_END + + +// Not the same as Barcrest Everyone's A Winner? has "(C) J.A. Brown 1991" in the ROM +ROM_START( m4eaw51 ) \ + ROM_REGION( 0x010000, "maincpu", 0 ) + ROM_LOAD( "everyones a winner v2-5p", 0x08000, 0x008000, CRC(eb8f2fc5) SHA1(0d3614bd5ff561d17bef0d1e620f2f812b8fed5b)) +ROM_END + +} // anonymous namespace + +#define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) + + +/* Barcrest */ +GAME( 198?, m4tst2, 0, mod2, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","MPU4 Unit Test (Program 2)",MACHINE_MECHANICAL ) +GAME( 198?, m4clr, 0, mod2, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","MPU4 Meter Clear ROM",MACHINE_MECHANICAL ) +GAME( 198?, m4rltst, 0, mod2, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","MPU4 Reel Test (3.0)",MACHINE_MECHANICAL ) + +// other issues, only plays an 'alarm' sound when there's money to payout? wrong sound ROM or something else? +GAME(199?, m4casmul, 0, mod4oki, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Casino Multiplay (Barcrest) (MPU4)",GAME_FLAGS ) // unprotected + +// barcrest, to split + +GAME(199?, m4c9c, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Cloud Nine Club (Barcrest) (MPU4) (CNC 2.1)",GAME_FLAGS ) // doesn't boot + +// corrupt vfd (bwb?) +GAME(199?, m4clbx, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big,ROT0, "Barcrest","Club X (Barcrest) (MPU4) (CLX 1.2, set 1)",GAME_FLAGS ) +GAME(199?, m4clbxa, m4clbx, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big,ROT0, "Barcrest","Club X (Barcrest) (MPU4) (CLX 1.2, set 2)",GAME_FLAGS ) +GAME(199?, m4clbxb, m4clbx, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big,ROT0, "Barcrest","Club X (Barcrest) (MPU4) (CLX 1.2, set 3)",GAME_FLAGS ) + +GAME(199?, m4ringfr, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big,ROT0, "Barcrest","Ring Of Fire (Barcrest) (MPU4) (ROF 0.3)",GAME_FLAGS ) // German? + +GAME(199?, m4royjwl, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big, ROT0, "Barcrest","Royal Jewels (Barcrest) (MPU4) (GRJ 1.4)",GAME_FLAGS ) + +// play but behavior isn't like barcrest +GAME(199?, m4crjwl, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Crown Jewels Club (Barcrest) (MPU4) (CJC 1.5, set 1)",GAME_FLAGS ) +GAME(199?, m4crjwla, m4crjwl, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Crown Jewels Club (Barcrest) (MPU4) (CJC 1.5, set 2)",GAME_FLAGS ) +GAME(199?, m4crjwlb, m4crjwl, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Crown Jewels Club (Barcrest) (MPU4) (CJC 1.5, set 3)",GAME_FLAGS ) +GAME(199?, m4crjwlc, m4crjwl, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Crown Jewels Club (Barcrest) (MPU4) (CJN 0.2)",GAME_FLAGS ) +// these don't read from the lamp scramble +GAME(199?, m4crjwl2, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Crown Jewels Mk II Club (Barcrest) (MPU4) (CJ2 1.4, set 1)",GAME_FLAGS ) +GAME(199?, m4crjwl2a, m4crjwl2, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Crown Jewels Mk II Club (Barcrest) (MPU4) (CJ2 1.4, set 2)",GAME_FLAGS ) +GAME(199?, m4crjwl2b, m4crjwl2, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Crown Jewels Mk II Club (Barcrest) (MPU4) (CJ2 1.4, set 3)",GAME_FLAGS ) + + +// won't boot with current reel setup, not even in test mode (REEL E ALM) +GAME(199?, m4maglin, 0, mod4oki_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Magic Liner (Barcrest) (Dutch) (MPU4) (DMA 2.1)",GAME_FLAGS ) + +GAME(199?, m4magdrg, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Magic Dragon (Barcrest) (MPU4) (DMD1.0)",GAME_FLAGS ) + +GAME(199?, m4clbveg, 0, mod4oki_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Club Vegas (Barcrest) (MPU4) (CLA 2.4, set 1)",GAME_FLAGS ) +GAME(199?, m4clbvega, m4clbveg, mod4oki_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Club Vegas (Barcrest) (MPU4) (CLA 2.4, set 2)",GAME_FLAGS ) +GAME(199?, m4clbvegb, m4clbveg, mod4oki_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Club Vegas (Barcrest) (MPU4) (CLA 2.4, set 3)",GAME_FLAGS ) +GAME(199?, m4clbvegc, m4clbveg, mod4oki_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Club Vegas (Barcrest) (MPU4) (CLA 2.4, set 4)",GAME_FLAGS ) + +GAME(199?, m4chasei, 0, mod4oki_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4) (CI2 0.1, set 1)",GAME_FLAGS ) +GAME(199?, m4chaseic, m4chasei, mod4oki_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4) (CI2 0.1, set 2)",GAME_FLAGS ) +GAME(199?, m4chaseid, m4chasei, mod4oki_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4) (CI2 0.1, set 3)",GAME_FLAGS ) +GAME(199?, m4chaseie, m4chasei, mod4oki_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4) (CI2 0.1, set 4)",GAME_FLAGS ) +// different protection, not original +GAME(199?, m4chaseia, m4chasei, mod4oki_alt_bootleg_fixedret<0x24>, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "hack","Chase Invaders (Barcrest) (MPU4) (8V1 0.1, hack, set 1)",GAME_FLAGS ) +GAME(199?, m4chaseib, m4chasei, mod4oki_alt_bootleg_fixedret<0x1d>, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "hack","Chase Invaders (Barcrest) (MPU4) (8V1 0.1, hack, set 2)",GAME_FLAGS ) +GAME(199?, m4chaseig, m4chasei, mod4oki_alt_bootleg_fixedret<0x1d>, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "hack","Chase Invaders (Barcrest) (MPU4) (8V1 0.1, hack, set 3)",GAME_FLAGS ) // copyright removed + +GAME(199?, m4bluedm, 0, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Blue Diamond (Barcrest) (Dutch) (MPU4) (DBD 1.0)",GAME_FLAGS ) + +GAME(199?, m4amhiwy, 0, mod4oki_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","American Highway (Barcrest) (Dutch) (MPU4) (DAH 2.0)",GAME_FLAGS ) + +GAME(199?, m4addrd, m4addr, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Adders & Ladders (Barcrest) (Dutch) (MPU4) (DAL 1.2)",GAME_FLAGS ) + +GAME(199?, m4nudshf, 0, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Nudge Shuffle (Barcrest) (MPU4) (NUS 3.1) (set 1)",GAME_FLAGS ) +GAME(199?, m4nudshfb, m4nudshf, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Nudge Shuffle (Barcrest) (MPU4) (NUS 3.1) (set 2)",GAME_FLAGS ) +GAME(199?, m4nudshfc, m4nudshf, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Nudge Shuffle (Barcrest) (MPU4) (NUS 3.1) (set 3)",GAME_FLAGS ) +GAME(199?, m4nudshfa, m4nudshf, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Nudge Shuffle (Barcrest) (MPU4) (NUS 3.0)",GAME_FLAGS ) + +GAME(199?, m4rdht, 0, mod4oki_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Red Heat (Barcrest) (Dutch) (MPU4) (DRH 1.2)",GAME_FLAGS ) + +GAME(199?, m4rwb, 0, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Red White & Blue (Barcrest) (Dutch) (MPU4) (DRW 1.4)",GAME_FLAGS ) + +GAME(199?, m4salsa, 0, mod4oki_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Salsa (Barcrest) (Dutch) (MPU4) (DSA 1.5)",GAME_FLAGS ) + +// REEL F ALARM +GAME(199?, m4techno, 0, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Techno Reel (Barcrest) (Dutch) (MPU4) (DTE 1.3, set 1)",GAME_FLAGS ) +GAME(199?, m4technoa, m4techno, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Techno Reel (Barcrest) (Dutch) (MPU4) (DTE 1.3, set 2)",GAME_FLAGS ) + +GAME(199?, m4twintm, 0, mod4oki_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Twin Timer (Barcrest) (MPU4) (D2T 1.1)",GAME_FLAGS ) + +GAME(199?, m4blkbul, 0, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Super Play (Czech) (Barcrest) (MPU4) (XSP 0.8)",GAME_FLAGS ) // complains about coin dip + +GAME(199?, m4calicl, 0, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","California Club (Barcrest) (MPU4) (CA2 1.0, set 1)",GAME_FLAGS ) +GAME(199?, m4calicla, m4calicl, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","California Club (Barcrest) (MPU4) (CA2 1.0, set 2)",GAME_FLAGS ) +GAME(199?, m4caliclb, m4calicl, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","California Club (Barcrest) (MPU4) (CA2 1.0, set 3)",GAME_FLAGS ) +GAME(199?, m4caliclc, m4calicl, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","California Club (Barcrest) (MPU4) (CAL 2.0, set 1)",GAME_FLAGS ) +GAME(199?, m4calicld, m4calicl, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","California Club (Barcrest) (MPU4) (CAL 2.0, set 2)",GAME_FLAGS ) + +// REEL E ALARM +GAME(199?, m4bucks, 0, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Bucks Fizz Club (Barcrest) (MPU4) (BUF 1.2)",GAME_FLAGS ) + +// REEL E ALARM +GAME(199?, m4supbf, 0, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Super Bucks Fizz Club (Barcrest) (MPU4) (SBF 2.0, set 1)",GAME_FLAGS ) +GAME(199?, m4supbfa, m4supbf, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Super Bucks Fizz Club (Barcrest) (MPU4) (SBF 2.0, set 2)",GAME_FLAGS ) + +GAME(199?, m4gldgat, 0, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Golden Gate (Barcrest) (Dutch) (MPU4) (DGG 2.2)",GAME_FLAGS ) + +GAME(199?, m4hirise, 0, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","High Rise (Barcrest) (MPU4) (HII 0.3)",GAME_FLAGS ) +GAME(199?, m4hirisea, m4hirise, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","High Rise (Barcrest) (MPU4) (HIR 3.1, set 1)",GAME_FLAGS ) +GAME(199?, m4hirisec, m4hirise, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","High Rise (Barcrest) (MPU4) (HIR 3.1, set 2)",GAME_FLAGS ) +GAME(199?, m4hirised, m4hirise, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","High Rise (Barcrest) (MPU4) (HIR 3.1, set 3)",GAME_FLAGS ) +GAME(199?, m4hirisee, m4hirise, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","High Rise (Barcrest) (MPU4) (HIR 3.0)",GAME_FLAGS ) +// doesn't make protection accesses +GAME(199?, m4hiriseb, m4hirise, mod2_alt, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "bootleg?","High Rise (Barcrest) (MPU4) (HIR 1.5, bootleg?)",GAME_FLAGS ) + +GAME(199?, m4nspot, 0, mod2_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Night Spot Club (Barcrest) (MPU4) (NS2 2.2, set 1)",GAME_FLAGS ) +GAME(199?, m4nspota, m4nspot, mod2_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Night Spot Club (Barcrest) (MPU4) (NS2 2.2, set 2)",GAME_FLAGS ) +GAME(199?, m4nspotb, m4nspot, mod2_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Night Spot Club (Barcrest) (MPU4) (NIT 1.1)",GAME_FLAGS ) + +GAME(199?, m4tropcl, 0, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Tropicana Club (Barcrest) (MPU4) (TRO 2.0, set 1)",GAME_FLAGS ) +GAME(199?, m4tropcld, m4tropcl, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Tropicana Club (Barcrest) (MPU4) (TRO 2.0, set 2)",GAME_FLAGS ) +GAME(199?, m4tropcla, m4tropcl, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Tropicana Club (Barcrest) (MPU4) (TR2 1.1, set 1)",GAME_FLAGS ) +GAME(199?, m4tropclb, m4tropcl, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Tropicana Club (Barcrest) (MPU4) (TR2 1.1, set 2)",GAME_FLAGS ) +GAME(199?, m4tropclc, m4tropcl, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Tropicana Club (Barcrest) (MPU4) (TR2 1.1, set 3)",GAME_FLAGS ) + +GAME(199?, m4holdtm, 0, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Hold Timer (Barcrest) (Dutch) (MPU4) (DHT 1.0)",GAME_FLAGS ) + +GAME(199?, m4exgam, 0, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Extra Game (Fairplay - Barcrest) (MPU4) (CEG 2.0)",GAME_FLAGS ) + +GAME(199?, m4toma, 0, mod2_alt_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Tomahawk (Barcrest) (Dutch) (MPU4) (DTK 2.3)",GAME_FLAGS ) + +GAME(199?, m4toptim, 0, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Top Timer (Barcrest) (Dutch) (MPU4) (DTT 1.8, set 1)",GAME_FLAGS ) +GAME(199?, m4toptima, m4toptim, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Top Timer (Barcrest) (Dutch) (MPU4) (DTT 1.8, set 2)",GAME_FLAGS ) + +GAME(199?, m4univ, 0, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Universe (Barcrest) (Dutch) (MPU4) (DUN 2.0)",GAME_FLAGS ) + +GAME(199?, m4frtgm, 0, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Fruit Game (Barcrest) (MPU4) (FRU 2.0)",GAME_FLAGS ) // SAMPLE EEPROM ALARM (and has a weird sample rom..) + +GAME(199?, m4brook, 0, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Brooklyn (Barcrest) (MPU4) (PFT 1.8)",GAME_FLAGS ) + +GAME(199?, m4roadrn, 0, mod4oki_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Road Runner (Barcrest) (Dutch) (MPU4) (DRO 1.9)",GAME_FLAGS ) + +GAME(199?, m4showtm, 0, mod4oki_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Show Timer (Barcrest) (Dutch) (MPU4) (DSH 1.3)",GAME_FLAGS ) + +GAME(199?, m4steptm, 0, mod4oki_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Step Timer (Barcrest) (Dutch) (MPU4) (DST 1.1)",GAME_FLAGS ) + +GAME(199?, m4wildtm, 0, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Wild Timer (Barcrest) (Dutch) (MPU4) (DWT 1.3)",GAME_FLAGS ) + +GAME(199?, m4fortcb, 0, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Fortune Club (Barcrest) (MPU4) (CFO 1.2, set 1)",GAME_FLAGS ) // INVALID ALARM +GAME(199?, m4fortcba, m4fortcb, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Fortune Club (Barcrest) (MPU4) (CFO 1.2, set 2)",GAME_FLAGS ) // INVALID ALARM +GAME(199?, m4fortcbb, m4fortcb, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Fortune Club (Barcrest) (MPU4) (CFO 1.2, set 3)",GAME_FLAGS ) // INVALID ALARM + +// non-english sets + +GAME(199?, m4magrep, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Magic Replay (Barcrest) (Dutch) (MPU4) (DMR 1.3)",GAME_FLAGS ) + +GAME(199?, m4nile, 0, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Nile Jewels (Barcrest) (German) (MPU4) (GJN 0.8)",GAME_FLAGS ) // DM1 SW ALM + +// yes, the ingame display is 'Millenium' not 'Millennium'. There are also strings from The Crystal Maze in the ROM, probably used as a base project? +GAME(199?, m4jokmil, 0, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Jokers Millenium 300 (Barcrest) (German) (MPU4) (DJO 0.1, set 1)",GAME_FLAGS ) // DM1 SW ALM +GAME(199?, m4jok300, m4jokmil, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Jokers Millenium 300 (Barcrest) (German) (MPU4) (DJO 0.1, set 2)",GAME_FLAGS ) // DM1 SW ALM + +GAME(199?, m4drac, 0, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Dracula (Barcrest - Nova) (German) (MPU4) (DRA 2.1)",GAME_FLAGS ) // DM1 SW ALM +GAME(199?, m4draca, m4drac, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Dracula (Barcrest - Nova) (German) (MPU4) (DRA 2.4)",GAME_FLAGS ) // DM1 SW ALM +GAME(199?, m4dracb, m4drac, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Dracula (Barcrest - Nova) (German) (MPU4) (DRA 2.7)",GAME_FLAGS ) // DM1 SW ALM + +GAME(199?, m4crzjwl, 0, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (GCN 1.1)",GAME_FLAGS ) // DM1 SW ALM +GAME(199?, m4crzjwlc, m4crzjwl, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (GCN 0.9, set 1)",GAME_FLAGS ) // DM1 SW ALM +GAME(199?, m4crzjwlf, m4crzjwl, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (GCN 0.9, set 2)",GAME_FLAGS ) // DM1 SW ALM +GAME(199?, m4crzjwlg, m4crzjwl, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (GCN 0.9, set 3)",GAME_FLAGS ) // DM1 SW ALM +// +GAME(199?, m4crzjwlh, m4crzjwl, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Crown Jewels (Barcrest) (German) (MPU4) (CJG 0.4)",GAME_FLAGS ) // DM1 SW ALM +// not standard protection +GAME(199?, m4crzjwle, m4crzjwl, mod4oki_bootleg_fixedret<0x46>, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"bootleg","Crown Jewels (Barcrest) (bootleg) (German) (MPU4) (GCN 1.1, set 1)",GAME_FLAGS ) +GAME(199?, m4crzjwla, m4crzjwl, mod4oki_bootleg_fixedret<0x46>, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"bootleg","Crown Jewels (Barcrest) (bootleg) (German) (MPU4) (GCN 0.9, set 1)",GAME_FLAGS ) +GAME(199?, m4crzjwlb, m4crzjwl, mod4oki_bootleg_fixedret<0x46>, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"bootleg","Crown Jewels (Barcrest) (bootleg) (German) (MPU4) (GCN 0.9, set 2)",GAME_FLAGS ) +// different protection again +GAME(199?, m4crzjwld, m4crzjwl, mod4oki_bootleg_fixedret<0x28>, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"bootleg","Crown Jewels (Barcrest) (bootleg) (German) (MPU4) (GCN 1.1, set 2)",GAME_FLAGS ) + +GAME(199?, m4vegastg, 0, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Vegas Strip (Barcrest) (German) (MPU4)",GAME_FLAGS ) // 1 DM SW ALM + +GAME(199?, m4luckdv, 0, mod4oki_cheatchr, mpu4_invcoin, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Lucky Devil (Barcrest) (Czech) (MPU4)",GAME_FLAGS ) // AUX2 locked + +GAME(199?, m4luckdvd, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Lucky Devil (Barcrest) (Dutch) (MPU4) (DLD 1.3)",GAME_FLAGS ) + +// expects the following response sequence, but check code is standard +// was the CHR replaced with something else that just happens to give this seuqence, or is this valid somehow? +// fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc 6c dc bc 7c fc fc fc fc fc fc fc fc fc 00 04 0c 1c 3c 7c fc fc fc fc fc fc fc fc d4 ac 5c bc 7c fc fc fc fc fc fc fc fc fc fc fc fc 00 +GAME(199?, m4luck7, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Lucky 7 (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) // '1,2' error + +// gives a DMD?? message if you attempt to coin it up, is there a mussing Dot Matrix Display ROM of some kind? +GAME(199?, m4joljokh, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Jolly Joker (Barcrest) (Hungarian) (MPU4) (HJJ 1.4)",GAME_FLAGS ) + +GAME(199?, m4hpyjok, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Happy Joker (Barcrest) (Dutch) (MPU4) (DHJ 1.2)",GAME_FLAGS ) + +GAME(199?, m4gldjok, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Golden Joker (Barcrest) (Dutch) (MPU4) (DGJ 1.2)",GAME_FLAGS ) + +GAME(199?, m4ceptr, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Ceptor (Barcrest) (Dutch) (MPU4) (DCE 1.0)",GAME_FLAGS ) + +GAME(199?, m4blkcat, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Black Cat (Barcrest) (Dutch) (MPU4) (DBL 1.4)",GAME_FLAGS ) + +GAME(199?, m4gnsmk, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Gun Smoke (Barcrest) (Dutch) (MPU4) (DGU 1.6)",GAME_FLAGS ) + +GAME(199?, m4blkbuld, m4blkbul, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Gun Smoke (Barcrest) (Dutch) (MPU4) (DGU 1.6) (alt sound roms)",GAME_FLAGS ) // not sure either set of sound roms is right + +GAME(199?, m4blkwhd, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Black & White (Barcrest) (Dutch) (MPU4) (DBW 1.1)",GAME_FLAGS ) // Reel Error + +// these 3 sets are identical, just with different sound ROMs, probably hacks? +GAME(199?, m4oldtmr, 0, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m_oldtmr, ROT0, "Barcrest","Old Timer (Barcrest) (Dutch) (MPU4) (DOT 1.1)",GAME_FLAGS ) +GAME(199?, m4casot, m4oldtmr, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m_oldtmr, ROT0, "Barcrest","Old Timer (Barcrest) (Dutch, alt 'Black and White' sound roms) (DOT 1.1)",GAME_FLAGS ) // uses the same program??? +GAME(199?, m4jpmcla, m4oldtmr, mod4oki_alt_cheatchr_pal,mpu4, mpu4unsorted_state, init_m_oldtmr, ROT0, "Barcrest","Old Timer (Barcrest) (Dutch, alt 'JPM Classic' sound roms) (DOT 1.1)",GAME_FLAGS ) // uses the same program??? + +GAME(199?, m4tbplay, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Turbo Play (Barcrest) (Dutch) (MPU4) (DTP 1.3)",GAME_FLAGS ) +// +GAME(199?, m4tbplaya, m4tbplay, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Turbo Play (Barcrest) (MPU4) (CTP 0.4)",GAME_FLAGS ) +GAME(199?, m4tbplayb, m4tbplay, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Turbo Play (Barcrest) (MPU4) (ZTP 0.7)",GAME_FLAGS ) + +// unprotected? maybe not a Barcrest? +GAME(199?, m4toprn, 0, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Top Run (Barcrest) (Dutch) (MPU4)",GAME_FLAGS ) // unique behavior (START UP IN countdown) + +GAME(199?, m4magtbo, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Magic Turbo (Barcrest) (MPU4) (XST 0.4)",GAME_FLAGS ) // Reel A Alarm + +// bwb/nova? +GAME(199?, m4ordmnd, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Oriental Diamonds (Barcrest) (German) (MPU4) (RAB 0.1)",GAME_FLAGS ) + +GAME(199?, m4ptblkc, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big,ROT0,"Barcrest","Pot Black Casino (Bwb - Barcrest) (MPU4) (PO 1.2)",GAME_FLAGS ) + +// REEL 1 FAULT, doesn't access protection +GAME(199?, m4twist, 0, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Twist Again (Barcrest) (MPU4) (set 1)",GAME_FLAGS ) // TA 9.6 REEL 1 FAULT +GAME(199?, m4twista, m4twist, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Twist Again (Barcrest) (MPU4) (set 2)",GAME_FLAGS ) // TA 9.6 REEL 1 FAULT +GAME(199?, m4twistb, m4twist, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Twist Again (Barcrest) (MPU4) (set 3)",GAME_FLAGS ) // TA 9.6 REEL 1 FAULT + +// might need samples, but run silent with none, unprotected, reels act strangely +GAME(199?, m4lineup, 0, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Line Up (Bwb - Barcrest) (MPU4) (set 1)",GAME_FLAGS ) // no sound with any system? +GAME(199?, m4lineupa, m4lineup, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Line Up (Bwb - Barcrest) (MPU4) (set 2)",GAME_FLAGS ) // no sound with any system? + + + +// runs +GAME(199?, m4fourmr, 0, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Bwb","Four More (Bwb) (MPU4)",GAME_FLAGS ) // no sound with either system? + + +// runs, unprotected, no sound with any sound system, probably missing samples +GAME(199?, m4specu, 0, mod4oki, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Bwb","Speculator Club (Bwb) (MPU4)",GAME_FLAGS ) // no sound with either system + +// runs +GAME(199?, m4lazy, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big,ROT0,"Bwb","Lazy Bones (Bwb) (MPU4) (LBD 1.0)",GAME_FLAGS ) +GAME(199?, m4lazya, m4lazy, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big,ROT0,"Bwb","Lazy Bones (Bwb) (MPU4) (LBD 1.2, set 1)",GAME_FLAGS ) +GAME(199?, m4lazyb, m4lazy, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big,ROT0,"Bwb","Lazy Bones (Bwb) (MPU4) (LBD 1.2, set 2)",GAME_FLAGS ) + +// runs if you set a stake +GAME(199?, m4sunclb, 0, mod2_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Bwb","Sun Club (Bwb) (MPU4) (SUC 0.2, set 1)",GAME_FLAGS ) +GAME(199?, m4sunclba, m4sunclb, mod2_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Bwb","Sun Club (Bwb) (MPU4) (SUC 0.2, set 2)",GAME_FLAGS ) + +// GEEN TUBES (even in test mode) +GAME(199?, m4topdk, 0, mod2_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Top Deck (Barcrest) (Dutch) (MPU4) (DT 2.6)",GAME_FLAGS ) + + +// REEL A ALM +GAME(199?, m4sunscl, 0, mod2_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Bwb","Sunset Club (Bwb) (MPU4) (SSC 3.0, set 1)",GAME_FLAGS ) +GAME(199?, m4sunscla, m4sunscl, mod2_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Bwb","Sunset Club (Bwb) (MPU4) (SSC 3.0, set 2)",GAME_FLAGS ) +GAME(199?, m4sunsclb, m4sunscl, mod2_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Bwb","Sunset Club (Bwb) (MPU4) (SSC 3.0, set 3)",GAME_FLAGS ) + +GAME(199?, m4bigban, 0, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big, ROT0, "Nova","Big Bandit (Nova) (German) (MPU4) (BIG 0.4)",GAME_FLAGS ) // DM1 SW ALM + +GAME(199?, m4crzcsn, 0, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big, ROT0, "Nova","Crazy Casino (Nova) (German) (MPU4) (CRZ 0.3)",GAME_FLAGS ) + +// only runs with door open or gets stuck on initializing? +GAME(199?, m4crzcav, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big, ROT0, "Nova","Crazy Cavern (Nova) (MPU4) (GCV 0.5)",GAME_FLAGS ) + +GAME(199?, m4dragon, 0, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big, ROT0, "Nova","Dragon (Nova) (MPU4) (DGL 0.1)",GAME_FLAGS ) + +GAME(199?, m4hilonv, 0, mod4oki_cheatchr_pal, mpu4_invcoin, mpu4unsorted_state, init_m4default_big, ROT0, "Nova","Hi Lo Casino (Nova) (MPU4) (HNC 0.2)",GAME_FLAGS ) + +// only runs with door open or gets stuck on initializing? +GAME(199?, m4octo, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big, ROT0, "Nova","Octopus (Nova) (German) (MPU4) (OCT 0.3)",GAME_FLAGS ) + +// NETWORK FAIL ALARM (reel comms?) +GAME(1994, m4esctbg, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Vifico", "Escalera Tobogan (MPU4) (ESC1, set 1)", GAME_FLAGS ) +GAME(1994, m4esctbga, m4esctbg, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Vifico", "Escalera Tobogan (MPU4) (ESC1, set 2)", GAME_FLAGS ) +GAME(1994, m4esctbgb, m4esctbg, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Vifico", "Escalera Tobogan (MPU4) (ESC1, set 3)", GAME_FLAGS ) + +// runs, coins don't work, Dutch? +GAME(199?, m4riotrp, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Rio Tropico (Barcrest) (Dutch) (MPU4) (DRT 1.0)",GAME_FLAGS ) + +// Others + +GAME(199?, m4sctagt, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Nova","Secret Agent (Nova) (MPU4)",GAME_FLAGS ) // AUX2 LOCKED + +GAMEL(199?, m4aao, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4aao, ROT0, "Eurotek","Against All Odds (Eurotek) (MPU4)",GAME_FLAGS, layout_m4aao ) + +// works +GAME(199?, m4bandgd, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Eurogames","Bands Of Gold (Eurogames) (MPU4)",GAME_FLAGS ) + +// works +GAME(199?, m4bigben, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 1)",GAME_FLAGS ) +GAME(199?, m4bigbena, m4bigben, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 2)",GAME_FLAGS ) +GAME(199?, m4bigbenb, m4bigben, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 3)",GAME_FLAGS ) +GAME(199?, m4bigbend, m4bigben, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 4)",GAME_FLAGS ) +GAME(199?, m4bigbene, m4bigben, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 5)",GAME_FLAGS ) + +GAME(199?, m4kqclub, 0, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Newby","Kings & Queens Club (Newby) (MPU4)",GAME_FLAGS ) + +GAME(199?, m4snookr, 0, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Eurocoin","Snooker (Eurocoin) (MPU4)",GAME_FLAGS ) // works? + +GAME(199?, m4stakex, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Leisurama","Stake X (Leisurama) (MPU4, set 1)",GAME_FLAGS ) // has issues with coins in 'separate bank' (default) mode, reel issues +GAME(199?, m4stakexa, m4stakex, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Leisurama","Stake X (Leisurama) (MPU4, set 2)",GAME_FLAGS ) // like above, but doesn't default to separate bank? + +GAME(199?, m4boltbl, 0, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 1)",GAME_FLAGS ) // Reel 1 Fault +GAME(199?, m4boltbla, m4boltbl, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 2)",GAME_FLAGS ) +GAME(199?, m4boltblb, m4boltbl, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 3)",GAME_FLAGS ) +GAME(199?, m4boltblc, m4boltbl, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 4)",GAME_FLAGS ) + +GAME(199?, m4stand2, 0, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "DJE","Stand To Deliver (DJE) (MPU4)",GAME_FLAGS ) // Reel 1 Fault + +GAME(199?, m4dblchn, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "DJE","Double Chance (DJE) (MPU4)",GAME_FLAGS ) // Reels spin forever + +/* Unknown stuff that looks like it might be MPU4, but needs further verification, some could be bad */ + +// PAL FAIL +GAME(199?, m4barcrz, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Bar Crazy (unknown) (MPU4?)",GAME_FLAGS ) + +GAME(199?, m4bonzbn, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Bingo Bonanza (unknown) (MPU4?)",GAME_FLAGS ) + +// ERROR CODE 2 +GAME(199?, m4matdr, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Matador (unknown) (MPU4?)",GAME_FLAGS ) + +// non-standard protection, "no meters" error +GAME(199?, m4remag, 0, mod2_bootleg_fixedret<0x19>, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","unknown MPU4 'ZTP 0.7' (MPU4?)",GAME_FLAGS ) + +// non-standard protection, "no meters" error +GAME(199?, m4rmg, 0, mod2_bootleg_fixedret<0x6a>, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","unknown MPU4 'CTP 0.4' (MPU4?)",GAME_FLAGS ) + +// REEL 1 FAULT +GAME(199?, m4wnud, 0, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","unknown MPU4 'W Nudge' (MPU4?)",GAME_FLAGS ) + +// runs, no sound (missing samples?), unprotected +GAME(199?, m4brnze, 0, mod4oki, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Bronze Voyage (unknown) (MPU4) (set 1)",GAME_FLAGS ) +GAME(199?, m4brnzea, m4brnze, mod4oki, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Bronze Voyage (unknown) (MPU4) (set 2)",GAME_FLAGS ) +GAME(199?, m4brnzeb, m4brnze, mod4oki, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Bronze Voyage (unknown) (MPU4) (set 3)",GAME_FLAGS ) + + +/* *if* these are MPU4 they have a different sound system at least - The copyright strings in them are 'AET' tho (Ace?) - Could be related to the Crystal stuff? */ +GAME(199?, m4sbx, 0, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?) (set 1)",GAME_FLAGS ) +GAME(199?, m4sbxa, m4sbx, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?) (set 2)",GAME_FLAGS ) +GAME(199?, m4sbxb, m4sbx, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?) (set 3)",GAME_FLAGS ) +GAME(199?, m4sbxc, m4sbx, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?) (set 4)",GAME_FLAGS ) +GAME(199?, m4sbxd, m4sbx, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?) (set 5)",GAME_FLAGS ) +GAME(199?, m4sbxe, m4sbx, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?) (set 6)",GAME_FLAGS ) + +GAME(199?, m4bclimb, 0, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Bear Climber (MPU4?)",GAME_FLAGS ) +GAME(199?, m4captb, 0, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Captain Bear (MPU4?)",GAME_FLAGS ) +GAME(199?, m4jungj, 0, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Jungle Japes (MPU4?) (set 1)",GAME_FLAGS ) +GAME(199?, m4jungja, m4jungj, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Jungle Japes (MPU4?) (set 2)",GAME_FLAGS ) +GAME(199?, m4jungjb, m4jungj, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Jungle Japes (MPU4?) (set 3)",GAME_FLAGS ) +GAME(199?, m4jungjc, m4jungj, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Jungle Japes (MPU4?) (set 4)",GAME_FLAGS ) + +GAME(199?, m4fsx, 0, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Fun Spot X (MPU4?) (set 1)",GAME_FLAGS ) +GAME(199?, m4fsxa, m4fsx, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Fun Spot X (MPU4?) (set 2)",GAME_FLAGS ) +GAME(199?, m4fsxb, m4fsx, mpu4crys, mpu4, mpu4unsorted_state, init_m_frkstn, ROT0, "AET/Coinworld","Fun Spot X (MPU4?) (set 3)",GAME_FLAGS ) + +// Error 42 then 52, 54 +GAME(199?, m4ccop, 0, mod4oki_cheatchr, mpu4_cw, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Cash Cops (MPU4?) (set 1)",GAME_FLAGS ) +GAME(199?, m4ccopa, m4ccop, mod4oki_cheatchr, mpu4_cw, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Cash Cops (MPU4?) (set 2)",GAME_FLAGS ) +GAME(199?, m4ccopb, m4ccop, mod4oki_cheatchr, mpu4_cw, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Cash Cops (MPU4?) (set 3)",GAME_FLAGS ) + +// Error 72 +GAME(199?, m4ccc, 0, mod4oki_cheatchr, mpu4_cw, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Criss Cross Crazy (Coinworld) (MPU4?)",GAME_FLAGS ) + +// PAL ERROR +GAME(199?, m4treel, 0, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Turbo Reels (unknown) (MPU4?) (set 1)",GAME_FLAGS ) +GAME(199?, m4treela, m4treel, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Turbo Reels (unknown) (MPU4?) (set 2)",GAME_FLAGS ) + +// works +GAME(199?, m4surf, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Gemini","Super Surfin' (Gemini) (MPU4) (set 1)",GAME_FLAGS ) +GAME(199?, m4surfa, m4surf, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Gemini","Super Surfin' (Gemini) (MPU4) (set 2)",GAME_FLAGS ) +GAME(199?, m4surfb, m4surf, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Gemini","Super Surfin' (Gemini) (MPU4) (set 3)",GAME_FLAGS ) + +// works +GAME(199?, m4wife, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Gemini","Money Or Yer Wife (Gemini) (MPU4)",GAME_FLAGS ) + +// works, error unless you set % +GAME(199?, m4blkgd, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Gemini","Black Gold (Gemini) (MPU4) (set 1)",GAME_FLAGS ) +// doesn't work, might be bad dump +GAME(199?, m4blkgda, m4blkgd, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Gemini","Black Gold (Gemini) (MPU4) (set 2)",GAME_FLAGS ) + +// runs, non-reel game? +GAME(199?, m4zill, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Pure Leisure","Zillionare's Challenge (Pure Leisure) (MPU4) (set 1)",GAME_FLAGS ) +GAME(199?, m4zilla, m4zill, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Pure Leisure","Zillionare's Challenge (Pure Leisure) (MPU4) (set 2)",GAME_FLAGS ) + +// runs but corrupt VFD +GAME(199?, m4hstr, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Happy Streak (Coinworld) (MPU4) (set 1)",GAME_FLAGS ) +GAME(199?, m4hstra, m4hstr, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Happy Streak (Coinworld) (MPU4) (set 2)",GAME_FLAGS ) +GAME(199?, m4hstrb, m4hstr, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Happy Streak (Coinworld) (MPU4) (set 3)",GAME_FLAGS ) + +// runs but corrupt VFD +GAME(199?, m4hstrcs, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Casino Happy Streak (Coinworld) (MPU4) (set 1)",GAME_FLAGS ) +GAME(199?, m4hstrcsa, m4hstrcs, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Casino Happy Streak (Coinworld) (MPU4) (set 2)",GAME_FLAGS ) +GAME(199?, m4hstrcsb, m4hstrcs, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Casino Happy Streak (Coinworld) (MPU4) (set 3)",GAME_FLAGS ) +GAME(199?, m4hstrcsc, m4hstrcs, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Casino Happy Streak (Coinworld) (MPU4) (set 4)",GAME_FLAGS ) +GAME(199?, m4hstrcsd, m4hstrcs, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Casino Happy Streak (Coinworld) (MPU4) (set 5)",GAME_FLAGS ) + +// Error 1.8 +GAME(199?, m4ddb, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Ding Dong Bells (Coinworld) (MPU4) (set 1)",GAME_FLAGS ) +GAME(199?, m4ddba, m4ddb, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Ding Dong Bells (Coinworld) (MPU4) (set 2)",GAME_FLAGS ) + +// runs but corrupt VFD +GAME(199?, m4hapfrt, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Happy Fruits (Coinworld) (MPU4) (set 1)",GAME_FLAGS ) +GAME(199?, m4hapfrta, m4hapfrt, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Happy Fruits (Coinworld) (MPU4) (set 2)",GAME_FLAGS ) +GAME(199?, m4hapfrtb, m4hapfrt, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Coinworld","Happy Fruits (Coinworld) (MPU4) (set 3)",GAME_FLAGS ) + +// backwards VFD +GAME(199?, m4sunday, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Pcp","Sunday Sport (Pcp) (MPU4)",GAME_FLAGS ) + +// HOPPER FAULT +GAME(199?, m4jp777, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Cotswold Microsystems","Jackpot 777 (Cotswold Microsystems) (MPU4)",GAME_FLAGS ) /* Hopper Fault */ + +// HOPPER FAULT +GAME(199?, m4dnj, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Double Nudge (unknown) (MPU4) (set 1)",GAME_FLAGS ) /* Hopper Fault */ +GAME(199?, m4dnja, m4dnj, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Double Nudge (unknown) (MPU4) (set 2)",GAME_FLAGS ) /* Hopper Fault */ +GAME(199?, m4dnjb, m4dnj, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Double Nudge (unknown) (MPU4) (set 3)",GAME_FLAGS ) /* Hopper Fault */ + +// PIC CHECK, backwards VFD +GAME(199?, m4booze, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Extreme","Booze Cruise (Extreme) (MPU4)",GAME_FLAGS ) + + // custom sound system +GAME(199?, m4cbing, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Redpoint Systems","Cherry Bingo (Redpoint Systems) (MPU4)",GAME_FLAGS ) + +// just spins wheels badly +GAME( 199?, m4nod, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, 0, "Eurotech", "Nod And A Wink (Eurotech) (MPU4)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) // this has valid strings in it BEFORE the bfm decode, but decodes to valid code, does it use some funky mapping, or did they just fill unused space with valid looking data? + +// LINKUP SUCHE +GAME( 199?, m4aliz, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default_big, 0, "Qps", "AlizBaz (Qps) (German) (MPU4)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) + +// SHELF RESONSE +GAME( 199?, m4coney, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, 0, "Qps", "Coney Island (Qps) (MPU4)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) + +// COIN ALM +GAME( 199?, m4crzjk, 0, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, 0, "Nova?", "Crazy Jokers (Nova?) (MPU4)",GAME_FLAGS ) + +// COIN ALM +GAME( 199?, m4c2, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, 0, "Nova?", "Circus Circus 2 (Nova?) (MPU4)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) // COIN ALM + +// regular barcrest structure, keine tube (hopper issue) +GAME( 199?, m4vivan, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, 0, "Nova", "Viva Las Vegas (Nova) (MPU4) (GLV 1.2)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) + +GAME(199?, m4vivalvd, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Viva Las Vegas (Barcrest) (Dutch) (MPU4) (DLV 1.1)",GAME_FLAGS ) + +GAME(199?, m4prem, 0, mod4oki_cheatchr_pal ,mpu4, mpu4unsorted_state, init_m4altreels, ROT0, "Barcrest","Premier (Barcrest) (Dutch) (MPU4) (DPM 1.4)",GAME_FLAGS ) + +GAME( 199?, m4spotln, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big, 0, "Barcrest / Nova", "Spotlight (Nova) (German) (MPU4) (GSP 0.1)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) + +GAME( 199?, m4goldnn, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default_big, 0, "Nova", "Golden Years (Nova) (German) (MPU4) (TGY 0.1)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) + +// doesn't boot at all? +GAME( 199?, m4mgpn, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, 0, "Nova", "Monaco Grand Prix (Nova) (MPU4)",GAME_FLAGS|MACHINE_MECHANICAL|MACHINE_SUPPORTS_SAVE) + +// no protection? +GAME(198?, m4funh, 0, mod4oki_cheatchr, mpu4, mpu4unsorted_state, init_m4default, 0, "", "Fun House (unknown) (MPU4)", GAME_FLAGS ) // TUNE ALARM (was in the SC1 Fun House set) + +// these are NOT Mod 2 like the m4sunset sets, so could be misidentified +GAME(199?, m4sunseta, 0, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (B25 1.2, set 1)",GAME_FLAGS ) +GAME(199?, m4sunsetb, m4sunseta, mod4oki_cheatchr_pal, mpu4, mpu4unsorted_state, init_m4default, ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (B25 1.2, set 2)",GAME_FLAGS ) + +// REEL 1 FAULT +GAME(1991, m4eaw51, 0, mod2_cheatchr, mpu4, mpu4unsorted_state, init_m4default, ROT0, "", "Everyone's A Winner (EAW 5.1, J.A. Brown) (MPU4)", GAME_FLAGS ) + +// corrupt VFD (many XX), doesn't use standard Barcrest protection, maybe Coinworld? +GAME(199?, m4luckwb, 0, mod4oki, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Lucky Wild Boar (MPU4) (set 1)",GAME_FLAGS ) +GAME(199?, m4luckwba, m4luckwb, mod4oki, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Lucky Wild Boar (MPU4) (set 2)",GAME_FLAGS ) +GAME(199?, m4luckwbb, m4luckwb, mod4oki, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Lucky Wild Boar (MPU4) (set 3)",GAME_FLAGS ) +GAME(199?, m4luckwbc, m4luckwb, mod4oki, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Lucky Wild Boar (MPU4) (set 4)",GAME_FLAGS ) +GAME(199?, m4luckwbd, m4luckwb, mod4oki, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Lucky Wild Boar (MPU4) (set 5)",GAME_FLAGS ) +GAME(199?, m4luckwbe, m4luckwb, mod4oki, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Lucky Wild Boar (MPU4) (set 6)",GAME_FLAGS ) +GAME(199?, m4luckwbf, m4luckwb, mod4oki, mpu4, mpu4unsorted_state, init_m4default, ROT0, "","Lucky Wild Boar (MPU4) (set 7)",GAME_FLAGS ) + diff --git a/src/mame/drivers/mpu4vid.cpp b/src/mame/drivers/mpu4vid.cpp index 47e7473be62..362e5e892c2 100644 --- a/src/mame/drivers/mpu4vid.cpp +++ b/src/mame/drivers/mpu4vid.cpp @@ -227,17 +227,19 @@ public: m_trackx_port(*this, "TRACKX"), m_tracky_port(*this, "TRACKY"), m_gfxdecode(*this, "gfxdecode"), - m_ef9369(*this, "ef9369"), - m_4krow(0), - m_4ktable(nullptr) + m_ef9369(*this, "ef9369") { } void mpu4_vid(machine_config &config); void mpu4_vid_strike(machine_config &config); + void mpu4_vid_cheatchr(machine_config &config); void bwbvid(machine_config &config); + + void crmaze_base(machine_config &config); void crmaze(machine_config &config); + void bwbvid_oki(machine_config &config); void bwbvid_oki_bt471(machine_config &config); @@ -246,28 +248,25 @@ public: void mating(machine_config &config); void vid_oki(machine_config &config); - void init_crmazea(); void init_v4barqst2(); void init_quidgrid(); void init_v4barqst(); void init_timemchn(); - void init_crmaze2a(); void init_v4opt3(); void init_eyesdown(); - void init_v4cmazeb(); - void init_crmaze2(); + void init_crmaze(); + void init_crmaze_flutter(); + + void init_prizeinv(); void init_strikeit(); void init_v4wize(); void init_turnover(); //void init_adders(); void init_mating(); - void init_crmaze3a(); void init_skiltrek(); - void init_crmaze3(); void init_cybcas(); - void init_v4frfact(); void init_bwbhack(); protected: @@ -303,7 +302,6 @@ private: DECLARE_WRITE_LINE_MEMBER(vid_o2_callback); DECLARE_WRITE_LINE_MEMBER(vid_o3_callback); uint8_t pia_ic5_porta_track_r(); - void mpu4vid_char_cheat( int address); DECLARE_WRITE_LINE_MEMBER(update_mpu68_interrupts); uint16_t mpu4_vid_vidram_r(offs_t offset); void mpu4_vid_vidram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); @@ -329,10 +327,8 @@ private: void mpu4_6809_map(address_map &map); void mpu4_6809_german_map(address_map &map); - void vidcharacteriser_4k_lookup_w(offs_t offset, uint8_t data); uint8_t vidcharacteriser_4k_lookup_r(offs_t offset); - uint8_t m_4krow; - uint8_t *m_4ktable; + void hack_bwb_startup_protection(); uint8_t mpu4_vid_bt_a00004_r(offs_t offset); @@ -1889,9 +1885,9 @@ void mpu4vid_state::machine_reset() m_IC23G2A = 0; m_IC23G2B = 0; - m_prot_col = 0; - m_chr_counter = 0; - m_chr_value = 0; + //m_prot_col = 0; + //m_chr_counter = 0; + //m_chr_value = 0; m_m6840_irq_state = 0; m_m6850_irq_state = 0; @@ -1922,7 +1918,7 @@ void mpu4vid_state::mpu4_68k_map(address_map& map) void mpu4vid_state::mpu4_68k_map_strike(address_map& map) { mpu4_68k_map_base(map); - map(0xffd000, 0xffd00f).rw(FUNC(mpu4vid_state::vidcharacteriser_4k_lookup_r), FUNC(mpu4vid_state::vidcharacteriser_4k_lookup_w)).umask16(0x00ff); + map(0xffd000, 0xffd00f).rw(FUNC(mpu4vid_state::vidcharacteriser_4k_lookup_r), FUNC(mpu4vid_state::vidcharacteriser_w)).umask16(0x00ff); } @@ -2172,13 +2168,28 @@ void mpu4vid_state::mpu4_vid(machine_config &config) m_acia_1->irq_handler().set(FUNC(mpu4vid_state::m68k_acia_irq)); } +void mpu4vid_state::mpu4_vid_cheatchr(machine_config &config) +{ + mpu4_vid(config); + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("video"); + m_characteriser->set_allow_68k_cheat(true); +} + void mpu4vid_state::mpu4_vid_strike(machine_config& config) { mpu4_vid(config); m_videocpu->set_addrmap(AS_PROGRAM, &mpu4vid_state::mpu4_68k_map_strike); + + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_use_4k_table_sim(true); } -void mpu4vid_state::crmaze(machine_config &config) + + + + +void mpu4vid_state::crmaze_base(machine_config &config) { mpu4_vid(config); m_pia5->readpa_handler().set(FUNC(mpu4vid_state::pia_ic5_porta_track_r)); @@ -2186,6 +2197,15 @@ void mpu4vid_state::crmaze(machine_config &config) m_pia5->writepb_handler().set_nop(); } +void mpu4vid_state::crmaze(machine_config& config) +{ + crmaze_base(config); + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("video"); + m_characteriser->set_allow_68k_cheat(true); + +} + void mpu4vid_state::vid_oki(machine_config &config) { //On MPU4 Video, the sound board is clocked via the 68k E clock, @@ -2249,96 +2269,32 @@ void mpu4vid_state::bwbvid_oki_bt471_german(machine_config &config) } -/* -Characteriser (CHR) - The question data on the quiz games gets passed through the characteriser, the tables tested at startup are just a - very specific test with known responses to make sure the device functions properly. Unless there is extra encryption - applied to just the question ROMs then the assumptions made here are wrong, because the questions don't decode. - - Perhaps the address lines for the question ROMS are scrambled somehow to make things decode, but how? - - It seems more likely that the Characteriser (PAL) acts as a challenge / response system, but various writes cause - 'latching' behavior because if you study the sequence written at startup you can see that the same write value should - generate different responses. - - Note: - the 'challenge' part of the startup check is always the same -*/ - void mpu4vid_state::vidcharacteriser_w(offs_t offset, uint8_t data) { - int x; - int call=(data&0xff); - LOG_CHR_FULL(("%04x Characteriser write offset %02X data %02X", m_videocpu->pcbase(),offset,data)); - - if (!m_current_chr_table) - { - logerror("No Characteriser Table @ %04x\n", m_videocpu->pcbase()); - return; - } - - for (x = m_prot_col; x < 64; x++) - { - if (call == 0) - { - m_prot_col = 0; - } - else - { - if (m_current_chr_table[(x)].call == call) - { - m_prot_col = x; - LOG_CHR(("Characteriser find column %02X\n",m_prot_col)); - break; - } - } - } + if (m_characteriser) + m_characteriser->write(offset, data); } - uint8_t mpu4vid_state::vidcharacteriser_r(offs_t offset) { - LOG_CHR_FULL(("%04x Characteriser read offset %02X,data %02X", m_videocpu->pcbase(),offset,m_current_chr_table[m_prot_col].response)); - LOG_CHR(("Characteriser read offset %02X \n",offset)); - LOG_CHR(("Characteriser read data %02X \n",m_current_chr_table[m_prot_col].response)); - - if (!m_current_chr_table) - { - logerror("No Characteriser Table @ %04x\n", m_videocpu->pcbase()); - return 0x00; - } + uint8_t ret = 0x00; + if (m_characteriser) + ret = m_characteriser->read(offset); /* hack for 'invalid questions' error on time machine.. I guess it wants them to decode properly for startup check? */ if (m_videocpu->pcbase()==0x283a) { - return 0x00; + ret = 0x00; } - return m_current_chr_table[m_prot_col].response; + return ret; } -void mpu4vid_state::vidcharacteriser_4k_lookup_w(offs_t offset, uint8_t data) -{ - logerror("%04x write to characteriser %02x - %02x\n", m_videocpu->pcbase(), offset, data); - - if (data == 0x00) // reset? - { - m_4krow = 0; - m_prot_col = 0; - } - else - { - m_prot_col = data & 0x3f; // 6-bit writes (upper 2 bits unused) - } -} - uint8_t mpu4vid_state::vidcharacteriser_4k_lookup_r(offs_t offset) { - uint8_t ret = m_4ktable[m_4krow * 64 + m_prot_col]; - m_4krow = ret; - + uint8_t ret = m_characteriser->read(offset); // hack for v4strike, otherwise it reports questions as invalid, even if they decode properly // is this a secondary security check, or are they mismatched for the version? // it writes '03' to the characteriser, (the question revision or coincidence?) @@ -2350,185 +2306,10 @@ uint8_t mpu4vid_state::vidcharacteriser_4k_lookup_r(offs_t offset) ret = 0x00; } - logerror("%04x read from characteriser %02x - %02x\n", m_videocpu->pcbase(), offset, ret); - - return ret << 2; // 6-bit reads (lower 2 bits unused) + return ret; } -/* -static mpu4_chr_table adders_data[64] = { - {0x00, 0x00}, {0x1A, 0x8C}, {0x04, 0x64}, {0x10, 0x84}, {0x18, 0x84}, {0x0F, 0xC4}, {0x13, 0x84}, {0x1B, 0x84}, - {0x03, 0x9C}, {0x07, 0xF4}, {0x17, 0x04}, {0x1D, 0xCC}, {0x36, 0x24}, {0x35, 0x84}, {0x2B, 0xC4}, {0x28, 0x94}, - {0x39, 0x54}, {0x21, 0x0C}, {0x22, 0x74}, {0x25, 0x0C}, {0x2C, 0x34}, {0x29, 0x04}, {0x31, 0x84}, {0x34, 0x84}, - {0x0A, 0xC4}, {0x1F, 0x84}, {0x06, 0x9C}, {0x0E, 0xE4}, {0x1C, 0x84}, {0x12, 0x84}, {0x1E, 0x84}, {0x0D, 0xD4}, - {0x14, 0x44}, {0x0A, 0x84}, {0x19, 0xC4}, {0x15, 0x84}, {0x06, 0x9C}, {0x0F, 0xE4}, {0x08, 0x84}, {0x1B, 0x84}, - {0x1E, 0x84}, {0x04, 0x8C}, {0x01, 0x60}, {0x0C, 0x84}, {0x18, 0x84}, {0x1A, 0x84}, {0x11, 0x84}, {0x0B, 0xC4}, - {0x03, 0x9C}, {0x17, 0xF4}, {0x10, 0x04}, {0x1D, 0xCC}, {0x0E, 0x24}, {0x07, 0x9C}, {0x12, 0xF4}, {0x09, 0x04}, - {0x0D, 0x94}, {0x1F, 0x14}, {0x16, 0x44}, {0x05, 0x8C}, {0x13, 0x34}, {0x1C, 0x04}, {0x02, 0x9C}, {0x00, 0x00} -}; -*/ - -static mpu4_chr_table crmaze_data[64] = { - {0x00, 0x00}, {0x1A, 0x34}, {0x04, 0x14}, {0x10, 0x0C}, {0x18, 0x54}, {0x0F, 0x04}, {0x13, 0x24}, {0x1B, 0x34}, - {0x03, 0x94}, {0x07, 0x94}, {0x17, 0x0C}, {0x1D, 0x5C}, {0x36, 0x6C}, {0x35, 0x44}, {0x2B, 0x24}, {0x28, 0x24}, - {0x39, 0x3C}, {0x21, 0x6C}, {0x22, 0xCC}, {0x25, 0x4C}, {0x2C, 0xC4}, {0x29, 0xA4}, {0x31, 0x24}, {0x34, 0x24}, - {0x0A, 0x34}, {0x1F, 0x84}, {0x06, 0xB4}, {0x0E, 0x1C}, {0x1C, 0x64}, {0x12, 0x24}, {0x1E, 0x34}, {0x0D, 0x04}, - {0x14, 0x24}, {0x0A, 0x34}, {0x19, 0x8C}, {0x15, 0xC4}, {0x06, 0xB4}, {0x0F, 0x1C}, {0x08, 0xE4}, {0x1B, 0x24}, - {0x1E, 0x34}, {0x04, 0x14}, {0x01, 0x10}, {0x0C, 0x84}, {0x18, 0x24}, {0x1A, 0x34}, {0x11, 0x04}, {0x0B, 0x24}, - {0x03, 0xB4}, {0x17, 0x04}, {0x10, 0x24}, {0x1D, 0x3C}, {0x0E, 0x74}, {0x07, 0x94}, {0x12, 0x0C}, {0x09, 0xC4}, - {0x0D, 0xA4}, {0x1F, 0x24}, {0x16, 0x24}, {0x05, 0x34}, {0x13, 0x04}, {0x1C, 0x34}, {0x02, 0x94}, {0x00, 0x00} -}; - -static mpu4_chr_table crmazea_data[64] = { - {0x00, 0x00}, {0x1A, 0x0C}, {0x04, 0x90}, {0x10, 0xE0}, {0x18, 0xA4}, {0x0F, 0xAC}, {0x13, 0x78}, {0x1B, 0x5C}, - {0x03, 0xDC}, {0x07, 0xD4}, {0x17, 0xA0}, {0x1D, 0xEC}, {0x36, 0x78}, {0x35, 0x54}, {0x2B, 0x48}, {0x28, 0x50}, - {0x39, 0xC8}, {0x21, 0xF8}, {0x22, 0xDC}, {0x25, 0x94}, {0x2C, 0xE0}, {0x29, 0x24}, {0x31, 0x0C}, {0x34, 0xD8}, - {0x0A, 0x5C}, {0x1F, 0xD4}, {0x06, 0x68}, {0x0E, 0x18}, {0x1C, 0x14}, {0x12, 0xC8}, {0x1E, 0x38}, {0x0D, 0x5C}, - {0x14, 0xDC}, {0x0A, 0x5C}, {0x19, 0xDC}, {0x15, 0xD4}, {0x06, 0x68}, {0x0F, 0x18}, {0x08, 0xD4}, {0x1B, 0x60}, - {0x1E, 0x0C}, {0x04, 0x90}, {0x01, 0xE8}, {0x0C, 0xF8}, {0x18, 0xD4}, {0x1A, 0x60}, {0x11, 0x44}, {0x0B, 0x4C}, - {0x03, 0xD8}, {0x17, 0xD4}, {0x10, 0xE8}, {0x1D, 0xF8}, {0x0E, 0x9C}, {0x07, 0xD4}, {0x12, 0xE8}, {0x09, 0x30}, - {0x0D, 0x48}, {0x1F, 0xD8}, {0x16, 0xDC}, {0x05, 0x94}, {0x13, 0xE8}, {0x1C, 0x38}, {0x02, 0xDC}, {0x00, 0x00} -}; - -static mpu4_chr_table crmaze2_data[64] = { - {0x00, 0x00}, {0x1A, 0x88}, {0x04, 0x54}, {0x10, 0x40}, {0x18, 0x88}, {0x0F, 0x54}, {0x13, 0x40}, {0x1B, 0x88}, - {0x03, 0x74}, {0x07, 0x28}, {0x17, 0x30}, {0x1D, 0x60}, {0x36, 0x80}, {0x35, 0x84}, {0x2B, 0xC4}, {0x28, 0xA4}, - {0x39, 0xC4}, {0x21, 0x8C}, {0x22, 0x74}, {0x25, 0x08}, {0x2C, 0x30}, {0x29, 0x00}, {0x31, 0x80}, {0x34, 0x84}, - {0x0A, 0xC4}, {0x1F, 0x84}, {0x06, 0xAC}, {0x0E, 0x5C}, {0x1C, 0x90}, {0x12, 0x44}, {0x1E, 0x88}, {0x0D, 0x74}, - {0x14, 0x00}, {0x0A, 0x80}, {0x19, 0xC4}, {0x15, 0x84}, {0x06, 0xAC}, {0x0F, 0x5C}, {0x08, 0xB0}, {0x1B, 0x24}, - {0x1E, 0x88}, {0x04, 0x54}, {0x01, 0x08}, {0x0C, 0x30}, {0x18, 0x00}, {0x1A, 0x88}, {0x11, 0x34}, {0x0B, 0x08}, - {0x03, 0x70}, {0x17, 0x00}, {0x10, 0x80}, {0x1D, 0xC4}, {0x0E, 0x84}, {0x07, 0xAC}, {0x12, 0x34}, {0x09, 0x00}, - {0x0D, 0xA0}, {0x1F, 0x84}, {0x16, 0x84}, {0x05, 0x8C}, {0x13, 0x34}, {0x1C, 0x00}, {0x02, 0xA8}, {0x00, 0x00} -}; - -static mpu4_chr_table crmaze3_data[64] = { - {0x00, 0x00}, {0x1A, 0x84}, {0x04, 0x94}, {0x10, 0x3C}, {0x18, 0xEC}, {0x0F, 0x5C}, {0x13, 0xEC}, {0x1B, 0x50}, - {0x03, 0x2C}, {0x07, 0x68}, {0x17, 0x60}, {0x1D, 0xAC}, {0x36, 0x74}, {0x35, 0x00}, {0x2B, 0xAC}, {0x28, 0x58}, - {0x39, 0xEC}, {0x21, 0x7C}, {0x22, 0xEC}, {0x25, 0x58}, {0x2C, 0xE0}, {0x29, 0x90}, {0x31, 0x18}, {0x34, 0xEC}, - {0x0A, 0x54}, {0x1F, 0x28}, {0x06, 0x68}, {0x0E, 0x44}, {0x1C, 0x84}, {0x12, 0xB4}, {0x1E, 0x10}, {0x0D, 0x20}, - {0x14, 0x84}, {0x0A, 0xBC}, {0x19, 0xE8}, {0x15, 0x70}, {0x06, 0x24}, {0x0F, 0x84}, {0x08, 0xB8}, {0x1B, 0xE0}, - {0x1E, 0x94}, {0x04, 0x14}, {0x01, 0x2C}, {0x0C, 0x64}, {0x18, 0x8C}, {0x1A, 0x50}, {0x11, 0x28}, {0x0B, 0x4C}, - {0x03, 0x6C}, {0x17, 0x60}, {0x10, 0xA0}, {0x1D, 0xBC}, {0x0E, 0xCC}, {0x07, 0x78}, {0x12, 0xE8}, {0x09, 0x50}, - {0x0D, 0x20}, {0x1F, 0xAC}, {0x16, 0x74}, {0x05, 0x04}, {0x13, 0xA4}, {0x1C, 0x94}, {0x02, 0x3C}, {0x00, 0x00} -}; - -static mpu4_chr_table crmaze3a_data[64] = { - {0x00, 0x00}, {0x1A, 0x0C}, {0x04, 0x60}, {0x10, 0x84}, {0x18, 0x34}, {0x0F, 0x08}, {0x13, 0xC0}, {0x1B, 0x14}, - {0x03, 0xA8}, {0x07, 0xF0}, {0x17, 0x10}, {0x1D, 0xA0}, {0x36, 0x1C}, {0x35, 0xE4}, {0x2B, 0x1C}, {0x28, 0xE4}, - {0x39, 0x34}, {0x21, 0xA8}, {0x22, 0xF8}, {0x25, 0x64}, {0x2C, 0x8C}, {0x29, 0xF0}, {0x31, 0x30}, {0x34, 0x08}, - {0x0A, 0xE8}, {0x1F, 0xF8}, {0x06, 0xE4}, {0x0E, 0x3C}, {0x1C, 0x44}, {0x12, 0x8C}, {0x1E, 0x58}, {0x0D, 0xC4}, - {0x14, 0x3C}, {0x0A, 0x6C}, {0x19, 0x68}, {0x15, 0xC0}, {0x06, 0x9C}, {0x0F, 0x64}, {0x08, 0x04}, {0x1B, 0x0C}, - {0x1E, 0x48}, {0x04, 0x60}, {0x01, 0xAC}, {0x0C, 0xF8}, {0x18, 0xE4}, {0x1A, 0x14}, {0x11, 0xA8}, {0x0B, 0x78}, - {0x03, 0xEC}, {0x17, 0xD0}, {0x10, 0xB0}, {0x1D, 0xB0}, {0x0E, 0x38}, {0x07, 0xE4}, {0x12, 0x9C}, {0x09, 0xE4}, - {0x0D, 0xBC}, {0x1F, 0xE4}, {0x16, 0x1C}, {0x05, 0x64}, {0x13, 0x8C}, {0x1C, 0x58}, {0x02, 0xEC}, {0x00, 0x00} -}; - -static mpu4_chr_table mating_data[64] = { - {0x00, 0x00}, {0x1A, 0x18}, {0x04, 0xC8}, {0x10, 0xA4}, {0x18, 0x0C}, {0x0F, 0x80}, {0x13, 0x0C}, {0x1B, 0x90}, - {0x03, 0x34}, {0x07, 0x30}, {0x17, 0x00}, {0x1D, 0x58}, {0x36, 0xC8}, {0x35, 0x84}, {0x2B, 0x4C}, {0x28, 0xA0}, - {0x39, 0x4C}, {0x21, 0xC0}, {0x22, 0x3C}, {0x25, 0xC8}, {0x2C, 0xA4}, {0x29, 0x4C}, {0x31, 0x80}, {0x34, 0x0C}, - {0x0A, 0x80}, {0x1F, 0x0C}, {0x06, 0xE0}, {0x0E, 0x1C}, {0x1C, 0x88}, {0x12, 0xA4}, {0x1E, 0x0C}, {0x0D, 0xA0}, - {0x14, 0x0C}, {0x0A, 0x80}, {0x19, 0x4C}, {0x15, 0xA0}, {0x06, 0x3C}, {0x0F, 0x98}, {0x08, 0xEC}, {0x1B, 0x84}, - {0x1E, 0x0C}, {0x04, 0xC0}, {0x01, 0x1C}, {0x0C, 0xA8}, {0x18, 0x84}, {0x1A, 0x0C}, {0x11, 0xA0}, {0x0B, 0x5C}, - {0x03, 0xE8}, {0x17, 0xA4}, {0x10, 0x0C}, {0x1D, 0xD0}, {0x0E, 0x04}, {0x07, 0x38}, {0x12, 0xA8}, {0x09, 0xC4}, - {0x0D, 0x2C}, {0x1F, 0x90}, {0x16, 0x44}, {0x05, 0x18}, {0x13, 0xE8}, {0x1C, 0x84}, {0x02, 0x3C}, {0x00, 0x00} -}; - -static mpu4_chr_table skiltrek_data[64] = { - {0x00, 0x00}, {0x1A, 0x1C}, {0x04, 0xCC}, {0x10, 0x64}, {0x18, 0x1C}, {0x0F, 0x4C}, {0x13, 0x64}, {0x1B, 0x1C}, - {0x03, 0xEC}, {0x07, 0xE4}, {0x17, 0x0C}, {0x1D, 0xD4}, {0x36, 0x84}, {0x35, 0x0C}, {0x2B, 0x44}, {0x28, 0x2C}, - {0x39, 0xD4}, {0x21, 0x14}, {0x22, 0x34}, {0x25, 0x14}, {0x2C, 0x24}, {0x29, 0x0C}, {0x31, 0x44}, {0x34, 0x0C}, - {0x0A, 0x44}, {0x1F, 0x1C}, {0x06, 0xEC}, {0x0E, 0x54}, {0x1C, 0x04}, {0x12, 0x0C}, {0x1E, 0x54}, {0x0D, 0x24}, - {0x14, 0x0C}, {0x0A, 0x44}, {0x19, 0x9C}, {0x15, 0xEC}, {0x06, 0xE4}, {0x0F, 0x1C}, {0x08, 0x6C}, {0x1B, 0x54}, - {0x1E, 0x04}, {0x04, 0x1C}, {0x01, 0xC8}, {0x0C, 0x64}, {0x18, 0x1C}, {0x1A, 0x4C}, {0x11, 0x64}, {0x0B, 0x1C}, - {0x03, 0xEC}, {0x17, 0x64}, {0x10, 0x0C}, {0x1D, 0xD4}, {0x0E, 0x04}, {0x07, 0x3C}, {0x12, 0x6C}, {0x09, 0x44}, - {0x0D, 0x2C}, {0x1F, 0x54}, {0x16, 0x84}, {0x05, 0x1C}, {0x13, 0xEC}, {0x1C, 0x44}, {0x02, 0x3C}, {0x00, 0x00} -}; - -static mpu4_chr_table timemchn_data[64] = { - {0x00, 0x00}, {0x1A, 0x2C}, {0x04, 0x94}, {0x10, 0x14}, {0x18, 0x04}, {0x0F, 0x0C}, {0x13, 0xC4}, {0x1B, 0x0C}, - {0x03, 0xD4}, {0x07, 0x64}, {0x17, 0x0C}, {0x1D, 0xB4}, {0x36, 0x04}, {0x35, 0x0C}, {0x2B, 0x84}, {0x28, 0x5C}, - {0x39, 0xDC}, {0x21, 0x9C}, {0x22, 0xDC}, {0x25, 0x9C}, {0x2C, 0xDC}, {0x29, 0xCC}, {0x31, 0x84}, {0x34, 0x0C}, - {0x0A, 0x84}, {0x1F, 0x0C}, {0x06, 0xD4}, {0x0E, 0x04}, {0x1C, 0x2C}, {0x12, 0xC4}, {0x1E, 0x0C}, {0x0D, 0xC4}, - {0x14, 0x0C}, {0x0A, 0x84}, {0x19, 0x1C}, {0x15, 0xDC}, {0x06, 0xDC}, {0x0F, 0x8C}, {0x08, 0xD4}, {0x1B, 0x44}, - {0x1E, 0x2C}, {0x04, 0x94}, {0x01, 0x20}, {0x0C, 0x0C}, {0x18, 0xA4}, {0x1A, 0x0C}, {0x11, 0xC4}, {0x0B, 0x0C}, - {0x03, 0xD4}, {0x17, 0x14}, {0x10, 0x14}, {0x1D, 0x54}, {0x0E, 0x04}, {0x07, 0x6C}, {0x12, 0xC4}, {0x09, 0x4C}, - {0x0D, 0xC4}, {0x1F, 0x0C}, {0x16, 0xC4}, {0x05, 0x2C}, {0x13, 0xC4}, {0x1C, 0x0C}, {0x02, 0xD4}, {0x00, 0x00} -}; - -/* -static mpu4_chr_table strikeit_data[64] = { - {0x00, 0x00}, {0x1A, 0xC4}, {0x04, 0xC4}, {0x10, 0x44}, {0x18, 0xC4}, {0x0F, 0x44}, {0x13, 0x44}, {0x1B, 0xC4}, - {0x03, 0xCC}, {0x07, 0x3C}, {0x17, 0x5C}, {0x1D, 0x7C}, {0x36, 0x54}, {0x35, 0x24}, {0x2B, 0xC4}, {0x28, 0x4C}, - {0x39, 0xB4}, {0x21, 0x84}, {0x22, 0xCC}, {0x25, 0x34}, {0x2C, 0x04}, {0x29, 0x4C}, {0x31, 0x14}, {0x34, 0x24}, - {0x0A, 0xC4}, {0x1F, 0x44}, {0x06, 0xCC}, {0x0E, 0x14}, {0x1C, 0x04}, {0x12, 0x44}, {0x1E, 0xC4}, {0x0D, 0x4C}, - {0x14, 0x1C}, {0x0A, 0x54}, {0x19, 0x2C}, {0x15, 0x1C}, {0x06, 0x7C}, {0x0F, 0xD4}, {0x08, 0x0C}, {0x1B, 0x94}, - {0x1E, 0x04}, {0x04, 0xC4}, {0x01, 0xC0}, {0x0C, 0x4C}, {0x18, 0x94}, {0x1A, 0x04}, {0x11, 0x44}, {0x0B, 0x44}, - {0x03, 0xCC}, {0x17, 0x1C}, {0x10, 0x7C}, {0x1D, 0x7C}, {0x0E, 0xD4}, {0x07, 0x8C}, {0x12, 0x1C}, {0x09, 0x5C}, - {0x0D, 0x5C}, {0x1F, 0x5C}, {0x16, 0x7C}, {0x05, 0x74}, {0x13, 0x04}, {0x1C, 0xC4}, {0x02, 0xCC}, {0x00, 0x00} -}; -*/ - -static mpu4_chr_table turnover_data[64] = { - {0x00, 0x00}, {0x1A, 0x1C}, {0x04, 0x6C}, {0x10, 0xA4}, {0x18, 0x0C}, {0x0F, 0x24}, {0x13, 0x0C}, {0x1B, 0x34}, - {0x03, 0x94}, {0x07, 0x94}, {0x17, 0x44}, {0x1D, 0x5C}, {0x36, 0x6C}, {0x35, 0x24}, {0x2B, 0x1C}, {0x28, 0xAC}, - {0x39, 0x64}, {0x21, 0x1C}, {0x22, 0xEC}, {0x25, 0x64}, {0x2C, 0x0C}, {0x29, 0xA4}, {0x31, 0x0C}, {0x34, 0x24}, - {0x0A, 0x1C}, {0x1F, 0xAC}, {0x06, 0xE4}, {0x0E, 0x1C}, {0x1C, 0x2C}, {0x12, 0xA4}, {0x1E, 0x0C}, {0x0D, 0xA4}, - {0x14, 0x0C}, {0x0A, 0x24}, {0x19, 0x5C}, {0x15, 0xEC}, {0x06, 0xE4}, {0x0F, 0x1C}, {0x08, 0xAC}, {0x1B, 0x24}, - {0x1E, 0x1C}, {0x04, 0x6C}, {0x01, 0x60}, {0x0C, 0x0C}, {0x18, 0x34}, {0x1A, 0x04}, {0x11, 0x0C}, {0x0B, 0x24}, - {0x03, 0x9C}, {0x17, 0xEC}, {0x10, 0xA4}, {0x1D, 0x4C}, {0x0E, 0x24}, {0x07, 0x9C}, {0x12, 0xEC}, {0x09, 0x24}, - {0x0D, 0x0C}, {0x1F, 0x34}, {0x16, 0x04}, {0x05, 0x1C}, {0x13, 0xEC}, {0x1C, 0x24}, {0x02, 0x9C}, {0x00, 0x00} -}; - -static mpu4_chr_table eyesdown_data[64] = { - {0x00, 0x00}, {0x1A, 0x8C}, {0x04, 0x64}, {0x10, 0x0C}, {0x18, 0xC4}, {0x0F, 0x0C}, {0x13, 0x54}, {0x1B, 0x14}, - {0x03, 0x94}, {0x07, 0x94}, {0x17, 0x24}, {0x1D, 0xAC}, {0x36, 0x44}, {0x35, 0x0C}, {0x2B, 0x44}, {0x28, 0x1C}, - {0x39, 0x7C}, {0x21, 0x6C}, {0x22, 0x74}, {0x25, 0x84}, {0x2C, 0x3C}, {0x29, 0x4C}, {0x31, 0x44}, {0x34, 0x0C}, - {0x0A, 0x44}, {0x1F, 0x8C}, {0x06, 0x74}, {0x0E, 0x84}, {0x1C, 0x0C}, {0x12, 0x54}, {0x1E, 0x04}, {0x0D, 0x1C}, - {0x14, 0x7C}, {0x0A, 0xCC}, {0x19, 0x64}, {0x15, 0x0C}, {0x06, 0x74}, {0x0F, 0x84}, {0x08, 0x3C}, {0x1B, 0x5C}, - {0x1E, 0x4C}, {0x04, 0x64}, {0x01, 0x88}, {0x0C, 0x74}, {0x18, 0x04}, {0x1A, 0x8C}, {0x11, 0x54}, {0x0B, 0x04}, - {0x03, 0x9C}, {0x17, 0x7C}, {0x10, 0x5C}, {0x1D, 0x7C}, {0x0E, 0xCC}, {0x07, 0x74}, {0x12, 0x04}, {0x09, 0x1C}, - {0x0D, 0x5C}, {0x1F, 0x5C}, {0x16, 0x7C}, {0x05, 0x6C}, {0x13, 0x54}, {0x1C, 0x04}, {0x02, 0x9C}, {0x00, 0x00} -}; - -static mpu4_chr_table quidgrid_data[64] = { - {0x00, 0x00}, {0x1A, 0x64}, {0x04, 0x64}, {0x10, 0x24}, {0x18, 0x64}, {0x0F, 0x64}, {0x13, 0x24}, {0x1B, 0x64}, - {0x03, 0x74}, {0x07, 0x54}, {0x17, 0x84}, {0x1D, 0xA4}, {0x36, 0x24}, {0x35, 0x24}, {0x2B, 0x64}, {0x28, 0x24}, - {0x39, 0xE4}, {0x21, 0x64}, {0x22, 0x74}, {0x25, 0x44}, {0x2C, 0x34}, {0x29, 0x04}, {0x31, 0x24}, {0x34, 0x24}, - {0x0A, 0x64}, {0x1F, 0x64}, {0x06, 0x74}, {0x0E, 0x44}, {0x1C, 0x64}, {0x12, 0x24}, {0x1E, 0x64}, {0x0D, 0x24}, - {0x14, 0x24}, {0x0A, 0x64}, {0x19, 0xE4}, {0x15, 0x24}, {0x06, 0x74}, {0x0F, 0x44}, {0x08, 0x34}, {0x1B, 0x14}, - {0x1E, 0x04}, {0x04, 0x64}, {0x01, 0x60}, {0x0C, 0x24}, {0x18, 0x64}, {0x1A, 0x64}, {0x11, 0x24}, {0x0B, 0x64}, - {0x03, 0x74}, {0x17, 0x04}, {0x10, 0x24}, {0x1D, 0xE4}, {0x0E, 0x64}, {0x07, 0x74}, {0x12, 0x04}, {0x09, 0x34}, - {0x0D, 0x04}, {0x1F, 0x64}, {0x16, 0x24}, {0x05, 0x64}, {0x13, 0x24}, {0x1C, 0x64}, {0x02, 0x74}, {0x00, 0x00} -}; - -static mpu4_chr_table blank_data[72] = { - {0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff}, - {0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff}, - {0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff}, - {0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff}, - {0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff}, - {0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff}, - {0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff}, - {0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff}, - {0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff},{0xff, 0xff}, -}; - - -#if 0 -static const bwb_chr_table prizeinv_data1[5] = { -//This is all wrong, but without BWB Vid booting, -//I can't find the right values. These should be close though - {0x67},{0x17},{0x0f},{0x24},{0x3c}, -}; -#endif - -static mpu4_chr_table prizeinv_data[8] = { -{0xEF, 0x02},{0x81, 0x00},{0xCE, 0x00},{0x00, 0x2e}, -{0x06, 0x20},{0xC6, 0x0f},{0xF8, 0x24},{0x8E, 0x3c}, -}; - /* void mpu4vid_state::init_adders() { @@ -2540,90 +2321,57 @@ void mpu4vid_state::init_adders() void mpu4vid_state::init_crmaze() { m_reels = 0;//currently no hybrid games - m_current_chr_table = crmaze_data; } -void mpu4vid_state::init_crmazea() -{ - m_reels = 0;//currently no hybrid games - m_current_chr_table = crmazea_data; -} - -void mpu4vid_state::init_crmaze2() -{ - m_reels = 0;//currently no hybrid games - m_current_chr_table = crmaze2_data; -} - -void mpu4vid_state::init_crmaze2a() -{ - m_reels = 0;//currently no hybrid games -} - -void mpu4vid_state::init_crmaze3() +void mpu4vid_state::init_crmaze_flutter() { m_reels = 0;//currently no hybrid games m_reel_mux = FLUTTERBOX; - m_current_chr_table = crmaze3_data; -} - -void mpu4vid_state::init_crmaze3a() -{ - m_reels = 0;//currently no hybrid games - m_reel_mux = FLUTTERBOX; - m_current_chr_table = crmaze3a_data; } void mpu4vid_state::init_mating() { m_reels = 0;//currently no hybrid games - m_current_chr_table = mating_data; + // TODOxx: m_current_chr_table = mating_data; } void mpu4vid_state::init_skiltrek() { m_reels = 0;//currently no hybrid games - m_current_chr_table = skiltrek_data; + // TODOxx: m_current_chr_table = skiltrek_data; } void mpu4vid_state::init_timemchn() { m_reels = 0;//currently no hybrid games - m_current_chr_table = timemchn_data; + // TODOxx: m_current_chr_table = timemchn_data; } void mpu4vid_state::init_strikeit() { m_led_extender = SIMPLE_CARD; m_reels = 0;//currently no hybrid games - m_current_chr_table = nullptr; - m_4ktable = memregion( "video_prot" )->base(); - m_4krow = 0; } void mpu4vid_state::init_turnover() { m_reels = 0;//currently no hybrid games - m_current_chr_table = turnover_data; + // TODOxx: m_current_chr_table = turnover_data; } void mpu4vid_state::init_eyesdown() { m_reels = 0;//currently no hybrid games - m_current_chr_table = eyesdown_data; + // TODOxx: m_current_chr_table = eyesdown_data; } void mpu4vid_state::init_quidgrid() { m_reels = 0;//currently no hybrid games - m_current_chr_table = quidgrid_data; + // TODOxx: m_current_chr_table = quidgrid_data; } -void mpu4vid_state::init_v4frfact() -{ - mpu4vid_char_cheat(0x4f6); -} void mpu4vid_state::hack_bwb_startup_protection() { @@ -2662,7 +2410,7 @@ void mpu4vid_state::hack_bwb_startup_protection() void mpu4vid_state::init_prizeinv() { m_reels = 0;//currently no hybrid games - m_current_chr_table = prizeinv_data; + // TODOxx: m_current_chr_table = prizeinv_data; hack_bwb_startup_protection(); } @@ -2744,26 +2492,12 @@ void mpu4vid_state::init_bwbhack() } -static const bwb_chr_table cybcas_data1[5] = { -//Magic num4ber 724A - -// PAL Codes -// 0 1 2 3 4 5 6 7 8 -// ?? ?? 20 0F 24 3C 36 27 09 - - {0x67},{0x17},{0x0f},{0x24},{0x3c}, -}; - -static mpu4_chr_table cybcas_data[8] = { -{0xEF, 0x02},{0x81, 0x00},{0xCE, 0x00},{0x00, 0x2e}, -{0x06, 0x20},{0xC6, 0x0f},{0xF8, 0x24},{0x8E, 0x3c}, -}; void mpu4vid_state::init_cybcas() { //no idea what this should be, use blues boys table for now - m_bwb_chr_table1 = cybcas_data1; - m_current_chr_table = cybcas_data; + // TODOxx: m_bwb_chr_table1 = cybcas_data1; + // TODOxx: m_current_chr_table = cybcas_data; hack_bwb_startup_protection(); @@ -2775,40 +2509,22 @@ void mpu4vid_state::init_cybcas() } -void mpu4vid_state::mpu4vid_char_cheat( int address) -{ - uint8_t* cheattable = memregion( "video" )->base()+address; - m_current_chr_table = blank_data; - for (int i=0;i<72;i++) - { - m_current_chr_table[i].response = cheattable++[0]; - m_current_chr_table[i].call = cheattable++[0]; - } -} + void mpu4vid_state::init_v4barqst() { - mpu4vid_char_cheat(0x154); } void mpu4vid_state::init_v4barqst2() { - mpu4vid_char_cheat(0x15c); } void mpu4vid_state::init_v4wize() { - mpu4vid_char_cheat(0x16c); -} - -void mpu4vid_state::init_v4cmazeb() -{ - mpu4vid_char_cheat(0x4c6); } void mpu4vid_state::init_v4opt3() { - mpu4vid_char_cheat(0x164); } @@ -4528,7 +4244,7 @@ ROM_START( v4addlad ) ROM_LOAD16_BYTE( "al.q9", 0x0c0000, 0x10000, CRC(22274191) SHA1(9bee5709edcd853e96408f37447c0f5324610903) ) ROM_LOAD16_BYTE( "al.qa", 0x0c0001, 0x10000, CRC(1fe98b4d) SHA1(533afeaea42903905f6f1206bba1a023b141bdd9) ) - ROM_REGION( 0x1000, "video_prot", 0 ) + ROM_REGION( 0x1000, "characteriser:fakechr", 0 ) // this is a state result dump of the PAL, a 64x64 table of 6-bit values, where a write sets the column index // and the result of the previous read sets the row index, and a write of 00 resets the state machine? ROM_LOAD( "addersandladders_video_mpu4.chr", 0x0000, 0x1000, CRC(2e191981) SHA1(09d57291f73bea6d87007256137d039f5d279235) ) @@ -4554,7 +4270,7 @@ ROM_START( v4addladd ) ROM_LOAD16_BYTE( "al.q9", 0x0c0000, 0x10000, CRC(22274191) SHA1(9bee5709edcd853e96408f37447c0f5324610903) ) ROM_LOAD16_BYTE( "al.qa", 0x0c0001, 0x10000, CRC(1fe98b4d) SHA1(533afeaea42903905f6f1206bba1a023b141bdd9) ) - ROM_REGION( 0x1000, "video_prot", 0 ) + ROM_REGION( 0x1000, "characteriser:fakechr", 0 ) // this is a state result dump of the PAL, a 64x64 table of 6-bit values, where a write sets the column index // and the result of the previous read sets the row index, and a write of 00 resets the state machine? ROM_LOAD( "addersandladders_video_mpu4.chr", 0x0000, 0x1000, CRC(2e191981) SHA1(09d57291f73bea6d87007256137d039f5d279235) ) @@ -4580,7 +4296,7 @@ ROM_START( v4addlad20 ) ROM_LOAD16_BYTE( "al.q9", 0x0c0000, 0x10000, CRC(22274191) SHA1(9bee5709edcd853e96408f37447c0f5324610903) ) ROM_LOAD16_BYTE( "al.qa", 0x0c0001, 0x10000, CRC(1fe98b4d) SHA1(533afeaea42903905f6f1206bba1a023b141bdd9) ) - ROM_REGION( 0x1000, "video_prot", 0 ) + ROM_REGION( 0x1000, "characteriser:fakechr", 0 ) // this is a state result dump of the PAL, a 64x64 table of 6-bit values, where a write sets the column index // and the result of the previous read sets the row index, and a write of 00 resets the state machine? ROM_LOAD( "addersandladders_video_mpu4.chr", 0x0000, 0x1000, CRC(2e191981) SHA1(09d57291f73bea6d87007256137d039f5d279235) ) @@ -4610,7 +4326,7 @@ ROM_START( v4strike ) ROM_LOAD16_BYTE( "silq-7.bin", 0x180000, 0x020000, CRC(122f2327) SHA1(5c83f473cbfb7624f6eedd6d6521020b2b838da4) ) // ISSUE3 Q1 v3.1 ('T' questions) (true) ROM_LOAD16_BYTE( "silq-6.bin", 0x1c0000, 0x020000, CRC(0ea36fd5) SHA1(e0649c77007c092fef4cb11fdd71682c88ca82e6) ) // ISSUE3 Q1 v3.1 ('F' questions) (false) - ROM_REGION( 0x1000, "video_prot", 0 ) + ROM_REGION( 0x1000, "characteriser:fakechr", 0 ) // this is a state result dump of the PAL, a 64x64 table of 6-bit values, where a write sets the column index // and the result of the previous read sets the row index, and a write of 00 resets the state machine? ROM_LOAD( "strikeitlucky_video_mpu4.chr", 0x0000, 0x1000, CRC(ec529c9f) SHA1(9eb2b08afb2955b0a8fe736500888b63f07ace63) ) @@ -4636,7 +4352,7 @@ ROM_START( v4striked ) ROM_LOAD16_BYTE( "silq-7.bin", 0x180000, 0x020000, CRC(122f2327) SHA1(5c83f473cbfb7624f6eedd6d6521020b2b838da4) ) // ISSUE3 Q1 v3.1 ('T' questions) (true) ROM_LOAD16_BYTE( "silq-6.bin", 0x1c0000, 0x020000, CRC(0ea36fd5) SHA1(e0649c77007c092fef4cb11fdd71682c88ca82e6) ) // ISSUE3 Q1 v3.1 ('F' questions) (false) - ROM_REGION( 0x1000, "video_prot", 0 ) + ROM_REGION( 0x1000, "characteriser:fakechr", 0 ) // this is a state result dump of the PAL, a 64x64 table of 6-bit values, where a write sets the column index // and the result of the previous read sets the row index, and a write of 00 resets the state machine? ROM_LOAD( "strikeitlucky_video_mpu4.chr", 0x0000, 0x1000, CRC(ec529c9f) SHA1(9eb2b08afb2955b0a8fe736500888b63f07ace63) ) @@ -4662,7 +4378,7 @@ ROM_START( v4strike2 ) ROM_LOAD16_BYTE( "silq-7.bin", 0x180000, 0x020000, CRC(122f2327) SHA1(5c83f473cbfb7624f6eedd6d6521020b2b838da4) ) // ISSUE3 Q1 v3.1 ('T' questions) (true) ROM_LOAD16_BYTE( "silq-6.bin", 0x1c0000, 0x020000, CRC(0ea36fd5) SHA1(e0649c77007c092fef4cb11fdd71682c88ca82e6) ) // ISSUE3 Q1 v3.1 ('F' questions) (false) - ROM_REGION( 0x1000, "video_prot", 0 ) + ROM_REGION( 0x1000, "characteriser:fakechr", 0 ) // this is a state result dump of the PAL, a 64x64 table of 6-bit values, where a write sets the column index // and the result of the previous read sets the row index, and a write of 00 resets the state machine? ROM_LOAD( "strikeitlucky_video_mpu4.chr", 0x0000, 0x1000, CRC(ec529c9f) SHA1(9eb2b08afb2955b0a8fe736500888b63f07ace63) ) @@ -4688,7 +4404,7 @@ ROM_START( v4strike2d ) ROM_LOAD16_BYTE( "silq-7.bin", 0x180000, 0x020000, CRC(122f2327) SHA1(5c83f473cbfb7624f6eedd6d6521020b2b838da4) ) // ISSUE3 Q1 v3.1 ('T' questions) (true) ROM_LOAD16_BYTE( "silq-6.bin", 0x1c0000, 0x020000, CRC(0ea36fd5) SHA1(e0649c77007c092fef4cb11fdd71682c88ca82e6) ) // ISSUE3 Q1 v3.1 ('F' questions) (false) - ROM_REGION( 0x1000, "video_prot", 0 ) + ROM_REGION( 0x1000, "characteriser:fakechr", 0 ) // this is a state result dump of the PAL, a 64x64 table of 6-bit values, where a write sets the column index // and the result of the previous read sets the row index, and a write of 00 resets the state machine? ROM_LOAD( "strikeitlucky_video_mpu4.chr", 0x0000, 0x1000, CRC(ec529c9f) SHA1(9eb2b08afb2955b0a8fe736500888b63f07ace63) ) @@ -4791,7 +4507,7 @@ ROM_START( v4barqst ) ROM_LOAD16_BYTE( "bq-iss4.p9", 0x0a0000, 0x010000, CRC(2971f5ca) SHA1(0de9b1d743243d6e127f5417485f1a9fa76d5399) ) ROM_LOAD16_BYTE( "bq-iss4.p10", 0x0a0001, 0x010000, CRC(d54f961f) SHA1(14273cf78371550dd525843b388915df567342ce) ) - ROM_REGION( 0x1000, "video_prot", 0 ) + ROM_REGION( 0x1000, "characteriser:fakechr", 0 ) // this is a state result dump of the PAL, a 64x64 table of 6-bit values, where a write sets the column index // and the result of the previous read sets the row index, and a write of 00 resets the state machine? ROM_LOAD( "barquest.chr", 0x0000, 0x1000, CRC(bc9971fe) SHA1(902684318ad0755ee062a7f10e2c3171b5c4933f) ) @@ -4815,7 +4531,7 @@ ROM_START( v4barqstd ) ROM_LOAD16_BYTE( "bq-iss4.p9", 0x0a0000, 0x010000, CRC(2971f5ca) SHA1(0de9b1d743243d6e127f5417485f1a9fa76d5399) ) ROM_LOAD16_BYTE( "bq-iss4.p10", 0x0a0001, 0x010000, CRC(d54f961f) SHA1(14273cf78371550dd525843b388915df567342ce) ) - ROM_REGION( 0x1000, "video_prot", 0 ) + ROM_REGION( 0x1000, "characteriser:fakechr", 0 ) // this is a state result dump of the PAL, a 64x64 table of 6-bit values, where a write sets the column index // and the result of the previous read sets the row index, and a write of 00 resets the state machine? ROM_LOAD( "barquest.chr", 0x0000, 0x1000, CRC(bc9971fe) SHA1(902684318ad0755ee062a7f10e2c3171b5c4933f) ) @@ -8997,27 +8713,27 @@ GAME( 199?, v4bios, 0, mod2, mpu4vid, mpu4_state, init_ #define GAME_FLAGS MACHINE_NOT_WORKING #define GAME_FLAGS_OK (MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND) -GAMEL( 1993, v4cmaze, v4bios, crmaze, crmaze, mpu4vid_state, init_crmaze, ROT0, "Barcrest","The Crystal Maze (v1.3) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze2p )//SWP 0.9 -GAMEL( 1993, v4cmazedat, v4cmaze, crmaze, crmaze, mpu4vid_state, init_crmaze, ROT0, "Barcrest","The Crystal Maze (v1.3, Datapak) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9D -GAMEL( 1993, v4cmazeb, v4cmaze, crmaze, crmaze, mpu4vid_state, init_v4cmazeb, ROT0, "Barcrest","The Crystal Maze (v1.2) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze2p )//SWP 0.9 -GAMEL( 1993, v4cmazec, v4cmaze, crmaze, crmaze, mpu4vid_state, init_v4cmazeb, ROT0, "Barcrest","The Crystal Maze (v1.3 alt) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9 -GAMEL( 1993, v4cmazed, v4cmaze, crmaze, crmaze, mpu4vid_state, init_v4cmazeb, ROT0, "Barcrest","The Crystal Maze (v1.1) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze2p )//SWP 0.6 +GAMEL( 1993, v4cmaze, v4bios, crmaze, crmaze, mpu4vid_state, init_crmaze, ROT0, "Barcrest","The Crystal Maze (v1.3) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze2p )//SWP 0.9 +GAMEL( 1993, v4cmazedat, v4cmaze, crmaze, crmaze, mpu4vid_state, init_crmaze, ROT0, "Barcrest","The Crystal Maze (v1.3, Datapak) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9D +GAMEL( 1993, v4cmazeb, v4cmaze, crmaze, crmaze, mpu4vid_state, init_crmaze, ROT0, "Barcrest","The Crystal Maze (v1.2) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze2p )//SWP 0.9 +GAMEL( 1993, v4cmazec, v4cmaze, crmaze, crmaze, mpu4vid_state, init_crmaze, ROT0, "Barcrest","The Crystal Maze (v1.3 alt) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9 +GAMEL( 1993, v4cmazed, v4cmaze, crmaze, crmaze, mpu4vid_state, init_crmaze, ROT0, "Barcrest","The Crystal Maze (v1.1) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze2p )//SWP 0.6 -GAMEL( 1993, v4cmaze_amld, v4cmaze, crmaze, crmaze, mpu4vid_state, init_crmazea, ROT0, "Barcrest","The Crystal Maze (v0.1, AMLD) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze2p )//SWP 0.9 (actually newer than the 1.1 set then??) +GAMEL( 1993, v4cmaze_amld, v4cmaze, crmaze, crmaze, mpu4vid_state, init_crmaze, ROT0, "Barcrest","The Crystal Maze (v0.1, AMLD) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze2p )//SWP 0.9 (actually newer than the 1.1 set then??) -GAMEL( 1993, v4cmaze2, v4bios, crmaze, crmaze, mpu4vid_state, init_crmaze2, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v2.2) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze4p )//SWP 1.0 -GAMEL( 1993, v4cmaze2d, v4cmaze2, crmaze, crmaze, mpu4vid_state, init_crmaze2, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v2.2, Datapak) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 1.0D -GAMEL( 1993, v4cmaze2b, v4cmaze2, crmaze, crmaze, mpu4vid_state, init_crmaze2, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v2.0) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze4p )//SWP 1.0 -GAMEL( 1993, v4cmaze2c, v4cmaze2, crmaze, crmaze, mpu4vid_state, init_crmaze2, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v?.?) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )// bad rom? +GAMEL( 1993, v4cmaze2, v4bios, crmaze, crmaze, mpu4vid_state, init_crmaze, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v2.2) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze4p )//SWP 1.0 +GAMEL( 1993, v4cmaze2d, v4cmaze2, crmaze, crmaze, mpu4vid_state, init_crmaze, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v2.2, Datapak) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 1.0D +GAMEL( 1993, v4cmaze2b, v4cmaze2, crmaze, crmaze, mpu4vid_state, init_crmaze, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v2.0) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze4p )//SWP 1.0 +GAMEL( 1993, v4cmaze2c, v4cmaze2, crmaze, crmaze, mpu4vid_state, init_crmaze, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v?.?) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )// bad rom? -GAMEL( 1993, v4cmaze2_amld, v4cmaze2, crmaze, crmaze, mpu4vid_state, init_crmaze2a, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v0.1, AMLD) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze4p )//SWP 1.0 /* unprotected? proto? */ +GAMEL( 1993, v4cmaze2_amld, v4cmaze2, crmaze, crmaze, mpu4vid_state, init_crmaze, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v0.1, AMLD) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze4p )//SWP 1.0 /* unprotected? proto? */ -GAMEL( 1994, v4cmaze3, v4bios, crmaze, crmaze, mpu4vid_state, init_crmaze3, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.9) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze4p )//SWP 0.7 -GAMEL( 1994, v4cmaze3d, v4cmaze3, crmaze, crmaze, mpu4vid_state, init_crmaze3, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.9, Datapak) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 0.7D -GAMEL( 1994, v4cmaze3b, v4cmaze3, crmaze, crmaze, mpu4vid_state, init_v4cmazeb, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.8) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze4p )//SWP 0.7 -GAMEL( 1994, v4cmaze3c, v4cmaze3, crmaze, crmaze, mpu4vid_state, init_v4cmazeb, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.6) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )// missing one program rom +GAMEL( 1994, v4cmaze3, v4bios, crmaze, crmaze, mpu4vid_state, init_crmaze_flutter, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.9) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze4p )//SWP 0.7 +GAMEL( 1994, v4cmaze3d, v4cmaze3, crmaze, crmaze, mpu4vid_state, init_crmaze_flutter, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.9, Datapak) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 0.7D +GAMEL( 1994, v4cmaze3b, v4cmaze3, crmaze, crmaze, mpu4vid_state, init_crmaze_flutter, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.8) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze4p )//SWP 0.7 +GAMEL( 1994, v4cmaze3c, v4cmaze3, crmaze, crmaze, mpu4vid_state, init_crmaze_flutter, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.6) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )// missing one program rom -GAMEL( 1994, v4cmaze3_amld, v4cmaze3, crmaze, crmaze, mpu4vid_state, init_crmaze3a, ROT0, "Barcrest","The Crystal Maze Team Challenge (v1.2, AMLD) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze4p )//SWP 0.7 +GAMEL( 1994, v4cmaze3_amld, v4cmaze3, crmaze, crmaze, mpu4vid_state, init_crmaze_flutter, ROT0, "Barcrest","The Crystal Maze Team Challenge (v1.2, AMLD) (MPU4 Video)",GAME_FLAGS_OK,layout_crmaze4p )//SWP 0.7 //Year is a guess, based on the use of the 'Coin Man' logo GAME( 1996?,v4mate, v4bios, mating, mating, mpu4vid_state, init_mating, ROT0, "Barcrest","The Mating Game (v0.4) (MPU4 Video)",GAME_FLAGS_OK )//SWP 0.2 @@ -9025,62 +8741,77 @@ GAME( 1996?,v4mated, v4mate, mating, mating, mpu4vid_state, init_mat /* Quiz games - Questions decoded */ +// the v4addlad / v4addladd sets don't do the usual protection check, but still have the device for scrambling questions +// same sequence as bankrollerclub +// 00 8c 64 84 84 c4 84 84 9c f4 04 cc 24 84 c4 94 54 0c 74 0c 34 04 84 84 c4 84 9c e4 84 84 84 d4 44 84 c4 84 9c e4 84 84 84 8c 60 84 84 84 84 c4 9c f4 04 cc 24 9c f4 04 94 14 44 8c 34 04 9c 00 GAMEL( 1989, v4addlad, v4bios, mpu4_vid_strike, adders, mpu4vid_state, init_strikeit, ROT0, "Barcrest","Adders and Ladders (v2.1) (MPU4 Video)",GAME_FLAGS_OK,layout_v4addlad ) GAMEL( 1989, v4addladd, v4addlad, mpu4_vid_strike, adders, mpu4vid_state, init_strikeit, ROT0, "Barcrest","Adders and Ladders (v2.1d) (MPU4 Video)",GAME_FLAGS_OK,layout_v4addlad ) GAMEL( 1989, v4addlad20, v4addlad, mpu4_vid_strike, adders, mpu4vid_state, init_strikeit, ROT0, "Barcrest","Adders and Ladders (v2.0) (MPU4 Video)",GAME_FLAGS_OK,layout_v4addlad ) +// 00 c4 c4 44 c4 44 44 c4 cc 3c 5c 7c 54 24 c4 4c b4 84 cc 34 04 4c 14 24 c4 44 cc 14 04 44 c4 4c 1c 54 2c 1c 7c d4 0c 94 04 c4 c0 4c 94 04 44 44 cc 1c 7c 7c d4 8c 1c 5c 5c 5c 7c 74 04 c4 cc 00 GAMEL( 199?, v4strike, v4bios, mpu4_vid_strike, strike, mpu4vid_state, init_strikeit, ROT0, "Barcrest","Strike it Lucky (v0.5) (MPU4 Video)",GAME_FLAGS_OK,layout_v4strike ) GAMEL( 199?, v4striked, v4strike, mpu4_vid_strike, strike, mpu4vid_state, init_strikeit, ROT0, "Barcrest","Strike it Lucky (v0.5, Datapak) (MPU4 Video)",GAME_FLAGS_OK,layout_v4strike ) GAMEL( 199?, v4strike2, v4strike, mpu4_vid_strike, strike, mpu4vid_state, init_strikeit, ROT0, "Barcrest","Strike it Lucky (v0.53) (MPU4 Video)",GAME_FLAGS_OK,layout_v4strike ) // The '3' is likely a machine type, not a 'version', 68k Pair ROM doesn't change GAMEL( 199?, v4strike2d, v4strike, mpu4_vid_strike, strike, mpu4vid_state, init_strikeit, ROT0, "Barcrest","Strike it Lucky (v0.53, Datapak) (MPU4 Video)",GAME_FLAGS_OK,layout_v4strike ) +// 00 34 14 0c 54 04 24 34 94 94 0c 5c 6c 44 24 24 3c 6c cc 4c c4 a4 24 24 34 84 b4 1c 64 24 34 04 24 34 8c c4 b4 1c e4 24 34 14 10 84 24 34 04 24 b4 04 24 3c 74 94 0c c4 a4 24 24 34 04 34 94 00 GAMEL( 199?, v4barqst, v4bios, mpu4_vid_strike, barquest, mpu4vid_state, init_strikeit, ROT0, "Barcrest","Barquest (v2.6) (MPU4 Video)",GAME_FLAGS_OK,layout_v4barqst ) GAMEL( 199?, v4barqstd, v4barqst, mpu4_vid_strike, barquest, mpu4vid_state, init_strikeit, ROT0, "Barcrest","Barquest (v2.6d) (MPU4 Video)",GAME_FLAGS_OK,layout_v4barqst ) /* Quiz games - Questions not decoded properly on games below (no complete characteriser table) */ -GAME( 199?, v4turnov, v4bios, mpu4_vid, turnover, mpu4vid_state, init_turnover, ROT0, "Barcrest","Turnover (v2.3) (MPU4 Video)",GAME_FLAGS ) -GAME( 199?, v4turnova, v4turnov, mpu4_vid, turnover, mpu4vid_state, init_turnover, ROT0, "Barcrest","Turnover (v2.33) (MPU4 Video)",GAME_FLAGS ) // the 2nd 3 is likely be a machine type, because much like Strike It Lucky and Wize Move the pairing 68k ROM doesn't change -GAME( 199?, v4turnovc, v4turnov, mpu4_vid, turnover, mpu4vid_state, init_turnover, ROT0, "Barcrest","Turnover (v2.3O) (MPU4 Video)",GAME_FLAGS ) -GAME( 199?, v4turnovd, v4turnov, mpu4_vid, turnover, mpu4vid_state, init_turnover, ROT0, "Barcrest","Turnover (v?.?) (MPU4 Video)",GAME_FLAGS ) // only have a single program ROM +// 00 1c 6c a4 0c 24 0c 34 94 94 44 5c 6c 24 1c ac 64 1c ec 64 0c a4 0c 24 1c ac e4 1c 2c a4 0c a4 0c 24 5c ec e4 1c ac 24 1c 6c 60 0c 34 04 0c 24 9c ec a4 4c 24 9c ec 24 0c 34 04 1c ec 24 9c 00 +GAME( 199?, v4turnov, v4bios, mpu4_vid_cheatchr, turnover, mpu4vid_state, init_turnover, ROT0, "Barcrest","Turnover (v2.3) (MPU4 Video)",GAME_FLAGS ) +GAME( 199?, v4turnova, v4turnov, mpu4_vid_cheatchr, turnover, mpu4vid_state, init_turnover, ROT0, "Barcrest","Turnover (v2.33) (MPU4 Video)",GAME_FLAGS ) // the 2nd 3 is likely be a machine type, because much like Strike It Lucky and Wize Move the pairing 68k ROM doesn't change +GAME( 199?, v4turnovc, v4turnov, mpu4_vid_cheatchr, turnover, mpu4vid_state, init_turnover, ROT0, "Barcrest","Turnover (v2.3O) (MPU4 Video)",GAME_FLAGS ) +GAME( 199?, v4turnovd, v4turnov, mpu4_vid_cheatchr, turnover, mpu4vid_state, init_turnover, ROT0, "Barcrest","Turnover (v?.?) (MPU4 Video)",GAME_FLAGS ) // only have a single program ROM -GAME( 1990, v4skltrk, v4bios, mpu4_vid, skiltrek, mpu4vid_state, init_skiltrek, ROT0, "Barcrest","Skill Trek (v1.1) (MPU4 Video, set 1)",GAME_FLAGS ) // 10 pound max -GAME( 1990, v4skltrka, v4skltrk, mpu4_vid, skiltrek, mpu4vid_state, init_skiltrek, ROT0, "Barcrest","Skill Trek (v1.1) (MPU4 Video, set 2)",GAME_FLAGS ) // 12 pound max +// 00 1c cc 64 1c 4c 64 1c ec e4 0c d4 84 0c 44 2c d4 14 34 14 24 0c 44 0c 44 1c ec 54 04 0c 54 24 0c 44 9c ec e4 1c 6c 54 04 1c c8 64 1c 4c 64 1c ec 64 0c d4 04 3c 6c 44 2c 54 84 1c ec 44 3c 00 +GAME( 1990, v4skltrk, v4bios, mpu4_vid_cheatchr, skiltrek, mpu4vid_state, init_skiltrek, ROT0, "Barcrest","Skill Trek (v1.1) (MPU4 Video, set 1)",GAME_FLAGS ) // 10 pound max +GAME( 1990, v4skltrka, v4skltrk, mpu4_vid_cheatchr, skiltrek, mpu4vid_state, init_skiltrek, ROT0, "Barcrest","Skill Trek (v1.1) (MPU4 Video, set 2)",GAME_FLAGS ) // 12 pound max -GAME( 1989, v4tmach, v4bios, mpu4_vid, skiltrek, mpu4vid_state, init_timemchn, ROT0, "Barcrest","Time Machine (v2.0) (Issue 3 Questions) (MPU4 Video)",GAME_FLAGS ) -GAME( 1989, v4tmachd, v4tmach, mpu4_vid, skiltrek, mpu4vid_state, init_timemchn, ROT0, "Barcrest","Time Machine (v2.0) (Issue 3 Questions) (Datapak) (MPU4 Video)",GAME_FLAGS ) -GAME( 1989, v4tmach1, v4tmach, mpu4_vid, skiltrek, mpu4vid_state, init_timemchn, ROT0, "Barcrest","Time Machine (v2.0) (Issue 1 Questions) (MPU4 Video)",GAME_FLAGS ) -GAME( 1989, v4tmach1d, v4tmach, mpu4_vid, skiltrek, mpu4vid_state, init_timemchn, ROT0, "Barcrest","Time Machine (v2.0) (Issue 1 Questions) (Datapak) (MPU4 Video)",GAME_FLAGS ) -GAME( 1989, v4tmach2, v4tmach, mpu4_vid, skiltrek, mpu4vid_state, init_timemchn, ROT0, "Barcrest","Time Machine (v2.0) (Issue 2 Questions) (MPU4 Video)",GAME_FLAGS ) -GAME( 1989, v4tmach2d, v4tmach, mpu4_vid, skiltrek, mpu4vid_state, init_timemchn, ROT0, "Barcrest","Time Machine (v2.0) (Issue 2 Questions) (Datapak) (MPU4 Video)",GAME_FLAGS ) +// 00 2c 94 14 04 0c c4 0c d4 64 0c b4 04 0c 84 5c dc 9c dc 9c dc cc 84 0c 84 0c d4 04 2c c4 0c c4 0c 84 1c dc dc 8c d4 44 2c 94 20 0c a4 0c c4 0c d4 14 14 54 04 6c c4 4c c4 0c c4 2c c4 0c d4 00 +GAME( 1989, v4tmach, v4bios, mpu4_vid_cheatchr, skiltrek, mpu4vid_state, init_timemchn, ROT0, "Barcrest","Time Machine (v2.0) (Issue 3 Questions) (MPU4 Video)",GAME_FLAGS ) +GAME( 1989, v4tmachd, v4tmach, mpu4_vid_cheatchr, skiltrek, mpu4vid_state, init_timemchn, ROT0, "Barcrest","Time Machine (v2.0) (Issue 3 Questions) (Datapak) (MPU4 Video)",GAME_FLAGS ) +GAME( 1989, v4tmach1, v4tmach, mpu4_vid_cheatchr, skiltrek, mpu4vid_state, init_timemchn, ROT0, "Barcrest","Time Machine (v2.0) (Issue 1 Questions) (MPU4 Video)",GAME_FLAGS ) +GAME( 1989, v4tmach1d, v4tmach, mpu4_vid_cheatchr, skiltrek, mpu4vid_state, init_timemchn, ROT0, "Barcrest","Time Machine (v2.0) (Issue 1 Questions) (Datapak) (MPU4 Video)",GAME_FLAGS ) +GAME( 1989, v4tmach2, v4tmach, mpu4_vid_cheatchr, skiltrek, mpu4vid_state, init_timemchn, ROT0, "Barcrest","Time Machine (v2.0) (Issue 2 Questions) (MPU4 Video)",GAME_FLAGS ) +GAME( 1989, v4tmach2d, v4tmach, mpu4_vid_cheatchr, skiltrek, mpu4vid_state, init_timemchn, ROT0, "Barcrest","Time Machine (v2.0) (Issue 2 Questions) (Datapak) (MPU4 Video)",GAME_FLAGS ) /* Quiz games - Games below are missing question ROMs */ -GAME( 1990, v4sklcsh, v4bios, mpu4_vid, skiltrek, mpu4vid_state, init_v4barqst, ROT0, "Barcrest","Skill Cash (v1.1) (MPU4 Video)",GAME_FLAGS ) +// winner takes all sequence? +// 00 64 64 24 64 64 24 64 6c 9c bc bc a4 24 64 24 74 44 6c 94 1c ac 84 24 64 64 6c c4 24 24 64 24 24 64 74 04 6c c4 2c c4 24 64 60 24 64 64 24 64 6c 8c 8c 94 14 4c 8c 9c bc ac 8c 94 14 04 6c 00 +GAME( 1990, v4sklcsh, v4bios, mpu4_vid_cheatchr, skiltrek, mpu4vid_state, init_v4barqst, ROT0, "Barcrest","Skill Cash (v1.1) (MPU4 Video)",GAME_FLAGS ) -GAME( 199?, v4eyedwn, v4bios, mpu4_vid, mpu4vid, mpu4vid_state, init_eyesdown, ROT0, "Barcrest","Eyes Down (v1.3) (MPU4 Video)",GAME_FLAGS ) -GAME( 199?, v4eyedwnd, v4eyedwn, mpu4_vid, mpu4vid, mpu4vid_state, init_eyesdown, ROT0, "Barcrest","Eyes Down (v1.3, Datapak) (MPU4 Video)",GAME_FLAGS ) +// 00 8c 64 0c c4 0c 54 14 94 94 24 ac 44 0c 44 1c 7c 6c 74 84 3c 4c 44 0c 44 8c 74 84 0c 54 04 1c 7c cc 64 0c 74 84 3c 5c 4c 64 88 74 04 8c 54 04 9c 7c 5c 7c cc 74 04 1c 5c 5c 7c 6c 54 04 9c 00 +GAME( 199?, v4eyedwn, v4bios, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_eyesdown, ROT0, "Barcrest","Eyes Down (v1.3) (MPU4 Video)",GAME_FLAGS ) +GAME( 199?, v4eyedwnd, v4eyedwn, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_eyesdown, ROT0, "Barcrest","Eyes Down (v1.3, Datapak) (MPU4 Video)",GAME_FLAGS ) -GAME( 199?, v4quidgr, v4bios, mpu4_vid, mpu4vid, mpu4vid_state, init_quidgrid, ROT0, "Barcrest","Ten Quid Grid (v1.2) (MPU4 Video)",GAME_FLAGS ) -GAME( 199?, v4quidgrd, v4quidgr, mpu4_vid, mpu4vid, mpu4vid_state, init_quidgrid, ROT0, "Barcrest","Ten Quid Grid (v1.2, Datapak) (MPU4 Video)",GAME_FLAGS ) -GAME( 199?, v4quidgr2, v4quidgr, mpu4_vid, mpu4vid, mpu4vid_state, init_quidgrid, ROT0, "Barcrest","Ten Quid Grid (v2.4) (MPU4 Video)",GAME_FLAGS ) -GAME( 199?, v4quidgr2d, v4quidgr, mpu4_vid, mpu4vid, mpu4vid_state, init_quidgrid, ROT0, "Barcrest","Ten Quid Grid (v2.4, Datapak) (MPU4 Video)",GAME_FLAGS ) +// similar to the 'Winner Takes All' sequence but not the same +// 00 64 64 24 64 64 24 64 74 54 84 a4 24 24 64 24 e4 64 74 44 34 04 24 24 64 64 74 44 64 24 64 24 24 64 e4 24 74 44 34 14 04 64 60 24 64 64 24 64 74 04 24 e4 64 74 04 34 04 64 24 64 24 64 74 00 +GAME( 199?, v4quidgr, v4bios, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_quidgrid, ROT0, "Barcrest","Ten Quid Grid (v1.2) (MPU4 Video)",GAME_FLAGS ) +GAME( 199?, v4quidgrd, v4quidgr, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_quidgrid, ROT0, "Barcrest","Ten Quid Grid (v1.2, Datapak) (MPU4 Video)",GAME_FLAGS ) +GAME( 199?, v4quidgr2, v4quidgr, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_quidgrid, ROT0, "Barcrest","Ten Quid Grid (v2.4) (MPU4 Video)",GAME_FLAGS ) +GAME( 199?, v4quidgr2d, v4quidgr, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_quidgrid, ROT0, "Barcrest","Ten Quid Grid (v2.4, Datapak) (MPU4 Video)",GAME_FLAGS ) -GAMEL( 199?, v4barqs2, v4bios, mpu4_vid, barquest, mpu4vid_state, init_v4barqst2, ROT0, "Barcrest","Barquest 2 (v0.3) (MPU4 Video)",GAME_FLAGS,layout_v4barqst ) +// 00 34 14 0c 54 04 24 34 94 94 0c 5c 6c 44 24 24 3c 6c cc 4c c4 a4 24 24 34 84 b4 1c 64 24 34 04 24 34 8c c4 b4 1c e4 24 34 14 10 84 24 34 04 24 b4 04 24 3c 74 94 0c c4 a4 24 24 34 04 34 94 00 +GAMEL( 199?, v4barqs2, v4bios, mpu4_vid_cheatchr, barquest, mpu4vid_state, init_v4barqst2, ROT0, "Barcrest","Barquest 2 (v0.3) (MPU4 Video)",GAME_FLAGS,layout_v4barqst ) +// 00 34 14 84 24 34 04 34 54 54 84 a4 24 24 34 04 b4 14 54 14 44 64 24 24 34 44 74 14 04 24 34 04 24 34 c4 24 74 14 44 34 04 34 10 44 34 04 24 34 54 84 24 b4 94 54 84 e4 24 34 04 34 04 34 54 00 // again the 2nd '3' seems to indicate a machine type, not a version -GAME( 199?, v4wize, v4bios, mpu4_vid, mpu4vid, mpu4vid_state, init_v4wize, ROT0, "Barcrest","Wize Move (v1.3) (MPU4 Video)",GAME_FLAGS ) -GAME( 199?, v4wized, v4wize, mpu4_vid, mpu4vid, mpu4vid_state, init_v4wize, ROT0, "Barcrest","Wize Move (v1.3d) (Datapak) (MPU4 Video)",GAME_FLAGS ) -GAME( 199?, v4wizeb, v4wize, mpu4_vid, mpu4vid, mpu4vid_state, init_v4wize, ROT0, "Barcrest","Wize Move (v1.33) (MPU4 Video)",GAME_FLAGS ) -GAME( 199?, v4wizec, v4wize, mpu4_vid, mpu4vid, mpu4vid_state, init_v4wize, ROT0, "Barcrest","Wize Move (v1.3d3) (Datapak) (MPU4 Video)",GAME_FLAGS ) +GAME( 199?, v4wize, v4bios, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_v4wize, ROT0, "Barcrest","Wize Move (v1.3) (MPU4 Video)",GAME_FLAGS ) +GAME( 199?, v4wized, v4wize, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_v4wize, ROT0, "Barcrest","Wize Move (v1.3d) (Datapak) (MPU4 Video)",GAME_FLAGS ) +GAME( 199?, v4wizeb, v4wize, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_v4wize, ROT0, "Barcrest","Wize Move (v1.33) (MPU4 Video)",GAME_FLAGS ) +GAME( 199?, v4wizec, v4wize, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_v4wize, ROT0, "Barcrest","Wize Move (v1.3d3) (Datapak) (MPU4 Video)",GAME_FLAGS ) // older code, 1x 68k ROM is missing in addition to questions being missing -GAME( 199?, v4wizeo, v4wize, mpu4_vid, mpu4vid, mpu4vid_state, init_v4wize, ROT0, "Barcrest","Wize Move (v1.2) (MPU4 Video)",GAME_FLAGS ) +GAME( 199?, v4wizeo, v4wize, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_v4wize, ROT0, "Barcrest","Wize Move (v1.2) (MPU4 Video)",GAME_FLAGS ) // newer? code, only 1x 68k ROM is dumped (and it appears to be slightly corrupt) -GAME( 199?, v4wizen, v4wize, mpu4_vid, mpu4vid, mpu4vid_state, init_v4wize, ROT0, "Barcrest","Wize Move (v?.?) (MPU4 Video)",GAME_FLAGS ) +GAME( 199?, v4wizen, v4wize, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_v4wize, ROT0, "Barcrest","Wize Move (v?.?) (MPU4 Video)",GAME_FLAGS ) - -GAME( 1991, v4opt3, v4bios, mpu4_vid, mpu4vid, mpu4vid_state, init_v4opt3, ROT0, "Barcrest","Option 3 (v1.0) (MPU4 Video)",GAME_FLAGS ) -GAME( 1991, v4opt3d, v4opt3, mpu4_vid, mpu4vid, mpu4vid_state, init_v4opt3, ROT0, "Barcrest","Option 3 (v1.0) (Datapak) (MPU4 Video)",GAME_FLAGS ) +// 00 34 14 0c 54 04 24 34 94 94 0c 5c 6c 44 24 24 3c 6c cc 4c c4 a4 24 24 34 84 b4 1c 64 24 34 04 24 34 8c c4 b4 1c e4 24 34 14 10 84 24 34 04 24 b4 04 24 3c 74 94 0c c4 a4 24 24 34 04 34 94 00 +GAME( 1991, v4opt3, v4bios, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_v4opt3, ROT0, "Barcrest","Option 3 (v1.0) (MPU4 Video)",GAME_FLAGS ) +GAME( 1991, v4opt3d, v4opt3, mpu4_vid_cheatchr, mpu4vid, mpu4vid_state, init_v4opt3, ROT0, "Barcrest","Option 3 (v1.0) (Datapak) (MPU4 Video)",GAME_FLAGS ) /* ---------------------------------------------------------------- */ /* Games below are newer BWB games and use their own game and revision specific MPU4 base ROMs (which must be correctly paired with video ROMs of the same revision) and sometimes differing hardware setups */ @@ -9499,13 +9230,14 @@ GAME( 199?, v4rencasi, v4rencas, bwbvid, mpu4, mpu4vid_state, init_bwb /* Uncertain BIOS */ // has a Barcrest style Characteriser check, not a BWB one? -GAME( 199?, v4frfact, v4bios, crmaze, bwbvid, mpu4vid_state, init_v4frfact, ROT0, "BWB","Fruit Factory (BWB) (set 1) (MPU4 Video)", GAME_FLAGS ) -GAME( 199?, v4frfacta, v4frfact, crmaze, bwbvid, mpu4vid_state, init_v4frfact, ROT0, "BWB","Fruit Factory (BWB) (set 2) (MPU4 Video)", GAME_FLAGS ) -GAME( 199?, v4frfactb, v4frfact, crmaze, bwbvid, mpu4vid_state, init_v4frfact, ROT0, "BWB","Fruit Factory (BWB) (set 3) (MPU4 Video)", GAME_FLAGS ) -GAME( 199?, v4frfactc, v4frfact, crmaze, bwbvid, mpu4vid_state, init_v4frfact, ROT0, "BWB","Fruit Factory (BWB) (set 4) (MPU4 Video)", GAME_FLAGS ) -GAME( 199?, v4frfactd, v4frfact, crmaze, bwbvid, mpu4vid_state, init_v4frfact, ROT0, "BWB","Fruit Factory (BWB) (set 5) (MPU4 Video)", GAME_FLAGS ) -GAME( 199?, v4frfacte, v4frfact, crmaze, bwbvid, mpu4vid_state, init_v4frfact, ROT0, "BWB","Fruit Factory (BWB) (set 6) (MPU4 Video)", GAME_FLAGS ) -GAME( 199?, v4frfactf, v4frfact, crmaze, bwbvid, mpu4vid_state, init_v4frfact, ROT0, "BWB","Fruit Factory (BWB) (set 7) (MPU4 Video)", GAME_FLAGS ) +// 00 44 44 54 58 24 54 50 58 3c 34 18 7c 34 48 30 58 7c 7c 2c 70 00 04 4c 70 18 3c 64 44 54 00 14 48 70 58 3c 3c 64 04 44 44 44 5c 34 58 74 58 74 58 3c 7c 3c 64 54 58 34 50 18 7c 2c 70 00 5c 00 +GAME( 199?, v4frfact, v4bios, crmaze, bwbvid, mpu4vid_state, empty_init, ROT0, "BWB","Fruit Factory (BWB) (set 1) (MPU4 Video)", GAME_FLAGS ) +GAME( 199?, v4frfacta, v4frfact, crmaze, bwbvid, mpu4vid_state, empty_init, ROT0, "BWB","Fruit Factory (BWB) (set 2) (MPU4 Video)", GAME_FLAGS ) +GAME( 199?, v4frfactb, v4frfact, crmaze, bwbvid, mpu4vid_state, empty_init, ROT0, "BWB","Fruit Factory (BWB) (set 3) (MPU4 Video)", GAME_FLAGS ) +GAME( 199?, v4frfactc, v4frfact, crmaze, bwbvid, mpu4vid_state, empty_init, ROT0, "BWB","Fruit Factory (BWB) (set 4) (MPU4 Video)", GAME_FLAGS ) +GAME( 199?, v4frfactd, v4frfact, crmaze, bwbvid, mpu4vid_state, empty_init, ROT0, "BWB","Fruit Factory (BWB) (set 5) (MPU4 Video)", GAME_FLAGS ) +GAME( 199?, v4frfacte, v4frfact, crmaze, bwbvid, mpu4vid_state, empty_init, ROT0, "BWB","Fruit Factory (BWB) (set 6) (MPU4 Video)", GAME_FLAGS ) +GAME( 199?, v4frfactf, v4frfact, crmaze, bwbvid, mpu4vid_state, empty_init, ROT0, "BWB","Fruit Factory (BWB) (set 7) (MPU4 Video)", GAME_FLAGS ) /* Nova - is this the same video board? One of the games displays 'Resetting' but the others do nothing interesting and access strange addresses */ /* All contain BWB video in the BIOS rom tho, Cyber Casino also needs a Jackpot link? */ diff --git a/src/mame/includes/mpu4.h b/src/mame/includes/mpu4.h index af880b97c99..a3f208d3730 100644 --- a/src/mame/includes/mpu4.h +++ b/src/mame/includes/mpu4.h @@ -3,6 +3,7 @@ #include "machine/6821pia.h" #include "machine/6840ptm.h" +#include "machine/mc68681.h" #include "machine/nvram.h" #include "machine/timer.h" @@ -11,11 +12,15 @@ #include "sound/okim6376.h" #include "sound/upd7759.h" #include "sound/ymopl.h" -#include "machine/steppers.h" -#include "machine/roc10937.h" -#include "machine/meters.h" #include "machine/bacta_datalogger.h" +#include "machine/meters.h" +#include "machine/mpu4_characteriser_bootleg.h" +#include "machine/mpu4_characteriser_pal.h" +#include "machine/mpu4_characteriser_pal_bwb.h" +#include "machine/roc10937.h" +#include "machine/steppers.h" + #include "emupal.h" @@ -47,14 +52,6 @@ #define LOG_SS(x) do { if (MPU4VERBOSE) logerror x; } while (0) - - - -static const uint8_t reel_mux_table[8]= {0,4,2,6,1,5,3,7};//include 7, although I don't think it's used, this is basically a wire swap -static const uint8_t reel_mux_table7[8]= {3,1,5,6,4,2,0,7}; - -static const uint8_t bwb_chr_table_common[10]= {0x00,0x04,0x04,0x0c,0x0c,0x1c,0x14,0x2c,0x5c,0x2c}; - //reel info #define STANDARD_REEL 0 // As originally designed 3/4 reels #define FIVE_REEL_5TO8 1 // Interfaces to meter port, allows some mechanical metering, but there is significant 'bounce' in the extra reel @@ -87,19 +84,19 @@ static const uint8_t bwb_chr_table_common[10]= {0x00,0x04,0x04,0x0c,0x0c,0x1c,0x #define HOPPER_NONDUART_A 4 #define HOPPER_NONDUART_B 5 -/* Lookup table for CHR data */ - -struct mpu4_chr_table -{ - uint8_t call; - uint8_t response; -}; - -struct bwb_chr_table//dynamically populated table for BwB protection -{ - uint8_t response = 0; -}; +INPUT_PORTS_EXTERN( mpu4 ); +INPUT_PORTS_EXTERN( mpu4_invcoin ); +INPUT_PORTS_EXTERN( mpu4_impcoin ); +INPUT_PORTS_EXTERN( mpu4_invimpcoin ); +INPUT_PORTS_EXTERN( mpu4_cw ); +INPUT_PORTS_EXTERN( mpu420p ); +INPUT_PORTS_EXTERN( mpu4jackpot8per ); +INPUT_PORTS_EXTERN( mpu4jackpot8tkn ); +INPUT_PORTS_EXTERN( mpu4jackpot8tkn20p ); +INPUT_PORTS_EXTERN( mpu4jackpot8tkn20p90pc ); +// currently in mpu4.cpp this may get moved into the driver, or renamed to something more generic based on the setup +INPUT_PORTS_EXTERN( grtecp ); class mpu4_state : public driver_device { @@ -128,26 +125,35 @@ public: , m_ym2413(*this, "ym2413") , m_ay8913(*this, "ay8913") , m_dataport(*this, "dataport") + , m_characteriser(*this, "characteriser") + , m_characteriser_bl(*this, "characteriser_bl") + , m_characteriser_blastbank(*this, "characteriser_blastbank") + , m_characteriser_bwb(*this, "characteriser_bwb") + , m_duart68681(*this, "duart68681") , m_lamps(*this, "lamp%u", 0U) , m_mpu4leds(*this, "mpu4led%u", 0U) , m_digits(*this, "digit%u", 0U) , m_triacs(*this, "triac%u", 0U) - , m_current_chr_table(nullptr) { } void init_m4default_alt(); + void init_m4default(); + void init_m4default_big(); + void init_m4default_big_low(); + + + void init_m4default_big_aux2inv(); + void init_m4default_806prot(); + void init_crystali(); void init_m4tst2(); void init_crystal(); void init_m_frkstn(); - void init_m4default_big(); - void init_m4default(); void init_m4default_banks(); void init_m4default_reels(); void init_m4_low_volt_alt(); - void init_m4_aux1_invert(); - void init_m4_aux2_invert(); - void init_m4_door_invert(); + + void init_m4_five_reel_std(); void init_m4_five_reel_rev(); void init_m4_five_reel_alt(); @@ -155,7 +161,6 @@ public: void init_m4_six_reel_alt(); void init_m4_seven_reel(); void init_m4_small_extender(); - void init_m4_large_extender_a(); void init_m4_large_extender_b(); void init_m4_large_extender_c(); void init_m4_hopper_tubes(); @@ -168,76 +173,208 @@ public: void init_m4_led_b(); void init_m4_led_c(); void init_m4_led_simple(); + + void init_m4_andycp10c(); void init_m_blsbys(); void init_m_oldtmr(); void init_m4tst(); - void init_m_ccelbr(); - void init_m4gambal(); - void init_m4debug(); - void init_m4_showstring(); - void init_m4_showstring_mod4yam(); - void init_m4_debug_mod4yam(); - void init_m4_showstring_mod2(); - void init_m4_showstring_big(); - void init_connect4(); + void init_big_extenda(); + void init_m4altreels();//legacy, will be removed once things are sorted out - void init_m_grtecp();//legacy, will be removed once things are sorted out RE: CHR - void init_m4tenten(); - void init_m4actbnk(); - void init_m4actclb(); - void init_m4actpak(); - void init_m4addr(); - void init_m4aao(); - void init_m4alladv(); - void init_m4alpha(); - void init_m4andycp(); - void init_m4andybt(); - void init_m4andyfh(); - void init_m4andyge(); - void init_m4apachg(); + void init_m4altreels_big(); void bwboki(machine_config &config); + void bwboki_chr(machine_config &config); + + template void bwboki_chr_cheat(machine_config &config) + { + bwboki(config); + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser_bwb); + MPU4_CHARACTERISER_PAL_BWB(config, m_characteriser_bwb, 0); + m_characteriser_bwb->set_common_key(Key[0] & 0xff); + m_characteriser_bwb->set_other_key(Key[1]); + } + + + + void mod2(machine_config &config); + void mod2_cheatchr(machine_config &config); + void mod2_chr(machine_config &config); + + template + void mpu4_add_reel(machine_config& config); + + template + void mpu4_reels(machine_config &config); + + template void mod2_cheatchr_pal(machine_config &config) + { + mod2(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); + + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("maincpu"); + m_characteriser->set_allow_6809_cheat(true); + m_characteriser->set_lamp_table(Table); + } + + template void mod2_alt_cheatchr_pal(machine_config &config) + { + mod2_alt(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); + + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("maincpu"); + m_characteriser->set_allow_6809_cheat(true); + m_characteriser->set_lamp_table(Table); + } + + template void mod4oki_cheatchr_pal(machine_config &config) + { + mod4oki(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); + + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("maincpu"); + m_characteriser->set_allow_6809_cheat(true); + m_characteriser->set_lamp_table(Table); + } + + template void mod4oki_alt_cheatchr_pal(machine_config &config) + { + mod4oki_alt(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); + + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("maincpu"); + m_characteriser->set_allow_6809_cheat(true); + m_characteriser->set_lamp_table(Table); + } + + template void mod4yam_cheatchr_pal(machine_config &config) + { + mod4yam(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); + + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("maincpu"); + m_characteriser->set_allow_6809_cheat(true); + m_characteriser->set_lamp_table(Table); + } + + template void mod4oki_5r_cheatchr_pal(machine_config &config) + { + mod4oki_5r(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_characteriser); + + MPU4_CHARACTERISER_PAL(config, m_characteriser, 0); + m_characteriser->set_cpu_tag("maincpu"); + m_characteriser->set_allow_6809_cheat(true); + m_characteriser->set_lamp_table(Table); + } + + template void mod4oki_5r_bootleg_fixedret(machine_config &config) + { + mod4oki_5r(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_bootleg_characteriser); + + MPU4_CHARACTERISER_BL(config, m_characteriser_bl, 0); + m_characteriser_bl->set_bl_fixed_return(Fixed); + } + + void mod2_cheatchr_table(machine_config &config, const uint8_t* table); + + // bootleg mod2 + template void mod2_bootleg_fixedret(machine_config &config) + { + mod2(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_bootleg_characteriser); + + MPU4_CHARACTERISER_BL(config, m_characteriser_bl, 0); + m_characteriser_bl->set_bl_fixed_return(Fixed); + } + + template void mod4yam_bootleg_fixedret(machine_config &config) + { + mod4yam(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_bootleg_characteriser); + + MPU4_CHARACTERISER_BL(config, m_characteriser_bl, 0); + m_characteriser_bl->set_bl_fixed_return(Fixed); + } + + template void mod4oki_bootleg_fixedret(machine_config &config) + { + mod4oki(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_bootleg_characteriser); + + MPU4_CHARACTERISER_BL(config, m_characteriser_bl, 0); + m_characteriser_bl->set_bl_fixed_return(Fixed); + } + + template void mod4oki_alt_bootleg_fixedret(machine_config &config) + { + mod4oki_alt(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap_bootleg_characteriser); + + MPU4_CHARACTERISER_BL(config, m_characteriser_bl, 0); + m_characteriser_bl->set_bl_fixed_return(Fixed); + } + + + void mod2_chr_blastbnk(machine_config &config); + void mod2_chr_copcash(machine_config &config); + void mod2_alt(machine_config &config); - void mod4oki(machine_config &config); + void mod2_alt_cheatchr(machine_config &config); + void mod2_alt_cheatchr_table(machine_config &config, const uint8_t* table); + void mod4oki_5r(machine_config &config); + void mod4oki_5r_chr(machine_config &config); + void mod4oki_5r_cheatchr(machine_config &config); + void mod4oki_5r_cheatchr_table(machine_config &config, const uint8_t* table); + void mod4oki_alt(machine_config &config); + void mod4oki_alt_cheatchr(machine_config &config); + void mod4oki_alt_cheatchr_table(machine_config& config, const uint8_t* table); + + void mod4oki(machine_config &config); + void mod4oki_cheatchr(machine_config &config); + void mod4oki_cheatchr_table(machine_config &config, const uint8_t* table); + void mod4oki_chr(machine_config &config); + void mod4yam(machine_config &config); + void mod4yam_cheatchr(machine_config &config); + void mod4yam_cheatchr_table(machine_config& config, const uint8_t* table); + void mod4yam_chr(machine_config &config); + void mpu4_common(machine_config &config); void mpu4_common2(machine_config &config); void mpu4crys(machine_config &config); - void mpu4_std_3reel(machine_config &config); - void mpu4_type2_3reel(machine_config &config); - void mpu4_type3_3reel(machine_config &config); - void mpu4_type4_3reel(machine_config &config); - void mpu4_bwb_3reel(machine_config &config); - void mpu4_std_4reel(machine_config &config); - void mpu4_type2_4reel(machine_config &config); - void mpu4_type3_4reel(machine_config &config); - void mpu4_type4_4reel(machine_config &config); - void mpu4_bwb_4reel(machine_config &config); - void mpu4_std_5reel(machine_config &config); - void mpu4_type2_5reel(machine_config &config); - void mpu4_type3_5reel(machine_config &config); - void mpu4_type4_5reel(machine_config &config); - void mpu4_bwb_5reel(machine_config &config); - void mpu4_std_6reel(machine_config &config); - void mpu4_type2_6reel(machine_config &config); - void mpu4_type3_6reel(machine_config &config); - void mpu4_type4_6reel(machine_config &config); - void mpu4_bwb_6reel(machine_config &config); - void mpu4_std_7reel(machine_config &config); - void mpu4_type2_7reel(machine_config &config); - void mpu4_type3_7reel(machine_config &config); - void mpu4_type4_7reel(machine_config &config); - void mpu4_bwb_7reel(machine_config &config); void mpu4base(machine_config &config); protected: TIMER_CALLBACK_MEMBER(update_ic24); void mpu4_memmap(address_map &map); + void mpu4_memmap_characteriser(address_map &map); + void mpu4_memmap_bootleg_characteriser(address_map &map); + void mpu4_memmap_bl_characteriser_blastbank(address_map &map); + void mpu4_memmap_characteriser_bwb(address_map &map); + void lamp_extend_small(int data); void lamp_extend_large(int data,int column,int active); void led_write_extender(int latch, int data, int column); @@ -250,29 +387,22 @@ protected: void mpu4_install_mod4oki_space(address_space &space); void mpu4_install_mod4bwb_space(address_space &space); void mpu4_config_common(); + DECLARE_MACHINE_START(mod2); DECLARE_MACHINE_RESET(mpu4); DECLARE_MACHINE_START(mpu4yam); DECLARE_MACHINE_START(mpu4oki); - DECLARE_MACHINE_START(mpu4oki_alt); - DECLARE_MACHINE_START(mod4oki_5r); - DECLARE_MACHINE_START(mod2_alt); DECLARE_MACHINE_START(mpu4bwb); DECLARE_MACHINE_START(mpu4cry); + TIMER_DEVICE_CALLBACK_MEMBER(gen_50hz); + template DECLARE_WRITE_LINE_MEMBER(reel_optic_cb) { if (state) m_optic_pattern |= (1 << N); else m_optic_pattern &= ~(1 << N); } - uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) - { - return 0; - } void bankswitch_w(uint8_t data); uint8_t bankswitch_r(); void bankset_w(uint8_t data); - void characteriser_w(offs_t offset, uint8_t data); - uint8_t characteriser_r(address_space &space, offs_t offset); - void bwb_characteriser_w(offs_t offset, uint8_t data); - uint8_t bwb_characteriser_r(offs_t offset); + void mpu4_ym2413_w(offs_t offset, uint8_t data); uint8_t mpu4_ym2413_r(offs_t offset); uint8_t crystal_sound_r(); @@ -318,6 +448,13 @@ protected: DECLARE_WRITE_LINE_MEMBER(dataport_rxd); + uint8_t hack_duart_r() + { + return machine().rand() & 0x10; + } + + uint8_t bootleg806_r(address_space &space, offs_t offset); + required_device m_maincpu; optional_device m_vfd; optional_device m_6840ptm; @@ -340,6 +477,12 @@ protected: optional_device m_ym2413; optional_device m_ay8913; optional_device m_dataport; + optional_device m_characteriser; + optional_device m_characteriser_bl; + optional_device m_characteriser_blastbank; + optional_device m_characteriser_bwb; + + optional_device m_duart68681; // not all systems have this many lamps/LEDs/digits but the driver is too much of a mess to split up now @@ -378,17 +521,12 @@ protected: int m_IC23GC = 0; int m_IC23GB = 0; int m_IC23GA = 0; - int m_prot_col = 0; - int m_lamp_col = 0; - int m_init_col = 0; + int m_reel_flag = 0; int m_ic23_active = 0; int m_led_lamp = 0; int m_link7a_connected = 0; int m_low_volt_detect_disable = 0; - int m_aux1_invert = 0; - int m_aux2_invert = 0; - int m_door_invert = 0; emu_timer *m_ic24_timer = nullptr; int m_expansion_latch = 0; int m_global_volume = 0; @@ -411,10 +549,8 @@ protected: int m_card_live = 0; int m_led_extender = 0; int m_bwb_bank = 0; - int m_chr_state = 0; - int m_chr_counter = 0; - int m_chr_value = 0; - int m_bwb_return = 0; + bool m_default_to_low_bank = false; + int m_pageval = 0; int m_pageset = 0; int m_hopper = 0; @@ -424,8 +560,8 @@ protected: int m_t3l = 0; int m_t3h = 0; uint8_t m_numbanks = 0; - mpu4_chr_table* m_current_chr_table = nullptr; - const bwb_chr_table* m_bwb_chr_table1 = nullptr; + + static constexpr uint8_t reel_mux_table[8]= {0,4,2,6,1,5,3,7};//include 7, although I don't think it's used, this is basically a wire swap + static constexpr uint8_t reel_mux_table7[8]= {3,1,5,6,4,2,0,7}; }; -INPUT_PORTS_EXTERN( mpu4 ); diff --git a/src/mame/layout/m4addr.lay b/src/mame/layout/m4addr.lay index bfb93d07868..6a666c42f3b 100644 --- a/src/mame/layout/m4addr.lay +++ b/src/mame/layout/m4addr.lay @@ -2543,16 +2543,16 @@ - + - + - + @@ -2567,10 +2567,10 @@ - + - + @@ -2579,94 +2579,94 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2675,10 +2675,10 @@ - + - + @@ -2693,10 +2693,10 @@ - + - + @@ -2717,10 +2717,10 @@ - + - + @@ -2735,10 +2735,10 @@ - + - + @@ -2753,10 +2753,10 @@ - + - + @@ -2771,10 +2771,10 @@ - + - + @@ -2789,10 +2789,10 @@ - + - + @@ -2837,94 +2837,94 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2963,208 +2963,208 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -3327,19 +3327,19 @@ - + - + - + - + - + @@ -3351,19 +3351,19 @@ - + - + - + - + - + @@ -3375,19 +3375,19 @@ - + - + - + - + - + @@ -3399,19 +3399,19 @@ - + - + - + - + - + @@ -3423,19 +3423,19 @@ - + - + - + - + - + @@ -3447,19 +3447,19 @@ - + - + - + - + - + @@ -3471,19 +3471,19 @@ - + - + - + - + - + @@ -3495,19 +3495,19 @@ - + - + - + - + - + @@ -3519,19 +3519,19 @@ - + - + - + - + - + @@ -3543,19 +3543,19 @@ - + - + - + - + - + @@ -3567,19 +3567,19 @@ - + - + - + - + - + @@ -3591,19 +3591,19 @@ - + - + - + - + - + @@ -3615,19 +3615,19 @@ - + - + - + - + - + @@ -3639,19 +3639,19 @@ - + - + - + - + - + @@ -3663,19 +3663,19 @@ - + - + - + - + - + @@ -3687,19 +3687,19 @@ - + - + - + - + - + @@ -4360,7 +4360,7 @@ - + diff --git a/src/mame/layout/mpu4.lay b/src/mame/layout/mpu4.lay index 3c3aa524460..0e3bf2bae5d 100644 --- a/src/mame/layout/mpu4.lay +++ b/src/mame/layout/mpu4.lay @@ -30,6 +30,264 @@ license:CC0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -57,22 +315,44 @@ license:CC0 + + - + - + - + + + + + + + + + + + + + + + + + + + + + - + diff --git a/src/mame/machine/mpu4.cpp b/src/mame/machine/mpu4.cpp deleted file mode 100644 index 9d2ccbdc2e6..00000000000 --- a/src/mame/machine/mpu4.cpp +++ /dev/null @@ -1,3200 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:James Wallace -// thanks-to:Chris Wren, Tony Friery, MFME -/* MPU4 hardware emulation - for sets see the various includes prefixed 'mpu4' -*/ - -/* Note 19/07/11 DH - - added lots of sets - - these are mostly unsorted and need to be split into clones - the original source of these was a mess, assume things to be mislabled, bad, duplicated, or otherwise - badly organized. a lot of work is needed to sort them out, especially the Barcrest sets! Some of this - stuff MIGHT be in the wrong driver, or missing roms (sound roms especially) -*/ - -/*********************************************************************************************************** - Barcrest MPU4 highly preliminary driver. - MAME Driver J. Wallace and Haze - - Thanks to Chris Wren and MFME for documentation. - - This is the core driver, no video specific stuff should go in here. - This driver holds all the mechanical games. - - Old logs shown here from pre-GIT days: - 06-2011: Fixed boneheaded interface glitch that was causing samples to not be cancelled correctly. - Added the ability to read each segment of an LED display separately, this may be necessary for some - games that use them as surrogate lamp lines. - New persistence 'hack' to stop light flicker for the small extender. - 05-2011: Add better OKI emulation - 04-2011: More accurate gamball code, fixed ROM banking (Project Amber), added BwB CHR simulator (Amber) - This is still a hard coded system, but significantly different to Barcrest's version. - Started adding support for the Crystal Gaming program card, and the link keys for setting parameters. - 03-2011: Lamp timing fixes, support for all known expansion cards added. - 01-2011: Adding the missing 'OKI' sound card, and documented it, but it needs a 6376 rewrite. - 09-2007: Haze: Added Deal 'Em video support. - 03-08-2007: J Wallace: Removed audio filter for now, since sound is more accurate without them. - Connect 4 now has the right sound. - 03-07-2007: J Wallace: Several major changes, including input relabelling, and system timer improvements. - 06-2007: Atari Ace, many cleanups and optimizations of I/O routines - 09-06-2007: J Wallace: Fixed 50Hz detection circuit. - 17-02-2007: J Wallace: Added Deal 'Em - still needs some work. - 10-02-2007: J Wallace: Improved input timing. - 30-01-2007: J Wallace: Characteriser rewritten to run the 'extra' data needed by some games. - 24-01-2007: J Wallace: With thanks to Canonman and HIGHWAYMAN/System 80, I was able to confirm a seemingly - ghastly misuse of a PIA is actually on the real hardware. This fixes the meters. - -See http://agemame.mameworld.info/techinfo/mpu4.php for Information. - ---- Board Setup --- - -The MPU4 BOARD is the driver board, originally designed to run Fruit Machines made by the Barcrest Group, but later -licensed to other firms as a general purpose unit (even some old Photo-Me booths used the unit). - -This board uses a ~1.72 Mhz 6809B CPU, and a number of PIA6821 chips for multiplexing inputs and the like. - -To some extent, the hardware feels like a revision of the MPU3 design, integrating into the base unit features that were -previously added through expansion ports. However, there is no backwards compatibility, and the entire memory map has been -reworked. - -Like MPU3, a 6840PTM is used for internal timing, and other miscellaneous control functions, including as a crude analogue sound device -(a square wave from the PTM being used as the alarm sound generator). However, the main sound functionality is provided by -dedicated hardware (an AY8913). - -A MPU4 GAME CARD (cartridge) plugs into the MPU4 board containing the game, and a protection PAL (the 'characteriser'). -This PAL, as well as protecting the games, also controlled some of the lamp address matrix for many games, and acted as -an anti-tampering device which helped to prevent the hacking of certain titles in a manner which broke UK gaming laws. - -Like MPU3, over the years developers have added more capabilities through the spare inputs and outputs provided. These provided -support for more reels, lamps and LEDs through daughtercards. -Several solutions were released depending on the manufacturer of the machine, all are emulated here. - -In later revisions of the main board (MOD4 onwards), the AY8913 was removed entirely, as two official alternatives for sound had been produced. -In one, a YM2413 is built into the gameboard, and in the other an OKI MSM6376 is interfaced with a PIA and PTM to allow sophisticated -sampled sound. - -The lamping and input handling side of the machine rely entirely on a column by column 'strobe' system, with lights and LEDs selected in turn. -In the inputs there are two orange connectors (sampled every 8ms) and two black ones (sampled every 16ms), giving 32 multiplexed inputs. - -In addition there are two auxiliary ports that can be accessed separately to these and are bidirectional - ---- Preliminary MPU4 Memorymap --- - -(NV) indicates an item which is not present on the video version, which has a Comms card instead. - - hex |r/w| D D D D D D D D | - location | | 7 6 5 4 3 2 1 0 | function ------------+---+-----------------+-------------------------------------------------------------------------- - 0000-07FF |R/W| D D D D D D D D | 2k RAM ------------+---+-----------------+-------------------------------------------------------------------------- - 0800 |R/W| | Characteriser (Security PAL) (NV) ------------+---+-----------------+-------------------------------------------------------------------------- - 0850 ? | W | ??????????????? | page latch (NV) ------------+---+-----------------+-------------------------------------------------------------------------- - 0880 |R/W| D D D D D D D D | PIA6821 on soundboard (Oki MSM6376 clocked by 6840 (8C0)) - | | | port A = ?? - | | | port B (882) - | | | b7 = NAR - | | | b6 = 0 if OKI busy, 1 if OKI ready - | | | b5 = volume control clock - | | | b4 = volume control direction (0= up, 1 = down) - | | | b3 = ?? - | | | b2 = ?? - | | | b1 = 2ch - | | | b0 = ST ------------+---+-----------------+-------------------------------------------------------------------------- - 08C0 | | | MC6840 on sound board ------------+---+-----------------+-------------------------------------------------------------------------- - 0900- |R/W| D D D D D D D D | MC6840 PTM IC2 - - - Clock1 <-------------------------------------- - | | - V | - Output1 ---> Clock2 | - | - Output2 --+-> Clock3 | - | | - | Output3 ---> 'to audio amp' ?? - | - +--------> CA1 IC3 ( - -IRQ line connected to CPU - ------------+---+-----------------+-------------------------------------------------------------------------- - 0A00-0A03 |R/W| D D D D D D D D | PIA6821 IC3 port A Lamp Drives 1,2,3,4,6,7,8,9 (sic)(IC14) - | | | - | | | CA1 <= output2 from PTM6840 (IC2) - | | | CA2 => alpha data - | | | - | | | port B Lamp Drives 10,11,12,13,14,15,16,17 (sic)(IC13) - | | | - | | | CB2 => alpha reset (clock on Dutch systems) - | | | ------------+---+-----------------+-------------------------------------------------------------------------- - 0B00-0B03 |R/W| D D D D D D D D | PIA6821 IC4 port A = data for 7seg leds (pins 10 - 17, via IC32) - | | | - | | | CA1 INPUT, 50 Hz input (used to generate IRQ) - | | | CA2 OUTPUT, connected to pin2 74LS138 CE for multiplexer - | | | (B on LED strobe multiplexer) - | | | IRQA connected to IRQ of CPU - | | | port B - | | | PB7 = INPUT, serial port Receive data (Rx) - | | | PB6 = INPUT, reel A sensor - | | | PB5 = INPUT, reel B sensor - | | | PB4 = INPUT, reel C sensor - | | | PB3 = INPUT, reel D sensor - | | | PB2 = INPUT, Connected to CA1 (50Hz signal) - | | | PB1 = INPUT, undercurrent sense - | | | PB0 = INPUT, overcurrent sense - | | | - | | | CB1 INPUT, used to generate IRQ on edge of serial input line - | | | CB2 OUTPUT, enable signal for reel optics - | | | IRQB connected to IRQ of CPU - | | | ------------+---+-----------------+-------------------------------------------------------------------------- - 0C00-0C03 |R/W| D D D D D D D D | PIA6821 IC5 port A - | | | - | | | PA0-PA7, INPUT AUX1 connector - | | | - | | | CA2 OUTPUT, serial port Transmit line (Tx) - | | | CA1 not connected - | | | IRQA connected to IRQ of CPU - | | | - | | | port B - | | | - | | | PB0-PB7 INPUT, AUX2 connector - | | | - | | | CB1 INPUT, connected to PB7 (Aux2 connector pin 4) - | | | - | | | CB2 OUTPUT, AY8913 chip select line - | | | IRQB connected to IRQ of CPU - | | | ------------+---+-----------------+-------------------------------------------------------------------------- - 0D00-0D03 |R/W| D D D D D D D D | PIA6821 IC6 - | | | - | | | port A - | | | - | | | PA0 - PA7 (INPUT/OUTPUT) data port AY8913 sound chip - | | | - | | | CA1 INPUT, not connected - | | | CA2 OUTPUT, BC1 pin AY8913 sound chip - | | | IRQA , connected to IRQ CPU - | | | - | | | port B - | | | - | | | PB0-PB3 OUTPUT, reel A - | | | PB4-PB7 OUTPUT, reel B - | | | - | | | CB1 INPUT, not connected - | | | CB2 OUTPUT, B01R pin AY8913 sound chip - | | | IRQB , connected to IRQ CPU - | | | ------------+---+-----------------+-------------------------------------------------------------------------- - 0E00-0E03 |R/W| D D D D D D D D | PIA6821 IC7 - | | | - | | | port A - | | | - | | | PA0-PA3 OUTPUT, reel C - | | | PA4-PA7 OUTPUT, reel D - | | | CA1 INPUT, not connected - | | | CA2 OUTPUT, A on LED strobe multiplexer - | | | IRQA , connected to IRQ CPU - | | | - | | | port B - | | | - | | | PB0-PB6 OUTPUT mech meter 1-7 or reel E + F - | | | PB7 Voltage drop sensor - | | | CB1 INPUT, not connected - | | | CB2 OUTPUT,mech meter 8 - | | | IRQB , connected to IRQ CPU - | | | ------------+---+-----------------+-------------------------------------------------------------------------- - 0F00-0F03 |R/W| D D D D D D D D | PIA6821 IC8 - | | | - | | | port A - | | | - | | | PA0-PA7 INPUT multiplexed inputs data - | | | - | | | CA1 INPUT, not connected - | | | CA2 OUTPUT, C on LED strobe multiplexer - | | | IRQA connected to IRQ CPU - | | | - | | | port B - | | | - | | | PB0-PB7 OUTPUT triacs outputs connector PL6 - | | | used for slides / hoppers - | | | - | | | CB1 INPUT, not connected - | | | CB2 OUTPUT, pin1 alpha display PL7 (clock signal) - | | | IRQB connected to IRQ CPU - | | | ------------+---+-----------------+-------------------------------------------------------------------------- - 1000-FFFF | R | D D D D D D D D | ROM (can be bank switched by 0x850 in 8 banks of 64 k ) (NV) ------------+---+-----------------+-------------------------------------------------------------------------- - -Additional Notes: - -Games from around the era of Road Hog and Chase Invaders had sufficient additional space to store three sets of reel -start/stop sounds. - -To change between them, follow these instructions: - -1) Load the game. -2) Open the cashbox door and insert the refill key. -3) Use Hi/Lo to adjust volume -4) Use Hold 1/2/3 to choose between "Default", "Standard" and "Alternative" sound sets -5) Use Cancel/collect to test the sounds. -6) To return to the game, remove the refill key and close the door - -TODO: - Distinguish door switches using manual - - Complete stubs for hoppers (needs slightly better 68681 emulation, and new 'hoppers' device emulation) - - It seems that the MPU4 core program relies on some degree of persistence when switching strobes and handling - writes to the various hardware ports. This explains the occasional lamping/LED blackout and switching bugs. - Ideally, this needs converting to the PWM device, but that will be a complex job with this many outputs. - - Fix BwB characteriser, need to be able to calculate stabiliser bytes. Anyone fancy reading 6809 source? - - Strange bug in Andy's Great Escape - Mystery nudge sound effect is not played, mpu4 latches in silence instead (?) - - - Per game inputs not currently supported, may need to do something about DIPs, inverted lines etc. -***********************************************************************************************************/ -#include "emu.h" -#include "includes/mpu4.h" - -#include "video/awpvid.h" //Fruit Machines Only - -#include "machine/rescap.h" -#include "speaker.h" - -#include "mpu4.lh" -#include "mpu4ext.lh" - - -/* -LED Segments related to pins (5 is not connected): -Unlike the controllers emulated in the layout code, each -segment of an MPU4 LED can be set individually, even -being used as individual lamps. However, we can get away -with settings like this in the majority of cases. - _9_ - | | - 3 8 - | | - _2_ - | | - 4 7 - |_ _| - 6 1 - -8 display enables (pins 10 - 17) -*/ - -void mpu4_state::lamp_extend_small(int data) -{ - int lamp_ext_data,column,i; - column = data & 0x07; - - lamp_ext_data = 0x1f - ((data & 0xf8) >> 3);//remove the mux lines from the data - - if (m_lamp_strobe_ext_persistence == 0) - { - //One write to reset the drive lines, one with the data, one to clear the lines, so only the 2nd write does anything - //TODO: PWM - for (i = 0; i < 5; i++) - { - m_lamps[(8*column)+i+128] = BIT(lamp_ext_data, i); - } - } - m_lamp_strobe_ext_persistence ++; - if ((m_lamp_strobe_ext_persistence == 3)||(m_lamp_strobe_ext!=column)) - { - m_lamp_strobe_ext_persistence = 0; - m_lamp_strobe_ext=column; - } -} - -void mpu4_state::lamp_extend_large(int data,int column,int active) -{ - int lampbase,i,bit7; - - m_lamp_sense = 0; - bit7 = data & 0x80; - if ( bit7 != m_last_b7 ) - { - m_card_live = 1; - //depending on bit 7, we can access one of two 'blocks' of 64 lamps - lampbase = bit7 ? 0 : 64; - if ( data & 0x3f ) - { - m_lamp_sense = 1; - } - if ( active ) - { - if (m_lamp_strobe_ext != column) - { - for (i = 0; i < 8; i++) - {//CHECK, this includes bit 7, which seems wrong - m_lamps[(8*column)+i+128+lampbase] = BIT(data, i); - } - m_lamp_strobe_ext = column; - } - } - m_last_b7 = bit7; - } - else - { - m_card_live = 0; - } -} - -void mpu4_state::led_write_extender(int latch, int data, int starting_column) -{ - int diff,i,j, ext_strobe; - - diff = (latch ^ m_last_latch) & latch; - ext_strobe = (7 - starting_column) * 8; - - data = ~data;//invert drive lines - for (i=0; i<5; i++) - { - if (diff & (1<update(((data >> 4) & 0x0f)); - data = (data & 0x0F); //Strip reel data from meter drives, leaving active elements - awp_draw_reel(machine(),"reel5", *m_reel[4]); - break; - - case FIVE_REEL_8TO5: - m_reel[4]->update((((data & 0x01) + ((data & 0x08) >> 2) + ((data & 0x20) >> 3) + ((data & 0x80) >> 4)) & 0x0f)) ; - data = 0x00; //Strip all reel data from meter drives, nothing is connected - awp_draw_reel(machine(),"reel5", *m_reel[4]); - break; - - case FIVE_REEL_3TO6: - m_reel[4]->update(((data >> 2) & 0x0f)); - data = 0x00; //Strip all reel data from meter drives - awp_draw_reel(machine(),"reel5", *m_reel[4]); - break; - - case SIX_REEL_1TO8: - m_reel[4]->update( data & 0x0f); - m_reel[5]->update((data >> 4) & 0x0f); - data = 0x00; //Strip all reel data from meter drives - awp_draw_reel(machine(),"reel5", *m_reel[4]); - awp_draw_reel(machine(),"reel6", *m_reel[5]); - break; - - case SIX_REEL_5TO8: - m_reel[4]->update(((data >> 4) & 0x0f)); - data = 0x00; //Strip all reel data from meter drives - awp_draw_reel(machine(),"reel5", *m_reel[4]); - break; - - case SEVEN_REEL: - m_reel[0]->update((((data & 0x01) + ((data & 0x08) >> 2) + ((data & 0x20) >> 3) + ((data & 0x80) >> 4)) & 0x0f)) ; - data = 0x00; //Strip all reel data from meter drives - awp_draw_reel(machine(),"reel1", *m_reel[0]); - break; - - case FLUTTERBOX: //The backbox fan assembly fits in a reel unit sized box, wired to the remote meter pin, so we can handle it here - output().set_value("flutterbox", data & 0x80); - data &= ~0x80; //Strip flutterbox data from meter drives - break; - } - - m_meters->update(7, (data & 0x80)); - for (meter = 0; meter < 4; meter ++) - { - m_meters->update(meter, (data & (1 << meter))); - } - if (m_reel_mux == STANDARD_REEL) - { - for (meter = 4; meter < 7; meter ++) - { - m_meters->update(meter, (data & (1 << meter))); - } - } -} - -/* called if board is reset */ -MACHINE_RESET_MEMBER(mpu4_state,mpu4) -{ - m_vfd->reset(); - - m_lamp_strobe = 0; - m_lamp_strobe2 = 0; - m_led_strobe = 0; - m_mmtr_data = 0; - m_remote_meter = 0; - - m_IC23GC = 0; - m_IC23GB = 0; - m_IC23GA = 0; - m_IC23G1 = 1; - m_IC23G2A = 0; - m_IC23G2B = 0; - - m_prot_col = 0; - m_chr_counter = 0; - m_chr_value = 0; - - - if (m_numbanks) - m_bank1->set_entry(m_numbanks); - - m_maincpu->reset(); -} - - -/* 6809 IRQ handler */ -WRITE_LINE_MEMBER(mpu4_state::cpu0_irq) -{ - /* The PIA and PTM IRQ lines are all connected to a common PCB track, leading directly to the 6809 IRQ line. */ - int combined_state = m_pia3->irq_a_state() | m_pia3->irq_b_state() | - m_pia4->irq_a_state() | m_pia4->irq_b_state() | - m_pia5->irq_a_state() | m_pia5->irq_b_state() | - m_pia6->irq_a_state() | m_pia6->irq_b_state() | - m_pia7->irq_a_state() | m_pia7->irq_b_state() | - m_pia8->irq_a_state() | m_pia8->irq_b_state() | - m_6840ptm->irq_state(); - - if (!m_link7a_connected) //7B = IRQ, 7A = FIRQ, both = NMI - { - m_maincpu->set_input_line(M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE); - LOG(("6809 int%d \n", combined_state)); - } - else - { - m_maincpu->set_input_line(M6809_FIRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE); - LOG(("6809 fint%d \n", combined_state)); - } -} - -/* Bankswitching -The MOD 4 ROM cards are set up to handle 8 separate ROM pages, arranged as 2 sets of 4. -The bankswitch selects which of the 4 pages in the set is active, while the bankset -switches between the sets. -It appears that the cards were originally intended to be used in a 'half' page setup, -where the two halves of the ROM space could be mixed and matched as appropriate. -However, there is no evidence to suggest this was ever implemented. -The controls for it exist however, in the form of the Soundboard PIA CB2 pin, which is -used in some cabinets instead of the main control. -*/ -void mpu4_state::bankswitch_w(uint8_t data) -{ -// printf("bankswitch_w %02x\n", data); - - m_pageval = (data & 0x03); - m_bank1->set_entry((m_pageval + (m_pageset ? 4 : 0)) & m_numbanks); -} - - -uint8_t mpu4_state::bankswitch_r() -{ - return m_bank1->entry(); -} - - -void mpu4_state::bankset_w(uint8_t data) -{ -// printf("bankset_w %02x\n", data); - - m_pageval = (data - 2);//writes 2 and 3, to represent 0 and 1 - a hangover from the half page design? - m_bank1->set_entry((m_pageval + (m_pageset ? 4 : 0)) & m_numbanks); -} - - -/* IC2 6840 PTM handler */ -WRITE_LINE_MEMBER(mpu4_state::ic2_o1_callback) -{ - m_6840ptm->set_c2(state); /* copy output value to IC2 c2 - this output is the clock for timer2 */ - /* 1200Hz System interrupt timer */ -} - - -WRITE_LINE_MEMBER(mpu4_state::ic2_o2_callback) -{ - m_pia3->ca1_w(state); /* copy output value to IC3 ca1 */ - /* the output from timer2 is the input clock for timer3 */ - /* miscellaneous interrupts generated here */ - m_6840ptm->set_c3(state); -} - - -WRITE_LINE_MEMBER(mpu4_state::ic2_o3_callback) -{ - /* the output from timer3 is used as a square wave for the alarm output - and as an external clock source for timer 1! */ - /* also runs lamp fade */ - m_6840ptm->set_c1(state); -} - -/* 6821 PIA handlers */ -/* IC3, lamp data lines + alpha numeric display */ -void mpu4_state::pia_ic3_porta_w(uint8_t data) -{ - int i; - LOG_IC3(("%s: IC3 PIA Port A Set to %2x (lamp strobes 1 - 9)\n", machine().describe_context(),data)); - - if(m_ic23_active) - { - if (m_lamp_strobe != m_input_strobe) - { - // Because of the nature of the lamping circuit, there is an element of persistance - // As a consequence, the lamp column data can change before the input strobe without - // causing the relevant lamps to black out. - - for (i = 0; i < 8; i++) - { - m_lamps[(8*m_input_strobe)+i] = BIT(data, i); - } - m_lamp_strobe = m_input_strobe; - } - } -} - -void mpu4_state::pia_ic3_portb_w(uint8_t data) -{ - int i; - LOG_IC3(("%s: IC3 PIA Port B Set to %2x (lamp strobes 10 - 17)\n", machine().describe_context(),data)); - - if(m_ic23_active) - { - if (m_lamp_strobe2 != m_input_strobe) - { - for (i = 0; i < 8; i++) - { - m_lamps[(8*m_input_strobe)+i+64] = BIT(data, i); - } - m_lamp_strobe2 = m_input_strobe; - } - - if (m_led_lamp) - { - /* Some games (like Connect 4) use 'programmable' LED displays, built from light display lines in section 2. */ - /* These are mostly low-tech machines, where such wiring proved cheaper than an extender card */ - uint8_t pled_segs[2] = {0,0}; - - static const int lamps1[8] = { 106, 107, 108, 109, 104, 105, 110, 111 }; - static const int lamps2[8] = { 114, 115, 116, 117, 112, 113, 118, 119 }; - - for (i = 0; i < 8; i++) - { - if (m_lamps[lamps1[i]]) pled_segs[0] |= (1 << i); - if (m_lamps[lamps2[i]]) pled_segs[1] |= (1 << i); - } - - m_digits[8] = pled_segs[0]; - m_digits[9] = pled_segs[1]; - } - } -} - -WRITE_LINE_MEMBER(mpu4_state::pia_ic3_ca2_w) -{ - LOG_IC3(("%s: IC3 PIA Write CA2 (alpha data), %02X\n", machine().describe_context(),state)); - m_vfd->data(state); -} - - -WRITE_LINE_MEMBER(mpu4_state::pia_ic3_cb2_w) -{ - LOG_IC3(("%s: IC3 PIA Write CB (alpha reset), %02X\n",machine().describe_context(),state)); -// DM Data pin A - m_vfd->por(state); -} - - -/* -IC23 emulation - -IC23 is a 74LS138 1-of-8 Decoder - -It is used as a multiplexer for the LEDs, lamp selects and inputs.*/ - -void mpu4_state::ic23_update() -{ - if (!m_IC23G2A) - { - if (!m_IC23G2B) - { - if (m_IC23G1) - { - if ( m_IC23GA ) m_input_strobe |= 0x01; - else m_input_strobe &= ~0x01; - - if ( m_IC23GB ) m_input_strobe |= 0x02; - else m_input_strobe &= ~0x02; - - if ( m_IC23GC ) m_input_strobe |= 0x04; - else m_input_strobe &= ~0x04; - } - } - } - else - if ((m_IC23G2A)||(m_IC23G2B)) - { - m_input_strobe = 0x00; - } -} - - -/* -IC24 emulation - -IC24 is a 74LS122 pulse generator - -CLEAR and B2 are tied high and A1 and A2 tied low, meaning any pulse -on B1 will give a low pulse on the output pin. -*/ -void mpu4_state::ic24_output(int data) -{ - m_IC23G2A = data; - ic23_update(); -} - - -void mpu4_state::ic24_setup() -{ - if (m_IC23GA) - { - double duration = TIME_OF_74LS123((220*1000),(0.1*0.000001)); - { - m_ic23_active=1; - ic24_output(0); - m_ic24_timer->adjust(attotime::from_double(duration)); - } - } -} - - -TIMER_CALLBACK_MEMBER(mpu4_state::update_ic24) -{ - m_ic23_active=0; - ic24_output(1); -} - - -WRITE_LINE_MEMBER(mpu4_state::dataport_rxd) -{ - m_serial_data = state; - m_pia4->cb1_w(state); - LOG_IC3(("Dataport RX %x\n",state)); -} - -/* IC4, 7 seg leds, 50Hz timer reel sensors, current sensors */ -void mpu4_state::pia_ic4_porta_w(uint8_t data) -{ - if(m_ic23_active) - { - if (((m_lamp_extender == NO_EXTENDER) || (m_lamp_extender == SMALL_CARD) || (m_lamp_extender == LARGE_CARD_C)) && (m_led_extender == NO_EXTENDER)) - { - if(m_led_strobe != m_input_strobe) - { - for(int i=0; i<8; i++) - { - m_mpu4leds[((7 - m_input_strobe) << 3) | i] = BIT(data, i); - } - m_digits[7 - m_input_strobe] = data; - } - m_led_strobe = m_input_strobe; - } - } -} - -void mpu4_state::pia_ic4_portb_w(uint8_t data) -{ - if (m_reel_mux) - { - /* A write here connects one reel (and only one) - to the optic test circuit. This allows 8 reels - to be supported instead of 4. */ - if (m_reel_mux == SEVEN_REEL) - { - m_active_reel= reel_mux_table7[(data >> 4) & 0x07]; - } - else - m_active_reel= reel_mux_table[(data >> 4) & 0x07]; - } -} - -uint8_t mpu4_state::pia_ic4_portb_r() -{ - if ( m_serial_data ) - { - m_ic4_input_b |= 0x80; - } - else - { - m_ic4_input_b &= ~0x80; - } - - if (!m_reel_mux) - { - if ( m_optic_pattern & 0x01 ) m_ic4_input_b |= 0x40; /* reel A tab */ - else m_ic4_input_b &= ~0x40; - - if ( m_optic_pattern & 0x02 ) m_ic4_input_b |= 0x20; /* reel B tab */ - else m_ic4_input_b &= ~0x20; - - if ( m_optic_pattern & 0x04 ) m_ic4_input_b |= 0x10; /* reel C tab */ - else m_ic4_input_b &= ~0x10; - - if ( m_optic_pattern & 0x08 ) m_ic4_input_b |= 0x08; /* reel D tab */ - else m_ic4_input_b &= ~0x08; - - } - else - { - if (m_optic_pattern & (1<read()|m_aux1_input; - if (m_aux1_invert) - { - return ~tempinput; - } - else - { - return tempinput; - } -} - -void mpu4_state::pia_ic5_porta_w(uint8_t data) -{ - int i; - if (m_hopper == HOPPER_NONDUART_A) - { - //opto line - //hopper1_drive_sensor(data&0x10); - } - switch (m_lamp_extender) - { - case NO_EXTENDER: - if (m_led_extender == CARD_B) - { - led_write_extender(data & 0x1f, m_pia4->a_output(),m_input_strobe); - } - else if ((m_led_extender != CARD_A) && (m_led_extender != NO_EXTENDER)) - { - for(i=0; i<8; i++) - { - m_mpu4leds[((m_input_strobe | 8) << 3) | i] = BIT(data, i); - } - m_digits[m_input_strobe | 8] = data; - } - break; - - case SMALL_CARD: - if(m_ic23_active) - { - lamp_extend_small(data); - } - break; - - case LARGE_CARD_A: - lamp_extend_large(data,m_input_strobe,m_ic23_active); - break; - - case LARGE_CARD_B: - lamp_extend_large(data,m_input_strobe,m_ic23_active); - if ((m_ic23_active) && m_card_live) - { - for(i=0; i<8; i++) - { - m_mpu4leds[((m_last_b7 >> 7) << 6) | (m_input_strobe << 3) | i] = BIT(~data, i); - } - m_digits[((m_last_b7 >> 7) << 3) | m_input_strobe] = ~data; - } - break; - - case LARGE_CARD_C: - lamp_extend_large(data,m_input_strobe,m_ic23_active); - break; - } - if (m_reel_mux == SIX_REEL_5TO8) - { - m_reel[4]->update( data &0x0F); - m_reel[5]->update((data >> 4)&0x0F); - awp_draw_reel(machine(),"reel5", *m_reel[4]); - awp_draw_reel(machine(),"reel6", *m_reel[5]); - } - else - if (m_reel_mux == SEVEN_REEL) - { - m_reel[1]->update( data &0x0F); - m_reel[2]->update((data >> 4)&0x0F); - awp_draw_reel(machine(),"reel2", *m_reel[1]); - awp_draw_reel(machine(),"reel3", *m_reel[2]); - } - - if (strcmp(machine().system().name, "m4gambal") == 0) - { - /* The 'Gamball' device is a unique piece of mechanical equipment, designed to - provide a truly fair hi-lo gamble for an AWP. Functionally, it consists of - a ping-pong ball or similar enclosed in the machine's backbox, on a platform with 12 - holes. When the low 4 bytes of AUX1 are triggered, this fires the ball out from the - hole it's currently in, to land in another. Landing in the same hole causes the machine to - refire the ball. The ball detection is done by the high 4 bytes of AUX1. - Here we call the MAME RNG, once to pick a row, once to pick from the four pockets within it. We - then trigger the switches corresponding to the correct number. This appears to be the best way - of making the game fair, short of simulating the physics of a bouncing ball ;)*/ - if (data & 0x0f) - { - switch ((machine().rand()>>5) % 0x3) - { - case 0x00: //Top row - switch (machine().rand() & 0x3) - { - case 0x00: //7 - m_aux1_input = (m_aux1_input & 0x0f); - m_aux1_input|= 0xa0; - break; - - case 0x01://4 - m_aux1_input = (m_aux1_input & 0x0f); - m_aux1_input|= 0xb0; - break; - - case 0x02://9 - m_aux1_input = (m_aux1_input & 0x0f); - m_aux1_input|= 0xc0; - break; - - case 0x03://8 - m_aux1_input = (m_aux1_input & 0x0f); - m_aux1_input|= 0xd0; - break; - } - break; - - case 0x01: //Middle row - note switches don't match pattern - switch (machine().rand() & 0x3) - { - case 0x00://12 - m_aux1_input = (m_aux1_input & 0x0f); - m_aux1_input|= 0x40; - break; - - case 0x01://1 - m_aux1_input = (m_aux1_input & 0x0f); - m_aux1_input|= 0x50; - break; - - case 0x02://11 - m_aux1_input = (m_aux1_input & 0x0f); - m_aux1_input|= 0x80; - break; - - case 0x03://2 - m_aux1_input = (m_aux1_input & 0x0f); - m_aux1_input|= 0x90; - break; - } - break; - - case 0x02: //Bottom row - switch (machine().rand() & 0x3) - { - case 0x00://5 - m_aux1_input = (m_aux1_input & 0x0f); - m_aux1_input|= 0x00; - break; - - case 0x01://10 - m_aux1_input = (m_aux1_input & 0x0f); - m_aux1_input|= 0x10; - break; - - case 0x02://3 - m_aux1_input = (m_aux1_input & 0x0f); - m_aux1_input|= 0x20; - break; - - case 0x03://6 - m_aux1_input = (m_aux1_input & 0x0f); - m_aux1_input|= 0x30; - break; - } - break; - } - } - } -} - -void mpu4_state::pia_ic5_portb_w(uint8_t data) -{ - if (m_hopper == HOPPER_NONDUART_B) - { - //hopper1_drive_motor(data &0x01) motor - //hopper1_drive_sensor(data &0x08) opto - } - if (m_led_extender == CARD_A) - { - led_write_extender(data & 0x07, m_pia4->a_output(),m_input_strobe); - } - else if (m_led_extender == SIMPLE_CARD) - { - if(m_led_strobe != m_input_strobe) - { - for(int i=0; i<8; i++) - { - m_mpu4leds[( ( (7 - m_input_strobe) + 8) << 3) | i] = BIT(m_pia4->a_output(), i); - } - m_digits[(7 - m_input_strobe) + 8] = m_pia4->a_output(); - } - m_led_strobe = m_input_strobe; - } -} - -uint8_t mpu4_state::pia_ic5_portb_r() -{ - if (m_hopper == HOPPER_NONDUART_B) - {/* - if (hopper1_active) - { - m_aux2_input |= 0x08; - } - else - { - m_aux2_input &= ~0x08; - }*/ - } - - LOG(("%s: IC5 PIA Read of Port B (coin input AUX2)\n",machine().describe_context())); - machine().bookkeeping().coin_lockout_w(0, (m_pia5->b_output() & 0x01) ); - machine().bookkeeping().coin_lockout_w(1, (m_pia5->b_output() & 0x02) ); - machine().bookkeeping().coin_lockout_w(2, (m_pia5->b_output() & 0x04) ); - machine().bookkeeping().coin_lockout_w(3, (m_pia5->b_output() & 0x08) ); - - uint8_t tempinput = m_aux2_port->read()|m_aux2_input; - if (m_aux2_invert) - { - return ~tempinput; - } - else - { - return tempinput; - } -} - - -WRITE_LINE_MEMBER(mpu4_state::pia_ic5_ca2_w) -{ - LOG(("%s: IC5 PIA Write CA2 (Serial Tx) %2x\n",machine().describe_context(),state)); - m_dataport->write_txd(state); -} - - -/* --------------------------------------- - AY Chip sound function selection - - --------------------------------------- -The databus of the AY sound chip is connected to IC6 Port A. -Data is read from/written to the AY chip through this port. - -If this sounds familiar, Amstrad did something very similar with their home computers. - -The PSG function, defined by the BC1,BC2 and BDIR signals, is controlled by CA2 and CB2 of IC6. - -PSG function selection: ------------------------ -BDIR = IC6 CB2 and BC1 = IC6 CA2 - -Pin | PSG Function -BDIR BC1 | -0 0 | Inactive -0 1 | Read from selected PSG register. When function is set, the PSG will make the register data available to Port A. -1 0 | Write to selected PSG register. When set, the PSG will take the data at Port A and write it into the selected PSG register. -1 1 | Select PSG register. When set, the PSG will take the data at Port A and select a register. -*/ - -/* PSG function selected */ -void mpu4_state::update_ay(device_t *device) -{ - if (!m_ay8913) return; - - pia6821_device *pia = downcast(device); - if (!pia->cb2_output()) - { - switch (m_ay8913_address) - { - case 0x00: - /* Inactive */ - break; - - case 0x01: - /* CA2 = 1 CB2 = 0? : Read from selected PSG register and make the register data available to Port A */ - LOG(("AY8913 address = %d \n",m_pia6->a_output()&0x0f)); - break; - - case 0x02: - /* CA2 = 0 CB2 = 1? : Write to selected PSG register and write data to Port A */ - m_ay8913->data_w(m_pia6->a_output()); - LOG(("AY Chip Write \n")); - break; - - case 0x03: - /* CA2 = 1 CB2 = 1? : The register will now be selected and the user can read from or write to it. - The register will remain selected until another is chosen.*/ - m_ay8913->address_w(m_pia6->a_output()); - LOG(("AY Chip Select \n")); - break; - - default: - LOG(("AY Chip error \n")); - break; - } - } -} - - -WRITE_LINE_MEMBER(mpu4_state::pia_ic5_cb2_w) -{ - update_ay(m_pia5); -} - - -/* IC6, Reel A and B and AY registers (MODs below 4 only) */ -void mpu4_state::pia_ic6_portb_w(uint8_t data) -{ - LOG(("%s: IC6 PIA Port B Set to %2x (Reel A and B)\n", machine().describe_context(),data)); - - if (m_reel_mux == SEVEN_REEL) - { - m_reel[3]->update( data &0x0F); - m_reel[4]->update((data >> 4)&0x0F); - awp_draw_reel(machine(),"reel4", *m_reel[3]); - awp_draw_reel(machine(),"reel5", *m_reel[4]); - } - else if (m_reels) - { - m_reel[0]->update( data &0x0F); - m_reel[1]->update((data >> 4)&0x0F); - awp_draw_reel(machine(),"reel1", *m_reel[0]); - awp_draw_reel(machine(),"reel2", *m_reel[1]); - } -} - - -void mpu4_state::pia_ic6_porta_w(uint8_t data) -{ - LOG(("%s: IC6 PIA Write A %2x\n", machine().describe_context(),data)); - if (m_mod_number <4) - { - m_ay_data = data; - update_ay(m_pia6); - } -} - - -WRITE_LINE_MEMBER(mpu4_state::pia_ic6_ca2_w) -{ - LOG(("%s: IC6 PIA write CA2 %2x (AY8913 BC1)\n", machine().describe_context(),state)); - if (m_mod_number <4) - { - if ( state ) m_ay8913_address |= 0x01; - else m_ay8913_address &= ~0x01; - update_ay(m_pia6); - } -} - - -WRITE_LINE_MEMBER(mpu4_state::pia_ic6_cb2_w) -{ - LOG(("%s: IC6 PIA write CB2 %2x (AY8913 BCDIR)\n", machine().describe_context(),state)); - if (m_mod_number <4) - { - if ( state ) m_ay8913_address |= 0x02; - else m_ay8913_address &= ~0x02; - update_ay(m_pia6); - } -} - - -/* IC7 Reel C and D, mechanical meters/Reel E and F, input strobe bit A */ -void mpu4_state::pia_ic7_porta_w(uint8_t data) -{ - LOG(("%s: IC7 PIA Port A Set to %2x (Reel C and D)\n", machine().describe_context(),data)); - if (m_reel_mux == SEVEN_REEL) - { - m_reel[5]->update( data &0x0F); - m_reel[6]->update((data >> 4)&0x0F); - awp_draw_reel(machine(),"reel6", *m_reel[5]); - awp_draw_reel(machine(),"reel7", *m_reel[7]); - } - else if (m_reels) - { - m_reel[2]->update( data &0x0F); - m_reel[3]->update((data >> 4)&0x0F); - awp_draw_reel(machine(),"reel3", *m_reel[2]); - awp_draw_reel(machine(),"reel4", *m_reel[3]); - } -} - -void mpu4_state::pia_ic7_portb_w(uint8_t data) -{ - if (m_hopper == HOPPER_DUART_A) - { - //duart write data - } - else if (m_hopper == HOPPER_NONDUART_A) - { - //hoppr1_drive_motor(data & 0x10); - } - - m_mmtr_data = data; -} - -uint8_t mpu4_state::pia_ic7_portb_r() -{ -/* The meters are connected to a voltage drop sensor, where current -flowing through them also passes through pin B7, meaning that when -any meter is activated, pin B7 goes high. -As for why they connected this to an output port rather than using -CB1, no idea, although it proved of benefit when the reel multiplexer was designed -as it allows a separate meter to be used when the rest of the port is blocked. -This appears to have confounded the schematic drawer, who has assumed that -all eight meters are driven from this port, giving the 8 line driver chip -9 connections in total. */ - - //This may be overkill, but the meter sensing is VERY picky - - int combined_meter = m_meters->get_activity(0) | m_meters->get_activity(1) | - m_meters->get_activity(2) | m_meters->get_activity(3) | - m_meters->get_activity(4) | m_meters->get_activity(5) | - m_meters->get_activity(6) | m_meters->get_activity(7); - - if(combined_meter) - { - return 0x80; - } - else - { - return 0x00; - } -} - -WRITE_LINE_MEMBER(mpu4_state::pia_ic7_ca2_w) -{ - LOG(("%s: IC7 PIA write CA2 %2x (input strobe bit 0 / LED A)\n", machine().describe_context(),state)); - - m_IC23GA = state; - ic24_setup(); - ic23_update(); -} - -WRITE_LINE_MEMBER(mpu4_state::pia_ic7_cb2_w) -{ - m_remote_meter = state?0x80:0x00; -} - - -/* IC8, Inputs, TRIACS, alpha clock */ -uint8_t mpu4_state::pia_ic8_porta_r() -{ - LOG_IC8(("%s: IC8 PIA Read of Port A (MUX input data)\n", machine().describe_context())); -/* The orange inputs are polled twice as often as the black ones, for reasons of efficiency. - This is achieved via connecting every input line to an AND gate, thus allowing two strobes - to represent each orange input bank (strobes are active low). */ - m_pia5->cb1_w(m_aux2_port->read() & 0x80); - if ( (m_input_strobe == 2) && (m_door_invert ==1) ) - { - return ((m_port_mux[m_input_strobe])->read() ^ 0x01); - } - else - { - return (m_port_mux[m_input_strobe])->read(); - } -} - - -void mpu4_state::pia_ic8_portb_w(uint8_t data) -{ - if (m_hopper == HOPPER_DUART_B) - { -// duart.drive_sensor(data & 0x04, data & 0x01, 0, 0); - } - else if (m_hopper == HOPPER_DUART_C) - { -// duart.drive_sensor(data & 0x04, data & 0x01, data & 0x04, data & 0x02); - } - LOG_IC8(("%s: IC8 PIA Port B Set to %2x (OUTPUT PORT, TRIACS)\n", machine().describe_context(),data)); - for (int i = 0; i < 8; i++) - { - m_triacs[i] = BIT(data, i); - } -} - -WRITE_LINE_MEMBER(mpu4_state::pia_ic8_ca2_w) -{ - LOG_IC8(("%s: IC8 PIA write CA2 (input_strobe bit 2 / LED C) %02X\n", machine().describe_context(), state & 0xFF)); - - m_IC23GC = state; - ic23_update(); -} - - -WRITE_LINE_MEMBER(mpu4_state::pia_ic8_cb2_w) -{ - LOG_IC8(("%s: IC8 PIA write CB2 (alpha clock) %02X\n", machine().describe_context(), state & 0xFF)); - - // DM Data pin B - - m_vfd->sclk(!state); -} - -// universal sampled sound program card PCB 683077 -// Sampled sound card, using a PIA and PTM for timing and data handling -void mpu4_state::pia_gb_porta_w(uint8_t data) -{ - LOG_SS(("%s: GAMEBOARD: PIA Port A Set to %2x\n", machine().describe_context(),data)); - m_msm6376->write(data); -} - -void mpu4_state::pia_gb_portb_w(uint8_t data) -{ - int changed = m_expansion_latch^data; - - LOG_SS(("%s: GAMEBOARD: PIA Port B Set to %2x\n", machine().describe_context(),data)); - - if ( changed & 0x20) - { // digital volume clock line changed - if ( !(data & 0x20) ) - { // changed from high to low, - if ( !(data & 0x10) )//down - { - if ( m_global_volume < 32 ) m_global_volume++; //steps unknown - } - else - {//up - if ( m_global_volume > 0 ) m_global_volume--; - } - - { - LOG_SS(("%s: GAMEBOARD: Volume Set to %2x\n", machine().describe_context(),data)); - float percent = (32-m_global_volume)/32.0; - m_msm6376->set_output_gain(0, percent); - m_msm6376->set_output_gain(1, percent); - } - } - } - m_msm6376->ch2_w(data&0x02); - m_msm6376->st_w(data&0x01); -} -uint8_t mpu4_state::pia_gb_portb_r() -{ - LOG_SS(("%s: GAMEBOARD: PIA Read of Port B\n",machine().describe_context())); - int data=0; - // b7 NAR - we can load another address into Channel 1 - // b6, 1 = OKI ready, 0 = OKI busy - // b5, vol clock - // b4, 1 = Vol down, 0 = Vol up - // - - if ( m_msm6376->nar_r() ) data |= 0x80; - else data &= ~0x80; - - if ( m_msm6376->busy_r() ) data |= 0x40; - else data &= ~0x40; - - return ( data | m_expansion_latch ); -} - -WRITE_LINE_MEMBER(mpu4_state::pia_gb_ca2_w) -{ - LOG_SS(("%s: GAMEBOARD: OKI RESET data = %02X\n", machine().describe_context(), state)); -// reset line -} - -WRITE_LINE_MEMBER(mpu4_state::pia_gb_cb2_w) -{ - //Some BWB games use this to drive the bankswitching - if (m_bwb_bank) - { - //printf("pia_gb_cb2_w %d\n", state); - //m_pageset? - m_pageval = state; - m_bank1->set_entry((m_pageval + (m_pageset ? 4 : 0)) & m_numbanks); - } -} - -//Sampled sound timer -/* -The MSM6376 sound chip is configured in a slightly strange way, to enable dynamic -sample rate changes (8Khz, 10.6 Khz, 16 KHz) by varying the clock. -According to the BwB programmer's guide, the formula is: -MSM6376 clock frequency:- -freq = (1720000/((t3L+1)(t3H+1)))*[(t3H(T3L+1)+1)/(2(t1+1))] -where [] means rounded up integer, -t3L is the LSB of Clock 3, -t3H is the MSB of Clock 3, -and t1 is the initial value in clock 1. -*/ - -//O3 -> G1 O1 -> c2 o2 -> c1 - -/* This is a bit of a cheat - since we don't clock into the OKI chip directly, we need to -calculate the oscillation frequency in advance. We're running the timer for interrupt -purposes, but the frequency calculation is done by plucking the values out as they are written.*/ -void mpu4_state::ic3ss_w(offs_t offset, uint8_t data) -{ - m_ptm_ic3ss->write(offset,data); - - if (offset == 3) - { - m_t1 = data; - } - if (offset == 6) - { - m_t3h = data; - } - if (offset == 7) - { - m_t3l = data; - } - - float num = (1720000/((m_t3l + 1)*(m_t3h + 1))); - float denom1 = ((m_t3h *(m_t3l + 1)+ 1)/(2*(m_t1 + 1))); - - int denom2 = denom1 + 0.5f;//need to round up, this gives same precision as chip - int freq=num*denom2; - - if (freq) - { - m_msm6376->set_unscaled_clock(freq); - } -} - -/* input ports for MPU4 board */ -INPUT_PORTS_START( mpu4 ) - PORT_START("ORANGE1") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("00")// 20p level - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("01")// 100p level - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("02")// Token 1 level - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("03")// Token 2 level - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("04") - PORT_CONFNAME( 0xE0, 0x00, "Stake Key" ) - PORT_CONFSETTING( 0x00, "Not fitted / 5p" ) - PORT_CONFSETTING( 0x20, "10p" ) - PORT_CONFSETTING( 0x40, "20p" ) - PORT_CONFSETTING( 0x60, "25p" ) - PORT_CONFSETTING( 0x80, "30p" ) - PORT_CONFSETTING( 0xA0, "40p" ) - PORT_CONFSETTING( 0xC0, "50p" ) - PORT_CONFSETTING( 0xE0, "1 GBP" ) - - PORT_START("ORANGE2") - PORT_CONFNAME( 0x0F, 0x00, "Jackpot / Prize Key" ) - PORT_CONFSETTING( 0x00, "Not fitted" ) - PORT_CONFSETTING( 0x01, "3 GBP" ) - PORT_CONFSETTING( 0x02, "4 GBP" ) - PORT_CONFSETTING( 0x08, "5 GBP" ) - PORT_CONFSETTING( 0x03, "6 GBP" ) - PORT_CONFSETTING( 0x04, "6 GBP Token" ) - PORT_CONFSETTING( 0x05, "8 GBP" ) - PORT_CONFSETTING( 0x06, "8 GBP Token" ) - PORT_CONFSETTING( 0x07, "10 GBP" ) - PORT_CONFSETTING( 0x09, "15 GBP" ) - PORT_CONFSETTING( 0x0A, "25 GBP" ) - PORT_CONFSETTING( 0x0B, "25 GBP (Licensed Betting Office Profile)" ) - PORT_CONFSETTING( 0x0C, "35 GBP" ) - PORT_CONFSETTING( 0x0D, "70 GBP" ) - PORT_CONFSETTING( 0x0E, "Reserved" ) - PORT_CONFSETTING( 0x0F, "Reserved" ) - - PORT_CONFNAME( 0xF0, 0x00, "Percentage Key" ) - PORT_CONFSETTING( 0x00, "Not fitted / 68% (Invalid for UK Games)" ) - PORT_CONFSETTING( 0x10, "70" ) - PORT_CONFSETTING( 0x20, "72" ) - PORT_CONFSETTING( 0x30, "74" ) - PORT_CONFSETTING( 0x40, "76" ) - PORT_CONFSETTING( 0x50, "78" ) - PORT_CONFSETTING( 0x60, "80" ) - PORT_CONFSETTING( 0x70, "82" ) - PORT_CONFSETTING( 0x80, "84" ) - PORT_CONFSETTING( 0x90, "86" ) - PORT_CONFSETTING( 0xA0, "88" ) - PORT_CONFSETTING( 0xB0, "90" ) - PORT_CONFSETTING( 0xC0, "92" ) - PORT_CONFSETTING( 0xD0, "94" ) - PORT_CONFSETTING( 0xE0, "96" ) - PORT_CONFSETTING( 0xF0, "98" ) - - PORT_START("BLACK1") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Hi") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Lo") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("18") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("19") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("20") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Test Button") PORT_CODE(KEYCODE_W) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Refill Key") PORT_CODE(KEYCODE_R) PORT_TOGGLE - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_INTERLOCK) PORT_NAME("Cashbox (Back) Door") PORT_CODE(KEYCODE_Q) PORT_TOGGLE - - PORT_START("BLACK2") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("24") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("25") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Cancel") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("Hold 1") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_NAME("Hold 2") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_NAME("Hold 3") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_BUTTON7) PORT_NAME("Hold 4") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_START1) - - PORT_START("DIL1") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:01") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:02") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:03") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:04") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0xF0, 0x00, "Target Percentage (if key not fitted)" )PORT_DIPLOCATION("DIL1:05,06,07,08") - PORT_DIPSETTING( 0x00, "Unset (Program Optimum)" ) - PORT_DIPSETTING( 0x10, "70" ) - PORT_DIPSETTING( 0x20, "72" ) - PORT_DIPSETTING( 0x30, "74" ) - PORT_DIPSETTING( 0x40, "76" ) - PORT_DIPSETTING( 0x50, "78" ) - PORT_DIPSETTING( 0x60, "80" ) - PORT_DIPSETTING( 0x70, "82" ) - PORT_DIPSETTING( 0x80, "84" ) - PORT_DIPSETTING( 0x90, "86" ) - PORT_DIPSETTING( 0xA0, "88" ) - PORT_DIPSETTING( 0xB0, "90" ) - PORT_DIPSETTING( 0xC0, "92" ) - PORT_DIPSETTING( 0xD0, "94" ) - PORT_DIPSETTING( 0xE0, "96" ) - PORT_DIPSETTING( 0xF0, "98" ) - - PORT_START("DIL2") - PORT_DIPNAME( 0x01, 0x00, "Token Lockout when full" ) PORT_DIPLOCATION("DIL2:01") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused )) PORT_DIPLOCATION("DIL2:02") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, "Scottish Coin Handling" ) PORT_DIPLOCATION("DIL2:03")//20p payout - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "Out of Credit Display Inhibit" ) PORT_DIPLOCATION("DIL2:04") // many games need this on to boot - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, "OCD Audio Enable" ) PORT_DIPLOCATION("DIL2:05") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Coin Alarm Inhibit" ) PORT_DIPLOCATION("DIL2:06") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, "Token Refill Level Inhibit" ) PORT_DIPLOCATION("DIL2:07") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x40, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x00, "Single Credit Entry" ) PORT_DIPLOCATION("DIL2:08") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x80, DEF_STR( On ) ) - - PORT_START("AUX1") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_0") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_1") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_2") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_3") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_4") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_5") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_6") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("A1_7") - - PORT_START("AUX2") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_CUSTOM) //Lockouts, in same order as below - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_CUSTOM) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_CUSTOM) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_CUSTOM) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_COIN1) PORT_NAME("10p")//PORT_IMPULSE(5) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_COIN2) PORT_NAME("20p")//PORT_IMPULSE(5) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_COIN3) PORT_NAME("50p")//PORT_IMPULSE(5) - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_COIN4) PORT_NAME("100p")//PORT_IMPULSE(5) -INPUT_PORTS_END - - -INPUT_PORTS_START( mpu4_cw ) -//Inputs for CoinWorld games - PORT_INCLUDE( mpu4 ) - PORT_MODIFY("DIL1") - PORT_DIPNAME( 0x01, 0x00, "Profile Type" ) PORT_DIPLOCATION("DIL1:01") - PORT_DIPSETTING( 0x00, "Bingo Profile" ) - PORT_DIPSETTING( 0x01, "Arcade" ) - PORT_DIPNAME( 0x02, 0x00, "Accept 2 GBP Coin?" ) PORT_DIPLOCATION("DIL1:02") - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x0C, 0x00, "Jackpot" ) PORT_DIPLOCATION("DIL1:03,04") - PORT_DIPSETTING( 0x04, "15 GBP" ) - PORT_DIPSETTING( 0x00, "10 GBP" ) - PORT_DIPSETTING( 0x08, "5 GBP" ) - PORT_DIPNAME( 0x10, 0x00, "Hold Mode" ) PORT_DIPLOCATION("DIL1:05") - PORT_DIPSETTING( 0x00, "Show Hints" ) - PORT_DIPSETTING( 0x10, "Auto Hold" ) - PORT_DIPNAME( 0x20, 0x00, "Coin Mech Type" ) PORT_DIPLOCATION("DIL1:05") - PORT_DIPSETTING( 0x00, "6 Coin" ) - PORT_DIPSETTING( 0x20, "5 Coin" ) - PORT_DIPNAME( 0x40, 0x00, "Reel Motor Type" ) PORT_DIPLOCATION("DIL1:05") - PORT_DIPSETTING( 0x00, "Slim motor" ) - PORT_DIPSETTING( 0x40, "Fat motor" ) - PORT_DIPNAME( 0x80, 0x00, "Payout Tube" ) PORT_DIPLOCATION("DIL1:05") - PORT_DIPSETTING( 0x00, "20p" ) - PORT_DIPSETTING( 0x80, "10p" ) - - PORT_MODIFY("DIL2") - PORT_DIPNAME( 0x07, 0x00, "Stake Setting" ) - PORT_DIPSETTING( 0x00, "Not fitted / 5p" ) - PORT_DIPSETTING( 0x01, "10p" ) - PORT_DIPSETTING( 0x02, "20p" ) - PORT_DIPSETTING( 0x03, "25p" ) - PORT_DIPSETTING( 0x04, "30p" ) - PORT_BIT(0xE0, IP_ACTIVE_HIGH, IPT_UNUSED) - INPUT_PORTS_END - -INPUT_PORTS_START( mpu4jackpot8tkn ) - PORT_INCLUDE( mpu4 ) - - PORT_MODIFY("ORANGE2") - PORT_CONFNAME( 0x0F, 0x06, "Jackpot / Prize Key" ) - PORT_CONFSETTING( 0x00, "Not fitted" ) - PORT_CONFSETTING( 0x01, "3 GBP" ) - PORT_CONFSETTING( 0x02, "4 GBP" ) - PORT_CONFSETTING( 0x08, "5 GBP" ) - PORT_CONFSETTING( 0x03, "6 GBP" ) - PORT_CONFSETTING( 0x04, "6 GBP Token" ) - PORT_CONFSETTING( 0x05, "8 GBP" ) - PORT_CONFSETTING( 0x06, "8 GBP Token" ) - PORT_CONFSETTING( 0x07, "10 GBP" ) - PORT_CONFSETTING( 0x09, "15 GBP" ) - PORT_CONFSETTING( 0x0A, "25 GBP" ) - PORT_CONFSETTING( 0x0B, "25 GBP (Licensed Betting Office Profile)" ) - PORT_CONFSETTING( 0x0C, "35 GBP" ) - PORT_CONFSETTING( 0x0D, "70 GBP" ) - PORT_CONFSETTING( 0x0E, "Reserved" ) - PORT_CONFSETTING( 0x0F, "Reserved" ) -INPUT_PORTS_END - -INPUT_PORTS_START( mpu4jackpot8per ) - PORT_INCLUDE( mpu4 ) - - PORT_MODIFY("ORANGE2") - PORT_CONFNAME( 0x0F, 0x06, "Jackpot / Prize Key" ) - PORT_CONFSETTING( 0x00, "Not fitted" ) - PORT_CONFSETTING( 0x01, "3 GBP" ) - PORT_CONFSETTING( 0x02, "4 GBP" ) - PORT_CONFSETTING( 0x08, "5 GBP" ) - PORT_CONFSETTING( 0x03, "6 GBP" ) - PORT_CONFSETTING( 0x04, "6 GBP Token" ) - PORT_CONFSETTING( 0x05, "8 GBP" ) - PORT_CONFSETTING( 0x06, "8 GBP Token" ) - PORT_CONFSETTING( 0x07, "10 GBP" ) - PORT_CONFSETTING( 0x09, "15 GBP" ) - PORT_CONFSETTING( 0x0A, "25 GBP" ) - PORT_CONFSETTING( 0x0B, "25 GBP (Licensed Betting Office Profile)" ) - PORT_CONFSETTING( 0x0C, "35 GBP" ) - PORT_CONFSETTING( 0x0D, "70 GBP" ) - PORT_CONFSETTING( 0x0E, "Reserved" ) - PORT_CONFSETTING( 0x0F, "Reserved" ) - - PORT_CONFNAME( 0xF0, 0x10, "Percentage Key" ) - PORT_CONFSETTING( 0x00, "Not fitted / 68% (Invalid for UK Games)" ) - PORT_CONFSETTING( 0x10, "70" ) - PORT_CONFSETTING( 0x20, "72" ) - PORT_CONFSETTING( 0x30, "74" ) - PORT_CONFSETTING( 0x40, "76" ) - PORT_CONFSETTING( 0x50, "78" ) - PORT_CONFSETTING( 0x60, "80" ) - PORT_CONFSETTING( 0x70, "82" ) - PORT_CONFSETTING( 0x80, "84" ) - PORT_CONFSETTING( 0x90, "86" ) - PORT_CONFSETTING( 0xA0, "88" ) - PORT_CONFSETTING( 0xB0, "90" ) - PORT_CONFSETTING( 0xC0, "92" ) - PORT_CONFSETTING( 0xD0, "94" ) - PORT_CONFSETTING( 0xE0, "96" ) - PORT_CONFSETTING( 0xF0, "98" ) -INPUT_PORTS_END - - - - -INPUT_PORTS_START( grtecp ) - PORT_START("ORANGE1") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("00")// 20p level - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("01")// 100p level - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("02")// Token 1 level - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("03")// Token 2 level - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("04") - PORT_CONFNAME( 0xE0, 0x00, "Stake Key" ) - PORT_CONFSETTING( 0x00, "Not fitted / 5p" ) - PORT_CONFSETTING( 0x20, "10p" ) - PORT_CONFSETTING( 0x40, "20p" ) - PORT_CONFSETTING( 0x60, "25p" ) - PORT_CONFSETTING( 0x80, "30p" ) - PORT_CONFSETTING( 0xA0, "40p" ) - PORT_CONFSETTING( 0xC0, "50p" ) - PORT_CONFSETTING( 0xE0, "1 GBP" ) - - PORT_START("ORANGE2") - PORT_CONFNAME( 0x0F, 0x00, "Jackpot / Prize Key" ) - PORT_CONFSETTING( 0x00, "Not fitted" ) - PORT_CONFSETTING( 0x01, "3 GBP" ) - PORT_CONFSETTING( 0x02, "4 GBP" ) - PORT_CONFSETTING( 0x08, "5 GBP" ) - PORT_CONFSETTING( 0x03, "6 GBP" ) - PORT_CONFSETTING( 0x04, "6 GBP Token" ) - PORT_CONFSETTING( 0x05, "8 GBP" ) - PORT_CONFSETTING( 0x06, "8 GBP Token" ) - PORT_CONFSETTING( 0x07, "10 GBP" ) - PORT_CONFSETTING( 0x09, "15 GBP" ) - PORT_CONFSETTING( 0x0A, "25 GBP" ) - PORT_CONFSETTING( 0x0B, "25 GBP (Licensed Betting Office Profile)" ) - PORT_CONFSETTING( 0x0C, "35 GBP" ) - PORT_CONFSETTING( 0x0D, "70 GBP" ) - PORT_CONFSETTING( 0x0E, "Reserved" ) - PORT_CONFSETTING( 0x0F, "Reserved" ) - - PORT_CONFNAME( 0xF0, 0x00, "Percentage Key" ) - PORT_CONFSETTING( 0x00, "As Option Switches" ) - PORT_CONFSETTING( 0x10, "70" ) - PORT_CONFSETTING( 0x20, "72" ) - PORT_CONFSETTING( 0x30, "74" ) - PORT_CONFSETTING( 0x40, "76" ) - PORT_CONFSETTING( 0x50, "78" ) - PORT_CONFSETTING( 0x60, "80" ) - PORT_CONFSETTING( 0x70, "82" ) - PORT_CONFSETTING( 0x80, "84" ) - PORT_CONFSETTING( 0x90, "86" ) - PORT_CONFSETTING( 0xA0, "88" ) - PORT_CONFSETTING( 0xB0, "90" ) - PORT_CONFSETTING( 0xC0, "92" ) - PORT_CONFSETTING( 0xD0, "94" ) - PORT_CONFSETTING( 0xE0, "96" ) - PORT_CONFSETTING( 0xF0, "98" ) - - PORT_START("BLACK1") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNUSED) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_UNUSED) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_UNUSED) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_UNUSED) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_UNUSED) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Test Button") PORT_CODE(KEYCODE_W) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_SERVICE) PORT_NAME("Refill Key") PORT_CODE(KEYCODE_R) PORT_TOGGLE - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_INTERLOCK) PORT_NAME("Cashbox (Back) Door") PORT_CODE(KEYCODE_Q) PORT_TOGGLE - - PORT_START("BLACK2") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Collect/Cancel") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Hold 1") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Hold 2") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("Hold 3") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_NAME("Hi") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_NAME("Lo") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_BUTTON7) PORT_NAME("Exchange") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_START1) - - PORT_START("DIL1") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:01") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:02") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:03") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIL1:04") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0xF0, 0x00, "Target Percentage (if key not fitted)" )PORT_DIPLOCATION("DIL1:05,06,07,08") - PORT_DIPSETTING( 0x00, "Unset (Program Optimum)" ) - PORT_DIPSETTING( 0x10, "70" ) - PORT_DIPSETTING( 0x20, "72" ) - PORT_DIPSETTING( 0x30, "74" ) - PORT_DIPSETTING( 0x40, "76" ) - PORT_DIPSETTING( 0x50, "78" ) - PORT_DIPSETTING( 0x60, "80" ) - PORT_DIPSETTING( 0x70, "82" ) - PORT_DIPSETTING( 0x80, "84" ) - PORT_DIPSETTING( 0x90, "86" ) - PORT_DIPSETTING( 0xA0, "88" ) - PORT_DIPSETTING( 0xB0, "90" ) - PORT_DIPSETTING( 0xC0, "92" ) - PORT_DIPSETTING( 0xD0, "94" ) - PORT_DIPSETTING( 0xE0, "96" ) - PORT_DIPSETTING( 0xF0, "98" ) - - PORT_START("DIL2") - PORT_DIPNAME( 0x01, 0x00, "Token Lockout when full" ) PORT_DIPLOCATION("DIL2:01") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused )) PORT_DIPLOCATION("DIL2:02") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, "Scottish Coin Handling" ) PORT_DIPLOCATION("DIL2:03")//20p payout - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, "Out of Credit Display Inhibit" ) PORT_DIPLOCATION("DIL2:04") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, "OCD Audio Enable" ) PORT_DIPLOCATION("DIL2:05") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Coin Alarm Inhibit" ) PORT_DIPLOCATION("DIL2:06") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, "Token Refill Level Inhibit" ) PORT_DIPLOCATION("DIL2:07") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x40, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x00, "Single Credit Entry" ) PORT_DIPLOCATION("DIL2:08") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x80, DEF_STR( On ) ) - - PORT_START("AUX1") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("0") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("1") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("2") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("3") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("4") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("5") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("6") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("7") - - PORT_START("AUX2") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_CUSTOM) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_CUSTOM) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_CUSTOM) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_CUSTOM) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_COIN1) PORT_NAME("10p")//PORT_IMPULSE(5) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_COIN2) PORT_NAME("20p")//PORT_IMPULSE(5) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_COIN3) PORT_NAME("50p")//PORT_IMPULSE(5) - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_COIN4) PORT_NAME("100p")//PORT_IMPULSE(5) -INPUT_PORTS_END - - - -/* -Characteriser (CHR) - -As built, the CHR is a PAL which can perform basic bit manipulation according to -an as yet unknown unique key. However, the programmers decided to best use this protection device in read/write/compare -cycles, storing almost the entire 'hidden' data table in the ROMs in plain sight. Only later rebuilds by BwB -avoided this 'feature' of the development kit, and will need a different setup. - -This information has been used to generate the CHR tables loaded by the programs, until a key can be determined. - -For most Barcrest games, the following method was used: - -The initial 'PALTEST' routine as found in the Barcrest programs simply writes the first 'call' to the CHR space, -to read back the 'response'. There is no attempt to alter the order or anything else, just -a simple runthrough of the entire data table. The only 'catch' in this is to note that the CHR chip always scans -through the table starting at the last accessed data value, unless 00 is used to reset to the beginning. This is obviously -a simplification, in fact the PAL does bit manipulation with some latching. - -However, a final 8 byte row, that controls the lamp matrix is not tested - to date, no-one outside of Barcrest knows -how this is generated, and currently trial and error is the only sensible method. It is noted that the default, -of all 00, is sometimes the correct answer, particularly in non-Barcrest use of the CHR chip, though when used normally, -there are again fixed call values. - -Apparently, just before the characteriser is checked bit 1 at 0x61DF is checked and if zero the characteriser -check is bypassed. This may be something to look at for prototype ROMs and hacks. - -*/ - - -void mpu4_state::characteriser_w(offs_t offset, uint8_t data) -{ - int x; - int call=data; - LOG_CHR_FULL(("%s Characteriser write offset %02X data %02X\n", machine().describe_context(), offset, data)); - if (!m_current_chr_table) - { - logerror("%s No Characteriser Table\n", machine().describe_context()); - return; - } - - - - if (offset == 0) - { - { - if (call == 0) - { - m_prot_col = 0; - } - else - { - for (x = m_prot_col; x < 64; x++) - { - if (m_current_chr_table[(x)].call == call) - { - m_prot_col = x; - LOG_CHR(("Characteriser find column %02X\n",m_prot_col)); - break; - } - } - } - } - } - else if (offset == 2) - { - LOG_CHR(("Characteriser write 2 data %02X\n",data)); - // Rather than the search strategy, we can map the calls directly here. Note that they are hex versions of the square number series - switch (call) - { - case 0x00: - m_lamp_col = 0; - break; - - case 0x01: - m_lamp_col = 1; - break; - - case 0x04: - m_lamp_col = 2; - break; - - case 0x09: - m_lamp_col = 3; - break; - - case 0x10: - m_lamp_col = 4; - break; - - case 0x19: - m_lamp_col = 5; - break; - - case 0x24: - m_lamp_col = 6; - break; - - case 0x31: - m_lamp_col = 7; - break; - } - LOG_CHR(("Characteriser find 2 column %02X\n",m_lamp_col)); - } -} - - -uint8_t mpu4_state::characteriser_r(address_space &space, offs_t offset) -{ - if (!m_current_chr_table) - { - logerror("%s No Characteriser Table\n", machine().describe_context()); - - /* a cheat ... many early games use a standard check */ - int addr = m_maincpu->state_int(M6809_X); - if ((addr>=0x800) && (addr<=0xfff)) return 0x00; // prevent recursion, only care about ram/rom areas for this cheat. - - uint8_t ret = space.read_byte(addr); - logerror(" (returning %02x)",ret); - - logerror("\n"); - - return ret; - } - - LOG_CHR(("Characteriser read offset %02X \n",offset)); - if (offset == 0) - { - LOG_CHR(("Characteriser read data %02X \n",m_current_chr_table[m_prot_col].response)); - return m_current_chr_table[m_prot_col].response; - } - - if (offset == 3) - { - LOG_CHR(("Characteriser read data off 3 %02X \n",m_current_chr_table[m_lamp_col+64].response)); - return m_current_chr_table[m_lamp_col+64].response; - } - return 0; -} - -/* -BwB Characteriser (CHR) - -The BwB method of protection is considerably different to the Barcrest one, with any -incorrect behaviour manifesting in ridiculously large payouts. The hardware is the -same, however the main weakness of the software has been eliminated. - -In fact, the software seems deliberately designed to mislead, but is (fortunately for -us) prone to similar weaknesses that allow a per game solution. - -Project Amber performed a source analysis (available on request) which appears to make things work. -Said weaknesses (A Cheats Guide according to Project Amber) - -The common initialisation sequence is "00 04 04 0C 0C 1C 14 2C 5C 2C" - 0 1 2 3 4 5 6 7 8 -Using debug search for the first read from said string (best to find it first). - -At this point, the X index on the CPU is at the magic number address. - -The subsequent calls for each can be found based on the magic address - - (0) = ( (BWBMagicAddress)) - (1) = ( (BWBMagicAddress + 1)) - (2) = ( (BWBMagicAddress + 2)) - (3) = ( (BWBMagicAddress + 4)) - (4) = ( (BWBMagicAddress - 5)) - (5) = ( (BWBMagicAddress - 4)) - (6) = ( (BWBMagicAddress - 3)) - (7) = ( (BWBMagicAddress - 2)) - (8) = ( (BWBMagicAddress - 1)) - -These return the standard init sequence as above. - -For ease of understanding, we use three tables, one holding the common responses -and two holding the appropriate call and response pairs for the two stages of operation -*/ - - -void mpu4_state::bwb_characteriser_w(offs_t offset, uint8_t data) -{ - int x; - int call=data; - LOG_CHR_FULL(("%s Characteriser write offset %02X data %02X\n", machine().describe_context(), offset, data)); - if (!m_current_chr_table) - fatalerror("%s No Characteriser Table\n", machine().describe_context().c_str()); - - if ((offset & 0x3f)== 0)//initialisation is always at 0x800 - { - if (!m_chr_state) - { - m_chr_state=1; - m_chr_counter=0; - } - if (call == 0) - { - m_init_col ++; - } - else - { - m_init_col =0; - } - } - - m_chr_value = machine().rand(); - for (x = 0; x < 4; x++) - { - if (m_current_chr_table[(x)].call == call) - { - if (x == 0) // reinit - { - m_bwb_return = 0; - } - m_chr_value = bwb_chr_table_common[(m_bwb_return)]; - m_bwb_return++; - break; - } - } -} - -uint8_t mpu4_state::bwb_characteriser_r(offs_t offset) -{ - LOG_CHR(("Characteriser read offset %02X \n",offset)); - - - if (offset ==0) - { - switch (m_chr_counter) - { - case 6: - case 13: - case 20: - case 27: - case 34: - return m_bwb_chr_table1[(((m_chr_counter + 1) / 7) - 1)].response; - - default: - if (m_chr_counter > 34) - { - m_chr_counter = 35; - m_chr_state = 2; - } - m_chr_counter ++; - return m_chr_value; - } - } - else - { - return m_chr_value; - } -} - -/* Common configurations */ - -void mpu4_state::mpu4_ym2413_w(offs_t offset, uint8_t data) -{ - if (m_ym2413) m_ym2413->write(offset,data); -} - -uint8_t mpu4_state::mpu4_ym2413_r(offs_t offset) -{ -// if (m_ym2413) return m_ym2413->read(offset); - return 0xff; -} - - -void mpu4_state::mpu4_install_mod4yam_space(address_space &space) -{ - space.install_read_handler(0x0880, 0x0882, read8sm_delegate(*this, FUNC(mpu4_state::mpu4_ym2413_r))); - space.install_write_handler(0x0880, 0x0881, write8sm_delegate(*this, FUNC(mpu4_state::mpu4_ym2413_w))); -} - -void mpu4_state::mpu4_install_mod4oki_space(address_space &space) -{ - pia6821_device *const pia_ic4ss = subdevice("pia_ic4ss"); - - space.install_readwrite_handler(0x0880, 0x0883, read8sm_delegate(*pia_ic4ss, FUNC(pia6821_device::read)), write8sm_delegate(*pia_ic4ss, FUNC(pia6821_device::write))); - space.install_read_handler(0x08c0, 0x08c7, read8sm_delegate(*m_ptm_ic3ss, FUNC(ptm6840_device::read))); - space.install_write_handler(0x08c0, 0x08c7, write8sm_delegate(*this, FUNC(mpu4_state::ic3ss_w))); -} - -void mpu4_state::mpu4_install_mod4bwb_space(address_space &space) -{ - space.install_readwrite_handler(0x0810, 0x0810, read8sm_delegate(*this, FUNC(mpu4_state::bwb_characteriser_r)), write8sm_delegate(*this, FUNC(mpu4_state::bwb_characteriser_w))); - mpu4_install_mod4oki_space(space); -} - - -void mpu4_state::mpu4_config_common() -{ - m_lamps.resolve(); - m_mpu4leds.resolve(); - m_digits.resolve(); - m_triacs.resolve(); - - m_ic24_timer = timer_alloc(FUNC(mpu4_state::update_ic24), this); - m_lamp_strobe_ext_persistence = 0; -} - -MACHINE_START_MEMBER(mpu4_state,mod2) -{ - mpu4_config_common(); - - m_link7a_connected=0; - m_mod_number=2; -} - -MACHINE_START_MEMBER(mpu4_state,mpu4yam) -{ - address_space &space = m_maincpu->space(AS_PROGRAM); - mpu4_config_common(); - - m_link7a_connected=0; - m_mod_number=4; - mpu4_install_mod4yam_space(space); -} - -MACHINE_START_MEMBER(mpu4_state,mpu4oki) -{ - address_space &space = m_maincpu->space(AS_PROGRAM); - mpu4_config_common(); - - m_link7a_connected=0; - m_mod_number=4; - mpu4_install_mod4oki_space(space); -} - -MACHINE_START_MEMBER(mpu4_state,mpu4bwb) -{ - address_space &space = m_maincpu->space(AS_PROGRAM); - mpu4_config_common(); - - m_link7a_connected=0; - m_mod_number=4; - mpu4_install_mod4bwb_space(space); -} - -MACHINE_START_MEMBER(mpu4_state,mpu4cry) -{ - mpu4_config_common(); - - m_link7a_connected=0; - m_mod_number=4; -} - -/* CHR Tables */ - -static mpu4_chr_table andycp10c_data[72] = { -{0x00, 0x00},{0x1a, 0x14},{0x04, 0x04},{0x10, 0x54},{0x18, 0x4c},{0x0f, 0x20},{0x13, 0x50},{0x1b, 0x44}, -{0x03, 0x5c},{0x07, 0x78},{0x17, 0x70},{0x1d, 0x48},{0x36, 0x6c},{0x35, 0x60},{0x2b, 0x14},{0x28, 0x48}, -{0x39, 0x2c},{0x21, 0x6c},{0x22, 0x6c},{0x25, 0x28},{0x2c, 0x64},{0x29, 0x10},{0x31, 0x08},{0x34, 0x6c}, -{0x0a, 0x24},{0x1f, 0x5c},{0x06, 0x78},{0x0e, 0x34},{0x1c, 0x00},{0x12, 0x50},{0x1e, 0x00},{0x0d, 0x50}, -{0x14, 0x0c},{0x0a, 0x6c},{0x19, 0x2c},{0x15, 0x60},{0x06, 0x54},{0x0f, 0x00},{0x08, 0x58},{0x1b, 0x74}, -{0x1e, 0x00},{0x04, 0x14},{0x01, 0x4c},{0x0c, 0x60},{0x18, 0x1c},{0x1a, 0x74},{0x11, 0x4c},{0x0b, 0x64}, -{0x03, 0x5c},{0x17, 0x78},{0x10, 0x78},{0x1d, 0x78},{0x0e, 0x34},{0x07, 0x44},{0x12, 0x54},{0x09, 0x40}, -{0x0d, 0x50},{0x1f, 0x48},{0x16, 0x6c},{0x05, 0x28},{0x13, 0x60},{0x1c, 0x14},{0x02, 0x4c},{0x00, 0x00}, -{0x00, 0x04},{0x01, 0x58},{0x04, 0x14},{0x09, 0x58},{0x10, 0x50},{0x19, 0x1c},{0x24, 0x10},{0x31, 0x10} -}; - -static mpu4_chr_table ccelbr_data[72] = { -{0x00, 0x00},{0x1a, 0x84},{0x04, 0x8c},{0x10, 0xb8},{0x18, 0x74},{0x0f, 0x80},{0x13, 0x1c},{0x1b, 0xb4}, -{0x03, 0xd8},{0x07, 0x74},{0x17, 0x00},{0x1d, 0xd4},{0x36, 0xc8},{0x35, 0x78},{0x2b, 0xa4},{0x28, 0x4c}, -{0x39, 0xe0},{0x21, 0xdc},{0x22, 0xf4},{0x25, 0x88},{0x2c, 0x78},{0x29, 0x24},{0x31, 0x84},{0x34, 0xcc}, -{0x0a, 0xb8},{0x1f, 0x74},{0x06, 0x90},{0x0e, 0x48},{0x1c, 0xa0},{0x12, 0x1c},{0x1e, 0x24},{0x0d, 0x94}, -{0x14, 0xc8},{0x0a, 0xb8},{0x19, 0x74},{0x15, 0x00},{0x06, 0x94},{0x0f, 0x48},{0x08, 0x30},{0x1b, 0x90}, -{0x1e, 0x08},{0x04, 0x60},{0x01, 0xd4},{0x0c, 0x58},{0x18, 0xf4},{0x1a, 0x18},{0x11, 0x74},{0x0b, 0x80}, -{0x03, 0xdc},{0x17, 0x74},{0x10, 0xd0},{0x1d, 0x58},{0x0e, 0x24},{0x07, 0x94},{0x12, 0xd8},{0x09, 0x34}, -{0x0d, 0x90},{0x1f, 0x58},{0x16, 0xf4},{0x05, 0x88},{0x13, 0x38},{0x1c, 0x24},{0x02, 0xd4},{0x00, 0x00}, -{0x00, 0x00},{0x01, 0x50},{0x04, 0x00},{0x09, 0x50},{0x10, 0x10},{0x19, 0x40},{0x24, 0x04},{0x31, 0x00} -}; - - -static mpu4_chr_table gmball_data[72] = { -{0x00, 0x00},{0x1a, 0x0c},{0x04, 0x50},{0x10, 0x90},{0x18, 0xb0},{0x0f, 0x38},{0x13, 0xd4},{0x1b, 0xa0}, -{0x03, 0xbc},{0x07, 0xd4},{0x17, 0x30},{0x1d, 0x90},{0x36, 0x38},{0x35, 0xc4},{0x2b, 0xac},{0x28, 0x70}, -{0x39, 0x98},{0x21, 0xdc},{0x22, 0xdc},{0x25, 0x54},{0x2c, 0x80},{0x29, 0xb4},{0x31, 0x38},{0x34, 0xcc}, -{0x0a, 0xe8},{0x1f, 0xf8},{0x06, 0xd4},{0x0e, 0x30},{0x1c, 0x00},{0x12, 0x84},{0x1e, 0x2c},{0x0d, 0xc8}, -{0x14, 0xf8},{0x0a, 0x4c},{0x19, 0x58},{0x15, 0xd4},{0x06, 0xa8},{0x0f, 0x78},{0x08, 0x44},{0x1b, 0x0c}, -{0x1e, 0x48},{0x04, 0x50},{0x01, 0x98},{0x0c, 0xd4},{0x18, 0xb0},{0x1a, 0xa0},{0x11, 0xa4},{0x0b, 0x3c}, -{0x03, 0xdc},{0x17, 0xd4},{0x10, 0xb8},{0x1d, 0xd4},{0x0e, 0x30},{0x07, 0x88},{0x12, 0xe0},{0x09, 0x24}, -{0x0d, 0x8c},{0x1f, 0xf8},{0x16, 0xcc},{0x05, 0x70},{0x13, 0x90},{0x1c, 0x20},{0x02, 0x9c},{0x00, 0x00}, -{0x00, 0x00},{0x01, 0x18},{0x04, 0x08},{0x09, 0x10},{0x10, 0x00},{0x19, 0x18},{0x24, 0x08},{0x31, 0x00} -}; - - - - -static mpu4_chr_table grtecp_data[72] = { -{0x00, 0x00},{0x1a, 0x84},{0x04, 0xa4},{0x10, 0xac},{0x18, 0x70},{0x0f, 0x80},{0x13, 0x2c},{0x1b, 0xc0}, -{0x03, 0xbc},{0x07, 0x5c},{0x17, 0x5c},{0x1d, 0x5c},{0x36, 0xdc},{0x35, 0x5c},{0x2b, 0xcc},{0x28, 0x68}, -{0x39, 0xd0},{0x21, 0xb8},{0x22, 0xdc},{0x25, 0x54},{0x2c, 0x08},{0x29, 0x58},{0x31, 0x54},{0x34, 0x90}, -{0x0a, 0xb8},{0x1f, 0x5c},{0x06, 0x5c},{0x0e, 0x44},{0x1c, 0x84},{0x12, 0xac},{0x1e, 0xe0},{0x0d, 0xbc}, -{0x14, 0xcc},{0x0a, 0xe8},{0x19, 0x70},{0x15, 0x00},{0x06, 0x8c},{0x0f, 0x70},{0x08, 0x00},{0x1b, 0x84}, -{0x1e, 0xa4},{0x04, 0xa4},{0x01, 0xbc},{0x0c, 0xdc},{0x18, 0x5c},{0x1a, 0xcc},{0x11, 0xe8},{0x0b, 0xe0}, -{0x03, 0xbc},{0x17, 0x4c},{0x10, 0xc8},{0x1d, 0xf8},{0x0e, 0xd4},{0x07, 0xa8},{0x12, 0x68},{0x09, 0x40}, -{0x0d, 0x0c},{0x1f, 0xd8},{0x16, 0xdc},{0x05, 0x54},{0x13, 0x98},{0x1c, 0x44},{0x02, 0x9c},{0x00, 0x00}, -{0x00, 0x00},{0x01, 0x18},{0x04, 0x00},{0x09, 0x18},{0x10, 0x08},{0x19, 0x10},{0x24, 0x00},{0x31, 0x00} -}; - -static mpu4_chr_table oldtmr_data[72] = { -{0x00, 0x00},{0x1a, 0x90},{0x04, 0xc0},{0x10, 0x54},{0x18, 0xa4},{0x0f, 0xf0},{0x13, 0x64},{0x1b, 0x90}, -{0x03, 0xe4},{0x07, 0xd4},{0x17, 0x60},{0x1d, 0xb4},{0x36, 0xc0},{0x35, 0x70},{0x2b, 0x80},{0x28, 0x74}, -{0x39, 0xa4},{0x21, 0xf4},{0x22, 0xe4},{0x25, 0xd0},{0x2c, 0x64},{0x29, 0x10},{0x31, 0x20},{0x34, 0x90}, -{0x0a, 0xe4},{0x1f, 0xf4},{0x06, 0xc4},{0x0e, 0x70},{0x1c, 0x00},{0x12, 0x14},{0x1e, 0x00},{0x0d, 0x14}, -{0x14, 0xa0},{0x0a, 0xf0},{0x19, 0x64},{0x15, 0x10},{0x06, 0x84},{0x0f, 0x70},{0x08, 0x00},{0x1b, 0x90}, -{0x1e, 0x40},{0x04, 0x90},{0x01, 0xe4},{0x0c, 0xf4},{0x18, 0x64},{0x1a, 0x90},{0x11, 0x64},{0x0b, 0x90}, -{0x03, 0xe4},{0x17, 0x50},{0x10, 0x24},{0x1d, 0xb4},{0x0e, 0xe0},{0x07, 0xd4},{0x12, 0xe4},{0x09, 0x50}, -{0x0d, 0x04},{0x1f, 0xb4},{0x16, 0xc0},{0x05, 0xd0},{0x13, 0x64},{0x1c, 0x90},{0x02, 0xe4},{0x00, 0x00}, -{0x00, 0x00},{0x01, 0x00},{0x04, 0x00},{0x09, 0x00},{0x10, 0x00},{0x19, 0x10},{0x24, 0x00},{0x31, 0x00} -}; - -static const bwb_chr_table blsbys_data1[5] = { -//Magic number 724A - -// PAL Codes -// 0 1 2 3 4 5 6 7 8 -// ?? ?? 20 0F 24 3C 36 27 09 - - {0x67},{0x17},{0x0f},{0x24},{0x3c}, -}; - -static mpu4_chr_table blsbys_data[8] = { -{0xEF, 0x02},{0x81, 0x00},{0xCE, 0x00},{0x00, 0x2e}, -{0x06, 0x20},{0xC6, 0x0f},{0xF8, 0x24},{0x8E, 0x3c}, -}; - -// set percentage and other options. 2e 20 0f -// PAL Codes -// 0 1 2 3 4 5 6 7 8 -// 42 2E 20 0F 24 3C 36 27 09 - // 6 0 7 0 8 0 7 0 0 8 -//request 36 42 27 42 09 42 27 42 42 09 -//verify 00 04 04 0C 0C 1C 14 2C 5C 2C - -void mpu4_state::init_m4_low_volt_alt() -{ - //Some games can't use the 50Hz circuit to check voltage issues, handle it here - m_low_volt_detect_disable = 1; -} - -void mpu4_state::init_m4_aux1_invert() -{ - m_aux1_invert = 1; -} - -void mpu4_state::init_m4_aux2_invert() -{ - m_aux2_invert = 1; -} - -void mpu4_state::init_m4_door_invert() -{ - m_aux2_invert = 1; -} - -void mpu4_state::init_m4_small_extender() -{ - m_lamp_extender = SMALL_CARD; -} - -void mpu4_state::init_m4_large_extender_a() -{ - m_lamp_extender = LARGE_CARD_A; -} - -void mpu4_state::init_m4_large_extender_b() -{ - m_lamp_extender = LARGE_CARD_B; -} - -void mpu4_state::init_m4_large_extender_c() -{ - m_lamp_extender = LARGE_CARD_C; -} - -void mpu4_state::init_m4_hopper_tubes() -{ - m_hopper = TUBES; -} - -void mpu4_state::init_m4_hopper_duart_a() -{ - m_hopper = HOPPER_DUART_A; -} - -void mpu4_state::init_m4_hopper_duart_b() -{ - m_hopper = HOPPER_DUART_B; -} - -void mpu4_state::init_m4_hopper_duart_c() -{ - m_hopper = HOPPER_DUART_C; -} - -void mpu4_state::init_m4_hopper_nonduart_a() -{ - m_hopper = HOPPER_NONDUART_A; -} - -void mpu4_state::init_m4_hopper_nonduart_b() -{ - m_hopper = HOPPER_NONDUART_B; -} - -void mpu4_state::init_m4_led_a() -{ - m_led_extender = CARD_A; -} - -void mpu4_state::init_m4_led_b() -{ - m_led_extender = CARD_B; -} - -void mpu4_state::init_m4_led_c() -{ - m_led_extender = CARD_C; -} - -void mpu4_state::init_m4_led_simple() -{ - m_led_extender = SIMPLE_CARD; -} - -//TODO: Replace with standard six reels once sets are sorted out - is really six_reel_std -void mpu4_state::init_m4altreels() -{ - m_reel_mux = SIX_REEL_1TO8; - m_reels = 6; - init_m4default_banks(); -} - -void mpu4_state::init_m4default_reels() -{ - m_reel_mux = STANDARD_REEL; - m_reels = 4; -} - -void mpu4_state::init_m4_five_reel_std() -{ - m_reel_mux = FIVE_REEL_5TO8; - m_reels = 5; -} - -void mpu4_state::init_m4_five_reel_rev() -{ - m_reel_mux = FIVE_REEL_8TO5; - m_reels = 5; -} - -void mpu4_state::init_m4_five_reel_alt() -{ - m_reel_mux = FIVE_REEL_3TO6; - m_reels = 5; -} - -void mpu4_state::init_m4_six_reel_std() -{ - m_reel_mux = SIX_REEL_1TO8; - m_reels = 6; -} - -void mpu4_state::init_m4_six_reel_alt() -{ - m_reel_mux = SIX_REEL_5TO8; - m_reels = 6; -} - -void mpu4_state::init_m4_seven_reel() -{ - m_reel_mux = SEVEN_REEL; - m_reels = 7; -} - - -void mpu4_state::init_m4_andycp10c() -{ - init_m4default(); - init_m4_small_extender(); - m_current_chr_table = andycp10c_data; -} - -void mpu4_state::init_m_oldtmr() -{ - init_m4_six_reel_std(); - init_m4default_banks(); - - m_current_chr_table = oldtmr_data; -} - -void mpu4_state::init_m_ccelbr() -{ - init_m4default(); - m_current_chr_table = ccelbr_data; -} - -void mpu4_state::init_m4gambal() -{ - init_m4default(); - m_current_chr_table = gmball_data; -} - -void mpu4_state::init_m_grtecp() -{ - m_current_chr_table = grtecp_data; -} - -void mpu4_state::init_m_blsbys() -{ - m_bwb_bank = 1; - init_m4_five_reel_std(); - m_bwb_chr_table1 = blsbys_data1; - m_current_chr_table = blsbys_data; - init_m4default_big(); -} - - -void mpu4_state::init_m4default_banks() -{ - //Initialise paging for non-extended ROM space - uint8_t *rom = memregion("maincpu")->base(); - membank("bank1")->configure_entries(0, 4, &rom[0x01000], 0x10000); - membank("bank1")->set_entry(0); -} - -void mpu4_state::init_m4default_alt() -{ - m_reel_mux = STANDARD_REEL; - m_reels = 8; - init_m4default_banks(); - - m_bwb_bank=0; -} - -void mpu4_state::init_m4default() -{ - init_m4default_reels(); - m_bwb_bank = 0; - m_aux1_invert = 0; - m_aux2_invert = 0; - m_door_invert = 0; - init_m4default_banks(); -} - - -void mpu4_state::init_m4default_big() -{ - address_space &space = m_maincpu->space(AS_PROGRAM); - m_aux1_invert = 0; - m_aux2_invert = 0; - m_door_invert = 0; - - int size = memregion("maincpu")->bytes(); - if (size <= 0x10000) - { - printf("Error: Extended banking selected on set <=0x10000 in size, ignoring\n"); - init_m4default_reels(); - m_bwb_bank = 0; - init_m4default_banks(); - } - else - { - m_bwb_bank = 1; - space.install_write_handler(0x0858, 0x0858, write8smo_delegate(*this, FUNC(mpu4_state::bankswitch_w))); - space.install_write_handler(0x0878, 0x0878, write8smo_delegate(*this, FUNC(mpu4_state::bankset_w))); - uint8_t *rom = memregion("maincpu")->base(); - - m_numbanks = size / 0x10000; - m_bank1->configure_entries(0, m_numbanks, &rom[0x01000], 0x10000); - m_numbanks--; - - // some Bwb games must default to the last bank, does anything not like this - // behavior? - // some Bwb games don't work anyway tho, they seem to dislike something else - // about the way the regular banking behaves, not related to the CB2 stuff - m_bank1->set_entry(m_numbanks); - } -} - - - - - -uint8_t mpu4_state::crystal_sound_r() -{ - return machine().rand(); -} -//this may be a YMZ280B -void mpu4_state::crystal_sound_w(uint8_t data) -{ - printf("crystal_sound_w %02x\n",data); -} - -void mpu4_state::init_m_frkstn() -{ - address_space &space = m_maincpu->space(AS_PROGRAM); - init_m4default_big(); - space.install_read_handler(0x0880, 0x0880, read8smo_delegate(*this, FUNC(mpu4_state::crystal_sound_r))); - space.install_write_handler(0x0881, 0x0881, write8smo_delegate(*this, FUNC(mpu4_state::crystal_sound_w))); -} - -// thanks to Project Amber for descramble information -static void descramble_crystal( uint8_t* region, int start, int end, uint8_t extra_xor) -{ - for (int i=start;i( x^0xca , 3,2,1,0,7,4,6,5 ); break; - case 0x10: x = bitswap<8>( x^0x30 , 3,0,4,6,1,5,7,2 ); break; - case 0x18: x = bitswap<8>( x^0x89 , 4,1,2,5,7,0,6,3 ); break; - case 0x40: x = bitswap<8>( x^0x14 , 6,1,4,3,2,5,0,7 ); break; - case 0x48: x = bitswap<8>( x^0x40 , 1,0,3,2,5,4,7,6 ); break; - case 0x50: x = bitswap<8>( x^0xcb , 3,2,1,0,7,6,5,4 ); break; - case 0x58: x = bitswap<8>( x^0xc0 , 2,3,6,0,5,1,7,4 ); break; - } - region[i] = x ^ extra_xor; - } -} - - -void mpu4_state::init_crystal() -{ - init_m_frkstn(); - descramble_crystal(memregion( "maincpu" )->base(), 0x0000, 0x10000, 0x00); -} - -void mpu4_state::init_crystali() -{ - init_m_frkstn(); - descramble_crystal(memregion( "maincpu" )->base(), 0x0000, 0x10000, 0xff); // invert after decrypt?! -} - -/* generate a 50 Hz signal (based on an RC time) */ -TIMER_DEVICE_CALLBACK_MEMBER(mpu4_state::gen_50hz) -{ - if (!m_low_volt_detect_disable) - { - /* Although reported as a '50Hz' signal, the fact that both rising and - falling edges of the pulse are used means the timer actually gives a 100Hz - oscillating signal.*/ - m_signal_50hz = m_signal_50hz?0:1; - m_pia4->ca1_w(m_signal_50hz); /* signal is connected to IC4 CA1 */ - } - update_meters();//run at 100Hz to sync with PIAs -} - -void mpu4_state::mpu4_memmap(address_map &map) -{ - map(0x0000, 0x07ff).ram().share("nvram"); - map(0x0800, 0x0810).rw(FUNC(mpu4_state::characteriser_r), FUNC(mpu4_state::characteriser_w)); - map(0x0850, 0x0850).rw(FUNC(mpu4_state::bankswitch_r), FUNC(mpu4_state::bankswitch_w)); /* write bank (rom page select) */ -/* map(0x08e0, 0x08e7).rw(FUNC(mpu4_state::68681_duart_r), FUNC(mpu4_state::68681_duart_w)); */ //Runs hoppers - map(0x0900, 0x0907).rw(m_6840ptm, FUNC(ptm6840_device::read), FUNC(ptm6840_device::write));/* PTM6840 IC2 */ - map(0x0a00, 0x0a03).rw(m_pia3, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); /* PIA6821 IC3 */ - map(0x0b00, 0x0b03).rw(m_pia4, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); /* PIA6821 IC4 */ - map(0x0c00, 0x0c03).rw(m_pia5, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); /* PIA6821 IC5 */ - map(0x0d00, 0x0d03).rw(m_pia6, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); /* PIA6821 IC6 */ - map(0x0e00, 0x0e03).rw(m_pia7, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); /* PIA6821 IC7 */ - map(0x0f00, 0x0f03).rw(m_pia8, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); /* PIA6821 IC8 */ - map(0x1000, 0xffff).bankr("bank1"); /* 64k paged ROM (4 pages) */ -} - -void mpu4_state::mpu4_std_3reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); -} - -void mpu4_state::mpu4_type2_3reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); -} - -void mpu4_state::mpu4_type3_3reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); -} - -void mpu4_state::mpu4_type4_3reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); -} - -void mpu4_state::mpu4_bwb_3reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); -} - -void mpu4_state::mpu4_std_4reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); -} - -void mpu4_state::mpu4_type2_4reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); -} - -void mpu4_state::mpu4_type3_4reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); -} - -void mpu4_state::mpu4_type4_4reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); -} - -void mpu4_state::mpu4_bwb_4reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); -} - -void mpu4_state::mpu4_std_5reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); -} - -void mpu4_state::mpu4_type2_5reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); -} - -void mpu4_state::mpu4_type3_5reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); -} - -void mpu4_state::mpu4_type4_5reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); -} - -void mpu4_state::mpu4_bwb_5reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); -} - -void mpu4_state::mpu4_std_6reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); - REEL(config, m_reel[5], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); -} - -void mpu4_state::mpu4_type2_6reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); - REEL(config, m_reel[5], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[5]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<5>)); -} - -void mpu4_state::mpu4_type3_6reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); - REEL(config, m_reel[5], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[5]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<5>)); -} - -void mpu4_state::mpu4_type4_6reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); - REEL(config, m_reel[5], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[5]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<5>)); -} - -void mpu4_state::mpu4_bwb_6reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); - REEL(config, m_reel[5], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[5]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<5>)); -} - - -void mpu4_state::mpu4_std_7reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); - REEL(config, m_reel[5], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[5]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<5>)); - REEL(config, m_reel[6], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[6]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<6>)); - REEL(config, m_reel[7], BARCREST_48STEP_REEL, 1, 3, 0x00, 2); - m_reel[7]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<7>)); -} - -void mpu4_state::mpu4_type2_7reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); - REEL(config, m_reel[5], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[5]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<5>)); - REEL(config, m_reel[6], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[6]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<6>)); - REEL(config, m_reel[7], BARCREST_48STEP_REEL, 4, 12, 0x00, 2); - m_reel[7]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<7>)); -} - -void mpu4_state::mpu4_type3_7reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); - REEL(config, m_reel[5], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[5]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<5>)); - REEL(config, m_reel[6], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[6]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<6>)); - REEL(config, m_reel[7], BARCREST_48STEP_REEL, 92, 3, 0x00, 2); - m_reel[7]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<7>)); -} - -void mpu4_state::mpu4_type4_7reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); - REEL(config, m_reel[5], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[5]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<5>)); - REEL(config, m_reel[6], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[6]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<6>)); - REEL(config, m_reel[7], BARCREST_48STEP_REEL, 93, 2, 0x00, 2); - m_reel[7]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<7>)); -} - -void mpu4_state::mpu4_bwb_7reel(machine_config &config) -{ - REEL(config, m_reel[0], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[0]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<0>)); - REEL(config, m_reel[1], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[1]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<1>)); - REEL(config, m_reel[2], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[2]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<2>)); - REEL(config, m_reel[3], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[3]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<3>)); - REEL(config, m_reel[4], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[4]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<4>)); - REEL(config, m_reel[5], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[5]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<5>)); - REEL(config, m_reel[6], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[6]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<6>)); - REEL(config, m_reel[7], BARCREST_48STEP_REEL, 96, 3, 0x00, 2); - m_reel[7]->optic_handler().set(FUNC(mpu4_state::reel_optic_cb<7>)); -} - -void mpu4_state::mpu4_common(machine_config &config) -{ - TIMER(config, "50hz").configure_periodic(FUNC(mpu4_state::gen_50hz), attotime::from_hz(100)); - - MSC1937(config, m_vfd); - /* 6840 PTM */ - PTM6840(config, m_6840ptm, MPU4_MASTER_CLOCK / 4); - m_6840ptm->set_external_clocks(0, 0, 0); - m_6840ptm->o1_callback().set(FUNC(mpu4_state::ic2_o1_callback)); - m_6840ptm->o2_callback().set(FUNC(mpu4_state::ic2_o2_callback)); - m_6840ptm->o3_callback().set(FUNC(mpu4_state::ic2_o3_callback)); - m_6840ptm->irq_callback().set(FUNC(mpu4_state::cpu0_irq)); - - PIA6821(config, m_pia3, 0); - m_pia3->writepa_handler().set(FUNC(mpu4_state::pia_ic3_porta_w)); - m_pia3->writepb_handler().set(FUNC(mpu4_state::pia_ic3_portb_w)); - m_pia3->ca2_handler().set(FUNC(mpu4_state::pia_ic3_ca2_w)); - m_pia3->cb2_handler().set(FUNC(mpu4_state::pia_ic3_cb2_w)); - m_pia3->irqa_handler().set(FUNC(mpu4_state::cpu0_irq)); - m_pia3->irqb_handler().set(FUNC(mpu4_state::cpu0_irq)); - - PIA6821(config, m_pia4, 0); - m_pia4->readpb_handler().set(FUNC(mpu4_state::pia_ic4_portb_r)); - m_pia4->writepa_handler().set(FUNC(mpu4_state::pia_ic4_porta_w)); - m_pia4->writepb_handler().set(FUNC(mpu4_state::pia_ic4_portb_w)); - m_pia4->ca2_handler().set(FUNC(mpu4_state::pia_ic4_ca2_w)); - m_pia4->cb2_handler().set(FUNC(mpu4_state::pia_ic4_cb2_w)); - m_pia4->irqa_handler().set(FUNC(mpu4_state::cpu0_irq)); - m_pia4->irqb_handler().set(FUNC(mpu4_state::cpu0_irq)); - - PIA6821(config, m_pia5, 0); - m_pia5->readpa_handler().set(FUNC(mpu4_state::pia_ic5_porta_r)); - m_pia5->readpb_handler().set(FUNC(mpu4_state::pia_ic5_portb_r)); - m_pia5->writepa_handler().set(FUNC(mpu4_state::pia_ic5_porta_w)); - m_pia5->writepb_handler().set(FUNC(mpu4_state::pia_ic5_portb_w)); - m_pia5->ca2_handler().set(FUNC(mpu4_state::pia_ic5_ca2_w)); - m_pia5->cb2_handler().set(FUNC(mpu4_state::pia_ic5_cb2_w)); - m_pia5->irqa_handler().set(FUNC(mpu4_state::cpu0_irq)); - m_pia5->irqb_handler().set(FUNC(mpu4_state::cpu0_irq)); - - PIA6821(config, m_pia6, 0); - m_pia6->writepa_handler().set(FUNC(mpu4_state::pia_ic6_porta_w)); - m_pia6->writepb_handler().set(FUNC(mpu4_state::pia_ic6_portb_w)); - m_pia6->ca2_handler().set(FUNC(mpu4_state::pia_ic6_ca2_w)); - m_pia6->cb2_handler().set(FUNC(mpu4_state::pia_ic6_cb2_w)); - m_pia6->irqa_handler().set(FUNC(mpu4_state::cpu0_irq)); - m_pia6->irqb_handler().set(FUNC(mpu4_state::cpu0_irq)); - - PIA6821(config, m_pia7, 0); - m_pia7->readpb_handler().set(FUNC(mpu4_state::pia_ic7_portb_r)); - m_pia7->writepa_handler().set(FUNC(mpu4_state::pia_ic7_porta_w)); - m_pia7->writepb_handler().set(FUNC(mpu4_state::pia_ic7_portb_w)); - m_pia7->ca2_handler().set(FUNC(mpu4_state::pia_ic7_ca2_w)); - m_pia7->cb2_handler().set(FUNC(mpu4_state::pia_ic7_cb2_w)); - m_pia7->irqa_handler().set(FUNC(mpu4_state::cpu0_irq)); - m_pia7->irqb_handler().set(FUNC(mpu4_state::cpu0_irq)); - - PIA6821(config, m_pia8, 0); - m_pia8->readpa_handler().set(FUNC(mpu4_state::pia_ic8_porta_r)); - m_pia8->writepb_handler().set(FUNC(mpu4_state::pia_ic8_portb_w)); - m_pia8->ca2_handler().set(FUNC(mpu4_state::pia_ic8_ca2_w)); - m_pia8->cb2_handler().set(FUNC(mpu4_state::pia_ic8_cb2_w)); - m_pia8->irqa_handler().set(FUNC(mpu4_state::cpu0_irq)); - m_pia8->irqb_handler().set(FUNC(mpu4_state::cpu0_irq)); - - METERS(config, m_meters, 0).set_number(8); - - BACTA_DATALOGGER(config, m_dataport, 0); - m_dataport->rxd_handler().set(FUNC(mpu4_state::dataport_rxd)); -} - -void mpu4_state::mpu4_common2(machine_config &config) -{ - PTM6840(config, m_ptm_ic3ss, MPU4_MASTER_CLOCK / 4); - m_ptm_ic3ss->set_external_clocks(0, 0, 0); - m_ptm_ic3ss->o1_callback().set("ptm_ic3ss", FUNC(ptm6840_device::set_c2)); - m_ptm_ic3ss->o2_callback().set("ptm_ic3ss", FUNC(ptm6840_device::set_c1)); - m_ptm_ic3ss->o3_callback().set("ptm_ic3ss", FUNC(ptm6840_device::set_g1)); - - PIA6821(config, m_pia_ic4ss, 0); - m_pia_ic4ss->readpb_handler().set(FUNC(mpu4_state::pia_gb_portb_r)); - m_pia_ic4ss->writepa_handler().set(FUNC(mpu4_state::pia_gb_porta_w)); - m_pia_ic4ss->writepb_handler().set(FUNC(mpu4_state::pia_gb_portb_w)); - m_pia_ic4ss->ca2_handler().set(FUNC(mpu4_state::pia_gb_ca2_w)); - m_pia_ic4ss->cb2_handler().set(FUNC(mpu4_state::pia_gb_cb2_w)); -} - -/* machine driver for MOD 2 board */ -void mpu4_state::mpu4base(machine_config &config) -{ - MCFG_MACHINE_START_OVERRIDE(mpu4_state,mod2 ) - MCFG_MACHINE_RESET_OVERRIDE(mpu4_state,mpu4) - MC6809(config, m_maincpu, MPU4_MASTER_CLOCK); // MC68B09P - m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap); - - mpu4_common(config); - - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); - - NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); - - config.set_default_layout(layout_mpu4); -} - - -void mpu4_state::mod2(machine_config &config) -{ - mpu4base(config); - AY8913(config, m_ay8913, MPU4_MASTER_CLOCK/4); - m_ay8913->set_flags(AY8910_SINGLE_OUTPUT); - m_ay8913->set_resistors_load(820, 0, 0); - m_ay8913->add_route(ALL_OUTPUTS, "lspeaker", 1.0); - m_ay8913->add_route(ALL_OUTPUTS, "rspeaker", 1.0); - mpu4_std_6reel(config); -} - -void mpu4_state::mod2_alt(machine_config &config) -{ - mpu4base(config); - AY8913(config, m_ay8913, MPU4_MASTER_CLOCK/4); - m_ay8913->set_flags(AY8910_SINGLE_OUTPUT); - m_ay8913->set_resistors_load(820, 0, 0); - m_ay8913->add_route(ALL_OUTPUTS, "lspeaker", 1.0); - m_ay8913->add_route(ALL_OUTPUTS, "rspeaker", 1.0); - mpu4_type2_6reel(config); -} - - - -void mpu4_state::mod4yam(machine_config &config) -{ - mpu4base(config); - MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4yam) - - mpu4_std_6reel(config); - - YM2413(config, m_ym2413, MPU4_MASTER_CLOCK/4); - m_ym2413->add_route(ALL_OUTPUTS, "lspeaker", 1.0); - m_ym2413->add_route(ALL_OUTPUTS, "rspeaker", 1.0); -} - -void mpu4_state::mod4oki(machine_config &config) -{ - mpu4base(config); - MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki) - - mpu4_common2(config); - mpu4_std_6reel(config); - - OKIM6376(config, m_msm6376, 128000); //Adjusted by IC3, default to 16KHz sample. Can also be 85430 at 10.5KHz and 64000 at 8KHz - m_msm6376->add_route(ALL_OUTPUTS, "lspeaker", 1.0); - m_msm6376->add_route(ALL_OUTPUTS, "rspeaker", 1.0); -} - -void mpu4_state::mod4oki_alt(machine_config &config) -{ - mpu4base(config); - MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki) - - mpu4_common2(config); - mpu4_type2_6reel(config); - - OKIM6376(config, m_msm6376, 128000); //Adjusted by IC3, default to 16KHz sample. Can also be 85430 at 10.5KHz and 64000 at 8KHz - m_msm6376->add_route(ALL_OUTPUTS, "lspeaker", 1.0); - m_msm6376->add_route(ALL_OUTPUTS, "rspeaker", 1.0); -} - -void mpu4_state::mod4oki_5r(machine_config &config) -{ - mpu4base(config); - MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki) - - mpu4_common2(config); - mpu4_std_5reel(config); - - OKIM6376(config, m_msm6376, 128000); //Adjusted by IC3, default to 16KHz sample. Can also be 85430 at 10.5KHz and 64000 at 8KHz - m_msm6376->add_route(ALL_OUTPUTS, "lspeaker", 1.0); - m_msm6376->add_route(ALL_OUTPUTS, "rspeaker", 1.0); -} - -void mpu4_state::bwboki(machine_config &config) -{ - mpu4base(config); - MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4bwb) - mpu4_common2(config); - mpu4_bwb_5reel(config); - - OKIM6376(config, m_msm6376, 128000); //Adjusted by IC3, default to 16KHz sample. Can also be 85430 at 10.5KHz and 64000 at 8KHz - m_msm6376->add_route(ALL_OUTPUTS, "lspeaker", 1.0); - m_msm6376->add_route(ALL_OUTPUTS, "rspeaker", 1.0); -} - -void mpu4_state::mpu4crys(machine_config &config) -{ - mod2(config); - MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4cry) - - upd7759_device &upd(UPD7759(config, "upd")); - upd.add_route(ALL_OUTPUTS, "lspeaker", 1.0); - upd.add_route(ALL_OUTPUTS, "rspeaker", 1.0); -} - -#define GAME_FLAGS (MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK|MACHINE_MECHANICAL) diff --git a/src/mame/machine/mpu4_characteriser_bootleg.cpp b/src/mame/machine/mpu4_characteriser_bootleg.cpp new file mode 100644 index 00000000000..e26205b38dd --- /dev/null +++ b/src/mame/machine/mpu4_characteriser_bootleg.cpp @@ -0,0 +1,78 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood + +#include "emu.h" + +#include "mpu4_characteriser_bootleg.h" + +// many bootlegs have an initial protection check reading 0x814 or 0x812 +// if it passes, other checks are skipped. +// +// this could be a trap, maybe this one is meant to fail and the others are meant to pass + +DEFINE_DEVICE_TYPE(MPU4_CHARACTERISER_BL, mpu4_characteriser_bl, "xmpu4chrpalboot19", "MPU4 bootleg Characteriser (fixed returns)") + +DEFINE_DEVICE_TYPE(MPU4_CHARACTERISER_BL_BLASTBANK, mpu4_characteriser_bl_blastbank, "mpu4chrboot_blast", "MPU4 bootleg Characteriser (Bank A Blast)") + +mpu4_characteriser_bl::mpu4_characteriser_bl(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : mpu4_characteriser_bl(mconfig, MPU4_CHARACTERISER_BL, tag, owner, clock) +{ +} + +mpu4_characteriser_bl::mpu4_characteriser_bl(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, type, tag, owner, clock), + m_cpu(*this, finder_base::DUMMY_TAG), + m_allow_6809_cheat(false) +{ +} + +void mpu4_characteriser_bl::device_start() +{ +} + +void mpu4_characteriser_bl::device_reset() +{ +} + +mpu4_characteriser_bl_blastbank::mpu4_characteriser_bl_blastbank(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : device_t(mconfig, MPU4_CHARACTERISER_BL_BLASTBANK, tag, owner, clock) +{ +} + +void mpu4_characteriser_bl_blastbank::device_start() +{ +} + +void mpu4_characteriser_bl_blastbank::device_reset() +{ +} + +uint8_t mpu4_characteriser_bl_blastbank::read(offs_t offset) +{ + uint8_t ret = 0x00; + + switch (m_prot_col) + { + case 0x00: ret = 0xb8; break; + case 0x01: ret = 0xa8; break; + case 0x02: ret = 0x88; break; + case 0x03: ret = 0x8c; break; + case 0x04: ret = 0x9c; break; + case 0x05: ret = 0xbc; break; + } + ret ^= m_retxor; + + logerror("%s: bootleg Characteriser read offset %02x returning %02x\n", machine().describe_context(), offset, ret); + + return ret; +} + +void mpu4_characteriser_bl_blastbank::write(offs_t offset, uint8_t data) +{ + logerror("%s: bootleg Characteriser write offset %02x data %02x\n", machine().describe_context(), offset, data); + m_prot_col = data; +} + + + + diff --git a/src/mame/machine/mpu4_characteriser_bootleg.h b/src/mame/machine/mpu4_characteriser_bootleg.h new file mode 100644 index 00000000000..70402a4172b --- /dev/null +++ b/src/mame/machine/mpu4_characteriser_bootleg.h @@ -0,0 +1,81 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood + +#ifndef MAME_MACHINE_MPU4_CHARACTERISER_BL_H +#define MAME_MACHINE_MPU4_CHARACTERISER_BL_H + +#pragma once + +#include "cpu/m6809/m6809.h" + +// bootleg protection +DECLARE_DEVICE_TYPE(MPU4_CHARACTERISER_BL, mpu4_characteriser_bl) + +// is this a bootleg, or a much earlier official protection, it's more than just a fixed return value at least +// but has only been seen on 2 games +DECLARE_DEVICE_TYPE(MPU4_CHARACTERISER_BL_BLASTBANK, mpu4_characteriser_bl_blastbank) + +class mpu4_characteriser_bl : public device_t +{ +public: + // construction/destruction + mpu4_characteriser_bl(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mpu4_characteriser_bl(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + + template void set_cpu_tag(T&& tag) + { + m_cpu.set_tag(std::forward(tag)); + } + + void set_allow_6809_cheat(bool allow) + { + m_allow_6809_cheat = allow; + } + + void set_bl_fixed_return(uint8_t ret) + { + m_blfixedreturn = ret; + } + + uint8_t read(offs_t offset) + { + logerror("%s: bootleg Characteriser read offset %02x\n", machine().describe_context(), offset); + return m_blfixedreturn; + } + + void write(offs_t offset, uint8_t data) + { + logerror("%s: bootleg Characteriser write offset %02x data %02x\n", machine().describe_context(), offset, data); + } + +protected: + virtual void device_start() override; + virtual void device_reset() override; + +private: + optional_device m_cpu; // needed for some of the protection 'cheats' + bool m_allow_6809_cheat; + uint8_t m_blfixedreturn = 0; +}; + +class mpu4_characteriser_bl_blastbank : public device_t +{ +public: + // construction/destruction + mpu4_characteriser_bl_blastbank(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + + virtual uint8_t read(offs_t offset); + virtual void write(offs_t offset, uint8_t data); + + void set_retxor(uint8_t retxor) { m_retxor = retxor; } + +protected: + virtual void device_start() override; + virtual void device_reset() override; + + uint8_t m_retxor = 0x00; + + int m_prot_col = 0; +}; + +#endif // MAME_MACHINE_MPU4_CHARACTERISER_BL_H diff --git a/src/mame/machine/mpu4_characteriser_pal.cpp b/src/mame/machine/mpu4_characteriser_pal.cpp new file mode 100644 index 00000000000..a57e29e0076 --- /dev/null +++ b/src/mame/machine/mpu4_characteriser_pal.cpp @@ -0,0 +1,288 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, James Wallace + +/* +Characteriser (CHR) + +As built, the CHR is a PAL which can perform basic bit manipulation according to +an as yet unknown unique key. However, the programmers decided to best use this protection device in read/write/compare +cycles, storing almost the entire 'hidden' data table in the ROMs in plain sight. Only later rebuilds by BwB +avoided this 'feature' of the development kit, and will need a different setup. + +This information has been used to generate the CHR tables loaded by the programs, until a key can be determined. + +For most Barcrest games, the following method was used: + +The initial 'PALTEST' routine as found in the Barcrest programs simply writes the first 'call' to the CHR space, +to read back the 'response'. There is no attempt to alter the order or anything else, just +a simple runthrough of the entire data table. The only 'catch' in this is to note that the CHR chip always scans +through the table starting at the last accessed data value, unless 00 is used to reset to the beginning. This is obviously +a simplification, in fact the PAL does bit manipulation with some latching. + +However, a final 8 byte row, that controls the lamp matrix is not tested - to date, no-one outside of Barcrest knows +how this is generated, and currently trial and error is the only sensible method. It is noted that the default, +of all 00, is sometimes the correct answer, particularly in non-Barcrest use of the CHR chip, though when used normally, +there are again fixed call values. + +Apparently, just before the characteriser is checked bit 1 at 0x61DF is checked and if zero the characteriser +check is bypassed. This may be something to look at for prototype ROMs and hacks. + +*/ + +#include "emu.h" + +#include "mpu4_characteriser_pal.h" + +DEFINE_DEVICE_TYPE(MPU4_CHARACTERISER_PAL, mpu4_characteriser_pal, "mpu4chrpal", "Barcrest MPU4 Characteriser PAL") + +mpu4_characteriser_pal::mpu4_characteriser_pal(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : mpu4_characteriser_pal(mconfig, MPU4_CHARACTERISER_PAL, tag, owner, clock) +{ +} + +mpu4_characteriser_pal::mpu4_characteriser_pal(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, type, tag, owner, clock), + m_current_chr_table(nullptr), + m_prot_col(0), + m_cpu(*this, finder_base::DUMMY_TAG), + m_allow_6809_cheat(false), + m_allow_68k_cheat(false), + m_current_lamp_table(nullptr), + m_lamp_col(0), + m_4krow(0), + m_is_4ksim(false), + m_protregion(*this, "fakechr") +{ +} + +void mpu4_characteriser_pal::device_start() +{ + for (int i=0;i<64;i++) + m_temp_debug_table[i] = 0x00; + + m_temp_debug_write_count = 0; +} + +void mpu4_characteriser_pal::device_reset() +{ +} + +// this is the challenge table used for all official Barcrest games +// NOTE: some values are repeated, response search continues from last found value +static uint8_t challenge_table[64] = { 0x00, 0x1A, 0x04, 0x10, 0x18, 0x0F, 0x13, 0x1B, 0x03, 0x07, 0x17, 0x1D, 0x36, 0x35, 0x2B, 0x28, + 0x39, 0x21, 0x22, 0x25, 0x2C, 0x29, 0x31, 0x34, 0x0A, 0x1F, 0x06, 0x0E, 0x1C, 0x12, 0x1E, 0x0D, + 0x14, 0x0A, 0x19, 0x15, 0x06, 0x0F, 0x08, 0x1B, 0x1E, 0x04, 0x01, 0x0C, 0x18, 0x1A, 0x11, 0x0B, + 0x03, 0x17, 0x10, 0x1D, 0x0E, 0x07, 0x12, 0x09, 0x0D, 0x1F, 0x16, 0x05, 0x13, 0x1C, 0x02, 0x00 }; + +// some earlier games use this challenge table, where bit 0x20 is never set.. +// is there a difference in behavior? +#if 0 +static uint8_t challenge_table2[64] = { 0x00, 0x1A, 0x04, 0x10, 0x18, 0x0F, 0x13, 0x1B, 0x03, 0x07, 0x17, 0x1D, 0x16, 0x15, 0x0B, 0x08, + 0x19, 0x01, 0x02, 0x05, 0x0C, 0x09, 0x11, 0x14, 0x0A, 0x1F, 0x06, 0x0E, 0x1C, 0x12, 0x1E, 0x0D, + 0x14, 0x0A, 0x19, 0x15, 0x06, 0x0F, 0x08, 0x1B, 0x1E, 0x04, 0x01, 0x0C, 0x18, 0x1A, 0x11, 0x0B, + 0x03, 0x17, 0x10, 0x1D, 0x0E, 0x07, 0x12, 0x09, 0x0D, 0x1F, 0x16, 0x05, 0x13, 0x1C, 0x02, 0x00, }; +#endif + +void mpu4_characteriser_pal::protection_w(uint8_t data) +{ + logerror("%s Characteriser protection_w data %02x\n", machine().describe_context(), data); + + if (data == 0) + { + m_prot_col = 0; + m_4krow = 0; + } + else + { + if (m_is_4ksim) + { + m_prot_col = data & 0x3f; // 6-bit writes (upper 2 bits unused) + } + else + { + for (int x = m_prot_col; x < 64; x++) + { + uint8_t call = challenge_table[x]; + + // ignore bit 0x20 and above (see note above about alt challenge table) + // note, the 4k tables used by the quiz games suggest this bit DOES change the sequence + // at least on some of the PALs, maybe later ones had an extra input line? + if ((call & 0x1f) == (data & 0x1f)) + { + m_prot_col = x; + logerror("Characteriser find column %02x\n", m_prot_col); + break; + } + } + } + } +} + + + + +void mpu4_characteriser_pal::lamp_scramble_w(uint8_t data) +{ + switch (data) + { + case 0x00: + m_lamp_col = 0; + break; + + case 0x01: + m_lamp_col = 1; + break; + + case 0x04: + m_lamp_col = 2; + break; + + case 0x09: + m_lamp_col = 3; + break; + + case 0x10: + m_lamp_col = 4; + break; + + case 0x19: + m_lamp_col = 5; + break; + + case 0x24: + m_lamp_col = 6; + break; + + case 0x31: + m_lamp_col = 7; + break; + } + + logerror("%s Characteriser lamp_scramble_w data %02X (picking column %d)\n", machine().describe_context(), data, m_lamp_col); +} + +void mpu4_characteriser_pal::write(offs_t offset, uint8_t data) +{ + switch (offset) + { + case 0x00: + protection_w(data); + break; + + case 0x02: + lamp_scramble_w(data); + break; + } +} + +uint8_t mpu4_characteriser_pal::protection_r() +{ + if (m_allow_6809_cheat || m_allow_68k_cheat) + { + uint8_t ret = 0x00; + if (m_allow_6809_cheat) + { + /* a cheat ... many early games use a standard check */ + int addr = m_cpu->state_int(M6809_X); + if ((addr >= 0x800) && (addr <= 0xfff)) return 0x00; // prevent recursion, only care about ram/rom areas for this cheat. + + ret = m_cpu->space(AS_PROGRAM).read_byte(addr); + logerror("%s: Characteriser protection_r WITH 6809 CHEAT (col is %02x returning %02x from addr %04x)\n", machine().describe_context(), m_prot_col, ret, addr); + } + else if (m_allow_68k_cheat) + { + ret = m_cpu->state_int(M68K_D0) & 0xff; + logerror("%s: Characteriser protection_r WITH 68000 CHEAT (col is %02x returning %02x)\n", machine().describe_context(), m_prot_col, ret); + } + + + if (IDENTIFICATION_HELPER) + { + m_temp_debug_table[m_prot_col] = ret; + + if (m_temp_debug_write_count <= 64) + m_temp_debug_write_count++; + + if (m_temp_debug_write_count == 64) + { + logerror("Characteriser Sequence:\n"); + for (int i = 0; i < 64; i++) + { + logerror("%02x ", m_temp_debug_table[i]); + } + logerror("\n"); + } + } + + return ret; + } + + // not cheating, but no table set + if (!m_current_chr_table && !m_protregion) + { + logerror("%s: Characteriser protection_r WITH NO TABLE\n", machine().describe_context()); + return 0x00; + } + + // use table + uint8_t ret = 0x00; + + if (m_current_chr_table) + { + ret = m_current_chr_table[m_prot_col]; + logerror("%s: Characteriser protection_r WITH PASSED TABLE (returning %02x)\n", machine().describe_context(), ret); + } + else if (m_protregion) + { + ret = m_protregion[m_4krow * 64 + m_prot_col]; + + // if we're simulating with a 4k table, the previous write selects + // the next set of 64 values to use. + if (m_is_4ksim) + { + m_4krow = ret; + ret <<= 2; + } + + logerror("%s: Characteriser protection_r WITH FAKE ROM (returning %02x)\n", machine().describe_context(), ret); + } + + return ret; +} + +uint8_t mpu4_characteriser_pal::lamp_scramble_r() +{ + if (!m_current_lamp_table && !m_protregion) + { + uint8_t ret = machine().rand(); + logerror("%s: Characteriser lamp_scramble_r WITH NO TABLE (table offset %02x, returning %02x)\n", machine().describe_context(), m_lamp_col, ret); + return ret; + } + else + { + uint8_t ret = 0x00; + + if (m_current_lamp_table) + { + ret = m_current_lamp_table[m_lamp_col]; + logerror("%s: Characteriser lamp_scramble_r WITH PASSED TABLE (table offset %02x, returning %02x)\n", machine().describe_context(), m_lamp_col, ret); + } + else if (m_protregion) + { + ret = m_protregion[m_lamp_col + 64]; + logerror("%s: Characteriser lamp_scramble_r WITH FAKE ROM (table offset %02x, returning %02x)\n", machine().describe_context(), m_lamp_col, ret); + } + + return ret; + } +} + +uint8_t mpu4_characteriser_pal::read(offs_t offset) +{ + switch (offset) + { + case 0x00: return protection_r(); + case 0x03: return lamp_scramble_r(); + } + return 0; +} diff --git a/src/mame/machine/mpu4_characteriser_pal.h b/src/mame/machine/mpu4_characteriser_pal.h new file mode 100644 index 00000000000..f3abc2da5ab --- /dev/null +++ b/src/mame/machine/mpu4_characteriser_pal.h @@ -0,0 +1,1432 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, James Wallace + +#ifndef MAME_MACHINE_MPU4_CHARACTERISER_PAL_H +#define MAME_MACHINE_MPU4_CHARACTERISER_PAL_H + +#pragma once + +#include "cpu/m6809/m6809.h" +#include "cpu/m68000/m68000.h" + +DECLARE_DEVICE_TYPE(MPU4_CHARACTERISER_PAL, mpu4_characteriser_pal) + +class mpu4_characteriser_pal : public device_t +{ +public: + // construction/destruction + mpu4_characteriser_pal(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + + template void set_cpu_tag(T &&tag) + { + m_cpu.set_tag(std::forward(tag)); + } + + void set_lamp_table(const uint8_t* table) + { + m_current_lamp_table = table; + } + + void set_character_table(uint8_t* table) + { + m_current_chr_table = table; + } + + void set_allow_6809_cheat(bool allow) + { + m_allow_6809_cheat = allow; + } + + void set_allow_68k_cheat(bool allow) + { + m_allow_68k_cheat = allow; + } + + void set_use_4k_table_sim(bool largetable) + { + m_is_4ksim = largetable; + } + + virtual uint8_t read(offs_t offset); + virtual void write(offs_t offset, uint8_t data); + + /* While some games use unique keys and lamp scrambles, several do write the same sequencesand expect the + same responses. It is possible PALs were reused. Sometimes the lamp tables are masked subsets, as + they were handcrafted when the layouts were made, they could also be incorrect in places. + + The code checking the responses always masks with 0xfc, so the real responses from the devices could + have the lowest 2 bits set depending on the device state, but this is ignored. + + Likewise the code to read the lamps typically masks out bits, so presumably the lamp scrambles for + some PAL types have been worked out from tests on real hardware? + + Some of the bits that aren't masked out on the lamp reads are not used for lamps, are these also used + for payout scrambling, as the later BWB games do in their own way? + + */ + + // these can be identified as games expecting a chr response starting with + // 00 84 94 3c ec 5c ec 50 2c 68 60 ac' + // Big Bandit (Nova) "BIG 0.4" + // Crown Jewels (German) "GCN 0.9" + // "GCN 1.1" + // Action Note "AN 1.2" + // Card Cash "CS 1.9" + // Bank A Note "BN 1.0" + // Money Maker "MMK 1.6" + // Dutch Wild Mystery "DWM 1.8" + // Let The Good Times Roll "GTR 2.0" + // "GTS 1.0" + // "GTS 0.2" + // "GTR 1.1" + // Jackpot Gems "RRH 0.1 / CG4 0.1" + // Jackpot Gems Classic "GTC 0.1 / CG4 0.1" + // "HGE 0.1 / CG4 0.1" + // Jolly Gems "GEM 0.7" + // "GMS 0.5" + // Hit The Top "HT2 0.1" + // "HT5 0.1" + // Nudge Nudge Wink Wink Classic "CN3 0.2 / NN4 0.2" + // "CF3 0.2 / NN4 0.2" + // "CH3 0.2 / NN4 0.2" + // "CH3 0.1 / NN4 0.1" + // Ready Steady Go "RGO 0.8" + // "CGO 1.1" + // "DRR 0.2" + // "HJJ 0.1" + // "HJJ 0.2" + // "PPL 0.2" + // "RGT 1.0" + // Magnificent 7s "MA7 1.6" + // "MAS 1.3" + // Make A Mint "MAM 0.4" + // "MMG 0.5" + // Pot Black "PBS 0.6" + // "PBG 1.6" + // Place Your Bets "PYB 0.7" + // "PYH 0.6" + // Cloud Nine "CT3 0.2" + // "CT2 0.2" + // "CT5 0.2" + // Tutti Fruity "F1U 0.1" + // "F2U 0.1" + // "F3U 0.1" + // Cash Attack "CSA 1.2" + // "CAA 2.3" + // Red Hot Roll "HHN 0.2 / CR4 0.2" + // "CLD 0.3 / CRU 0.3" + // "HHN 0.3 / CR4 0.3" + // "RRD 0.3 / CR4 0.3" + // Up Up and Away "UPS 2.2" + // "UUA 2.2" + // Hi Jinx "JNX 1.0" + // "JNS 0.3" + // Cash Lines "CLS 0.4" + // "CLI 1.2" + // Lucky Strike "LSS 0.7" + // "LST 1.0" + // 10 X 10 "T2T 0.1" + // "T3T 0.1" + // "TST 0.1" + // Boulder Dash "BLD 1.0" + // "BLS 0.2" + // Hot Rod "ROD 0.4" + // Buccaneer "BUG 0.5" + // "BUS 0.2" + // Bagatelle "EL1 0.1" + // "EL2 0.1" + // "EL3 1.0" + // The Crystal Dome "CD2 1.2" + // "CD2 1.0" + // "CD2 0.2" + // Cash Machine "CMA 0.8" + // "CMH 0.7" + // Top Tenner "TTS 0.4" + // "TTH 1.1" + // "TTH 1.2" + // Ten Out Of Ten "TOC 0.4" + // "TOT 0.6" + // Everyone's A Winner "ENN 0.1 / ER4 0.1" + // "EON 0.1 / ER4 0.1" + // "EUN 0.1 / ER4 0.1" + // Let The Good Times Roll "GTR 2.0" + // "GTS 1.0" + // "GTS 0.2" + // "GTR 1.1" + // Super Streak "CS4 0.2 / CSP 0.2" + // "CS4 0.2 / EEH 0.2" + // "CS4 0.2 / STC 0.2" + // "STC 0.1" + static constexpr uint8_t m4dtri98_characteriser_prot[8] = { 0x03, 0xAF, 0x87, 0xAB, 0xA3, 0x8F, 0x87, 0x83 }; + + + // games with sequence starting + // 00 24 24 2C E0 B4 B8 4C E8 D8 (m4eaw__a9 etc.) + // Over The Moon "OT8 0.1" + // "OTN 0.5" + // Lucky Strike Club "CLU 1.4" + // "GLS 0.6" + // "GS3 0.1" + // "LS3 0.1" + // Cash Machine "CMA 0.7" + // "CMH 0.6" + // "CMH 0.2" + // Everyone's A Winner "ER8 0.1" + // "ER4 0.2" + // "CET 0.3 / ER4 0.3" + // "CEU 0.2 / ER4 0.2" + // Jokers Millenium 300 "DJO 0.1" + // Dragon (Nova) "DGL 0.1" + // Red Alert "R2T 3.3" + // Red Alert "RAH 3.3" + static constexpr uint8_t m683_characteriser_prot[8] = { 0x03, 0xAF, 0x27, 0x8F, 0x0F, 0xA7, 0x27, 0x07 }; + + + // games with sequence starting 00 44 44 4c e0 d4 d8 2c e8 b8 (m4overmn) + // Over The Moon "OTT 0.2" + // "OTU 0.1" + static constexpr uint8_t otm_characteriser_prot[8] = { 0x00, 0x4C, 0x44, 0x04, 0x38, 0x74, 0x74, 0x20 }; + + + // games with sequence starting + // 00 30 20 14 2c a0 54 24 3c 9c 9c 9c + // Take Your Pick Club "CTP 1.2" + // "CTP 1.3" + // "NTP 0.2" + // Road Hog Club "RHC 0.5" + // Andy Capp "C2T 0.2" + // "C2T 0.1" + // "C5T 0.1" + // Make A Mint "MAM 0.3" + // "MMG 0.4" + // "MMG 0.2" + // Take Your Pick "TAP 0.6" + // Runaway Trail "R4T 1.1" + // "R4T 1.3" + // Dutch Top Action "TA 2.2" (only one set) + // Dutch Hold On "DHO 2.5" + static constexpr uint8_t m441_characteriser_prot[8] = { 0x03, 0x3F, 0x33, 0x1F, 0x17, 0x3B, 0x33, 0x13 }; + // 00 38 30 18 14 3C 34 14 + // 00 38 30 18 10 38 30 14 + + + // games with sequence starting 00 c4 c4 44 c4 44 44 c4 cc 3c + // this seems to be the same sequence as the MPU4 Video game 'Strike It Lucky' where we're having to use a 4k table for the question scramble + // Road Hog 2 - I'm Back "2RH 0.6" + // Red Hot Roll Club "RH2 1.1" + // "RH2 1.0" + // Dennis The Menace "DM5 0.1" + // "DMT 0.1" + // Run For Your Money "RUN 0.5" + // "APR 0.1" + // "RU8 0.1" + // Prize Run For Your Money "PRU 0.2" + // "RM8 0.1" + // Dutch American Highway "DAH 2.0" + static constexpr uint8_t m462_characteriser_prot[8] = { 0x03, 0xC3, 0xC7, 0x4F, 0x47, 0xE7, 0xC7, 0x47 }; + // 04 44 44 48 40 60 40 40 rhog2 + + + // games with sequence starting + // 00 64 64 24 64 64 24 64 6C 9C BC + // Lucky Strike Club "LSC 1.0" + // Winner Takes All "WN5 0.1" + // "WNT 0.1" + // Jackpot Gems "JGT 0.3" + // "JGU 0.2" + // Rich & Famous "RAF 0.3" + // "RF8 0.1" + // Prize Rich & Famous "PR8 0.1" + // Lazy Bones "LBD 1.0" + // "LBD 1.2" + static constexpr uint8_t wta_characteriser_prot[8] = { 0x00, 0x64, 0x60, 0x28, 0x20, 0x70, 0x60, 0x20 }; + + + // games with sequence starting + // 00 24 24 a4 4c 10 88 50 a8 d8 9c + // Games Bond 006 "006 0.6" + // Jackpot Gems "CG4 0.7" + // "CGT 0.3 / CG4 0.3" + // "CGT 0.1 / CG4 0.1" + // "CGU 0.2 / CG4 0.2" + // "JG8 0.1" + // "JAG 0.4" + // Double 9's "DU9 1.0" + // Top Stop "TSP 0.5" + static constexpr uint8_t du91_characteriser_prot[8] = { 0x03, 0xAF, 0x27, 0x8F, 0x87, 0x2F, 0x27, 0x07 }; + // 00 28 20 08 00 28 20 00 gb006 + + + // games with sequence starting 00 90 C0 54 8C 68 24 90 CC 6C 24 9C BC 34 88 6C + // Supa Slot "S4S 1.0" + // Dutch Stardust "DSD 1.3" + // Road Hog "RR6 1.2" + // "RR6 1.1" + // Ace Chase "AE5 3.0" + // "AE10 3.0" + // "AE 1.0" + // "AE20 3.0" + static constexpr uint8_t rr6_characteriser_prot[8] = { 0x00, 0x18, 0x10, 0x18, 0x10, 0x18, 0x10, 0x14 }; + + + // games with sequence starting 00 30 20 14 64 30 44 30 64 34 00 74 20 + // Dutch Turbo Reel Deluxe "DTU 3.0" + // Club Climber "C1C 3.3" + // "CC 4.5" + // Reel 2 Reel "RR 3.0" + // Road Hog "RO_ 3.0" + // Jackpot Gems "JG3 0.1" + static constexpr uint8_t rhm_characteriser_prot[8] = { 0x00, 0x70, 0x30, 0x50, 0x10, 0x70, 0x30, 0x10 }; + + + // games with sequence starting + // 00 a0 a8 18 f4 2c 70 60 e4 e8 + // Dutch Samurai "DSM 1.0" + // Jolly Taverner "JT__ 2.0" + // Ready Steady Go "RSG 1.2" + // "R4G 1.0" + // Stop the Clock "SC 2.5" + // Viva Espana "EP8 0.1" + // "ESP 0.3" + // "ESP 0.2" + // Viva Espana Showcase "SE8 0.1" + // "SES 0.2" + // Prize Viva Espana "PES 0.4" + // "PE8 0.1" + // Place Your Bets "PYB 0.6" + // "PYH 0.5" + // Lucky Las Vegas "LL3 0.1" + // "LLT 0.3" + // "LLU 0.1" + // Fast Forward "SFF 3.0" + // Ghost Buster "GB 5.0" + // "GB 4.0" + // "GB 3.0" + // "GB 2.0" + // Spotlight (Nova) (German) "GSP 0.1" + // Club X "CLX 1.2" + // Dutch Magic Liner "DMA 2.1" + // Spend Spend Spend "SP5 1.0" (uses different lamp scramble!) + // "SP101.0" (uses different lamp scramble!) + static constexpr uint8_t viva_characteriser_prot[8] = { 0x03, 0xE7, 0xA3, 0xC7, 0xC3, 0xA7, 0xA3, 0xC3 }; + // place your bets (same as above, but with unused lamp bits masked out, except for 0x24?) + // static constexpr uint8_t viva_characteriser_prot[8] = { 0x00, 0x60, 0x20, 0x40, 0x40, 0x24, 0x20, 0x40 }; + // spend spend spend - This is unusual because the 2nd value DOES need to be different, bit 0x20 can't be set + // or the 2nd reel will be in the wrong place. Does this indicate the lamp reading is more complex than + // we believe, or are there 2 parts with the same sequence and one value different? + static constexpr uint8_t viva_sss_characteriser_prot[8] = { 0x00, 0x40, 0x20, 0x40, 0x40, 0x20, 0x20, 0x40 }; + + // games with sequence starting + // 00 e0 a8 38 94 48 50 60 e4 e8 58 f0 68 14 60 c4 a8 5c f4 28 34 60 a0 e8 1c f0 68 30 04 c0 8c 1c b4 68 14 04 c0 a8 18 d0 0c 14 44 84 a8 5c d4 6c 74 04 c0 e8 38 d4 4c 14 44 e0 e8 3c b4 0c 74 00 + // Super Hyper Viper "HVP 3.0" + // "HVP 4.0" + // Calamari Club "CAC 0.3" + // "CA3 0.1" + // Hi Jinx "JNS 0.2" + // "JNX 0.5" + static constexpr uint8_t m407_characteriser_prot[8] = { 0x03, 0xC7, 0x83, 0xC3, 0xC3, 0xA3, 0x83, 0xC3 }; + + + // games with sequence starting + // 00 24 24 2c 70 20 0c 60 3c 5c 5c 5c 7c 4c 68 + // Andy Loves Flo "AL8 0.1" + // "ALF 2.0" + // Duty Free "DF5 0.3" + // "DFT 0.1" + // "XD5 0.2" + // "XD5 0.1" + // "XFT 0.1" + // Give Us A Clue "C20 0.2" + // "C25 0.4" + // Prize Spend Spend Spend "PS3 0.2" + // Crown Jewels Club "CJC 1.5" + // "CJN 0.2" + // Crown Jewels Mk II Club "CJ2 1.4" + static constexpr uint8_t duty_characteriser_prot[8] = { 0x00, 0x38, 0x24, 0x18, 0x08, 0x34, 0x20, 0x00 }; + + + // games with sequence starting + // 00 84 94 5c ec 3c ec 30 4c 68 60 cc + // Andy's Big Time Club "ABT 1.8" + // "ABT 1.5" + // Calamari Club "BC3 0.2" + // "BCA 0.4" + // "BCA 0.2" + // Duty Free "DUT 0.4" + // "DF8 0.1" + // Showcase Duty Free "SDF 0.2" + // "SD8 0.1" + // Prize Duty Free "PDU 0.2" + // "PD8 0.2" + // Run For Your Money "AP1 0.1" + // "AP5 0.2" + // "RU5 0.1" + // "RUT 0.1" + // Loads A Money "LA 1.0" + // "LA 1.1" + // Dutch Show Timer "DSH 1.3" + // Dutch Megalink "DML 2.0" + // Club Connect "CON 1.2" + // "CON 1.1" + // "CON 1.0" + // "CON 1.5" + static constexpr uint8_t andybt_characteriser_prot[8] = { 0x00, 0x48, 0x00, 0x48, 0x44, 0x08, 0x00, 0x00 }; + + + // games with sequence starting + // 00 50 40 90 a8 6c c4 30 c8 + // Turbo Play "CTP 0.4" + // "ZTP 0.7" + // Golden Years (Nova) (German) "TGY 0.1" + // Chase Invaders "CI2 0.1" + // Super Play (Czech) "XSP 0.8" + // Up Up and Away "UPS 2.1" + // "UUA 2.1" + // Andy Loves Flo "ALT 0.4" + // "ALU 0.3" + // Road Hog "RO_ 2.0" + // "RO_ 1.0" + // Dennis The Menace "DEN 1.2" + // "DM8 0.1" + // Let The Good Times Roll "GTA 0.1" + // "GTR 1.0" + // "GTS 0.1" + // "GTK 0.2" + // Eighth Wonder "WON 2.2" + // Mirage "RAG 4.1" + // Super Tubes "S4T 1.0" + static constexpr uint8_t alf_characteriser_prot[8] = { 0x00, 0x58, 0x50, 0x1C, 0x10, 0x58, 0x50, 0x10 }; + // 03 DB 53 9B 93 5B 53 13 + + + // games with sequence starting + // 00 84 A4 AC 70 80 2C C0 BC 5C + // California Club "CA2 1.0" + // "CAL 2.0" + // Tropicana Club "TRO 2.0" + // "TR2 1.1" + // Viva Espana "VE5 0.2" + // "VET 0.2" + // Berserk "BES 0.6" + // "BE8 0.1" + // Andy's Great Escape "AN2 0.3" + // "A28 0.1" + // Winner Takes All "WIN 0.6" + // "WN8 0.1" + // Prize Winner Takes All "PWN 0.4" + // "PW8 0.2" + // Club Shuffle "CSS 1.0" + static constexpr uint8_t shuffle_characteriser_prot[8] = { 0x00, 0x18, 0x00, 0x18, 0x08, 0x10, 0x00, 0x00 }; + + + // games with sequence starting + // 00 44 44 54 34 04 54 14 34 14 20 74 04 60 + // Andy's Great Escape "AGC 2.0" + // Everyone's A Winner "ER2 0.1" + // "ERT 0.2" + // Nudge Banker "SBN 2.0" + // "NBN 1.0" + // "SBN 1.1" + // Club Vegas "CLA 2.4" + // Tic Tac Take "TIC 2.0" + // Dutch Nudge Up "DNU 2.5" + // Dutch Big Chief "BCH 1.5" + // Action Pack "AP 0.4" + // "AP 0.5" + static constexpr uint8_t clbveg_characteriser_prot[8] = { 0x00, 0x70, 0x40, 0x70, 0x50, 0x60, 0x40, 0x40 }; + + + // games with sequence starting + // 00 84 C4 E4 4C 10 28 90 E8 78 34 + // Viva Las Vegas "VLV 1.1" + // "VLV 1.0" + // Cash Counter "C3 2.4" + // "C3 1.8" + // "CO 0.5" + // "C3 3.1" + // "C3 2.0" + // Dutch Black Jack Club "DBC 1.1" + // Jackpot Jump "VJC 2.0" + // "VJC 1.3" + static constexpr uint8_t vivlv_characteriser_prot[8] = { 0x00, 0x28, 0x00, 0x28, 0x20, 0x08, 0x00, 0x00 }; + // 00 28 00 28 24 14 00 00 m4jpjmp has this lamp scramble for it + + + // games with sequence starting 00 84 8c b8 74 80 1c b4 d8 74 00 d4 c8 78 a4 4c e0 dc f4 88 + // Celebration Club "CEL 1.5" + // Dutch Jolly Joker "DJJ 1.5" + // Night Spot Club "NS2 2.2" + // "NIT 1.1" + static constexpr uint8_t celclb_characteriser_prot[8] = { 0x00, 0x50, 0x00, 0x50, 0x10, 0x40, 0x04, 0x00 }; + + + // games with sequence starting 00 14 10 C0 8C A8 68 30 D0 58 E4 DC F4 + // Nudge Nudge Wink Wink "NNU 5.2" + // "NNU 4.0" + // Cash Matrix "CM 1.7" + static constexpr uint8_t cashmx_characteriser_prot[8] = { 0x04, 0x50, 0x10, 0x60, 0x60, 0x30, 0x30, 0x14 }; + + + // games with sequence 00 14 04 94 c8 68 a0 18 f4 8c e8 ec ac a8 6c 20 54 c4 dc + // Nickelodeon "NIL 4.1" + // Dutch Black Jack "BJ 1.6" + // Viz "VIZ 0.6" + // "VIZ 0.3" + // "VIZ 0.2" + static constexpr uint8_t viz_characteriser_prot[8] = { 0x00, 0x50, 0x10, 0x54, 0x14, 0x50, 0x10, 0x14 }; + + + // games with sequence + // 00 e4 ec f8 54 08 d0 80 44 2c 58 b4 e8 b0 80 + // Nifty Fifty "NF 2.0" + // "NF 2.1" + // Supa Silva "SS2V 1.0" + // Dutch Ambassador "DAM 3.7" + // Nudge Nudge Wink Wink Classic "CNN 2.0" + static constexpr uint8_t nifty_characteriser_prot[8] = { 0x03, 0xE7, 0xA7, 0x87, 0xE7, 0x07, 0xA7, 0xE7 }; + + + // games with sequence + // 00 84 a4 e4 b0 34 54 44 d4 64 80 f4 24 80 f4 20 + // Millionaire's Club "MI2 1.0" + // "MIL 5.0" + // Cash Attack "CSA 1.1" + // "CAA 2.2" + // Ten Out Of Ten "TOC 0.3" + // "TOT 0.5" + // "TOC 0.1" + static constexpr uint8_t milclb_characteriser_prot[8] = { 0x00, 0x54, 0x00, 0x54, 0x40, 0x10, 0x00, 0x00 }; + + + // games with sequence 00 44 44 c4 58 60 c0 50 8c b8 e0 dc ec b0 1c e8 38 + // Nudge Quest "NQ 2.0" + // Fruit Full Club "FFC 0.3" + // "FFC 1.0" + // "FFC 1.2" + // Fruit Link Club "FLC 1.8" + // "FLC 1.6" + // Octopus (Nova) (German) "OCT 0.3" + // Jolly Gems "GEM 0.5" + // "GEM 0.6" + // "GMS 0.4" + // "GMS 0.3" + static constexpr uint8_t fruitfall_characteriser_prot[8] = { 0x03, 0xCF, 0x47, 0xCB, 0xC3, 0x4F, 0x47, 0x43 }; + + + // games with sequence + // 00 60 68 bc d0 2c 94 20 e4 e8 bc f0 88 34 a0 c4 ec bc f4 + // Multiplay Club "MP 2.8" + // Stake Up Club "SU 4.4" + // "SU 4.8" + // Dutch Hold Timer "DHT 1.0" + // Extra Game "CEG 2.0" + // Dutch Tomahawk "DTK 2.3" + // Dutch Top Timer "DTT 1.8" + // Dutch Universe "DUN 2.0" + // Fruit Game "FRU 2.0" + static constexpr uint8_t m400_characteriser_prot[8] = { 0x03, 0xE7, 0x43 ,0xC3, 0xC3 ,0xE3, 0x43, 0xC3 }; // does anything using this have lamp scramble or was this extracted with tests? + + + // games with sequence + // 00 bc b8 fc bc dc fc fc fc f8 d8 b8 f8 d8 fc bc fc 98 fc f8 f8 + // Interceptor "INT 3.0" + // Omega "DOM 2.3" + // Grab The Bank "G4B 2.0" + // "G4B 2.1" + // Smash 'n' Grab "SAG 1.0" + // "SAG 3.4" + // Sun Club "SUC 0.2" + // Dutch Top Deck "DT 2.6" + static constexpr uint8_t intcep_characteriser_prot[8] = { 0x00, 0x1C, 0x38, 0x78, 0x7C, 0x78, 0x38, 0x7C }; + + + // games with sequence + // 00 50 40 14 C4 B0 A4 30 C4 74 00 D4 E0 30 C0 34 + // Top Tenner "TP 2.7" + // Take Two "TTO 1.2" + // Dutch First Class "DFC 2.0" + // Red Hot Roll "CR4 0.9" + // "CRT 0.3 / CR4 0.3" + // "CRU 0.1" + // "RH8 0.1" + // "RHR 0.3" + // "RHT 0.3" + // "RHU 0.2" + // "RHR 5.0" + // "RHR 2.0" + // Rich & Famous "RFT 0.2" + // "RF5 0.2" + // Prize High Roller "PRL 0.3" + static constexpr uint8_t take2_characteriser_prot[8] = { 0x00, 0x50, 0x50, 0x10, 0x10, 0x50, 0x50, 0x00 }; + + + // games with sequence + // 00 50 40 14 4C 80 34 44 5C 9C 9C 9C DC 9C DC 94 + // Alphabet "A4B 1.0" + // Dutch Voodoo 1000 "DDO 3.2" + // Monte Carlo "NM8 0.1" + // "NMN 0.1" + // Prize Monte Carlo "MSS 1.6" + // "MC 53.0" + // "MC103.0" + static constexpr uint8_t m435_characteriser_prot[8] = { 0x03, 0x5F, 0x53, 0x1F, 0x17, 0x5B, 0x53, 0x13 }; + + + // games with sequence 00 84 8C D8 74 80 4C 90 E8 78 54 60 84 + // Adders & Ladders Classic Club "ADC 1.1" + // "ADC 0.5" + // Cash Zone "CAZ 1.2" + // "CAZ 1.5" + // Escalera Tobogan "ESC1" + static constexpr uint8_t m578_characteriser_prot[8] = { 0x00, 0x60, 0x00, 0x60, 0x40, 0x20, 0x00, 0x00 }; + + + // games with sequence + // 00 c0 c8 1c f4 68 14 50 70 50 20 f0 48 34 60 + // Hyper Viper Club "HPC 0.5" + // Mega Bucks "BUC 4.1" + // "BUC 3.1" + // Action Bank "AC3.0" + // "ACT2.0" + // Dutch Road Runner "DRO 1.9) + // Dutch Gun Smoke "DGU 1.6" + // Andy Capp "ACC52.0" + // Andy's Great Escape "A2T 0.1" + // "A5T 0.1" + static constexpr uint8_t age_characteriser_prot[8] = { 0x00, 0x74, 0x44, 0x34, 0x14, 0x64, 0x44, 0x00 }; + + + // games with sequence starting 00 60 60 C0 58 44 E0 50 A8 9C CC BC E4 50 A0 58 + // Sunset Boulevard "SBU 2.0" + // Blackjack Super Multi "SM H1.6" + static constexpr uint8_t sunsetb_characteriser_prot[8] = { 0x03, 0xEB, 0x63, 0xCB, 0xC3, 0x6B, 0x63, 0x43 }; + + + // games with sequence starting 00 60 60 a0 38 64 e0 30 c8 9c ac dc ec 94 d8 a4 38 ec + // Blackjack Club "C2J 1.8" + // "C2J 2.1" + static constexpr uint8_t bjac_characteriser_prot[8] = { 0x00, 0x68, 0x60, 0x28, 0x20, 0x68, 0x60, 0x20 }; + + + // games with sequence starting 00 88 70 14 1c c0 a4 a0 bc d4 30 14 18 d4 2c 50 1c + // Magnificent 7s "MAS 1.2" + // "MA7 1.4" + // "MA7 1.5" + // Crazy Casino (Nova) (German) "CRZ 0.3" + static constexpr uint8_t mag7s_characteriser_prot[8] = { 0x03, 0x9F, 0x0F, 0x17, 0x03, 0x1B, 0x8F, 0x87 }; + + + // games with sequence starting 00 44 44 54 d0 88 38 74 d0 58 + // Ooh Aah Dracula "DR_ 2.0" + // "DR_ 2.1" + // Super Streak Classic "CSS 6.0" + // "CSS 5.0" + // "CSS 2.0" + static constexpr uint8_t oad_characteriser_prot[8] = { 0x00, 0x50, 0x44, 0x14, 0x14, 0x44, 0x44, 0x00 }; + + + // games with sequence starting 00 18 70 24 38 58 74 0c 6c 64 + // Rocky Horror Show "RH__4.0" + // "RH__6.0" + static constexpr uint8_t rhs_characteriser_prot[8] = { 0x00, 0x3C, 0x18, 0x30, 0x10, 0x3C, 0x18, 0x10 }; + + + + + // games with sequence starting 00 0c 50 90 b0 38 d4 a0 bc d4 30 90 38 c4 ac 70 + // Gamball "GBB 2.0" + // "GAB 2.0" + static constexpr uint8_t gambal_characteriser_prot[8] = { 0x00, 0x18, 0x08, 0x10, 0x00, 0x18, 0x08, 0x00 }; + + + // Games with sequence starting + // 00 60 60 44 e0 e8 1c 74 a4 6c 14 84 e8 1c f4 08 b0 ac bc d0 8c 9c f0 28 b0 8c 9c d0 08 14 00 44 e0 68 b0 08 94 88 9c 54 00 60 e4 ec 98 54 a4 e8 bc 54 a4 ec b8 d4 ac 98 d4 8c bc d0 8c 38 f4 00 + // used by + // Classic Adders & Ladders "A6L 0.1" + // Luxor "LUX 0.6" + // Prize Luxor (Barcrest) "PLX 0.2" + // Double Up " DU 1.5" + static constexpr uint8_t addr_characteriser_prot[8] = { 0x00, 0x60, 0x60, 0x40, 0x40, 0x60, 0x60, 0x40 }; // match output of unprotected bootlegs + + + // Games with sequence starting + // 00 a0 88 38 94 2c 30 00 e4 c8 18 b4 4c 30 20 c0 ec 7c f4 48 50 24 c0 a8 58 f4 08 10 20 c0 e8 7c f0 08 34 64 80 ac 58 90 68 14 64 c0 ec 78 b4 28 74 40 c0 ac 3c d4 4c 74 40 e4 c8 7c b4 08 74 00 + // used by + // Classic Adders & Ladders "ADD 1.0" + // "ADD 3.0" + // "ADD 4.0" + // "ADD 5.0" + // Squids In "SQ_ 2.0" + // Reel Poker "R2P 3.0" (lamp scramble not used) + static constexpr uint8_t squids_characteriser_prot[8] = { 0x00, 0x60, 0x20, 0x60, 0x40, 0x20, 0x20, 0x40 }; // match m4addr decodes for sets using this table + + + // Games with sequence starting + // 00 90 18 e4 a8 3c f4 48 74 50 20 f0 18 e4 98 e4 a8 7c f4 18 c4 c8 0c 74 10 60 d0 28 14 70 00 c0 b8 b4 68 44 d0 28 24 90 08 24 f0 78 f4 48 44 d0 78 c4 d8 e4 b8 e4 d8 c4 e8 7c d4 18 e4 98 f4 00 + // used by + // Spend Spend Spend "SX5 2.0" + // "SX102.0" + // Super Hyper Viper "H6Y 0.3" + // "H6Y 0.2" + // Golden Gate "DGG 2.2" (lamp scramble not used? currently not booting) + static constexpr uint8_t m450_characteriser_prot[8] = { 0x00, 0x70, 0x10, 0x60, 0x40, 0x30, 0x10, 0x00 }; + + + // Games with sequence starting + // 00 c0 e0 b0 38 c4 f0 30 58 9c 9c 9c dc 9c dc 94 38 dc dc 8c 3c 8c 64 c0 f0 38 9c 8c 64 d0 20 d0 68 44 c8 3c 9c 8c 3c d4 20 c0 f8 dc 9c 94 78 c4 f8 94 78 9c 8c 3c dc 94 38 9c dc 8c 74 00 d8 00 + // used by + // Viva Las Vegas "VL_ 2.0" + // Ten Ten Do It Again "TDA 0.4" + // Cloud Nine Club "CNC 2.1" + // Nudge Nudge Wink Wink "NN3 0.1" + // Cash Connect "CCO 3.2" + // Ring Of Fire "ROF 0.3" (lamp scramble not used) + // Twenty One "DTO 2.0" (lamp scramble not used) + static constexpr uint8_t tentendia_characteriser_prot[8] = { 0x00, 0x58, 0x40, 0x18, 0x10, 0x48, 0x40, 0x00 }; + + + // Games with sequence starting + // 00 90 a0 70 c8 2c c4 30 c8 6c 44 d8 dc 5c d4 60 98 dc dc 1c 54 40 10 88 ec ec 6c 84 b0 68 84 78 d4 e0 38 54 c0 38 1c d4 20 90 e8 ec 2c 84 f0 a0 f8 54 c8 ec ac 6c c4 70 c0 f8 d4 a0 70 00 d8 00 + // used by + // Tic Tac Toe "TT_ 2.0" + // "TT 1.0" + static constexpr uint8_t ttt_characteriser_prot[8] = { 0x00, 0x58, 0x10, 0x58, 0x50, 0x18, 0x10, 0x10 }; // lack of evidence, guessed based on logical lamp pattersn + + + // Games with sequence starting + // 00 90 c0 54 a4 f0 64 90 e4 d4 60 b4 c0 70 80 74 a4 f4 e4 d0 64 10 20 90 e4 f4 c4 70 00 14 00 14 a0 f0 64 10 84 70 00 90 40 90 e4 f4 64 90 64 90 e4 50 24 b4 e0 d4 e4 50 04 b4 c0 d0 64 90 e4 00 + // used by + // Tic Tac Toe "TT_ 3.0" + // Dutch Adders & Ladders "DAL 1.2" (lamp scramble not used? currently not booting) + // Dutch Old Timer "DOT 1.1" (lamp scramble not used? currently not booting) + static constexpr uint8_t m470_characteriser_prot[8] = { 0x00, 0x30, 0x10, 0x30, 0x10, 0x30, 0x10, 0x10 }; // lack of evidence, crafted to match ttt_characteriser_prot output + + + // Games with sequence starting + // 00 a0 b0 58 ec 3c ec 14 68 4c 4c 6c 64 80 f8 84 98 ec 7c 8c 5c c4 b0 30 28 6c 4c 04 a0 d0 10 40 a8 3c ec 54 60 a0 98 c4 b0 30 68 64 a8 14 68 24 e8 54 68 6c 24 e0 d0 50 40 e8 74 20 c0 b0 78 00 + // used by + // Tic Tac Toe Gold "TG 3.3" + // "TG 4.4" + // Tic Tac Toe Classic "CT4 7.0" + // "CT 4.0" + // "CTT 3.0" / "CT4 3.0" + // "CT 2.3" + // "CT 2.4" + // Top Action " TA 2.2" (one set) (lamp scramble not used) + static constexpr uint8_t topaction_characteriser_prot[8] = { 0x00, 0x68, 0x20, 0x48, 0x40, 0x28, 0x20, 0x00 }; // lack of evidence, guessed based on logical lamp patterns + + + // Games with sequence starting + // 00 c4 e8 58 b4 4c 30 40 e4 a8 18 94 48 34 64 c4 c8 7c f4 28 30 64 c0 ac 1c d0 68 70 04 a0 e8 3c f0 0c 30 60 c0 ec 1c b0 48 54 64 80 cc 3c d4 28 74 44 a0 ac 5c 94 2c 74 00 e0 8c 3c d4 0c 74 00 + // used by + // Graffiti "GRA 2.0" + // "GRA 2.1" + // Red Alert "RA3 0.2" + // Pot Luck 100 Club "P1L 2.2" + // " PL 2.7" + // Flashlite "FLT 1.0" + static constexpr uint8_t graff_characteriser_prot[8] = { 0x00, 0x60, 0x40, 0x60, 0x20, 0x40, 0x40, 0x20 }; // based on logical arrangements for m4ra__g set + + + // Games with sequence starting + // 00 50 40 14 64 50 24 50 64 54 20 74 40 30 60 10 64 74 64 50 04 34 60 50 44 74 44 10 00 14 00 14 60 50 64 10 44 10 24 50 00 50 64 54 64 50 24 70 64 10 24 74 40 54 64 10 04 74 40 50 24 50 64 00 + // used by + // Hot Rod "HRC_1.0" + // Buccaneer "BUG 0.4" + // "BUS 0.1" + // All Cash Advance "C2B 6.0" + static constexpr uint8_t buc_characteriser_prot[8] = { 0x00, 0x70, 0x50, 0x30, 0x10, 0x70, 0x50, 0x10 }; // based on matching m4hotrod__a and m4buc__2 with unprotected sets + + + // Games with sequence starting + // 00 90 88 4c e0 b8 74 84 bc 74 00 b4 88 6c c0 1c f4 ac ec 68 c4 1c f0 88 ec ec 6c c0 98 74 00 14 a0 b8 74 00 94 28 60 90 08 60 b4 ac 68 c0 1c f4 ac 4c c4 bc f0 8c cc 4c 44 b4 88 68 44 90 ac 00 + // used by + // Jewel In the Crown "CJE 1.0" + // "CJE 0.8" + // "CJH 1.0" + // "CJH 0.8" + // Las Vegas Strip "VSG 0.4" + // "VSG 0.3" + // Royal Jewels "GRJ 1.4" + static constexpr uint8_t jewelcrown_characteriser_prot[8] = { 0x00, 0x30, 0x10, 0x30, 0x10, 0x30, 0x10, 0x10 }; // matches unprotected Las Vegas Strip sets + + + // Games with sequence starting + // 00 14 04 94 c8 68 a0 50 8c e8 e0 dc bc b0 4c a0 58 bc bc 38 b4 48 20 14 8c ec e8 6c 24 94 40 90 4c a4 58 b8 b8 3c 38 b4 40 14 8c e8 68 24 94 cc ec e0 d0 c8 68 a8 e0 50 80 dc bc 38 b8 30 8c 00 + // used by + // The Crystal Maze "CRM 3.0" + // "CRM 2.3" + // Showcase Crystal Maze "SCM 0.1" + // Cloud Nine "C92 1.1" + // "C92 1.0" + // "C95 1.0" + // Las Vegas Strip "UVS 0.3" + // Prize What's On "PWO 0.5" + // Carry On Joker "COJ 2.1" + // Super Streak "STT 0.3" + // Crown Jewels (German) "CJG 0.4" + // Sunset Boulevard "B25 1.2" + // Dutch Big Ben "DBB 1.2" + // Fruit Preserve "F4P 1.1" + // Blue Moon "BLU 2.3" + // "BLU 2.1" + static constexpr uint8_t m4lv_characteriser_prot[9] = { 0x00, 0x18, 0x10, 0x18 ,0x10, 0x18, 0x10, 0x10 }; // games match unprotected versions + //static constexpr uint8_t m4lv_characteriser_prot[9] = { 0x03, 0xEB, 0x63, 0xCB, 0xC3, 0x6B, 0x63, 0x43 };// in sunsetb (wrong?) + + + // Games with sequence starting + // 00 14 10 60 54 00 24 14 70 30 00 74 10 40 34 40 54 70 70 10 20 44 14 50 30 60 34 10 00 24 14 20 14 70 70 00 34 10 60 14 00 14 70 30 70 30 60 14 70 00 24 74 10 30 60 04 24 74 10 10 60 14 70 00 + // used by + // Jewel In the Crown "JCC 3.7" + // "JCC 3.3" + // "JC4 3.1" + // "JC5 1.9" + // "JC8 4.4" + // "JC8 4.2" + // Pot Black Casino "PO 1.2" + // Fortune Club "CFO 1.2" + static constexpr uint8_t fortune_characteriser_prot[8] = { 0x00, 0x70, 0x10, 0x60, 0x20, 0x50, 0x10, 0x00 }; // guessed based on lamp positions in Pot Black Casino and Jewel in the Crown + + + // Games with sequence starting + // 00 14 04 54 c4 98 f0 48 e4 5c f0 c8 ec 68 24 90 c8 ec ec a8 ec 28 20 14 c4 dc f0 8c 2c 64 14 40 94 cc a8 68 e0 9c f0 48 24 14 c4 d8 f0 48 60 14 c4 98 f0 c8 a8 e8 68 20 54 c0 9c b0 c8 2c e4 00 + // used by + // Kings & Queens "EE 2.0" + // "EE 1.0" + // Lucky Strike "LSS 0.6" + // "LST 0.9" + // Solid Silver Club "SOS 2.2" + // Solid Silver Club "SOS 2.1" + static constexpr uint8_t luckystrike_characteriser_prot[8] = { 0x00, 0x50, 0x10, 0x50, 0x50, 0x10, 0x10, 0x10 }; // Lucky Strike matches unprotected sets + + + // Games with sequence starting + // 00 14 04 94 a8 6c c4 30 8c e8 e0 bc d4 28 4c c0 38 dc dc 58 d0 a0 30 04 9c d8 d8 58 50 88 64 94 2c 4c 4c c8 e8 6c 40 14 00 14 8c e8 68 44 94 ac ec e0 b0 a8 6c c8 e0 30 84 bc d4 24 94 20 9c 00 + // used by + // Andy's Great Escape "AG5 3.0" + // "AG__2.0" + // Nudge Nudge Wink Wink Classic "NN5 0.2 / NN4 0.2" + // "CN1 0.1 / NN4 0.1" + // "CNU 0.2 / NN4 0.2" + // "NN4 0.2" + // Viva Espana "VE5 3.0" + // Lucky Las Vegas "LLV 0.2" + // "LL8 0.1" + // Andy's Full House "AFH 0.1" + // "AF3 0.1" + // "AF8 0.1" + // "AFT 0.3" + // "CA4 0.8" + // "CAT 0.2" + // "CAU 0.1 / CA4 0.1" + // Mad House "MH5 0.2" + // "MD8 0.1" + // "MAD 0.5" + // "MHT 0.2" + // Super Blackjack Club "SBJ 3.1" + // "SBJ 2.0" + // Prize Spend Spend Spend "PS8 0.1" + // "SSP 0.5" + // Super Streak "SP8 0.1" + // "SPS 0.8" + // "CS4 0.7" + // "CS4 0.4 / CST 0.4" + // "CS4 0.3 / CSU 0.3" + // Jolly Joker "JOJ 1.6" + // Jolly Taverner "TAV 1.3" + // Club Double " CD 1.6" + static constexpr uint8_t m574_characteriser_prot[8] = { 0x03, 0x9F, 0x17, 0x9B, 0x93, 0x1F, 0x17, 0x13 }; + + // games with sequence starting + // 00 44 44 64 4c 80 70 24 6c a8 b0 38 e4 50 24 48 8c bc ec 98 e8 90 18 ec 94 38 e8 9c c0 70 00 60 44 64 4c a8 b8 cc b0 30 00 44 6c a4 58 e4 74 04 6c a0 70 28 84 74 2c 88 b8 e8 b4 14 2c 84 7c 00 + // used by + // Prize Money "FP8 0.1" + // "FPM 0.3" + // Prize Money Showcase "SPM 0.2" + // "SM8 0.1" + // Brooklyn "PFT 1.8" (doesn't use lamp scramble) + // Flash Cash " FC 1.0" (doesn't use lamp scramble) + // Dutch Number One "DNO 1.7" (doesn't use lamp scramble? doesn't boot) + static constexpr uint8_t pzmoney_characteriser_prot[8] = { 0x00, 0x68, 0x40, 0x68, 0x60, 0x48, 0x40, 0x40 }; // based on przmoney lamp patterns + + // games with sequence starting + // 00 14 10 a0 8c c8 68 50 b0 38 64 b4 18 e4 1c e4 8c f8 f4 18 64 04 14 90 b8 e4 3c 54 00 24 14 20 14 b0 a8 68 e0 9c e4 0c 50 10 b0 b8 e4 0c 70 10 b0 08 60 b4 98 e4 3c c4 ac f8 74 10 a0 1c f4 00 + // used by + // Club Classic "CI 1.1" + // Dutch Atlantis "DAT 1.4" + // Dutch Twin Timer "D2T 1.1" + static constexpr uint8_t m533_characteriser_prot[8] = { 0x00, 0x30, 0x10, 0x20, 0x20, 0x10, 0x10, 0x00 }; // based on clbcls lamp patterns + + + // games with sequence starting + // 00 60 60 24 e0 e8 1c 74 c4 6c 14 84 e8 1c f4 08 d0 cc dc b0 cc 1c f0 48 54 84 6c 50 00 24 60 64 60 60 e0 28 94 88 9c 34 00 60 e4 ec 98 34 c4 6c d4 88 1c b4 c8 9c f4 08 14 84 e8 98 b4 08 d4 00 + // used by + // Cash Lines (Barcrest) (MPU4) "CLS 0.3" + // "CLI 1.1" + // "CLI 1.0" + // "NCL 1.1" + // "NCC 1.0" + // Action Bank "ACT 0.7" + // Top Tenner "TTS 0.2" + // Top Tenner "TTH 1.0" + // Super Two "SUT 1.2" + // Centrepoint " DU 1.3" + // Supatron "DSU 2.1" + // Swap-A-Note " SN 3.3" + // " SN 3.2" + // " SN 3.5" + static constexpr uint8_t actionbank_characteriser_prot[8] = { 0x00, 0x60, 0x60, 0x20, 0x20, 0x60, 0x60, 0x20 }; // matches unprotected sets for various games + + + // games with sequence starting + // 00 14 04 34 2c 44 34 24 3c 78 70 28 64 10 2c 48 4c 6c 6c 48 60 10 08 6c 44 3c 78 54 00 30 00 30 04 3c 7c 70 24 14 28 44 14 04 3c 74 2c 44 34 0c 6c 60 30 28 44 34 2c 48 60 3c 74 04 34 00 3c 00 + // used by + // Sunset Club "SSC 3.0" + // Jolly Gems "JGS 1.0" + static constexpr uint8_t sunsetclub_characteriser_prot[8] = { 0x00, 0x38, 0x10, 0x38, 0x30, 0x18, 0x10, 0x10 }; // matches Jolly Gems with the unprotected sets + + + // games with sequence starting + // 00 18 c8 a4 0c 80 0c 90 34 30 00 58 c8 84 4c a0 4c c0 3c c8 a4 4c 80 0c 80 0c e0 1c 88 a4 0c a0 0c 80 4c a0 3c 98 ec 84 0c c0 1c a8 84 0c a0 5c e8 a4 0c d0 04 38 a8 c4 2c 90 44 18 e8 84 3c 00 + // used by + // Double Diamond Club "CDD 0.5" + // "CDD 0.1" + static constexpr uint8_t doublediamond_characteriser_prot[8] = { 0x00, 0x18, 0x18, 0x28, 0x08, 0x58, 0x18, 0x08 }; // based on Double Diamond Club lamp patterns + + + // games with sequence starting + // 00 30 10 0c 58 60 24 30 1c 6c 44 3c 74 00 + // The Streak "TS 3.0" + // "TST 3.0 / TS 3.0" + // "TST 2.0 / TS 2.0" + // "TS 1.4" + // "TS 1.3" + static constexpr uint8_t thestreak_characteriser_prot[8] = { 0x00, 0x38, 0x30, 0x28, 0x20, 0x38, 0x30, 0x20 }; // some elements don't go through the scramble! + + + // games with sequence starting + // 00 90 a0 34 8c 68 44 90 ac 6c 44 9c dc 5c d4 24 98 dc dc 58 54 04 90 a8 e8 ec 6c c0 b0 2c c0 3c d4 a4 38 54 84 38 58 d4 20 90 ac ec 68 c0 34 88 ec 64 94 2c c0 b4 ac 68 c4 bc d4 a0 34 00 9c 00 + // used by + // Viz "VZ__1.0" + // Gold Strike "G4S 2.0" (doesn't use lamp scramble) + // Magic Dragon "DMD 1.0" (doesn't use lamp scramble? doesn't boot) + static constexpr uint8_t magicdragon_characteriser_prot[8] = { 0x00, 0x18, 0x10, 0x18, 0x10, 0x18, 0x10, 0x10 }; // verified against Viz + + + // games with sequence starting + // 00 90 88 2c e0 d8 74 84 dc 74 00 d4 c8 6c a0 58 f4 cc ec 68 a4 58 70 80 dc 74 84 58 30 44 90 4c e4 98 74 00 94 48 24 90 08 60 d4 4c e0 18 74 80 dc 74 c4 dc 70 84 9c 74 84 dc f4 88 2c a0 dc 00 + // Top The Lot "T4L 1.0" (doesn't use lamp scramble) + // Monte Carlo "MX052.0" + // "MX102.0" + static constexpr uint8_t toplot_characteriser_prot[8] = { 0x00, 0x50, 0x10, 0x50, 0x10, 0x50, 0x10, 0x10 }; // maybe + + + // games with sequence starting + // 00 14 04 94 e0 74 a4 50 a4 d4 60 b4 + // Monte Carlo "MC 2.0" + static constexpr uint8_t montealt_characteriser_prot[8] = { 0x00, 0x30, 0x10, 0x30, 0x10, 0x30, 0x10, 0x10 }; // maybe + + + // games with sequence starting + // 00 50 10 a0 68 14 b0 88 bc e4 48 + // Prize Monte Carlo "MT054.0" + // "MT104.0" + static constexpr uint8_t przmontealt_characteriser_prot[8] = { 0x00, 0x70, 0x50, 0x60, 0x40, 0x70, 0x50, 0x40 }; // maybe + + + // games with sequence starting + // 00 44 44 4c d0 30 18 cc f8 9c 9c 9c dc 9c + // Andy's Full House "AFU 0.2" + // Say No More "SNM 2.0" + static constexpr uint8_t saynomore_characteriser_prot[8] = { 0x00, 0x58, 0x40, 0x18, 0x08, 0x50, 0x40, 0x00 }; // good? + + + // games with sequence starting + // 00 30 20 14 a4 f0 c4 50 a4 74 00 b4 60 10 + // Andy Loves Flo "AL3 0.1" + static constexpr uint8_t andyfloalt_characteriser_prot[8] = { 0x00, 0x30, 0x30, 0x10, 0x10, 0x30, 0x30, 0x10 }; // good? + + + // games with sequence starting + // 00 44 44 64 4c 10 28 50 68 38 34 28 70 00 6c 10 68 + // Andy Loves Flo "AL4 2.1" + // Andy Loves Flo "AL_ 2.4" + // Dutch Cherryo "DCH 1.4" + static constexpr uint8_t cheryo_characteriser_prot[8] = { 0x00, 0x68, 0x40, 0x28, 0x20, 0x48, 0x40, 0x00 }; // good? + + + // games with sequence starting + // 00 14 04 54 4c 20 50 44 5c 78 70 48 6c 60 14 48 2c + // Andy Capp "AC101.0" + // "AC5 1.0" + static constexpr uint8_t andycappalt_characteriser_prot[8] = { 0x00, 0x58, 0x10, 0x58, 0x50, 0x18, 0x10, 0x10 }; // good? + + + // games with sequence starting + // 00 84 a4 b4 38 c4 b4 30 1c d8 d8 d8 dc + // Luxor "LX5 1.0" + // "LX101.0" + // Hot Rod "HR__1.0" + static constexpr uint8_t hotrodalt_characteriser_prot[8] = { 0x00, 0x18, 0x00, 0x18, 0x10, 0x08, 0x00, 0x00 }; // good? + + + // games with sequence starting + // 00 30 20 14 a4 b8 d4 0c e4 3c 54 84 b8 54 24 90 + // Viva Espana "VE105.0" + // "VE5 4.0" + // "VE104.0" + static constexpr uint8_t vivaalt_characteriser_prot[8] = { 0x00, 0x30, 0x30, 0x10, 0x10, 0x30, 0x30, 0x10 }; // good? + + + // games with sequence starting + // 00 44 44 c4 68 14 8c 30 8c b8 d0 a8 b4 20 4c 90 a8 bc dc 58 d0 a0 60 44 c4 ec b8 5c 50 88 34 84 6c 14 8c b8 d8 58 d0 a0 64 44 cc b8 d8 d0 a8 3c dc d8 d8 d8 58 d8 d8 d0 a8 bc d4 24 c4 64 cc 00 + // Lucky Las Vegas Classic "LLU 0.1" + // "LLU 3.0" + // Cash Encounters "CA_ 5.0" + static constexpr uint8_t cashencounters_characteriser_prot[8] = { 0x00, 0x48, 0x40, 0x48, 0x40, 0x48, 0x40, 0x40 }; // maybe + + + // games with sequence starting + // 00 50 10 84 c8 a8 2c 30 94 1c e4 dc f4 + // Lucky Strike "LSS 1.0" + static constexpr uint8_t luckystrikealt_characteriser_prot[8] = { 0x00, 0x50, 0x50, 0x40, 0x40, 0x50, 0x50, 0x40 }; // matches unprotected set + + + // games with sequence starting + // 00 14 04 54 64 14 64 14 64 54 20 74 04 + // Super Hyper Viper "HVC 1.0" + static constexpr uint8_t hypvipalt_characteriser_prot[8] = { 0x00, 0x70, 0x10, 0x70, 0x50, 0x30, 0x10, 0x10 }; // good? + + + // games with sequence starting + // 00 e0 88 18 b0 48 50 60 e4 c8 58 f0 08 + // Boulder Dash "BLS 0.1" + // "BLD 0.6" + // "BLD 0.7" + // Crazy Cavern (Nova) "GCV 0.5" + static constexpr uint8_t bdash_characteriser_prot[8] = { 0x00, 0x20, 0x00, 0x40, 0x40, 0x20, 0x00, 0x40 }; // good? + + + // games with sequence starting + // 00 e0 a8 38 90 68 30 60 e4 e8 18 d0 6c 10 60 c4 + // Cloud 999 "SC9 5.0" + // Hit The Top "H4T 2.0" (no lamp scramble) + static constexpr uint8_t hittop_characteriser_prot[8] = { 0x00, 0x60, 0x00, 0x40, 0x40, 0x20, 0x00, 0x40 }; // good? + + + // games with sequence starting + // 00 24 24 a4 1c 44 a4 14 a8 d8 cc f8 e4 14 + // Winner Takes All "WN4 1.1" + // "WN5 3.0" + static constexpr uint8_t wtaalt_characteriser_prot[8] = { 0x00, 0x28, 0x20, 0x08, 0x00, 0x28, 0x20, 0x00 }; // good? matches unprotected set + + + // games with sequence starting + // 00 30 20 50 68 24 70 60 78 5c 5c 5c 7c 54 60 10 68 6c + // Blue Flash "TBF 0.3" + // "BFL 0.3" + static constexpr uint8_t blueflash_characteriser_prot[8] = { 0x00, 0x78, 0x30, 0x58, 0x50, 0x38, 0x30, 0x10 }; // not much evidence + + + // games with sequence starting 00 60 60 24 68 c0 34 44 6c 8c 9c ac d4 18 ec 90 1c + // Dutch Triple Bank "DTB 1.2" + static constexpr uint8_t tribank_characteriser_prot[8] = { 0x00, 0x68, 0x60, 0x28, 0x20, 0x68, 0x60, 0x20 }; // many effects bypass the scramble, mostly correct? + + + // games with sequence starting + // 00 30 10 44 70 10 44 30 54 14 40 74 10 40 34 + // Tutti Fruity "TFT 0.4 / TF4 0.4" + // "CTU 0.1" + // "TF4 0.2" + // 10 X 10 "T20 0.2" + // "N25 0.3" + // "T25 0.4" + // Cosmic Casinos "CC__3.0" + // "CC__7.0" + // Dutch Express "DXP 2.0" + static constexpr uint8_t cosmiccasino_characteriser_prot[8] = { 0x00, 0x70, 0x30, 0x60, 0x20, 0x70, 0x30, 0x20 }; // good? + + + // games with sequence starting + // 00 14 10 c0 4c 20 84 0c f0 98 e4 dc f4 08 f0 08 70 d0 d8 64 94 c8 28 b0 58 e4 9c 64 14 d0 08 a0 1c f4 c8 e8 e8 78 24 14 00 14 d0 c8 68 30 c0 9c f4 08 a0 dc 64 94 d8 a4 dc e4 1c 64 94 08 f0 00 + // Black Jack "B2J 2.2" + // "BLA 2.0" + // Prize High Roller "PR3 0.1" + // Dutch Andy Capp "DAC 1.3" (doesn't use lamp scramble? doesn't boot) + // Dutch Step Timer "DST 1.1" (doesn't use lamp scramble? doesn't boot) + // Dutch Broadway "DBR 1.1" (doesn't use lamp scramble? doesn't boot) + static constexpr uint8_t phr_characteriser_prot[8] = { 0x00, 0x50, 0x10, 0x40, 0x00, 0x50, 0x10, 0x00 }; // good? + + + // games with sequence starting + // 00 14 10 a0 c4 c4 74 30 b0 70 00 b4 50 80 f4 40 94 + // Pontoon Club "PON 3.0" + // "PON 4.0" + // Dutch Twilight "DTL 2.2" + static constexpr uint8_t pontoon_characteriser_prot[8] = { 0x00, 0x30, 0x10, 0x20, 0x20, 0x10, 0x10, 0x00 }; // maybe + + + // games with sequence starting + // 00 90 84 b4 2c c0 34 a0 bc 78 70 28 e0 14 a8 4c c8 ec + // Eighth Wonder "BEW 0.3" + // Sunset Boulevard "BSB 0.4" + // "BSB 0.3" + static constexpr uint8_t eighth_characteriser_prot[8] = { 0x00, 0x38, 0x10, 0x38, 0x30, 0x18, 0x10, 0x10 }; // good? matches other Eighth Wonder set + + + // games with sequence starting + // 00 44 44 54 1c 60 50 14 1c 78 70 18 7c 70 04 58 7c 7c + // Sunset Boulevard "BS__ 1.1" + // "BS__ 1.0" + static constexpr uint8_t sunsetbalt_characteriser_prot[8] = { 0x00, 0x58, 0x40, 0x58, 0x50, 0x48, 0x40, 0x40 }; // good? matches other Sunset sets + + + // games with sequence starting + // 00 e0 ac 1c 90 2c 14 40 e4 ec 18 f4 68 10 40 c4 + // Sunset Boulevard "SB__ 1.1" + // "SB__ 1.0" + // The Hit "DTH 1.7" + // Top Take "TTK 1.1" + static constexpr uint8_t toptake_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x40, 0x40, 0x20, 0x00, 0x40 }; // good? matches other sunset sets + + + // games with sequence starting + // 00 18 70 44 58 30 44 18 7c 74 00 5c 7c 34 48 24 58 7c 7c 70 0c 64 18 7c 38 74 0c 20 18 74 00 14 48 2c 68 24 1c 30 40 18 30 08 6c 2c 68 28 24 58 7c 34 4c 6c 28 64 1c 74 0c 6c 2c 60 14 00 5c 00 + // Tic Tak Cash " TC 1.1" (doesn't use lamp scramble) + // Cloud 999 "CLN 4.0" + // Boulder Dash "BO_ 2.0" + // Boulder Dash "BO_ 2.1" + static constexpr uint8_t tictak_characteriser_prot[8] = { 0x00, 0x58, 0x18, 0x50, 0x10, 0x58, 0x18, 0x10 }; // good? + + + // games with sequence starting + // 00 24 24 34 b0 a8 58 74 b0 38 54 90 + // Hit The Top "HTT 0.5" + static constexpr uint8_t hittopalt_characteriser_prot[8] = { 0x00, 0x30, 0x20, 0x10, 0x10, 0x20, 0x20, 0x00 }; // good? + + + // games with sequence starting + // 00 84 a4 e4 a8 3c dc d0 6c 58 d8 d8 dc d8 d4 60 + // Make A Mint "MA_ 3.1" + // "MA_ 3.0" + static constexpr uint8_t mintalt_characteriser_prot[8] = { 0x00, 0x48, 0x00, 0x48, 0x40, 0x08, 0x00, 0x00 }; // lamp patterns quite different to other sets, but good? + + + // games with sequence starting + // 00 24 24 64 2c 14 4c 14 4c 58 78 78 74 00 6c 10 4c 5c 7c 38 74 00 20 24 2c 5c 78 34 00 60 24 64 24 2c 1c 78 78 34 08 14 00 24 6c 54 4c 14 4c 54 4c 58 78 78 34 44 64 20 64 6c 54 04 64 24 6c 00 + // Kings & Queens Classic "CN4 / CN4 6.0" + // "CN4 5.0" + // "CN / CN 3.0" + // "CN / CN 2.0" + // "CN 1.4" + // "CNT / CN4 2.0" + // "CNT / CN4 1.0" + // Andy Capp "AN8 0.1" + // "AND 0.4" + // "AND 0.2" + // Pot Black "PBG 1.4" + // "PBG 1.5" + // "PBS 0.4" + // "PO 1.2" + // "PO 1.1" + // Action Club "A2C 1.1" + // Nile Jewels (German) "GJN 0.8" + // Oriental Diamonds (German) "RAB 0.1" + static constexpr uint8_t actclba_characteriser_prot[8] = { 0x00, 0x68, 0x20, 0x68, 0x60, 0x28, 0x20, 0x20 }; // good? + + + // games with sequence starting + // 00 60 60 44 68 a0 54 24 6c 8c 9c cc bc c4 74 00 68 ac bc c8 9c cc b0 30 28 ac 9c c8 b0 1c c0 5c ec b0 1c cc 9c c8 94 14 00 60 6c a4 58 e4 74 20 6c 84 74 0c 80 74 2c 88 9c cc bc c8 94 10 2c 00 + // Top Dog "TD4 7.1 / TD 7.1" + // "TDT 7.1 / TD 7.1" + // "TDT 8.3 / TD 8.3" + // "TDP 2.0 / TD 2.0" + // "TD 1.4" + // Copy Cat "CO 1.1" + // "CO 4.1" + // "CO 1.3" + // "CO 2.0" + // "CO 3.0" + // "CO 2.4" + // "CO 4.0" +// static constexpr uint8_t copycat_characteriser_prot[8] = { 0x00, 0x68, 0x60, 0x30, 0x38, 0x10, 0x18, 0x38 }; // rows 4-8 could be reversed, little evidence + static constexpr uint8_t copycat_characteriser_prot[8] = { 0x00, 0x68, 0x60, 0x48, 0x40, 0x68, 0x60, 0x40 }; // + + + // games with sequence starting + // 00 50 40 14 c4 98 b4 0c e4 5c b4 8c ec + // Ace Chase "AE5 2.0" + // "AE10 2.0" + static constexpr uint8_t acechasealt_characteriser_prot[8] = { 0x00, 0x50, 0x50, 0x10, 0x10, 0x50, 0x50, 0x10 }; // good? + + + // games with sequence starting + // 00 84 c4 d4 58 24 94 50 98 3c 34 18 bc 34 88 78 bc + // Buccaneer "BR_ 1.0" + static constexpr uint8_t bucalt_characteriser_prot[8] = { 0x00, 0x18, 0x00, 0x18, 0x10, 0x08, 0x00, 0x00 }; // good? + + + // games with sequence starting + // 00 24 24 a4 4c 10 c0 0c f0 a8 98 + // Bagatelle "BGT 0.5" + // "BG2 0.1" + // Hi Lo Casino (Nova) "HNC 0.2" + static constexpr uint8_t bagtel_characteriser_prot[8] = { 0x00, 0x60, 0x20, 0x40, 0x00, 0x60, 0x20, 0x00 }; // good? + + + // games with sequence starting + // 00 50 40 30 68 44 70 60 78 3c 34 28 64 10 + // Berserk "BE3 0.1" + // Flashlite "BFL 0.5" + static constexpr uint8_t berseralt_characteriser_prot[8] = { 0x00, 0x78, 0x50, 0x38, 0x30, 0x58, 0x50, 0x10 }; // good? + + + // games with sequence starting + // 00 a0 e0 c4 c8 58 9c 94 6c 1c 9c 9c bc 94 6c 10 + // Berserk "BE4 1.1" + static constexpr uint8_t berseralt2_characteriser_prot[8] = { 0x00, 0x28, 0x20, 0x08, 0x00, 0x28, 0x20, 0x00 }; // good? + + + // games with sequence starting + // 00 14 10 48 38 34 58 74 58 6c 60 5c 7c 64 14 + // Magnificent 7s "M7 2.0" + // Prize Fruit & Loot "PFR 0.3" + static constexpr uint8_t pfloot_characteriser_prot[8] = { 0x00, 0x58, 0x10, 0x48, 0x40, 0x18, 0x10, 0x00 }; // good? + + + // games with sequence starting + // 00 84 8c 3c f4 4c 34 24 e4 ac 38 f0 0c 70 04 + // Kings & Queens "EE4 2.1/ EE 2.1" + // "EE8 2.2/ EE 2.2" + // Dutch Multiway "DMU 1.7" + static constexpr uint8_t kingqn_characteriser_prot[8] = { 0x00, 0x60, 0x00, 0x60, 0x20, 0x40, 0x00, 0x00 }; // good? + + + // games with sequence starting + // 00 18 b0 64 38 98 b4 44 3c b4 40 3c 9c b4 + // Kings & Queens "EE' 2.0 / EE_ 2.0" + static constexpr uint8_t kqee_characteriser_prot[8] = { 0x00, 0x38, 0x18, 0x30, 0x10, 0x38, 0x18, 0x10 }; // good? + + + // games with sequence starting + // 00 84 c4 d4 70 04 94 50 34 14 20 b4 44 a0 e4 + // Action Club "ABV 1.9" + // Kings & Queens "EE2 1.0 / EE2 1.0" + static constexpr uint8_t kqee2_characteriser_prot[8] = { 0x00, 0x30, 0x00, 0x30, 0x10, 0x20, 0x00, 0x00 }; // good? + + + // games with sequence starting + // 00 8c 64 84 84 c4 84 84 9c f4 04 cc 24 84 c4 94 54 0c 74 0c 34 04 84 84 c4 84 9c e4 84 84 84 d4 44 84 c4 84 9c e4 84 84 84 8c 60 84 84 84 84 c4 9c f4 04 cc 24 9c f4 04 94 14 44 8c 34 04 9c 00 + // Bank Roller Club "CBR 0.5" + // "BR3 0.1" + // Dracula (Nova, German) "DRA 2.1" + // "DRA 2.4" + // "DRA 2.7" + // Adders and Ladders (Vid) "v2.1" (MPU4 Video quiz, using 4k table implementation instead) + // "v2.0" (MPU4 Video quiz, using 4k table implementation instead) + static constexpr uint8_t bankrollerclub_characteriser_prot[8] = { 0x00, 0x08, 0x08, 0x10, 0x00, 0x48, 0x08, 0x00 }; // good? + + + /*************************************************************** + + Unusual sequences (but correct?) + + ***************************************************************/ + + // games with sequence starting + // 40 50 40 54 64 50 64 50 64 54 60 74 40 70 40 54 64 74 64 50 44 54 60 50 44 74 44 50 40 54 40 54 60 50 64 50 44 50 44 50 40 50 64 54 64 50 64 50 64 50 64 74 40 54 64 50 44 74 40 50 64 50 64 00 + // ** This is an unusual sequence, bit 0x40 always seems to be set, both here and in the lamp results + // Check if it isn't just one of the other ones but with an output line tied high? + // Hit The Top "HI4 0.3" + // "CHU 0.1" + static constexpr uint8_t hittopalt2_characteriser_prot[8] = { 0x40, 0x70, 0x50, 0x50, 0x50, 0x70, 0x50, 0x50 }; // good? + + + // games with sequence starting + // 10 94 1c f4 b8 74 b4 98 f4 9c f0 b8 d4 38 74 10 b4 bc f4 1c d0 98 70 14 b4 b8 f0 3c 50 b0 18 d0 3c 74 b4 18 f0 3c 70 94 18 70 b4 bc f0 98 f0 1c f4 18 f0 b8 74 94 bc 70 94 b8 d4 1c f4 18 f4 00 + // ** This is an unusual sequence, bit 0x10 always seems to be set, both here and in the lamp results + // ** Check if it isn't just one of the other ones but with an output line tied high? + // Rocket Money "ROK 0.6" + static constexpr uint8_t rockmn_characteriser_prot[8] = { 0x10, 0x34, 0x14, 0x34, 0x30, 0x30, 0x14, 0x30 }; + + + /*************************************************************** + + Games below don't boot far enough to draw conclusions + or ones that do boot aren't using lamp scramble + + ***************************************************************/ + + + // games with sequence starting + // 00 c0 d0 38 ec 5c ec 14 68 2c 24 e8 74 00 e8 14 + // Dutch Magic Replay "DMR 1.3" + // Dutch Turbo Play "DTP 1.3" + // Dutch Grafitti "DGR 1.3" + static constexpr uint8_t turboplay_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // INCORRECT + + + // games with sequence starting 00 24 24 2c b0 e0 4c 30 a8 d8 9c 9c bc 1c bc 94 + // Nudge Shuffle "NUS 3.1" + // "NUS 3.0" + static constexpr uint8_t nudshf_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + + // games with sequence starting + // 00 50 10 24 54 00 60 50 34 30 00 74 10 04 74 + // German Viva Las Vegas "GLV 1.2" + // Dutch Viva Las Vegas "DLV 1.1" + // Dutch Premier "DPM 1.4" + static constexpr uint8_t premier_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + + /*************************************************************** + + Probably not using lamp scramble part of the protection, so data is left blank + + ***************************************************************/ + + + // games with sequence starting + // 00 e0 8c 58 b0 68 30 64 e4 cc 58 f0 2c 50 64 c4 88 5c f4 0c + // Dutch Liberty "DLI 1.0" (doesn't boot) (Tubes) + // Crackpot 100 Club "C1P 1.2" (no lamp scramble) + // " CP 3.8" (no lamp scramble) + // " CP 3.1" (no lamp scramble) + // Dutch High Roller " HR 3.0" (no lamp scramble) + static constexpr uint8_t crkpot_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + + // games with sequence starting 00 c0 c8 38 f4 4c 70 60 e4 e8 38 b4 48 34 44 + // Dutch Blue Diamond "DBD 1.0" (doesn't boot) (Reel E) + static constexpr uint8_t bluediamond_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // games with sequence starting 00 24 24 a4 68 14 c4 28 d4 8c d8 f0 0c d0 8c + // Dutch Wild Timer "DWT 1.3" (doesn't boot) (Tubes) + static constexpr uint8_t wildtime_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // games with sequence starting 00 a0 a8 58 f4 8c d8 70 c4 e8 58 74 80 2c 94 4c + // Dutch Happy Joker "DHJ 1.2" (doesn't boot) (Tubes) + // Dutch Red Heat "DRH 1.2" (doesn't boot) (Reel B) + static constexpr uint8_t redheat_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + + // games with sequence starting 00 60 60 c0 4c 10 84 48 b4 a8 98 d4 2c 90 + // Dutch Lucky Devil "DLD 1.3" (doesn't boot) (Tubes) + // Hungarian Jolly Joker "HJJ 1.4" (no lamp scramble) + // Dutch Ceptor "DCE 1.0" (doesn't boot) (Tubes) + // Dutch Salsa "DSA 1.5" (doesn't boot) (Reel E) + static constexpr uint8_t salsa_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + + // games with sequence starting 00 a0 a8 1c f4 c8 1c b4 cc 5c 74 44 e0 28 + // Dutch 21 Club "DTW 2.7" (doesn't boot) (Reel D) + // Dutch Black & White "DBW 1.1" (doesn't boot) (Reel A) + static constexpr uint8_t blackwhite_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // games with sequence starting 00 c0 d0 1c ec 78 ac 30 4c 2c 24 cc 7c a4 d8 + // Magic Turbo "XST 0.4" (doesn't boot) (Reel A) + // Dutch Tricolor "DTC 2.5" (doesn't boot) (Tubes) + static constexpr uint8_t tricolor_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + + // games with sequence starting 00 84 8c 3c f4 4c 34 14 54 14 40 d4 4c 70 04 d0 58 f4 + // Dutch Turbo Reel "DTR 3.1" (doesn't boot) (Tubes) + // Grandstand Club "G2D 4.0" (no lamp scramble) + // Grandstand Club " GD 1.1" (no lamp scramble) + static constexpr uint8_t grandclub_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // games with sequence starting 00 30 10 0c 98 a8 c4 60 3c ac c4 7c b4 + // Dutch Taj Mahal "DTM 1.0" (doesn't boot) (Tubes) + static constexpr uint8_t tajmahal_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // games with sequence starting 00 24 24 64 a4 ac 78 74 e0 6c 50 c0 ac 58 74 00 a4 ec f8 94 c8 + // Dutch Giant "DGI 2.1" (doesn't boot) (Tubes) + static constexpr uint8_t giant_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // games with sequence starting 00 30 10 84 e0 f0 c4 60 b4 54 80 f4 50 80 f4 40 b0 d4 + // Dutch Random Roulette "DRR 2.2" (doesn't boot) (Tubes) + static constexpr uint8_t randroul_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + + // games with sequence starting 00 c0 c8 38 f4 8c b8 70 a4 e8 38 74 80 4c b0 0c 94 + // Dutch Red White & Blue "DRW 1.4" (doesn't boot) (REEL E) + static constexpr uint8_t redwhite_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // games with sequence starting 00 50 10 a0 c4 c4 74 30 b0 34 00 f0 14 80 f4 04 + // Dutch Techno Reel "DTE 1.3" (doesn't boot) (REEL F) + static constexpr uint8_t techno_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // games with sequence starting 00 48 a0 54 2c 88 94 14 2c a4 50 24 48 a4 78 c0 70 + // Bucks Fizz Club "BUF 1.2" (doesn't boot) (REEL E) + // Super Bucks Fizz Club "SBF 2.0" (doesn't boot) + static constexpr uint8_t bucksfizz_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // games with sequence starting 00 0c 50 60 4c 10 60 0c 78 74 00 6c 38 34 48 + // High Rise "HII 0.3" (doesn't boot) (REEL E) + // "HIR 3.1" (doesn't boot) + // "HIR 3.0" (doesn't boot) + static constexpr uint8_t hirise_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + /*************************************************************** + + No sets using lamp scramble + + ***************************************************************/ + + // games with sequence starting 00 60 68 38 d0 2c 90 24 e4 e8 3c f0 88 34 20 40 e8 bc f4 28 + // Super Way In "WS 1.0" (no lamp scramble) + static constexpr uint8_t wayin_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // games with sequence starting 00 60 60 a0 2c 50 84 28 d4 c8 9c b4 48 94 + // Dutch Black Cat "DBL 1.4" (no lamp scramble) + // Dutch Rio Tropico "DRT 1.0" (no lamp scramble) + static constexpr uint8_t blkcat_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // games with sequence starting 00 24 24 64 2c 30 48 30 68 58 5c 5c + // Dutch Golden Joker "DGJ 1.2" (no lamp scramble) + static constexpr uint8_t goljok_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // games with sequence starting 00 44 44 c4 1c 24 c4 14 c8 b8 a4 dc ec b0 58 a4 + // Dutch Stars And Bars "DSB 2.8" (no lamp scramble) + static constexpr uint8_t starsbars_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // games with sequence starting 00 a0 88 18 b0 48 50 60 e4 c8 58 90 + // Top Gear (Barcrest) (MPU4) (TG4 1.1) (no lamp scramble) + static constexpr uint8_t topgear_characteriser_prot[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + +protected: + mpu4_characteriser_pal(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + + virtual void device_start() override; + virtual void device_reset() override; + + uint8_t* m_current_chr_table; + int m_prot_col; + +private: + + void protection_w(uint8_t data); + void lamp_scramble_w(uint8_t data); + uint8_t protection_r(); + uint8_t lamp_scramble_r(); + + optional_device m_cpu; // needed for some of the protection 'cheats' + + bool m_allow_6809_cheat; + bool m_allow_68k_cheat; + + const uint8_t* m_current_lamp_table; + int m_lamp_col; + int m_4krow; + bool m_is_4ksim; + + optional_region_ptr m_protregion; // some of the simulations have a fake ROM to assist them + + // debugging only! + static constexpr bool IDENTIFICATION_HELPER = false; + int m_temp_debug_write_count; + uint8_t m_temp_debug_table[64]; +}; + +#endif // MAME_MACHINE_MPU4_CHARACTERISER_PAL_H diff --git a/src/mame/machine/mpu4_characteriser_pal_bwb.cpp b/src/mame/machine/mpu4_characteriser_pal_bwb.cpp new file mode 100644 index 00000000000..7d374e1063e --- /dev/null +++ b/src/mame/machine/mpu4_characteriser_pal_bwb.cpp @@ -0,0 +1,134 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, James Wallace + +/* +BwB Characteriser (CHR) + +The BwB method of protection is considerably different to the Barcrest one, with any +incorrect behaviour manifesting in ridiculously large payouts. The hardware is the +same, however the main weakness of the software has been eliminated. + +In fact, the software seems deliberately designed to mislead, but is (fortunately for +us) prone to similar weaknesses that allow a per game solution. + +Project Amber performed a source analysis (available on request) which appears to make things work. +Said weaknesses (A Cheats Guide according to Project Amber) + +The common initialisation sequence is "00 04 04 0C 0C 1C 14 2C 5C 2C" + 0 1 2 3 4 5 6 7 8 + + +Using debug search for the first read from said string (best to find it first). + + - in m4blsbys this string is at 0x17383 in ROM, which is banked into memory at 0x7383 + - this is first accessed by the code at 50c3, a CMPA $0138,X opcode, where X is 0x724B (0x724B + 0x138 = 0x7383) + + +At this point, the X index on the CPU is at the magic number address. + +The subsequent calls for each can be found based on the magic address + + (0) = ( (BWBMagicAddress)) + (1) = ( (BWBMagicAddress + 1)) + (2) = ( (BWBMagicAddress + 2)) + (3) = ( (BWBMagicAddress + 4)) + (4) = ( (BWBMagicAddress - 5)) + (5) = ( (BWBMagicAddress - 4)) + (6) = ( (BWBMagicAddress - 3)) + (7) = ( (BWBMagicAddress - 2)) + (8) = ( (BWBMagicAddress - 1)) + +These return the standard init sequence as above. + +For ease of understanding, we use three tables, one holding the common responses +and two holding the appropriate call and response pairs for the two stages of operation +*/ + +#include "emu.h" + +#include "mpu4_characteriser_pal_bwb.h" + +DEFINE_DEVICE_TYPE(MPU4_CHARACTERISER_PAL_BWB, mpu4_characteriser_pal_bwb, "mpu4chrpal_bwb", "BWB MPU4 Characteriser PAL") + +mpu4_characteriser_pal_bwb::mpu4_characteriser_pal_bwb(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : mpu4_characteriser_pal_bwb(mconfig, MPU4_CHARACTERISER_PAL_BWB, tag, owner, clock) +{ +} + +mpu4_characteriser_pal_bwb::mpu4_characteriser_pal_bwb(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, type, tag, owner, clock) +{ +} + +void mpu4_characteriser_pal_bwb::device_start() +{ +} + +void mpu4_characteriser_pal_bwb::device_reset() +{ +} + +void mpu4_characteriser_pal_bwb::write(offs_t offset, uint8_t data) +{ + m_call = data; + logerror("%s Characteriser write offset %02x data %02x\n", machine().describe_context(), offset, data); + m_initval_ready = true; + + if (m_chr_counter > 35) + { + m_chr_counter = 36; + } + else + { + m_chr_counter++; + } + + if (m_call == ((m_otherkey >> 16) & 0xff)) + m_bwb_return = 0; + + if ((m_call == m_commonkey) || (m_call == ((m_otherkey >> 16) & 0xff)) || (m_call == ((m_otherkey >> 8) & 0xff)) || (m_call == ((m_otherkey >> 0) & 0xff))) + { + if (m_bwb_return < 16) + { + m_chr_value = bwb_chr_table_common[m_bwb_return]; + } + + m_bwb_return++; + } + else + { + m_chr_value = machine().rand(); + m_bwb_return = 0; + } +} + +uint8_t mpu4_characteriser_pal_bwb::read(offs_t offset) +{ + logerror("%s Characteriser read offset %02x\n", machine().describe_context(), offset); + + if ((offset == 0) && m_initval_ready) + { + m_initval_ready = false; + + switch (m_chr_counter) + { + case 7: + case 14: + case 21: + case 28: + case 35: + logerror("m_call %02x\n", m_call); + + // it is unclear what we actually need to return here for normal operation + return machine().rand(); + + default: + return m_chr_value; + } + + } + else + { + return m_chr_value; + } +} diff --git a/src/mame/machine/mpu4_characteriser_pal_bwb.h b/src/mame/machine/mpu4_characteriser_pal_bwb.h new file mode 100644 index 00000000000..3777029602d --- /dev/null +++ b/src/mame/machine/mpu4_characteriser_pal_bwb.h @@ -0,0 +1,51 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood, James Wallace + +#ifndef MAME_MACHINE_MPU4_CHARACTERISER_PAL_BWB_H +#define MAME_MACHINE_MPU4_CHARACTERISER_PAL_BWB_H + +#pragma once + +#include "cpu/m6809/m6809.h" +#include "cpu/m68000/m68000.h" + +DECLARE_DEVICE_TYPE(MPU4_CHARACTERISER_PAL_BWB, mpu4_characteriser_pal_bwb) + +class mpu4_characteriser_pal_bwb : public device_t +{ +public: + // construction/destruction + mpu4_characteriser_pal_bwb(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + + void set_common_key(uint8_t commonkey) + { + m_commonkey = commonkey; + } + + void set_other_key(uint32_t otherkey) + { + m_otherkey = otherkey; + } + + virtual uint8_t read(offs_t offset); + virtual void write(offs_t offset, uint8_t data); + + constexpr static uint8_t bwb_chr_table_common[16] = {0x00,0x04,0x04,0x0c,0x0c,0x1c,0x14,0x2c,0x5c,0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + +protected: + mpu4_characteriser_pal_bwb(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + + virtual void device_start() override; + virtual void device_reset() override; + +private: + int m_chr_counter = 0; + int m_chr_value = 0; + int m_bwb_return = 0; + uint8_t m_call = 0; + bool m_initval_ready = false; + uint8_t m_commonkey = 0x00; + uint32_t m_otherkey = 0x00000000; +}; + +#endif // MAME_MACHINE_MPU4_CHARACTERISER_PAL_BWB_H diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 6cbb66e40f7..94000fa17fd 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -24401,7 +24401,7 @@ m3xchngg // Exchanges Galore (Barcrest) m3xchngu // Exchanges Unlimited (Barcrest) m3xchngua // -@source:mpu4.cpp +@source:mpu4unsorted.cpp m4aao // Against All Odds (Eurotek) m4addrd // m4aliz // AlizBaz (Qps) @@ -24449,14 +24449,12 @@ m4ccop // m4ccopa // m4ccopb // m4ceptr // Ceptor (Barcrest) -m4ch30 // Unknown MPU4 'CH30' (Barcrest) m4chasei // Chase Invaders (Barcrest) m4chaseia // m4chaseib // m4chaseic // m4chaseid // m4chaseie // -m4chaseif // m4chaseig // m4clbveg // Club Vegas (Barcrest) m4clbvega // @@ -24465,7 +24463,6 @@ m4clbvegc // m4clbx // Club X (Barcrest) m4clbxa // m4clbxb // -m4cld02 // Unknown MPU4 'CLD 0.2C' m4clr // MPU4 Meter Clear ROM m4coney // Coney Island (Qps) m4crjwl // Crown Jewels Club (Barcrest) @@ -24487,7 +24484,6 @@ m4crzjwle // m4crzjwlf // m4crzjwlg // m4crzjwlh // -m4czne // Cash Zone (Bwb) m4dblchn // Double Chance (DJE) m4ddb // Ding Dong Bells (Coinworld) m4ddba // @@ -24498,6 +24494,7 @@ m4drac // Dracula (Barcrest - Nova) m4draca // m4dracb // m4dragon // Dragon (Nova) +m4eaw51 // Everyone's A Winner? m4esctbg // Escalera Tobogan (Vifico) m4esctbga // m4esctbgb // @@ -24526,9 +24523,7 @@ m4hirisec // m4hirised // m4hirisee // m4holdtm // Hold Timer (Barcrest) -m4holywd // Hollywood (Bwb) m4hpyjok // Happy Joker (Barcrest) -m4hslo // Unknown MPU4 'HOT 3.0' m4hstr // Happy Streak (Coinworld) m4hstra // m4hstrb // @@ -24583,7 +24578,6 @@ m4ordmnd // Oriental Diamonds (Barcrest) m4prem // Premier (Barcrest) m4ptblkc // Pot Black Casino (Bwb - Barcrest) m4rdht // Red Heat (Barcrest) -m4reeltm // Reel Timer (Barcrest) m4remag // Unknown MPU4 'ZTP 0.7' m4ringfr // Ring Of Fire (Barcrest) m4riotrp // Rio Tropico (unknown) @@ -24616,19 +24610,11 @@ m4sunscla // m4sunsclb // m4sunseta // m4sunsetb // -m4sunsetc // m4supbf // Super Bucks Fizz Club (Barcrest) m4supbfa // -m4supbjc // Super Blackjack Club (Barcrest) -m4supbjca // -m4supbjcb // -m4supbjcc // -m4supbjcd // m4surf // Super Surfin' (Gemini) m4surfa // m4surfb // -m4t266 // Unknown MPU4 'TTO 1.1' -m4take5 // Take 5 (Barcrest) m4tbplay // Turbo Play (Barcrest) m4tbplaya // m4tbplayb // @@ -24652,10 +24638,6 @@ m4twist // Twist Again (Barcrest) m4twista // m4twistb // m4univ // Universe (Barcrest) -m4unkjok // Unknown MPU4 'Joker' -m4unkjoka // -m4unkjokb // -m4unkjokc // m4vegastg // m4vivalvd // m4vivan // Viva Las Vegas (Nova) @@ -25177,7 +25159,6 @@ m4bigmt__a // m4bigmt__b // m4bigmt__c // m4bigmt__d // -m4bigmt__e // m4bigmt__f // m4bingbl // Bingo Belle (Bwb) m4bingbl__a // @@ -25592,6 +25573,17 @@ m4trex__i // m4trex__j // m4trex__k // m4trex__l // +m4tutbwb // +m4tutbwb_a // +m4tutbwb_b // +m4tutbwb_c // +m4tutbwb_d // +m4tutbwb_e // +m4tutbwb_f // +m4tutbwb_g // +m4tutbwb_h // +m4tutbwb_i // +m4tutbwb_j // m4vdexpr // Voodoo Express (Bwb) m4vdexpr__a // m4vdexpr__b // @@ -26115,6 +26107,13 @@ m4c999 // Cloud 999 (Barcrest) m4c999a // m4c999b // m4c999c // +m4c999d // +m4c999e // +m4c999f // +m4c999g // +m4c999h // +m4c999i // +m4c999j // m4cardcs // Card Cash (Barcrest) m4cashcn // Cash Connect (Barcrest) m4cashco // Cash Counter (Barcrest) @@ -26126,9 +26125,9 @@ m4cashmx // Cash Matrix (Barcrest) m4cashmxa // m4cashzn // Cash Zone (Barcrest) m4cashzna // +m4czne // Cash Zone (Bwb) m4celclb // Celebration Club (Barcrest) m4centpt // Centrepoint (Barcrest) -m4centpta // Centrepoint (Barcrest) m4cheryo // Cherryo (Barcrest) m4class // First Class (Barcrest) m4classa // @@ -26190,6 +26189,7 @@ m4hiroll // High Roller (Barcrest) m4hittp2 // m4hittp2a // m4holdon // Hold On (Barcrest) +m4holywd // Hollywood (Bwb) m4intcep // Interceptor (Barcrest) m4intcepa // m4intcepb // @@ -26228,6 +26228,27 @@ m4nicke // m4nifty // Nifty Fifty (Barcrest) m4niftya // m4niftyb // +m4nnww2 // Nudge Nudge Wink Wink +m4nnww2__a // +m4nnww2__b // +m4nnww2__c // +m4nnww2__d // +m4nnww2__e // +m4nnww2__f // +m4nnww2__g // +m4nnww2__h // +m4nnww2__i // +m4nnww2__j // +m4nnww2__k // +m4nnww2__l // +m4nnww2__m // +m4nnww2__n // +m4nnww2__o // +m4nnww2__hx1 // +m4nnww2__hx2 // +m4nnww2__hx3 // +m4nnww2__hx4 // +m4nnww2__hx5 // m4nudqst // Nudge Quest (Barcrest) m4nudup // Nudge Up (Barcrest) m4num1 // Number One (Barcrest) @@ -26239,6 +26260,7 @@ m4potlck // Pot Luck Club (Barcrest) m4potlcka // m4r2r // Reel 2 Reel (Barcrest) m4randr // Random Roulette (Barcrest) +m4redunk // unknown RED m4reelpk // Reel Poker (Barcrest) m4rsg // Ready Steady Go (Barcrest) (type 1) m4rsga // @@ -26263,6 +26285,7 @@ m4starbr // Stars And Bars (Barcrest) m4stards // Stardust (Barcrest) m4stopcl // Stop the Clock (Barcrest) m4sunset // Sunset Boulevard (Barcrest) +m4sunsetc // m4sunsetd // m4sunsete // m4sunsetf // @@ -26293,10 +26316,12 @@ m4suptub // Super Tubes (Barcrest) m4suptuba // m4suptwo // Super Two (Barcrest) m4swpnot // Swap-A-Note (Barcrest) -m4swpnota // Swap-A-Note (Barcrest) +m4swpnota // +m4swpnotb // m4taj // Taj Mahal (Barcrest) m4take2 // Take Two (Barcrest) m4take2a // +m4t266 // Unknown MPU4 'TTO 1.1' m4tbreel // Turbo Reel (Barcrest) m4tbrldx // Turbo Reel Deluxe (Barcrest) m4thehit // The Hit (Barcrest) @@ -26314,306 +26339,15 @@ m4tridic // Triple Dice (Barcrest) m4ttak // Tic Tac Take (unknown) m4tupen // Tuppenny Cracker (Barcrest - Bootleg) m4twilgt // Twilight (Barcrest) +m4unkjok // Unknown MPU4 'Joker' +m4unkjoka // +m4unkjokb // +m4unkjokc // m4wayin // Way In (Barcrest) m4wayina // m4wildms // Wild Mystery (Barcrest) -@source:mpu4mod4yam.cpp -m4acechs // Ace Chase (Bwb) -m4acechs__a // -m4acechs__b // -m4acechs__c // -m4acechs__d // -m4acechs__e // -m4acechs__f // -m4acechs__g // -m4acechs__h // -m4acechs__i // -m4acechs__j // -m4acechs__k // -m4acechs__l // -m4acechs__m // -m4acechs__n // -m4acechs__o // -m4acechs__p // -m4acechs__q // -m4acechs__r // -m4acechs__s // -m4acechs__t // -m4acechs__u // -m4clbshf // Club Shuffle (Barcrest) -m4cojok // Carry On Joker (Barcrest) -m4cojok__a // -m4cojok__b // -m4cojok__c // -m4cojok__d // -m4cojok__e // -m4cojok__f // -m4fastfw // Fast Forward (Barcrest - Bwb) -m4fastfw__a // -m4fastfw__b // -m4fastfw__c // -m4fastfw__d // -m4fastfw__e // -m4fastfw__f // -m4gambal // Gamball (Barcrest) -m4gambal__a // -m4gambal__b // -m4gambal__c // -m4graff // Graffiti (Barcrest) -m4graff__a // -m4graff__b // -m4graffd // -m4joljokd // -m4monte // Monte Carlo (Barcrest) -m4monte__a // -m4monte__b // -m4monte__c // -m4monte__d // -m4monte__e // -m4monte__f // -m4monte__g // -m4monte__h // -m4monte__i // -m4monte__j // -m4monte__k // -m4monte__l // -m4monte__m // -m4montez -m4monteza -m4montezb -m4montezc -m4montezd -m4monteze -m4montezf -m4montezg -m4montezh -m4montezi -m4montezj -m4nudbnk // Nudge Banker (Barcrest) -m4nudbnk__a // -m4nudbnk__b // -m4nudbnk__c // -m4nudbnk__d // -m4przmc // Prize Monte Carlo (Barcrest) -m4przmc__a // -m4przmc__b // -m4przmc__c // -m4przmc__d // -m4przmc__e // -m4przmc__f // -m4przsss // Prize Spend Spend Spend (Barcrest) -m4przsss__0 // -m4przsss__a // -m4przsss__b // -m4przsss__c // -m4przsss__d // -m4przsss__e // -m4przsss__f // -m4przsss__g // -m4przsss__h // -m4przsss__i // -m4przsss__j // -m4przsss__k // -m4przsss__l // -m4przsss__m // -m4przsss__n // -m4przsss__o // -m4przsss__p // -m4przsss__q // -m4przsss__r // -m4przsss__s // -m4przsss__t // -m4przsss__u // -m4przsss__v // -m4przsss__w // -m4przsss__x // -m4przsss__y // -m4przsss__z // -m4ra // Red Alert (Barcrest) -m4ra__a // -m4ra__b // -m4ra__c // -m4ra__d // -m4ra__e // -m4ra__f // -m4ra__g // -m4ra__h // -m4ra__i // -m4ra__j // -m4ra__k // -m4ra__l // -m4ra__m // -m4ra__n // -m4ra__o // -m4ra__p // -m4ra__q // -m4ra__r // -m4sayno // Say No More (Barcrest) -m4sayno__a // -m4sayno__b // -m4sayno__c // -m4sayno__d // -m4sss // Spend Spend Spend (Barcrest) -m4sss__a // -m4sss__b // -m4sss__c // -m4sss__d // -m4sss__e // -m4sss__f // -m4sss__g // -m4sss__h // -m4sss__i // -m4sss__j // -m4sss__k // -m4sss__l // -m4sstrek // Super Streak (bootleg) -m4stc // Unknown MPU4 'STC 0.1' (Barcrest) -m4supst // Super Streak (Barcrest) -m4supst__0 // -m4supst__1 // -m4supst__2 // -m4supst__3 // -m4supst__4 // -m4supst__5 // -m4supst__6 // -m4supst__7 // -m4supst__8 // -m4supst__9 // -m4supst__a // -m4supst__a0 // -m4supst__a1 // -m4supst__a2 // -m4supst__a3 // -m4supst__a4 // -m4supst__a5 // -m4supst__a6 // -m4supst__a7 // -m4supst__a8 // -m4supst__a9 // -m4supst__aa // -m4supst__ab // -m4supst__ac // -m4supst__ad // -m4supst__ae // -m4supst__af // -m4supst__ag // -m4supst__ah // -m4supst__ai // -m4supst__aj // -m4supst__ak // -m4supst__al // -m4supst__am // -m4supst__an // -m4supst__ao // -m4supst__ap // -m4supst__aq // -m4supst__ar // -m4supst__as // -m4supst__at // -m4supst__au // -m4supst__av // -m4supst__aw // -m4supst__ax // -m4supst__ay // -m4supst__az // -m4supst__b // -m4supst__b0 // -m4supst__b1 // -m4supst__b2 // -m4supst__b3 // -m4supst__b4 // -m4supst__b5 // -m4supst__ba // -m4supst__bb // -m4supst__bc // -m4supst__bd // -m4supst__be // -m4supst__bf // -m4supst__bg // -m4supst__bh // -m4supst__bi // -m4supst__bj // -m4supst__bk // -m4supst__bl // -m4supst__bm // -m4supst__bn // -m4supst__bo // -m4supst__bp // -m4supst__bq // -m4supst__br // -m4supst__bs // -m4supst__bt // -m4supst__bu // -m4supst__bv // -m4supst__bw // -m4supst__bx // -m4supst__by // -m4supst__bz // -m4supst__c // -m4supst__d // -m4supst__e // -m4supst__f // -m4supst__g // -m4supst__h // -m4supst__i // -m4supst__j // -m4supst__k // -m4supst__l // -m4supst__m // -m4supst__n // -m4supst__o // -m4supst__p // -m4supst__q // -m4supst__r // -m4supst__s // -m4supst__t // -m4supst__u // -m4supst__v // -m4supst__w // -m4supst__x // -m4supst__y // -m4supst__z // -m4tst // MPU4 Unit Test (Program 4) -m4vivalv // Viva Las Vegas (Barcrest) -m4vivalv__0 // -m4vivalv__1 // -m4vivalv__2 // -m4vivalv__3 // -m4vivalv__4 // -m4vivalv__5 // -m4vivalv__6 // -m4vivalv__7 // -m4vivalv__8 // -m4vivalv__9 // -m4vivalv__a // -m4vivalv__b // -m4vivalv__c // -m4vivalv__e // -m4vivalv__f // -m4vivalv__g // -m4vivalv__h // -m4vivalv__i // -m4vivalv__j // -m4vivalv__k // -m4vivalv__l // -m4vivalv__m // -m4vivalv__n // -m4vivalv__o // -m4vivalv__p // -m4vivalv__q // -m4vivalv__r // -m4vivalv__s // -m4vivalv__t // -m4vivalv__u // -m4vivalv__v // -m4vivalv__w // -m4vivalv__x // -m4vivalv__y // -m4vivalv__z // -m4voodoo // Voodoo 1000 (Barcrest) - -@source:mpu4sw.cpp +@source:mpu4mod4oki.cpp m4actbnk // Action Bank (Barcrest) m4actbnk__a // m4actbnk__b // @@ -26624,70 +26358,6 @@ m4actbnk__f // m4actbnk__g // m4actbnk__h // m4actbnk__i // -m4addr // Adders & Ladders (Barcrest) -m4addr_h1 // -m4addr_h2 // -m4addr10 // -m4addr10_a // -m4addr10c // -m4addr10c_a // -m4addr10d // -m4addr10d_a // -m4addr10yd // -m4addr10yd_a // -m4addr3 // -m4addr3_a // -m4addr3_b // -m4addr3_c // -m4addr3_d // -m4addr3d // -m4addr3d_a // -m4addr3d_b // -m4addr3d_c // -m4addr3yd // -m4addr3yd_a // -m4addr3yd_b // -m4addr3yd_c // -m4addr4 // -m4addr4_a // -m4addr4c // -m4addr4c_a // -m4addr4c_b // -m4addr4d // -m4addr4yd // -m4addr5 // -m4addr5_a // -m4addr5c // -m4addr5c_a // -m4addr5d // -m4addr5d_a // -m4addr5yd // -m4addr5yd_a // -m4addr6lc // -m4addr6ld // -m4addr6lk // -m4addr6ly // -m4addr6lybd // -m4addr6lyd // -m4addrc // Adders & Ladders Classic (Barcrest) -m4addrc__a // -m4addrc__b // -m4addrc__c // -m4addrc__d // -m4addrc__e // -m4addrc__f // -m4addrc__h // -m4addrc__i // -m4addrc__j // -m4addrc__k // -m4addrc__l // -m4addrc__m // -m4addrc__n // -m4addrcc // Adders & Ladders Classic Club (Barcrest) -m4addrcc__a // -m4addrcc__b // -m4addrcc__c // -m4addrcc__d // m4andybt // Andy's Big Time Club (Barcrest) m4andybt__a // m4andybt__b // @@ -27148,10 +26818,6 @@ m4c9__7 // m4c9__8 // m4c9__9 // m4c9__a // -m4c9__a0 // -m4c9__a1 // -m4c9__a2 // -m4c9__a3 // m4c9__aa // m4c9__ab // m4c9__ac // @@ -27176,8 +26842,6 @@ m4c9__au // m4c9__av // m4c9__aw // m4c9__ax // -m4c9__ay // -m4c9__az // m4c9__b // m4c9__c // m4c9__d // @@ -27190,7 +26854,6 @@ m4c9__j // m4c9__k // m4c9__l // m4c9__m // -m4c9__n // m4c9__o // m4c9__p // m4c9__q // @@ -27675,7 +27338,6 @@ m4eaw__bu // m4eaw__bv // m4eaw__bw // m4eaw__bx // -m4eaw__bz // m4eaw__c // m4eaw__d // m4eaw__e // @@ -27704,30 +27366,6 @@ m4gb006 // Games Bond 006 (Barcrest) m4gb006__a // m4gb006__b // m4gb006__c // -m4gbust // Ghost Buster (Barcrest) -m4gbust__a // -m4gbust__b // -m4gbust__c // -m4gbust__d // -m4gbust__e // -m4gbust__f // -m4gbust__g // -m4gbust__h // -m4gbust__i // -m4gbust__j // -m4gbust__k // -m4gbust__l // -m4gbust__m // -m4gbust__n // -m4gbust__o // -m4gbust__p // -m4gbust__q // -m4gbust__r // -m4gbust__s // -m4gbust__t // -m4gbust__u // -m4gbust__v // -m4gbust__w // m4gclue // Give Us A Clue (Barcrest) m4gclue__a // m4gclue__b // @@ -27945,33 +27583,6 @@ m4hotrod__s // m4hotrod__t // m4hotrod__u // m4hotrod__v // -m4hypclb // Hyper Viper Club (Barcrest) -m4hypclb__a // -m4hypclb__b // -m4hypclb__c // -m4hypvip // Hyper Viper (Barcrest) -m4hypvip__a // -m4hypvip__b // -m4hypvip__c // -m4hypvip__d // -m4hypvip__e // -m4hypvip__f // -m4hypvip__g // -m4hypvip__h // -m4hypvip__i // -m4hypvip__j // -m4hypvip__k // -m4hypvip__l // -m4hypvip__m // -m4hypvip__n // -m4hypvip__o // -m4hypvip__p // -m4hypvip__q // -m4hypvip__r // -m4hypvip__s // -m4hypvip__t // -m4hypvip__u // -m4hypvip__v // m4jolgem // Jolly Gems (Barcrest) m4jolgem__0 // m4jolgem__1 // @@ -28532,15 +28143,6 @@ m4nhtt__h // m4nhtt__i // m4nhtt__j // m4nnww // Nudge Nudge Wink Wink (Barcrest) -m4nnww__0 // -m4nnww__1 // -m4nnww__2 // -m4nnww__3 // -m4nnww__4 // -m4nnww__5 // -m4nnww__6 // -m4nnww__7 // -m4nnww__8 // m4nnww__9 // m4nnww__a // m4nnww__aa // @@ -28561,14 +28163,8 @@ m4nnww__ao // m4nnww__ap // m4nnww__aq // m4nnww__ar // -m4nnww__as // -m4nnww__at // -m4nnww__au // -m4nnww__av // -m4nnww__aw // m4nnww__ax // m4nnww__ay // -m4nnww__az // m4nnww__b // m4nnww__c // m4nnww__d // @@ -28592,8 +28188,6 @@ m4nnww__u // m4nnww__v // m4nnww__w // m4nnww__x // -m4nnww__y // -m4nnww__z // m4nnwwc // Nudge Nudge Wink Wink Classic (Barcrest) m4nnwwc__0 // m4nnwwc__1 // @@ -28863,8 +28457,6 @@ m4przmns__l // m4przmns__m // m4przmns__n // m4przmon // Prize Money (Barcrest) -m4przmon__0 // -m4przmon__1 // m4przmon__a // m4przmon__b // m4przmon__c // @@ -28881,16 +28473,6 @@ m4przmon__m // m4przmon__n // m4przmon__o // m4przmon__p // -m4przmon__q // -m4przmon__r // -m4przmon__s // -m4przmon__t // -m4przmon__u // -m4przmon__v // -m4przmon__w // -m4przmon__x // -m4przmon__y // -m4przmon__z // m4przrf // Prize Rich And Famous (Barcrest) m4przrf__a // m4przrf__b // @@ -29163,7 +28745,6 @@ m4rhr__5 // m4rhr__6 // m4rhr__7 // m4rhr__8 // -m4rhr__9 // m4rhr__a // m4rhr__a0 // m4rhr__a1 // @@ -29231,6 +28812,7 @@ m4rhrc__5 // m4rhrc__6 // m4rhrc__7 // m4rhrc__8 // +m4rhrc__9 // m4rhrc__a // m4rhrc__aa // m4rhrc__b // @@ -29352,24 +28934,12 @@ m4ssclas__b // m4ssclas__c // m4ssclas__d // m4ssclas__e // -m4ssclas__f // -m4suphv // Super Hyper Viper (Barcrest) -m4suphv__a // -m4suphv__b // -m4suphv__c // -m4suphv__d // -m4suphv__e // -m4suphv__f // -m4suphv__g // -m4suphv__h // -m4suphv__i // -m4suphv__j // -m4suphv__k // -m4suphv__l // -m4suphv__m // -m4suphv__n // -m4suphv__o // -m4suphv__p // +m4supbjc // Super Blackjack Club (Barcrest) +m4supbjca // +m4supbjcb // +m4supbjcc // +m4supbjcd // +m4take5 // Top Tenner / Take 5 (bootleg) m4takepk // Take Your Pick (Barcrest) m4takepk__0 // m4takepk__1 // @@ -29718,12 +29288,6 @@ m4tutfrt__7 // m4tutfrt__8 // m4tutfrt__9 // m4tutfrt__a // -m4tutfrt__a0 // -m4tutfrt__a1 // -m4tutfrt__a2 // -m4tutfrt__a3 // -m4tutfrt__a4 // -m4tutfrt__a5 // m4tutfrt__aa // m4tutfrt__ab // m4tutfrt__ac // @@ -29744,11 +29308,6 @@ m4tutfrt__ar // m4tutfrt__as // m4tutfrt__at // m4tutfrt__au // -m4tutfrt__av // -m4tutfrt__aw // -m4tutfrt__ax // -m4tutfrt__ay // -m4tutfrt__az // m4tutfrt__b // m4tutfrt__c // m4tutfrt__d // @@ -29855,8 +29414,9 @@ m4vegast__r // m4vegast__s // m4vegast__t // m4vegast__u // -m4vegast__v // m4vegast__x // +m4vegast__0 // +m4vegast__1 // m4vivaes // Viva Espana (Barcrest) m4vivaes__0 // m4vivaes__1 // @@ -29992,6 +29552,442 @@ m4wta__x // m4wta__y // m4wta__z // +@source:mpu4mod4yam.cpp +m4acechs // Ace Chase (Bwb) +m4acechs__a // +m4acechs__b // +m4acechs__c // +m4acechs__d // +m4acechs__e // +m4acechs__f // +m4acechs__g // +m4acechs__h // +m4acechs__i // +m4acechs__j // +m4acechs__k // +m4acechs__l // +m4acechs__m // +m4acechs__n // +m4acechs__o // +m4acechs__p // +m4acechs__q // +m4acechs__r // +m4acechs__s // +m4acechs__t // +m4acechs__u // +m4addr // Adders & Ladders (Barcrest) +m4addr_h1 // +m4addr_h2 // +m4addr10 // +m4addr10_a // +m4addr10c // +m4addr10c_a // +m4addr10d // +m4addr10d_a // +m4addr10yd // +m4addr10yd_a // +m4addr3 // +m4addr3_a // +m4addr3_b // +m4addr3_c // +m4addr3_d // +m4addr3d // +m4addr3d_a // +m4addr3d_b // +m4addr3d_c // +m4addr3yd // +m4addr3yd_a // +m4addr3yd_b // +m4addr3yd_c // +m4addr4 // +m4addr4_a // +m4addr4c // +m4addr4c_a // +m4addr4c_b // +m4addr4d // +m4addr4yd // +m4addr5 // +m4addr5_a // +m4addr5c // +m4addr5c_a // +m4addr5d // +m4addr5d_a // +m4addr5yd // +m4addr5yd_a // +m4addr6lc // +m4addr6ld // +m4addr6lk // +m4addr6ly // +m4addr6lybd // +m4addr6lyd // +m4addrc // Adders & Ladders Classic (Barcrest) +m4addrc__a // +m4addrc__b // +m4addrc__c // +m4addrc__d // +m4addrc__h // +m4addrc__i // +m4addrc__j // +m4addrc__k // +m4addrc__l // +m4addrc__m // +m4addrcc // Adders & Ladders Classic Club (Barcrest) +m4addrcc__a // +m4addrcc__b // +m4addrcc__c // +m4addrcc__d // +m4clbshf // Club Shuffle (Barcrest) +m4cojok // Carry On Joker (Barcrest) +m4cojok__a // +m4cojok__b // +m4cojok__c // +m4cojok__d // +m4cojok__e // +m4cojok__f // +m4fastfw // Fast Forward (Barcrest - Bwb) +m4fastfw__a // +m4fastfw__b // +m4fastfw__c // +m4fastfw__d // +m4fastfw__e // +m4fastfw__f // +m4gambal // Gamball (Barcrest) +m4gambal__a // +m4gambal__b // +m4gambal__c // +m4gbust // Ghost Buster (Barcrest) +m4gbust__a // +m4gbust__b // +m4gbust__c // +m4gbust__d // +m4gbust__e // +m4gbust__f // +m4gbust__g // +m4gbust__h // +m4gbust__i // +m4gbust__j // +m4gbust__k // +m4gbust__l // +m4gbust__m // +m4gbust__n // +m4gbust__o // +m4gbust__p // +m4gbust__q // +m4gbust__r // +m4gbust__s // +m4gbust__t // +m4gbust__u // +m4gbust__v // +m4gbust__w // +m4graff // Graffiti (Barcrest) +m4graff__a // +m4graff__b // +m4graffd // +m4hslo // Hot Slot (bootleg) +m4hypclb // Hyper Viper Club (Barcrest) +m4hypclb__a // +m4hypclb__b // +m4hypclb__c // +m4joljokd // +m4monte // Monte Carlo (Barcrest) +m4monte__a // +m4monte__b // +m4monte__c // +m4monte__d // +m4monte__e // +m4monte__f // +m4monte__g // +m4monte__h // +m4monte__i // +m4monte__j // +m4monte__k // +m4monte__l // +m4monte__m // +m4monteza +m4montezb +m4montezc +m4montezd +m4monteze +m4montezf +m4montezg +m4montezh +m4montezi +m4montezj +m4nudbnk // Nudge Banker (Barcrest) +m4nudbnk__a // +m4nudbnk__b // +m4nudbnk__c // +m4nudbnk__d // +m4przmc // Prize Monte Carlo (Barcrest) +m4przmc__a // +m4przmc__b // +m4przmc__c // +m4przmc__d // +m4przmc__e // +m4przmc__f // +m4przmc__g // +m4przmc__h // +m4przmc__i // +m4przmc__j // +m4przmc__k // +m4przmc__l // +m4przmc__m // +m4przmc__n // +m4przmc__o // +m4przmc__p // +m4przmc__q // +m4przmc__r // +m4przmc__s // +m4przsss // Prize Spend Spend Spend (Barcrest) +m4przsss__0 // +m4przsss__1 // +m4przsss__a // +m4przsss__b // +m4przsss__c // +m4przsss__d // +m4przsss__e // +m4przsss__f // +m4przsss__g // +m4przsss__h // +m4przsss__i // +m4przsss__j // +m4przsss__k // +m4przsss__l // +m4przsss__m // +m4przsss__n // +m4przsss__o // +m4przsss__p // +m4przsss__q // +m4przsss__r // +m4przsss__s // +m4przsss__t // +m4przsss__u // +m4przsss__v // +m4przsss__w // +m4przsss__x // +m4przsss__y // +m4przsss__z // +m4ra // Red Alert (Barcrest) +m4ra__a // +m4ra__b // +m4ra__c // +m4ra__d // +m4ra__e // +m4ra__f // +m4ra__g // +m4ra__h // +m4ra__i // +m4ra__j // +m4ra__k // +m4ra__l // +m4ra__m // +m4ra__n // +m4ra__o // +m4ra__p // +m4ra__q // +m4sayno // Say No More (Barcrest) +m4sayno__a // +m4sayno__b // +m4sayno__c // +m4sayno__d // +m4sss // Spend Spend Spend (Barcrest) +m4sss__b // +m4sss__c // +m4sss__d // +m4sss__e // +m4sss__f // +m4sss__g // +m4sss__h // +m4sss__i // +m4sss__j // +m4sss__k // +m4sss__l // +m4sstrek // Super Streak (bootleg) +m4stc // +m4shv // Super Hyper Viper (Barcrest) +m4shv__0 +m4shv__1 +m4shv__10 +m4shv__11 +m4shv__12 +m4shv__2 +m4shv__3 +m4shv__4 +m4shv__5 +m4shv__6 +m4shv__7 +m4shv__8 +m4shv__9 +m4shv__a +m4shv__b +m4shv__c +m4shv__d +m4shv__e +m4shv__f +m4shv__g +m4shv__h +m4shv__i +m4shv__j +m4shv__k +m4shv__l +m4shv__m +m4shv__n +m4shv__o +m4shv__p +m4shv__q +m4shv__r +m4shv__s +m4shv__t +m4shv__u +m4shv__v +m4shv__w +m4shv__x +m4shv__y +m4shv__z +m4supst // Super Streak (Barcrest) +m4supst__0 // +m4supst__1 // +m4supst__2 // +m4supst__3 // +m4supst__4 // +m4supst__5 // +m4supst__6 // +m4supst__7 // +m4supst__8 // +m4supst__9 // +m4supst__a // +m4supst__a0 // +m4supst__a1 // +m4supst__a2 // +m4supst__a3 // +m4supst__a4 // +m4supst__a5 // +m4supst__a6 // +m4supst__a7 // +m4supst__a8 // +m4supst__a9 // +m4supst__aa // +m4supst__ab // +m4supst__ac // +m4supst__ad // +m4supst__ae // +m4supst__af // +m4supst__ag // +m4supst__ah // +m4supst__ai // +m4supst__aj // +m4supst__ak // +m4supst__al // +m4supst__am // +m4supst__an // +m4supst__ao // +m4supst__ap // +m4supst__aq // +m4supst__ar // +m4supst__as // +m4supst__at // +m4supst__au // +m4supst__av // +m4supst__aw // +m4supst__ax // +m4supst__ay // +m4supst__az // +m4supst__b // +m4supst__b0 // +m4supst__b1 // +m4supst__b2 // +m4supst__b3 // +m4supst__b4 // +m4supst__b5 // +m4supst__b6 // +m4supst__b7 // +m4supst__ba // +m4supst__bb // +m4supst__bc // +m4supst__bd // +m4supst__be // +m4supst__bf // +m4supst__bg // +m4supst__bh // +m4supst__bi // +m4supst__bj // +m4supst__bk // +m4supst__bl // +m4supst__bm // +m4supst__bn // +m4supst__bo // +m4supst__bp // +m4supst__bq // +m4supst__br // +m4supst__bs // +m4supst__bt // +m4supst__bu // +m4supst__bv // +m4supst__bw // +m4supst__bx // +m4supst__by // +m4supst__bz // +m4supst__c // +m4supst__d // +m4supst__e // +m4supst__f // +m4supst__g // +m4supst__h // +m4supst__i // +m4supst__j // +m4supst__k // +m4supst__l // +m4supst__m // +m4supst__n // +m4supst__o // +m4supst__p // +m4supst__q // +m4supst__r // +m4supst__s // +m4supst__t // +m4supst__u // +m4supst__v // +m4supst__w // +m4supst__x // +m4supst__y // +m4supst__z // +m4tst // MPU4 Unit Test (Program 4) +m4vivalv // Viva Las Vegas (Barcrest) +m4vivalv__0 // +m4vivalv__1 // +m4vivalv__2 // +m4vivalv__3 // +m4vivalv__4 // +m4vivalv__5 // +m4vivalv__6 // +m4vivalv__a // +m4vivalv__b // +m4vivalv__c // +m4vivalv__d // +m4vivalv__e // +m4vivalv__f // +m4vivalv__g // +m4vivalv__h // +m4vivalv__i // +m4vivalv__j // +m4vivalv__k // +m4vivalv__l // +m4vivalv__m // +m4vivalv__n // +m4vivalv__o // +m4vivalv__p // +m4vivalv__q // +m4vivalv__r // +m4vivalv__s // +m4vivalv__t // +m4vivalv__u // +m4vivalv__v // +m4vivalv__w // +m4vivalv__x // +m4vivalv__y // +m4vivalv__z // +m4voodoo // Voodoo 1000 (Barcrest) + @source:mpu4union.cpp m4crzbn // Crazy Bingo m4cwalk // Cake Walk (Union)