Added a default backup ram for the jolyc980 set, to get it boot to the end-user. [Angelo Salese]

===================================

Explaination about this:
This gambling game provide a code that you should type it in a DOS program. This PC-DOS program
(that's nowhere to be found plus I guess it's read-protected) gives an input code that you should 
press back on the game. 
My solution is to give a default eeprom, because, really, I don't think that a popmessage is a 
good solution for the end-user.
I don't even consider to patch the program rom, and anyway, I can't believe that somebody in 2000
really provided an Amiga-ish password system as "protection" ;P
This commit is contained in:
Angelo Salese 2009-01-28 23:59:37 +00:00
parent 395d41bd07
commit c9ffa9bcc5

View File

@ -1036,7 +1036,7 @@
#include "video/mc6845.h"
#include "machine/6821pia.h"
#include "sound/ay8910.h"
#include "machine/eeprom.h"
#include "funworld.lh"
/* from video */
@ -2080,6 +2080,162 @@ static MACHINE_DRIVER_START( saloon )
MDRV_CPU_PROGRAM_MAP(saloon_map, 0)
MACHINE_DRIVER_END
static const UINT8 jolyc980_default_eeprom[0x800] = {
0x4C,0x17,0xAC,0x4C,0x3B,0xB6,0xAE,0x65,0x33,0x79,0x40,0x00,0x00,0x20,0x20,0x20,
0x20,0x20,0x31,0x30,0x00,0x00,0x32,0x4D,0x64,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x60,0xE5,0x69,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xD4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x60,0x05,0x02,0x02,0x02,0xEE,0x07,0x00,0x01,0x00,0x09,0x09,0x99,0x6C,0xD8,
0xA2,0x5A,0x00,0x04,0x00,0x01,0x2A,0x06,0x31,0x12,0x3D,0x00,0x00,0x00,0x01,0x0F,
0x00,0x6D,0x00,0x00,0x00,0x00,0xBE,0x99,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xFE,0x04,0x04,0x04,0x40,0x02,0x15,0xB3,0x00,0x40,0x00,0x00,0x00,0x00,0xB8,0xFF,
0x00,0x07,0x01,0x2A,0x38,0x18,0x03,0x3C,0x2C,0x24,0x35,0x0C,0x04,0x3F,0x06,0x31,
0x12,0x3D,0x13,0x1A,0x23,0x11,0x21,0x24,0x1C,0x06,0x27,0xFF,0x00,0xFF,0x00,0xFF,
0x00,0x00,0x01,0xFF,0x00,0xFF,0x00,0xF7,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x02,0x05,
0x00,0x00,0x00,0xFF,0x00,0xFF,0x08,0xFF,0xE3,0x00,0x00,0xFF,0x00,0xFF,0x00,0xFF,
0x40,0x6D,0xFF,0x00,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,
0x00,0xFF,0x00,0xFF,0xDD,0xFD,0x07,0x80,0x07,0x02,0x08,0x80,0x08,0x02,0x0A,0x00,
0x00,0x00,0x07,0x80,0x02,0x00,0x3F,0x00,0xFF,0xFF,0x00,0xFF,0xF0,0xFF,0x00,0x04,
0x00,0x00,0xF0,0xFF,0x00,0x00,0x50,0xFF,0x00,0x00,0x6C,0x0C,0x80,0xE8,0x02,0xFE,
0x48,0x00,0xFE,0x00,0xFF,0x00,0xFE,0x00,0xFF,0x00,0xFE,0x00,0xFF,0x00,0xFE,0x00,
0xFF,0x00,0xFE,0x00,0xFF,0x00,0xEE,0xEC,0x68,0xED,0x00,0x3D,0x9B,0x81,0xC2,0x00,
0x40,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,
0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,
0x00,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,
0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,
0x00,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,
0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,
0x40,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,
0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,
0xDF,0x00,0xC2,0x00,0xDF,0x00,0xC2,0x00,0xFF,0x00,0xFE,0x00,0xFF,0x00,0xFE,0x00,
0xFF,0x00,0xFE,0x00,0xFF,0x00,0xFE,0x00,0xFF,0x00,0xFE,0x00,0xFF,0x00,0xFE,0x00,
0x40,0x00,0xFE,0x00,0xFF,0x00,0xFE,0x00,0xFF,0x00,0xFE,0x00,0xFF,0x00,0xFE,0x00,
0xFF,0x00,0xFE,0x00,0xFF,0xEB,0xEB,0x60,0x60,0x60,0xB1,0x60,0xB1,0x60,0x60,0x60,
0xB1,0x89,0xB1,0x0E,0xB0,0x31,0x20,0x20,0x20,0x20,0x20,0x00,0x40,0x79,0x60,0x67,
0x82,0x00,0x04,0x77,0x20,0xD0,0x28,0xA0,0xC3,0x8F,0x4A,0xAB,0x75,0xAB,0xA9,0x86,
0x00,0x00,0x00,0x01,0x98,0x05,0x05,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x02,0x00,
0x01,0x00,0x00,0x00,0x3F,0x06,0x31,0x12,0x3D,0x06,0x00,0x00,0x00,0x00,0x00,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x01,0x00,0x02,0x00,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x56,0x32,0x2E,0x30,0x20,0x05,0x04,0x00,0x00,0x03,0x05,0x08,0x02,0x02,0x00,0x00,
0x00,0x01,0x29,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x18,0x85,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x29,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xF0,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0xF0,0x00,0x00,0x00,0x7C,0x00,0x00,0x9F,
0x91,0x62,0x04,0x00,0x00,0x00,0x05,0x15,0x09,0x00,0x00,0x00,0x31,0x85,0x03,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x91,0x62,0x04,0x00,0x00,0x00,0x05,0x15,0x09,0x00,0x00,0x00,0x31,
0x85,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9D,
0x1C,0x80,0xF0,0x02,0x00,0x00,0x00,0x80,0x60,0xEB,0x00,0xF7,0x40,0xFF,0x00,0x21
};
/*
Load a default eeprom, otherwise an annoying password system should be inserted with
inputs correlated to a code that pops up on the screen.
This code should be inserted into a PC-DOS program, that program is nowhere to be found right now.
*/
static NVRAM_HANDLER( jolyc980 )
{
if (read_or_write)
mame_fwrite(file, generic_nvram, generic_nvram_size);
else if (file)
mame_fread(file, generic_nvram, generic_nvram_size);
else
{
int i;
for(i=0;i<generic_nvram_size;i++)
generic_nvram[i] = jolyc980_default_eeprom[i];
}
}
static MACHINE_DRIVER_START( jolyc980 )
MDRV_IMPORT_FROM(cuoreuno)
MDRV_NVRAM_HANDLER( jolyc980 )
MACHINE_DRIVER_END
/*************************
* Rom Load *
@ -2985,7 +3141,7 @@ static DRIVER_INIT( saloon )
/* YEAR NAME PARENT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
GAME( 1985, jollycrd, 0, funworld, funworld, funworld, ROT0, "TAB-Austria", "Jolly Card (austrian)", 0 )
GAME( 1985, jolyc3x3, jollycrd, funworld, funworld, funworld, ROT0, "TAB-Austria", "Jolly Card (3x3 deal)", 0 )
GAME( 2000, jolyc980, jollycrd, cuoreuno, jolyc980, jolyc980, ROT0, "Spale-Soft", "Jolly Card Professional 2.0", 0 )
GAME( 2000, jolyc980, jollycrd, jolyc980, jolyc980, jolyc980, ROT0, "Spale-Soft", "Jolly Card Professional 2.0", 0 )
GAME( 1998, jolycdev, jollycrd, funworld, funworld, funworld, ROT0, "TAB/Evona", "Jolly Card (Evona Electronic)", 0 )
GAME( 1985, jolyccra, jollycrd, cuoreuno, jolycdcr, funworld, ROT0, "TAB-Austria", "Jolly Card (croatian, set 1)", 0 )
GAME( 1993, jolyccrb, jollycrd, cuoreuno, jolycdcr, funworld, ROT0, "Soft Design", "Jolly Card (croatian, set 2)", 0 )