diff options
author | Aaron Giles <aaron@aarongiles.com> | 2010-09-10 22:20:44 +0000 |
---|---|---|
committer | Aaron Giles <aaron@aarongiles.com> | 2010-09-10 22:20:44 +0000 |
commit | 5702a0314931ea58bc5dc3a038999ff38d2474ed (patch) | |
tree | 5b4535050e03fc021125326a51d38d808116f638 | |
parent | 82d2ee71c349dc9f374655cf0ba7d1d0a5029c39 (diff) |
Replaced largely redundant NVRAM handlers with NVRAM devices
for namcos2 and a bunch of the Nichibutsu mahjong games. Also
did it for the Atari games, moving the old hard-coded EEPROM
data out into files finally. The harddriv EEPROMs in particular
are pre-calibrated now to hopefully reduce whining.
38 files changed, 601 insertions, 754 deletions
diff --git a/src/mame/drivers/arcadecl.c b/src/mame/drivers/arcadecl.c index 255e3d35923..d8eab94a1d8 100644 --- a/src/mame/drivers/arcadecl.c +++ b/src/mame/drivers/arcadecl.c @@ -168,7 +168,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x640026, 0x640027) AM_READ_PORT("TRACKY1") AM_RANGE(0x640040, 0x64004f) AM_WRITE(latch_w) AM_RANGE(0x640060, 0x64006f) AM_WRITE(atarigen_eeprom_enable_w) - AM_RANGE(0x641000, 0x641fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(rampart_state, eeprom, eeprom_size) + AM_RANGE(0x641000, 0x641fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0x642000, 0x642001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0xff00) AM_RANGE(0x646000, 0x646fff) AM_WRITE(atarigen_scanline_int_ack_w) AM_RANGE(0x647000, 0x647fff) AM_WRITE(watchdog_reset16_w) @@ -332,7 +332,7 @@ static MACHINE_CONFIG_START( arcadecl, rampart_state ) MDRV_MACHINE_START(arcadecl) MDRV_MACHINE_RESET(arcadecl) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/atarig1.c b/src/mame/drivers/atarig1.c index 0907e40f068..562b9fe3775 100644 --- a/src/mame/drivers/atarig1.c +++ b/src/mame/drivers/atarig1.c @@ -221,7 +221,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xfc0000, 0xfc0001) AM_READ(special_port0_r) AM_RANGE(0xfc8000, 0xfc8007) AM_READWRITE(a2d_data_r, a2d_select_w) AM_RANGE(0xfd0000, 0xfd0001) AM_READ(atarigen_sound_upper_r) - AM_RANGE(0xfd8000, 0xfdffff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(atarig1_state, eeprom, eeprom_size) + AM_RANGE(0xfd8000, 0xfdffff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") /* AM_RANGE(0xfe0000, 0xfe7fff) AM_READ(from_r)*/ AM_RANGE(0xfe8000, 0xfe89ff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xff0000, 0xff0fff) AM_WRITE(atarirle_0_spriteram_w) AM_BASE(&atarirle_0_spriteram) @@ -416,7 +416,7 @@ static MACHINE_CONFIG_START( atarig1, atarig1_state ) MDRV_MACHINE_START(atarig1) MDRV_MACHINE_RESET(atarig1) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/atarig42.c b/src/mame/drivers/atarig42.c index 6f4b023b165..35d3753f515 100644 --- a/src/mame/drivers/atarig42.c +++ b/src/mame/drivers/atarig42.c @@ -363,7 +363,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xf40000, 0xf40001) AM_READ(asic65_io_r) AM_RANGE(0xf60000, 0xf60001) AM_READ(asic65_r) AM_RANGE(0xf80000, 0xf80003) AM_WRITE(asic65_data_w) - AM_RANGE(0xfa0000, 0xfa0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(atarig42_state, eeprom, eeprom_size) + AM_RANGE(0xfa0000, 0xfa0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xfc0000, 0xfc0fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xff0000, 0xff0fff) AM_WRITE(atarirle_0_spriteram_w) AM_BASE(&atarirle_0_spriteram) AM_RANGE(0xff2000, 0xff5fff) AM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(atarig42_state, playfield) @@ -524,7 +524,7 @@ static MACHINE_CONFIG_START( atarig42, atarig42_state ) MDRV_MACHINE_START(atarig42) MDRV_MACHINE_RESET(atarig42) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -602,6 +602,9 @@ ROM_START( roadriot ) ROM_LOAD( "136089-1050.15e", 0x40000, 0x20000, CRC(64d410bb) SHA1(877bccca7ff37a9dd8294bc1453487a2f516ca7d) ) ROM_LOAD( "136089-1051.12e", 0x60000, 0x20000, CRC(bffd01c8) SHA1(f6de000f61ea0c1ddb31ee5301506e5e966638c2) ) + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "roadriot-eeprom.bin", 0x0000, 0x1000, CRC(833d0d53) SHA1(239f791a29ed61317d639fab699752094984078e) ) + ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_LOAD( "136089-1001.bin", 0x0000, 0x0200, CRC(5836cb5a) SHA1(2c797f6a1227d6e1fd7a12f99f0254072c8c266e) ) ROM_LOAD( "136089-1002.bin", 0x0200, 0x0200, CRC(44288753) SHA1(811582015264f85a32643196cdb331a41430318f) ) @@ -648,6 +651,9 @@ ROM_START( guardian ) ROM_REGION( 0x80000, "adpcm", 0 ) ROM_LOAD( "136092-0010-snd", 0x00000, 0x80000, CRC(bca27f40) SHA1(91a41eac116eb7d9a790abc590eb06328726d1c2) ) + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "guardian-eeprom.bin", 0x0000, 0x1000, CRC(fba171dc) SHA1(c53f72b7c25602c5fedc38d34d1342fbd10e4a44) ) + ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_LOAD( "136092-1001.bin", 0x0000, 0x0200, CRC(b3251eeb) SHA1(5e83baa70aaa28f07f32657bf974fd87719972d3) ) ROM_LOAD( "136092-1002.bin", 0x0200, 0x0200, CRC(0c5314da) SHA1(a9c7ee3ab015c7f3ada4200acd2854eb9a5c74b0) ) @@ -675,20 +681,7 @@ ROM_END static DRIVER_INIT( roadriot ) { - static const UINT16 default_eeprom[] = - { - 0x0001,0x01B7,0x01AF,0x01E4,0x0100,0x0130,0x0300,0x01CC, - 0x0700,0x01FE,0x0500,0x0102,0x0200,0x0108,0x011B,0x01C8, - 0x0100,0x0107,0x0120,0x0100,0x0125,0x0500,0x0177,0x0162, - 0x013A,0x010A,0x01B7,0x01AF,0x01E4,0x0100,0x0130,0x0300, - 0x01CC,0x0700,0x01FE,0x0500,0x0102,0x0200,0x0108,0x011B, - 0x01C8,0x0100,0x0107,0x0120,0x0100,0x0125,0x0500,0x0177, - 0x0162,0x013A,0x010A,0xE700,0x0164,0x0106,0x0100,0x0104, - 0x01B0,0x0146,0x012E,0x1A00,0x01C8,0x01D0,0x0118,0x0D00, - 0x0118,0x0100,0x01C8,0x01D0,0x0000 - }; atarig42_state *state = machine->driver_data<atarig42_state>(); - state->eeprom_default = default_eeprom; atarijsa_init(machine, "IN2", 0x0040); state->playfield_base = 0x400; @@ -725,21 +718,7 @@ static DRIVER_INIT( roadriot ) static DRIVER_INIT( guardian ) { - static const UINT16 default_eeprom[] = - { - 0x0001,0x01FD,0x01FF,0x01EF,0x0100,0x01CD,0x0300,0x0104, - 0x0700,0x0117,0x0F00,0x0133,0x1F00,0x0133,0x2400,0x0120, - 0x0600,0x0104,0x0300,0x010C,0x01A0,0x0100,0x0152,0x0179, - 0x012D,0x01BD,0x01FD,0x01FF,0x01EF,0x0100,0x01CD,0x0300, - 0x0104,0x0700,0x0117,0x0F00,0x0133,0x1F00,0x0133,0x2400, - 0x0120,0x0600,0x0104,0x0300,0x010C,0x01A0,0x0100,0x0152, - 0x0179,0x012D,0x01BD,0x8C00,0x0118,0x01AB,0x015A,0x0100, - 0x01D0,0x010B,0x01B8,0x01C7,0x01E2,0x0134,0x0100,0x010A, - 0x01BE,0x016D,0x0142,0x0100,0x0120,0x0109,0x0110,0x0141, - 0x0109,0x0100,0x0108,0x0134,0x0105,0x0148,0x1400,0x0000 - }; atarig42_state *state = machine->driver_data<atarig42_state>(); - state->eeprom_default = default_eeprom; atarijsa_init(machine, "IN2", 0x0040); state->playfield_base = 0x000; diff --git a/src/mame/drivers/atarigt.c b/src/mame/drivers/atarigt.c index 9efa45da90e..75b8791408d 100644 --- a/src/mame/drivers/atarigt.c +++ b/src/mame/drivers/atarigt.c @@ -609,7 +609,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0xc00000, 0xc00003) AM_READWRITE(sound_data_r, sound_data_w) AM_RANGE(0xd00014, 0xd00017) AM_READ(analog_port0_r) AM_RANGE(0xd0001c, 0xd0001f) AM_READ(analog_port1_r) - AM_RANGE(0xd20000, 0xd20fff) AM_READWRITE(atarigen_eeprom_upper32_r, atarigen_eeprom32_w) AM_BASE_SIZE_MEMBER(atarigt_state, eeprom, eeprom_size) + AM_RANGE(0xd20000, 0xd20fff) AM_READWRITE(atarigen_eeprom_upper32_r, atarigen_eeprom32_w) AM_SHARE("eeprom") AM_RANGE(0xd40000, 0xd4ffff) AM_WRITE(atarigen_eeprom_enable32_w) AM_RANGE(0xd72000, 0xd75fff) AM_WRITE(atarigen_playfield32_w) AM_BASE_MEMBER(atarigt_state, playfield32) AM_RANGE(0xd76000, 0xd76fff) AM_WRITE(atarigen_alpha32_w) AM_BASE_MEMBER(atarigt_state, alpha32) @@ -800,7 +800,7 @@ static MACHINE_CONFIG_START( atarigt, atarigt_state ) MDRV_MACHINE_START(atarigt) MDRV_MACHINE_RESET(atarigt) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/atarigx2.c b/src/mame/drivers/atarigx2.c index 0628c1d7a23..d3b2e1b00cf 100644 --- a/src/mame/drivers/atarigx2.c +++ b/src/mame/drivers/atarigx2.c @@ -1153,7 +1153,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 32 ) AM_RANGE(0xc80000, 0xc80fff) AM_RAM AM_RANGE(0xca0000, 0xca0fff) AM_READWRITE(atarigx2_protection_r, atarigx2_protection_w) AM_BASE_MEMBER(atarigx2_state, protection_base) AM_RANGE(0xd00000, 0xd1ffff) AM_READ(a2d_data_r) - AM_RANGE(0xd20000, 0xd20fff) AM_READWRITE(atarigen_eeprom_upper32_r, atarigen_eeprom32_w) AM_BASE_SIZE_MEMBER(atarigx2_state, eeprom, eeprom_size) + AM_RANGE(0xd20000, 0xd20fff) AM_READWRITE(atarigen_eeprom_upper32_r, atarigen_eeprom32_w) AM_SHARE("eeprom") AM_RANGE(0xd40000, 0xd40fff) AM_RAM_WRITE(atarigen_666_paletteram32_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xd72000, 0xd75fff) AM_WRITE(atarigen_playfield32_w) AM_BASE_MEMBER(atarigx2_state, playfield32) AM_RANGE(0xd76000, 0xd76fff) AM_WRITE(atarigen_alpha32_w) AM_BASE_MEMBER(atarigx2_state, alpha32) @@ -1397,7 +1397,7 @@ static MACHINE_CONFIG_START( atarigx2, atarigx2_state ) MDRV_MACHINE_START(atarigx2) MDRV_MACHINE_RESET(atarigx2) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/atarisy1.c b/src/mame/drivers/atarisy1.c index cf97fa658a2..2a070348e98 100644 --- a/src/mame/drivers/atarisy1.c +++ b/src/mame/drivers/atarisy1.c @@ -465,7 +465,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xa02000, 0xa02fff) AM_RAM_WRITE(atarisy1_spriteram_w) AM_BASE(&atarimo_0_spriteram) AM_RANGE(0xa03000, 0xa03fff) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(atarisy1_state, alpha) AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xf00000, 0xf00fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(atarisy1_state, eeprom, eeprom_size) + AM_RANGE(0xf00000, 0xf00fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xf20000, 0xf20007) AM_READ(trakball_r) AM_RANGE(0xf40000, 0xf4001f) AM_READWRITE(joystick_r, joystick_w) AM_RANGE(0xf60000, 0xf60003) AM_READ(port4_r) @@ -752,7 +752,7 @@ static MACHINE_CONFIG_START( atarisy1, atarisy1_state ) MDRV_MACHINE_START(atarisy1) MDRV_MACHINE_RESET(atarisy1) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") MDRV_TIMER_ADD("joystick_timer", delayed_joystick_int) MDRV_TIMER_ADD("scan_timer", atarisy1_int3_callback) diff --git a/src/mame/drivers/atarisy2.c b/src/mame/drivers/atarisy2.c index 0d02250fb59..32844a934e3 100644 --- a/src/mame/drivers/atarisy2.c +++ b/src/mame/drivers/atarisy2.c @@ -752,7 +752,7 @@ ADDRESS_MAP_END /* full memory map derived from schematics */ static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x2000) AM_RAM - AM_RANGE(0x1000, 0x17ff) AM_MIRROR(0x2000) AM_RAM AM_BASE_SIZE_MEMBER(atarisy2_state, eeprom, eeprom_size) + AM_RANGE(0x1000, 0x17ff) AM_MIRROR(0x2000) AM_RAM AM_SHARE("eeprom") AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x2780) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w) AM_RANGE(0x1810, 0x1813) AM_MIRROR(0x278c) AM_READ(leta_r) AM_RANGE(0x1830, 0x183f) AM_MIRROR(0x2780) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w) @@ -1156,7 +1156,7 @@ static MACHINE_CONFIG_START( atarisy2, atarisy2_state ) MDRV_MACHINE_START(atarisy2) MDRV_MACHINE_RESET(atarisy2) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -1242,6 +1242,9 @@ ROM_START( paperboy ) ROM_REGION( 0x2000, "gfx3", 0 ) ROM_LOAD( "vid_t06.rv1", 0x000000, 0x002000, CRC(60d7aebb) SHA1(ad74221c4270496ebcfedd46ea16dca2cda1b4be) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "paperboy-eeprom.bin", 0x0000, 0x0800, CRC(0a0e057b) SHA1(a7cd245e826580ff54a490b421f65a72de5a2ed2) ) ROM_END @@ -1281,6 +1284,9 @@ ROM_START( paperboyr2 ) ROM_REGION( 0x2000, "gfx3", 0 ) ROM_LOAD( "vid_t06.rv1", 0x000000, 0x002000, CRC(60d7aebb) SHA1(ad74221c4270496ebcfedd46ea16dca2cda1b4be) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "paperboy-eeprom.bin", 0x0000, 0x0800, CRC(0a0e057b) SHA1(a7cd245e826580ff54a490b421f65a72de5a2ed2) ) ROM_END @@ -1320,6 +1326,9 @@ ROM_START( paperboyr1 ) ROM_REGION( 0x2000, "gfx3", 0 ) ROM_LOAD( "vid_t06.rv1", 0x000000, 0x002000, CRC(60d7aebb) SHA1(ad74221c4270496ebcfedd46ea16dca2cda1b4be) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "paperboy-eeprom.bin", 0x0000, 0x0800, CRC(0a0e057b) SHA1(a7cd245e826580ff54a490b421f65a72de5a2ed2) ) ROM_END @@ -1385,6 +1394,9 @@ ROM_START( 720 ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136047-1125.4t", 0x000000, 0x004000, CRC(6b7e2328) SHA1(cc9a315ccafe7228951b7c32cf3b31caa89ae7d3) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0800, CRC(a13090e3) SHA1(bc827ef76a3f9d96ffbd20a4099507c05bb46de4) ) ROM_END @@ -1450,6 +1462,9 @@ ROM_START( 720r3 ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136047-1125.4t", 0x000000, 0x004000, CRC(6b7e2328) SHA1(cc9a315ccafe7228951b7c32cf3b31caa89ae7d3) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0800, CRC(a13090e3) SHA1(bc827ef76a3f9d96ffbd20a4099507c05bb46de4) ) ROM_END @@ -1515,6 +1530,9 @@ ROM_START( 720r2 ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136047-1125.4t", 0x000000, 0x004000, CRC(6b7e2328) SHA1(cc9a315ccafe7228951b7c32cf3b31caa89ae7d3) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0800, CRC(a13090e3) SHA1(bc827ef76a3f9d96ffbd20a4099507c05bb46de4) ) ROM_END @@ -1580,6 +1598,9 @@ ROM_START( 720r1 ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136047-1125.4t", 0x000000, 0x004000, CRC(6b7e2328) SHA1(cc9a315ccafe7228951b7c32cf3b31caa89ae7d3) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0800, CRC(a13090e3) SHA1(bc827ef76a3f9d96ffbd20a4099507c05bb46de4) ) ROM_END @@ -1645,6 +1666,9 @@ ROM_START( 720g ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136047-1225.4t", 0x000000, 0x004000, CRC(264eda88) SHA1(f0f5fe87741e0e17117085cf45f700090a02cb94) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0800, CRC(a13090e3) SHA1(bc827ef76a3f9d96ffbd20a4099507c05bb46de4) ) ROM_END @@ -1710,6 +1734,9 @@ ROM_START( 720gr1 ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136047-1225.4t", 0x000000, 0x004000, CRC(264eda88) SHA1(f0f5fe87741e0e17117085cf45f700090a02cb94) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0800, CRC(a13090e3) SHA1(bc827ef76a3f9d96ffbd20a4099507c05bb46de4) ) ROM_END @@ -1755,6 +1782,9 @@ ROM_START( ssprint ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136042-118.6t", 0x000000, 0x004000, CRC(8489d113) SHA1(f8ead7954d9be95792fd7e9d2487957d1e194641) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "ssprint-eeprom.bin", 0x0000, 0x0800, CRC(dfcd40de) SHA1(c68f0fd876b5edfd751bfa6c5967dc2a1e679b19) ) ROM_END @@ -1799,6 +1829,9 @@ ROM_START( ssprints ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136042-218.6t", 0x000000, 0x004000, CRC(8e500be1) SHA1(f21799bf97c8bf82328999cb912ad5f293035d55) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0800, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) ) ROM_END @@ -1843,6 +1876,9 @@ ROM_START( ssprintf ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136042-218.6t", 0x000000, 0x004000, CRC(8e500be1) SHA1(f21799bf97c8bf82328999cb912ad5f293035d55) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0800, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) ) ROM_END @@ -1887,6 +1923,9 @@ ROM_START( ssprintg ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136042-118.6t", 0x000000, 0x004000, CRC(8489d113) SHA1(f8ead7954d9be95792fd7e9d2487957d1e194641) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0800, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) ) ROM_END @@ -1931,6 +1970,9 @@ ROM_START( ssprint3 ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136042-118.6t", 0x000000, 0x004000, CRC(8489d113) SHA1(f8ead7954d9be95792fd7e9d2487957d1e194641) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0800, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) ) ROM_END @@ -1975,6 +2017,9 @@ ROM_START( ssprintg1 ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136042-118.6t", 0x000000, 0x004000, CRC(8489d113) SHA1(f8ead7954d9be95792fd7e9d2487957d1e194641) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0800, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) ) ROM_END @@ -2019,6 +2064,9 @@ ROM_START( ssprint1 ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136042-118.6t", 0x000000, 0x004000, CRC(8489d113) SHA1(f8ead7954d9be95792fd7e9d2487957d1e194641) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0800, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) ) ROM_END @@ -2061,6 +2109,9 @@ ROM_START( csprints ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136045-1117.6t", 0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) ) ROM_END @@ -2103,6 +2154,9 @@ ROM_START( csprint ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136045-1117.6t", 0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) ) ROM_END @@ -2145,6 +2199,9 @@ ROM_START( csprints1 ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136045-1117.6t", 0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) ) ROM_END @@ -2187,6 +2244,9 @@ ROM_START( csprintf ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136045-1117.6t", 0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) ) ROM_END @@ -2229,6 +2289,9 @@ ROM_START( csprintg ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136045-1117.6t", 0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) ) ROM_END @@ -2271,6 +2334,9 @@ ROM_START( csprint2 ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136045-1117.6t", 0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) ) ROM_END @@ -2313,6 +2379,9 @@ ROM_START( csprintg1 ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136045-1117.6t", 0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) ) ROM_END @@ -2355,6 +2424,9 @@ ROM_START( csprint1 ) ROM_REGION( 0x4000, "gfx3", 0 ) ROM_LOAD( "136045-1117.6t", 0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) ) + + ROM_REGION( 0x800, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) ) ROM_END @@ -3006,40 +3078,10 @@ ROM_END static DRIVER_INIT( paperboy ) { - static const UINT16 compressed_default_eeprom[] = - { - 0x0000,0x4300,0x0113,0x0124,0x0150,0x0153,0x0154,0x0100, - 0x0112,0x01C0,0x0155,0x0143,0x0148,0x0100,0x0112,0x015C, - 0x0154,0x014F,0x0149,0x0100,0x0111,0x01F8,0x0120,0x0152, - 0x0153,0x0100,0x0111,0x0149,0x0159,0x0145,0x0120,0x0100, - 0x0111,0x0130,0x014F,0x0120,0x0154,0x0100,0x0110,0x01CC, - 0x0155,0x014F,0x0141,0x0100,0x0110,0x0168,0x0152,0x014E, - 0x0142,0x0100,0x0110,0x0104,0x0120,0x0154,0x014C,0x0100, - 0x010F,0x01A0,0x0120,0x014F,0x0145,0x0100,0x0126,0x01AC, - 0x0150,0x0149,0x0147,0x0100,0x0126,0x0148,0x0141,0x0153, - 0x0152,0x0100,0x0125,0x01E4,0x0150,0x0120,0x0145,0x0100, - 0x0125,0x0180,0x0145,0x0154,0x0141,0x0100,0x0125,0x011C, - 0x0152,0x0148,0x0154,0x0100,0x0124,0x01B8,0x0120,0x0245, - 0x0100,0x0124,0x0154,0x0142,0x0120,0x0153,0x0100,0x0123, - 0x01F0,0x014F,0x0120,0x0154,0x0100,0x0123,0x018C,0x0159, - 0x0220,0x0100,0x0123,0x0128,0x0320,0x0100,0x013A,0x0134, - 0x0144,0x0141,0x0154,0x0100,0x0139,0x01D0,0x0154,0x0148, - 0x0145,0x0100,0x0139,0x016C,0x0142,0x014F,0x0159,0x0100, - 0x0139,0x0108,0x0142,0x0146,0x0120,0x0100,0x0138,0x01A4, - 0x014D,0x0145,0x0143,0x0100,0x0138,0x0140,0x0143,0x014A, - 0x0120,0x0100,0x0137,0x01DC,0x014A,0x0145,0x0153,0x0100, - 0x0137,0x0178,0x0150,0x0143,0x0154,0x0100,0x0137,0x0114, - 0x014D,0x0241,0x0100,0x0136,0x01B0,0x0142,0x0141,0x0146, - 0x0101,0x0400,0x010F,0x017F,0x012A,0x017F,0x013D,0x010F, - 0x017F,0x012A,0x017F,0x013C,0x010F,0x017F,0x012A,0x017F, - 0x013B,0xFF00,0xFF00,0xFF00,0xFF00,0xFF00,0xFF00,0xFC00, - 0x0000 - }; int i; atarisy2_state *state = machine->driver_data<atarisy2_state>(); UINT8 *cpu1 = memory_region(machine, "maincpu"); - state->eeprom_default = compressed_default_eeprom; slapstic_init(machine, 105); /* expand the 16k program ROMs into full 64k chunks */ @@ -3061,34 +3103,7 @@ static DRIVER_INIT( 720 ) /* without the default EEPROM, 720 hangs at startup due to communication issues with the sound CPU; temporarily increasing the sound CPU frequency to ~2.2MHz "fixes" the problem */ - static const UINT16 compressed_default_eeprom[] = - { - 0x0000,0x01ff,0x01d0,0x0107,0x0100,0x01d7,0x0300,0x01d7,0x0400,0x01d0, - 0x0107,0x0100,0xffff,0x4fff,0x0100,0x014e,0x0120,0x0139, - 0x01a4,0x0100,0x014c,0x012c,0x014e,0x01ce,0x0100,0x014a, - 0x0138,0x014c,0x01f1,0x0100,0x0148,0x0144,0x0115,0x01d1, - 0x0100,0x0146,0x0150,0x0215,0x0100,0x0144,0x015c,0x0149, - 0x0117,0x0100,0x0142,0x0168,0x0148,0x0195,0x0100,0x0140, - 0x0174,0x0111,0x0106,0x0100,0x013e,0x0180,0x0135,0x010d, - 0x0100,0x013c,0x018c,0x014c,0x018d,0x0100,0x013a,0x0198, - 0x0300,0x0138,0x01a4,0x0104,0x0121,0x0100,0x0136,0x01b0, - 0x0108,0x0142,0x0100,0x0134,0x01bc,0x010c,0x0163,0x0100, - 0x0132,0x01c8,0x0110,0x0184,0x0100,0x0130,0x01d4,0x0114, - 0x01a5,0x0100,0x012e,0x01e0,0x0118,0x01c6,0x0100,0x012c, - 0x01ec,0x011c,0x01e7,0x0100,0x012a,0x01f8,0x0121,0x0108, - 0x0100,0x0129,0x0104,0x0125,0x0129,0x010f,0x0100,0x0163, - 0x010e,0x01ca,0x0181,0x010e,0x0106,0x0120,0x010d,0x0189, - 0x0162,0x010d,0x010c,0x0182,0x010c,0x01a1,0x01a2,0x010c, - 0x0109,0x0171,0x010b,0x01a5,0x018f,0x010b,0x0146,0x0172, - 0x010a,0x01b4,0x0186,0x010a,0x0105,0x0102,0x0109,0x0185, - 0x0112,0x0109,0x0109,0x01cc,0x0108,0x01b5,0x01cf,0x0108, - 0x0102,0x014b,0x0107,0x0182,0x0151,0x0107,0x0104,0x0190, - 0x0106,0x0184,0x0142,0x0106,0x0105,0x0173,0x0105,0x0184, - 0x0152,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x06ff, - 0x0000 - }; atarisy2_state *state = machine->driver_data<atarisy2_state>(); - state->eeprom_default = compressed_default_eeprom; slapstic_init(machine, 107); state->pedal_count = -1; @@ -3097,13 +3112,12 @@ static DRIVER_INIT( 720 ) } -static void ssprint_init_common(running_machine *machine, const UINT16 *default_eeprom) +static DRIVER_INIT( ssprint ) { atarisy2_state *state = machine->driver_data<atarisy2_state>(); int i; UINT8 *cpu1 = memory_region(machine, "maincpu"); - state->eeprom_default = default_eeprom; slapstic_init(machine, 108); /* expand the 32k program ROMs into full 64k chunks */ @@ -3114,121 +3128,13 @@ static void ssprint_init_common(running_machine *machine, const UINT16 *default_ state->has_tms5220 = 0; } -static DRIVER_INIT( ssprint ) -{ - static const UINT16 compressed_default_eeprom[] = - { - 0x0000,0x01FF,0x0E00,0x01FF,0x0100,0x0120,0x0100,0x0120, - 0x0300,0x0120,0x0500,0x0120,0x01FF,0x0100,0x0140,0x0100, - 0x0140,0x0110,0x0100,0x0110,0x0150,0x0100,0x0110,0x0300, - 0x0140,0x01FF,0x0100,0x0160,0x0100,0x0160,0x0300,0x0160, - 0x0500,0x0160,0x01FF,0x0100,0x0180,0x0100,0x0180,0x0300, - 0x0180,0x0500,0x0180,0x01FF,0x0100,0x01A0,0x0100,0x01A0, - 0x0300,0x01A0,0x0500,0x01A0,0x01FF,0x0100,0x01C0,0x0100, - 0x01C0,0x0300,0x01C0,0x0500,0x01C0,0xFFFF,0x1EFF,0x0103, - 0x01E8,0x0146,0x01D6,0x0103,0x01DE,0x0128,0x01B3,0x0103, - 0x01D4,0x0144,0x0123,0x0103,0x01CA,0x011C,0x010B,0x0103, - 0x01C0,0x0159,0x01BF,0x0103,0x01B6,0x0129,0x019F,0x0103, - 0x01AC,0x014A,0x01C2,0x0103,0x01A2,0x010E,0x01DF,0x0103, - 0x0198,0x0131,0x01BF,0x0103,0x018E,0x010D,0x0106,0x0103, - 0x0184,0x010E,0x0186,0x0103,0x017A,0x0124,0x010C,0x0103, - 0x0170,0x014A,0x0148,0x0103,0x0166,0x0151,0x01F2,0x0103, - 0x015C,0x013E,0x013F,0x0103,0x0152,0x0111,0x0106,0x0103, - 0x0148,0x0145,0x01B1,0x0103,0x013E,0x017E,0x0164,0x0103, - 0x0134,0x017F,0x01E0,0x0103,0x012A,0x017F,0x01F3,0x0103, - 0x0120,0x017F,0x01FF,0x0103,0x0116,0x012A,0x01D6,0x0103, - 0x010C,0x0125,0x0176,0x0103,0x0102,0x014C,0x0161,0x0102, - 0x01F8,0x0128,0x0101,0x0102,0x01EE,0x0101,0x0153,0x0102, - 0x01E4,0x0109,0x0132,0x0102,0x01DA,0x012C,0x0132,0x0102, - 0x01D0,0x0125,0x0186,0x0102,0x01C6,0x011D,0x011F,0xFF00, - 0xFF00,0xFF00,0xFF00,0xFF00,0xFF00,0x0800,0x0000 - }; - ssprint_init_common(machine, compressed_default_eeprom); -} - -static DRIVER_INIT( ssprint1 ) -{ - static const UINT16 compressed_default_eeprom[] = - { - 0x0000,0x1e00,0x01ff,0x2500,0x0103,0x01e8,0x0152,0x0157, - 0x0157,0x0103,0x01de,0x014b,0x0146,0x0154,0x0103,0x01d4, - 0x0152,0x0142,0x0144,0x0103,0x01ca,0x0148,0x0141,0x014c, - 0x0103,0x01c0,0x0157,0x014e,0x0120,0x0103,0x01b6,0x014b, - 0x014d,0x0120,0x0103,0x01ac,0x0153,0x0157,0x0143,0x0103, - 0x01a2,0x0144,0x0157,0x0120,0x0103,0x0198,0x014d,0x014e, - 0x0120,0x0103,0x018e,0x0144,0x0149,0x0147,0x0103,0x0184, - 0x0144,0x0155,0x0147,0x0103,0x017a,0x014a,0x0141,0x014d, - 0x0103,0x0170,0x0153,0x0153,0x0149,0x0103,0x0166,0x0155, - 0x0150,0x0153,0x0103,0x015c,0x0150,0x0152,0x0120,0x0103, - 0x0152,0x0145,0x0149,0x0147,0x0103,0x0148,0x0152,0x014e, - 0x0152,0x0103,0x013e,0x0120,0x0154,0x0145,0x0103,0x0134, - 0x0220,0x0141,0x0103,0x012a,0x0220,0x0154,0x0103,0x0420, - 0x0103,0x0116,0x014b,0x0257,0x0103,0x010c,0x014a,0x014c, - 0x0157,0x0103,0x0102,0x0154,0x0144,0x0142,0x0102,0x01f8, - 0x014b,0x0141,0x0142,0x0102,0x01ee,0x0141,0x014b,0x0154, - 0x0102,0x01e4,0x0143,0x014a,0x0153,0x0102,0x01da,0x014c, - 0x0142,0x0153,0x0102,0x01d0,0x014a,0x014d,0x0147,0x0102, - 0x01c6,0x0148,0x0149,0x0120,0x0110,0x0100,0x0110,0x0100, - 0x0110,0x0100,0x0138,0x0110,0x0100,0x0110,0x0100,0x0110, - 0x0100,0x0137,0x0110,0x0100,0x0110,0x0100,0x0110,0x0100, - 0x0136,0x97ff,0x0103,0x01e8,0x0146,0x01d6,0x0103,0x01de, - 0x0128,0x01b3,0x0103,0x01d4,0x0144,0x0123,0x0103,0x01ca, - 0x011c,0x010b,0x0103,0x01c0,0x0159,0x01bf,0x0103,0x01b6, - 0x0129,0x019f,0x0103,0x01ac,0x014a,0x01c2,0x0103,0x01a2, - 0x010e,0x01df,0x0103,0x0198,0x0131,0x01bf,0x0103,0x018e, - 0x010d,0x0106,0x0103,0x0184,0x010e,0x0186,0x0103,0x017a, - 0x0124,0x010c,0x0103,0x0170,0x014a,0x0148,0x0103,0x0166, - 0x0151,0x01f2,0x0103,0x015c,0x013e,0x013f,0x0103,0x0152, - 0x0111,0x0106,0x0103,0x0148,0x0145,0x01b1,0x0103,0x013e, - 0x017e,0x0164,0x0103,0x0134,0x017f,0x01e0,0x0103,0x012a, - 0x017f,0x01f3,0x0103,0x0120,0x017f,0x01ff,0x0103,0x0116, - 0x012a,0x01d6,0x0103,0x010c,0x0125,0x0176,0x0103,0x0102, - 0x014c,0x0161,0x0102,0x01f8,0x0128,0x0101,0x0102,0x01ee, - 0x0101,0x0153,0x0102,0x01e4,0x0109,0x0132,0x0102,0x01da, - 0x012c,0x0132,0x0102,0x01d0,0x0125,0x0186,0x0102,0x01c6, - 0x011d,0x011f,0x0200,0x0000 - }; - ssprint_init_common(machine, compressed_default_eeprom); -} - static DRIVER_INIT( csprint ) { - static const UINT16 compressed_default_eeprom[] = - { - 0x0000,0x01FF,0x0E00,0x0128,0x01D0,0x0127,0x0100,0x0120, - 0x0300,0x01F7,0x01D0,0x0107,0x0300,0x0120,0x010F,0x01F0, - 0x0140,0x0100,0x0140,0x0110,0x0100,0x0110,0x01A0,0x01F0, - 0x0110,0x0300,0x0140,0x01FF,0x0100,0x0160,0x0100,0x0160, - 0x0300,0x0160,0x0500,0x0160,0x01FF,0x0100,0x0180,0x0100, - 0x0180,0x0300,0x0180,0x0500,0x0180,0x01FF,0x0100,0x01A0, - 0x0100,0x01A0,0x0300,0x01A0,0x0500,0x01A0,0x01FF,0x0100, - 0x01C0,0x0100,0x01C0,0x0300,0x01C0,0x0500,0x01C0,0xFFFF, - 0x0100,0x0127,0x0110,0x0146,0x01D6,0x0100,0x0126,0x01AC, - 0x0128,0x01B3,0x0100,0x0126,0x0148,0x0144,0x0123,0x0100, - 0x0125,0x01E4,0x011C,0x010B,0x0100,0x0125,0x0180,0x0159, - 0x01BF,0x0100,0x0125,0x011C,0x0129,0x019F,0x0100,0x0124, - 0x0168,0x014A,0x01C2,0x0100,0x0124,0x0154,0x010E,0x01DF, - 0x0100,0x0123,0x01F0,0x0131,0x01BF,0x0100,0x0123,0x018C, - 0x010D,0x0106,0x0100,0x0123,0x0128,0x010E,0x0186,0x0100, - 0x0122,0x01C4,0x0124,0x010C,0x0100,0x0122,0x0160,0x014A, - 0x0148,0x0100,0x0121,0x01FC,0x0151,0x01F2,0x0100,0x0121, - 0x0198,0x013E,0x013F,0x0100,0x0121,0x0134,0x0111,0x0106, - 0x0100,0x0120,0x01D0,0x0145,0x01B1,0x0100,0x0120,0x016C, - 0x017E,0x0164,0x0100,0x0120,0x0108,0x017F,0x01E0,0x0100, - 0x011F,0x01A4,0x017F,0x01F3,0x0100,0x011F,0x0140,0x017F, - 0x01FF,0x0100,0x011E,0x01DC,0x012A,0x01D6,0x0100,0x011E, - 0x0178,0x0125,0x0176,0x0100,0x011E,0x0114,0x014C,0x0161, - 0x0100,0x011D,0x01B0,0x0128,0x0101,0x0100,0x011D,0x014C, - 0x0101,0x0153,0x0100,0x011C,0x01E8,0x0109,0x0132,0x0100, - 0x011C,0x0184,0x012C,0x0132,0x0100,0x011C,0x0120,0x0125, - 0x0186,0x0100,0x011B,0x01BC,0x011D,0x011F,0x0000 - }; int i; atarisy2_state *state = machine->driver_data<atarisy2_state>(); UINT8 *cpu1 = memory_region(machine, "maincpu"); - state->eeprom_default = compressed_default_eeprom; slapstic_init(machine, 109); /* expand the 32k program ROMs into full 64k chunks */ @@ -3244,7 +3150,6 @@ static DRIVER_INIT( apb ) { atarisy2_state *state = machine->driver_data<atarisy2_state>(); - state->eeprom_default = NULL; slapstic_init(machine, 110); state->pedal_count = 2; @@ -3272,12 +3177,12 @@ GAME( 1986, 720g, 720, atarisy2, 720, 720, ROT0, "Atari Gam GAME( 1986, 720gr1, 720, atarisy2, 720, 720, ROT0, "Atari Games", "720 Degrees (German, rev 1)", GAME_SUPPORTS_SAVE ) GAME( 1986, ssprint, 0, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (rev 4)", GAME_SUPPORTS_SAVE ) -GAME( 1986, ssprint3, ssprint, sprint, ssprint, ssprint1, ROT0, "Atari Games", "Super Sprint (rev 3)", GAME_SUPPORTS_SAVE ) -GAME( 1986, ssprint1, ssprint, sprint, ssprint, ssprint1, ROT0, "Atari Games", "Super Sprint (rev 1)", GAME_SUPPORTS_SAVE ) -GAME( 1986, ssprintg, ssprint, sprint, ssprint, ssprint1, ROT0, "Atari Games", "Super Sprint (German, rev 2)", GAME_SUPPORTS_SAVE ) -GAME( 1986, ssprintg1,ssprint, sprint, ssprint, ssprint1, ROT0, "Atari Games", "Super Sprint (German, rev 1)", GAME_SUPPORTS_SAVE ) -GAME( 1986, ssprintf, ssprint, sprint, ssprint, ssprint1, ROT0, "Atari Games", "Super Sprint (French)", GAME_SUPPORTS_SAVE ) -GAME( 1986, ssprints, ssprint, sprint, ssprint, ssprint1, ROT0, "Atari Games", "Super Sprint (Spanish)", GAME_SUPPORTS_SAVE ) +GAME( 1986, ssprint3, ssprint, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (rev 3)", GAME_SUPPORTS_SAVE ) +GAME( 1986, ssprint1, ssprint, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (rev 1)", GAME_SUPPORTS_SAVE ) +GAME( 1986, ssprintg, ssprint, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (German, rev 2)", GAME_SUPPORTS_SAVE ) +GAME( 1986, ssprintg1,ssprint, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (German, rev 1)", GAME_SUPPORTS_SAVE ) +GAME( 1986, ssprintf, ssprint, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (French)", GAME_SUPPORTS_SAVE ) +GAME( 1986, ssprints, ssprint, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (Spanish)", GAME_SUPPORTS_SAVE ) GAME( 1986, csprint, 0, sprint, csprint, csprint, ROT0, "Atari Games", "Championship Sprint (rev 3)", GAME_SUPPORTS_SAVE ) GAME( 1986, csprint2, csprint, sprint, csprint, csprint, ROT0, "Atari Games", "Championship Sprint (rev 2)", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/badlands.c b/src/mame/drivers/badlands.c index 5136b4c05bb..e0609b0f962 100644 --- a/src/mame/drivers/badlands.c +++ b/src/mame/drivers/badlands.c @@ -384,7 +384,7 @@ static WRITE8_HANDLER( audio_io_w ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0xfc0000, 0xfc1fff) AM_READWRITE(sound_busy_r, atarigen_sound_reset_w) - AM_RANGE(0xfd0000, 0xfd1fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(badlands_state, eeprom, eeprom_size) + AM_RANGE(0xfd0000, 0xfd1fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xfe0000, 0xfe1fff) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xfe2000, 0xfe3fff) AM_WRITE(atarigen_video_int_ack_w) AM_RANGE(0xfe4000, 0xfe5fff) AM_READ_PORT("FE4000") @@ -515,7 +515,7 @@ static MACHINE_CONFIG_START( badlands, badlands_state ) MDRV_MACHINE_START(badlands) MDRV_MACHINE_RESET(badlands) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -652,7 +652,7 @@ static ADDRESS_MAP_START( bootleg_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xfe4006, 0xfe4007) AM_READ(badlandsb_unk_r ) - AM_RANGE(0xfd0000, 0xfd1fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(badlands_state, eeprom, eeprom_size) + AM_RANGE(0xfd0000, 0xfd1fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") //AM_RANGE(0xfe0000, 0xfe1fff) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xfe2000, 0xfe3fff) AM_WRITE(atarigen_video_int_ack_w) @@ -724,7 +724,7 @@ static MACHINE_CONFIG_START( badlandsb, badlands_state ) MDRV_MACHINE_START(badlands) MDRV_MACHINE_RESET(badlandsb) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/batman.c b/src/mame/drivers/batman.c index c402ec2bee5..ee330319371 100644 --- a/src/mame/drivers/batman.c +++ b/src/mame/drivers/batman.c @@ -133,7 +133,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) ADDRESS_MAP_GLOBAL_MASK(0x3fffff) AM_RANGE(0x000000, 0x0bffff) AM_ROM AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x010000) AM_RAM - AM_RANGE(0x120000, 0x120fff) AM_MIRROR(0x01f000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(batman_state, eeprom, eeprom_size) + AM_RANGE(0x120000, 0x120fff) AM_MIRROR(0x01f000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0x260000, 0x260001) AM_MIRROR(0x11ff8c) AM_READ_PORT("260000") AM_RANGE(0x260002, 0x260003) AM_MIRROR(0x11ff8c) AM_READ_PORT("260002") AM_RANGE(0x260010, 0x260011) AM_MIRROR(0x11ff8e) AM_READ(special_port2_r) @@ -240,7 +240,7 @@ static MACHINE_CONFIG_START( batman, batman_state ) MDRV_MACHINE_START(batman) MDRV_MACHINE_RESET(batman) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -310,6 +310,9 @@ ROM_START( batman ) ROM_LOAD( "136085-1043.15e", 0x40000, 0x20000, CRC(51812d3b) SHA1(6748fecef753179a9257c0da5a7b7c9648437208) ) ROM_LOAD( "136085-1044.12e", 0x60000, 0x20000, CRC(5e2d7f31) SHA1(737c7204d91f5dd5c9ed0321fc6c0d6194a18f8a) ) + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "batman-eeprom.bin", 0x0000, 0x1000, CRC(ac2f665e) SHA1(557ffea1187a5bd96dc6efc80cf6a27e4dbc84fd) ) + ROM_REGION( 0x1000, "plds", 0 ) ROM_LOAD( "gal16v8a-136085-1001.m9", 0x0000, 0x0117, CRC(45dfc0cf) SHA1(39cbb27e504e09d97caea144bfdec2247a39caf9) ) ROM_LOAD( "gal16v8a-136085-1002.l9", 0x0200, 0x0117, CRC(35c221ae) SHA1(6f3241fcd8b7e241036a0f553f118d8aec413732) ) @@ -331,23 +334,6 @@ ROM_END static DRIVER_INIT( batman ) { - static const UINT16 default_eeprom[] = - { - 0x0001,0x01F1,0x0154,0x01C5,0x0100,0x0113,0x0300,0x0173, - 0x0700,0x0154,0x0200,0x0107,0x0100,0x0120,0x0300,0x0165, - 0x0125,0x0100,0x0149,0x019D,0x016C,0x018B,0x01F1,0x0154, - 0x01C5,0x0100,0x0113,0x0300,0x0173,0x0700,0x0154,0x0200, - 0x0107,0x0100,0x0120,0x0300,0x0165,0x0125,0x0100,0x0149, - 0x019D,0x016C,0x018B,0x6800,0x0134,0x0113,0x0148,0x0100, - 0x019A,0x0105,0x01DC,0x01A2,0x013A,0x0139,0x0100,0x0105, - 0x01AB,0x016A,0x0149,0x0100,0x01ED,0x0105,0x0185,0x01B2, - 0x0134,0x0100,0x0105,0x0160,0x01AA,0x0149,0x0100,0x0105, - 0x012A,0x0152,0x0110,0x0100,0x0168,0x0105,0x0113,0x012E, - 0x0150,0x0218,0x01D0,0x0100,0x01D0,0x0300,0x01D0,0x0600, - 0x01D0,0x02C8,0x0000 - }; - batman_state *state = machine->driver_data<batman_state>(); - state->eeprom_default = default_eeprom; atarijsa_init(machine, "260010", 0x0040); } diff --git a/src/mame/drivers/blstroid.c b/src/mame/drivers/blstroid.c index c1c95ffb720..ffb7d94f53c 100644 --- a/src/mame/drivers/blstroid.c +++ b/src/mame/drivers/blstroid.c @@ -106,7 +106,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xff9804, 0xff9805) AM_MIRROR(0x7f83f8) AM_READ_PORT("DIAL1") AM_RANGE(0xff9c00, 0xff9c03) AM_MIRROR(0x7f83fc) AM_READ(inputs_r) AM_RANGE(0xffa000, 0xffa3ff) AM_MIRROR(0x7f8c00) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xffb000, 0xffb3ff) AM_MIRROR(0x7f8c00) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(blstroid_state, eeprom, eeprom_size) + AM_RANGE(0xffb000, 0xffb3ff) AM_MIRROR(0x7f8c00) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xffc000, 0xffcfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(blstroid_state, playfield) AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram) AM_RANGE(0xffe000, 0xffffff) AM_MIRROR(0x7f8000) AM_RAM @@ -209,7 +209,7 @@ static MACHINE_CONFIG_START( blstroid, blstroid_state ) MDRV_MACHINE_START(blstroid) MDRV_MACHINE_RESET(blstroid) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/cyberbal.c b/src/mame/drivers/cyberbal.c index c17cb468b71..b4d7582f7f5 100644 --- a/src/mame/drivers/cyberbal.c +++ b/src/mame/drivers/cyberbal.c @@ -149,7 +149,7 @@ static WRITE16_HANDLER( p2_reset_w ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_ROM - AM_RANGE(0xfc0000, 0xfc0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(cyberbal_state, eeprom, eeprom_size) + AM_RANGE(0xfc0000, 0xfc0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xfc8000, 0xfcffff) AM_READ(atarigen_sound_upper_r) AM_RANGE(0xfd0000, 0xfd1fff) AM_WRITE(atarigen_eeprom_enable_w) AM_RANGE(0xfd2000, 0xfd3fff) AM_WRITE(atarigen_sound_reset_w) @@ -253,7 +253,7 @@ static ADDRESS_MAP_START( cyberbal2p_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xfc2000, 0xfc2003) AM_READ_PORT("IN1") AM_RANGE(0xfc4000, 0xfc4003) AM_READ(special_port2_r) AM_RANGE(0xfc6000, 0xfc6003) AM_READ(atarigen_sound_upper_r) - AM_RANGE(0xfc8000, 0xfc8fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(cyberbal_state, eeprom, eeprom_size) + AM_RANGE(0xfc8000, 0xfc8fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xfca000, 0xfcafff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xfd0000, 0xfd0003) AM_WRITE(atarigen_eeprom_enable_w) AM_RANGE(0xfd2000, 0xfd2003) AM_WRITE(atarigen_sound_reset_w) @@ -451,7 +451,7 @@ static MACHINE_CONFIG_START( cyberbal, cyberbal_state ) MDRV_MACHINE_START(cyberbal) MDRV_MACHINE_RESET(cyberbal) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -498,7 +498,7 @@ static MACHINE_CONFIG_START( cyberbal2p, cyberbal_state ) MDRV_MACHINE_START(cyberbal) MDRV_MACHINE_RESET(cyberbal2p) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -581,6 +581,9 @@ ROM_START( cyberbal ) ROM_LOAD( "gal16v8-136064-1028.b56", 0x0400, 0x0117, CRC(12d1a257) SHA1(32914dffd58ce694913c2108a27b078422a9dc63) ) ROM_LOAD( "gal16v8-136064-1029.d58", 0x0600, 0x0117, CRC(fd39d238) SHA1(55c1b9a56c9b2bfa434eed54f7baea436ea141b8) ) ROM_LOAD( "gal16v8-136064-1030.d91", 0x0800, 0x0117, CRC(84102588) SHA1(b6bffb47e5975c96b056d07357eb020caf3f0a0a) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) ) ROM_END @@ -632,6 +635,9 @@ ROM_START( cyberbal2 ) ROM_REGION( 0x020000, "gfx3", 0 ) ROM_LOAD( "136064-1121.15n", 0x000000, 0x010000, CRC(0ca1e3b3) SHA1(d934bc9a1def4404fb86175878404cbb18127a11) ) ROM_LOAD( "136064-1122.16n", 0x010000, 0x010000, CRC(882f4e1c) SHA1(f7517ff03502ff029fb375260a35e45414567433) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) ) ROM_END @@ -683,6 +689,9 @@ ROM_START( cyberbalp ) ROM_REGION( 0x020000, "gfx3", 0 ) ROM_LOAD( "136064-1121.15n", 0x000000, 0x010000, CRC(0ca1e3b3) SHA1(d934bc9a1def4404fb86175878404cbb18127a11) ) ROM_LOAD( "136064-1122.16n", 0x010000, 0x010000, CRC(882f4e1c) SHA1(f7517ff03502ff029fb375260a35e45414567433) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) ) ROM_END @@ -730,6 +739,9 @@ ROM_START( cyberbal2p ) ROM_LOAD( "136071-1044.7j", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) ) ROM_LOAD( "136071-1045.7e", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) ) ROM_LOAD( "136071-1046.7d", 0x030000, 0x010000, CRC(d96437ad) SHA1(b0b5cd75de4048e54b9d7d09a75381eb73c22ee1) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) ) ROM_END @@ -777,6 +789,9 @@ ROM_START( cyberbal2p3 ) ROM_LOAD( "136071-1044.7j", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) ) ROM_LOAD( "136071-1045.7e", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) ) ROM_LOAD( "136071-1046.7d", 0x030000, 0x010000, CRC(d96437ad) SHA1(b0b5cd75de4048e54b9d7d09a75381eb73c22ee1) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) ) ROM_END @@ -824,6 +839,9 @@ ROM_START( cyberbal2p2 ) ROM_LOAD( "136071-1044.7j", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) ) ROM_LOAD( "136071-1045.7e", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) ) ROM_LOAD( "136071-1046.7d", 0x030000, 0x010000, CRC(d96437ad) SHA1(b0b5cd75de4048e54b9d7d09a75381eb73c22ee1) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) ) ROM_END @@ -871,6 +889,9 @@ ROM_START( cyberbal2p1 ) ROM_LOAD( "136071-1044.7j", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) ) ROM_LOAD( "136071-1045.7e", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) ) ROM_LOAD( "136071-1046.7d", 0x030000, 0x010000, CRC(d96437ad) SHA1(b0b5cd75de4048e54b9d7d09a75381eb73c22ee1) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) ) ROM_END @@ -920,6 +941,9 @@ ROM_START( cyberbalt ) ROM_REGION( 0x020000, "gfx3", 0 ) ROM_LOAD( "136073-1005.15n", 0x000000, 0x010000, CRC(833b4768) SHA1(754f00089d439fb0aa1f650c1fef73cf7e5f33a1) ) ROM_LOAD( "136073-1006.16n", 0x010000, 0x010000, CRC(4976cffd) SHA1(4cac8d9bd30743da6e6e4f013e6101ebc27060b6) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) ) ROM_END @@ -969,6 +993,9 @@ ROM_START( cyberbalt1 ) ROM_REGION( 0x020000, "gfx3", 0 ) ROM_LOAD( "136073-1005.15n", 0x000000, 0x010000, CRC(833b4768) SHA1(754f00089d439fb0aa1f650c1fef73cf7e5f33a1) ) ROM_LOAD( "136073-1006.16n", 0x010000, 0x010000, CRC(4976cffd) SHA1(4cac8d9bd30743da6e6e4f013e6101ebc27060b6) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) ) ROM_END @@ -979,40 +1006,20 @@ ROM_END * *************************************/ -static const UINT16 default_eeprom[] = -{ - 0x0001,0x01FF,0x0F00,0x011A,0x014A,0x0100,0x01A1,0x0200, - 0x010E,0x01AF,0x0300,0x01FF,0x0114,0x0144,0x01FF,0x0F00, - 0x011A,0x014A,0x0100,0x01A1,0x0200,0x010E,0x01AF,0x0300, - 0x01FF,0x0114,0x0144,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF, - 0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF, - 0x0E00,0x01A8,0x0131,0x010B,0x0100,0x014C,0x0A00,0x01FF, - 0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0xB5FF,0x0E00,0x01FF, - 0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF, - 0x0E00,0x01FF,0x0E00,0x0000 -}; - - static DRIVER_INIT( cyberbal ) { - cyberbal_state *state = machine->driver_data<cyberbal_state>(); - state->eeprom_default = default_eeprom; atarigen_slapstic_init(machine->device("maincpu"), 0x018000, 0, 0); } static DRIVER_INIT( cyberbalt ) { - cyberbal_state *state = machine->driver_data<cyberbal_state>(); - state->eeprom_default = default_eeprom; atarigen_slapstic_init(machine->device("maincpu"), 0x018000, 0, 116); } static DRIVER_INIT( cyberbal2p ) { - cyberbal_state *state = machine->driver_data<cyberbal_state>(); - state->eeprom_default = default_eeprom; atarijsa_init(machine, "IN2", 0x8000); } @@ -1035,4 +1042,3 @@ GAME( 1989, cyberbal2p1, cyberbal, cyberbal2p, cyberbal2p, cyberbal2p, ROT0, "At GAMEL(1989, cyberbalt, cyberbal, cyberbal, cyberbal, cyberbalt, ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 2)", 0, layout_dualhsxs ) GAMEL(1989, cyberbalt1, cyberbal, cyberbal, cyberbal, cyberbalt, ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 1)", 0, layout_dualhsxs ) - diff --git a/src/mame/drivers/eprom.c b/src/mame/drivers/eprom.c index c762b0ae535..f45be4599f7 100644 --- a/src/mame/drivers/eprom.c +++ b/src/mame/drivers/eprom.c @@ -161,7 +161,7 @@ static WRITE16_HANDLER( sync_w ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x09ffff) AM_ROM - AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(eprom_state, eeprom, eeprom_size) + AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0x16cc00, 0x16cc01) AM_RAM AM_SHARE("share2") AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1") AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(atarigen_eeprom_enable_w) @@ -186,7 +186,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( guts_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x09ffff) AM_ROM - AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(eprom_state, eeprom, eeprom_size) + AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0x16cc00, 0x16cc01) AM_RAM AM_SHARE("share2") AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1") AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(atarigen_eeprom_enable_w) @@ -420,7 +420,7 @@ static MACHINE_CONFIG_START( eprom, eprom_state ) MDRV_MACHINE_START(eprom) MDRV_MACHINE_RESET(eprom) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -452,7 +452,7 @@ static MACHINE_CONFIG_START( klaxp, eprom_state ) MDRV_MACHINE_START(eprom) MDRV_MACHINE_RESET(eprom) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -484,7 +484,7 @@ static MACHINE_CONFIG_START( guts, eprom_state ) MDRV_MACHINE_START(eprom) MDRV_MACHINE_RESET(eprom) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/gauntlet.c b/src/mame/drivers/gauntlet.c index 39e8d9a3942..75e3f36350a 100644 --- a/src/mame/drivers/gauntlet.c +++ b/src/mame/drivers/gauntlet.c @@ -310,7 +310,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) /* MBUS */ AM_RANGE(0x800000, 0x801fff) AM_MIRROR(0x2fc000) AM_RAM - AM_RANGE(0x802000, 0x802fff) AM_MIRROR(0x2fc000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(gauntlet_state, eeprom, eeprom_size) + AM_RANGE(0x802000, 0x802fff) AM_MIRROR(0x2fc000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0x803000, 0x803001) AM_MIRROR(0x2fcef0) AM_READ_PORT("803000") AM_RANGE(0x803002, 0x803003) AM_MIRROR(0x2fcef0) AM_READ_PORT("803002") AM_RANGE(0x803004, 0x803005) AM_MIRROR(0x2fcef0) AM_READ_PORT("803004") @@ -525,7 +525,7 @@ static MACHINE_CONFIG_START( gauntlet, gauntlet_state ) MDRV_MACHINE_START(gauntlet) MDRV_MACHINE_RESET(gauntlet) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/goldstar.c b/src/mame/drivers/goldstar.c index 68bba0264cf..9e07ccf5037 100644 --- a/src/mame/drivers/goldstar.c +++ b/src/mame/drivers/goldstar.c @@ -114,27 +114,12 @@ #include "sound/okim6295.h" #include "sound/sn76496.h" #include "machine/8255ppi.h" +#include "machine/nvram.h" #include "includes/goldstar.h" #include "lucky8.lh" -static NVRAM_HANDLER( goldstar ) -{ - goldstar_state *state = machine->driver_data<goldstar_state>(); - - if (read_or_write) - mame_fwrite(file,state->nvram,state->nvram_size); - else - { - if (file) - mame_fread(file,state->nvram,state->nvram_size); - else - memset(state->nvram,0xff,state->nvram_size); - } -} - - static WRITE8_HANDLER( protection_w ) { goldstar_state *state = space->machine->driver_data<goldstar_state>(); @@ -154,7 +139,7 @@ static READ8_HANDLER( protection_r ) static ADDRESS_MAP_START( goldstar_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xb7ff) AM_ROM - AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size) + AM_RANGE(0xb800, 0xbfff) AM_RAM AM_SHARE("nvram") AM_RANGE(0xc000, 0xc7ff) AM_ROM AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE( goldstar_fg_vidram_w ) AM_BASE_MEMBER(goldstar_state,fg_vidram) AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE( goldstar_fg_atrram_w ) AM_BASE_MEMBER(goldstar_state,fg_atrram) @@ -197,7 +182,7 @@ static WRITE8_HANDLER( ncb3_port81_w ) static ADDRESS_MAP_START( ncb3_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xb7ff) AM_ROM - AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size) + AM_RANGE(0xb800, 0xbfff) AM_RAM AM_SHARE("nvram") AM_RANGE(0xc000, 0xc7ff) AM_ROM AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram) AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_MEMBER(goldstar_state,fg_atrram) @@ -270,7 +255,7 @@ static WRITE8_HANDLER( cm_outport1_w ) static ADDRESS_MAP_START( cm_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xcfff) AM_ROM AM_WRITENOP - AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size) + AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("nvram") AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram) @@ -292,7 +277,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( nfm_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xd7ff) AM_ROM AM_WRITENOP - AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size) + AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE("nvram") AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram) @@ -377,7 +362,7 @@ static WRITE8_HANDLER( lucky8_outport_w ) static ADDRESS_MAP_START( lucky8_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size) + AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram") AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram) AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_MEMBER(goldstar_state,fg_atrram) AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE_MEMBER(goldstar_state,reel1_ram) @@ -422,7 +407,7 @@ static WRITE8_HANDLER( magical_outb860_w ) static ADDRESS_MAP_START(magical_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM // where does the extra rom data map?? it seems like it should come straight after the existing rom, but it can't if this is a plain z80? - AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("share1") AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size) + AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("share1") AM_SHARE("nvram") AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram) AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_MEMBER(goldstar_state,fg_atrram) AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE_MEMBER(goldstar_state,reel1_ram) @@ -484,7 +469,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( ladylinr_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size) + AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram") AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram) AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_MEMBER(goldstar_state,fg_atrram) AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE_MEMBER(goldstar_state,reel1_ram) @@ -505,7 +490,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( wcat3_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size) + AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram") AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram) AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_MEMBER(goldstar_state,fg_atrram) AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE_MEMBER(goldstar_state,reel1_ram) @@ -542,7 +527,7 @@ static ADDRESS_MAP_START( unkch_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xc000, 0xc1ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xc800, 0xc9ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE_GENERIC(paletteram2) - AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size) + AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("nvram") AM_RANGE(0xd840, 0xd87f) AM_RAM AM_BASE_MEMBER(goldstar_state,reel1_scroll) AM_RANGE(0xd880, 0xd8bf) AM_RAM AM_BASE_MEMBER(goldstar_state,reel2_scroll) @@ -5529,7 +5514,7 @@ static MACHINE_CONFIG_START( goldstar, goldstar_state ) MDRV_GFXDECODE(goldstar) MDRV_PALETTE_LENGTH(256) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(goldstar) MDRV_VIDEO_UPDATE(goldstar) @@ -5564,7 +5549,7 @@ static MACHINE_CONFIG_START( goldstbl, goldstar_state ) MDRV_GFXDECODE(bl) MDRV_PALETTE_LENGTH(256) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(goldstar) MDRV_VIDEO_UPDATE(goldstar) @@ -5598,7 +5583,7 @@ static MACHINE_CONFIG_START( moonlght, goldstar_state ) MDRV_GFXDECODE(ml) MDRV_PALETTE_LENGTH(256) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(goldstar) MDRV_VIDEO_UPDATE(goldstar) @@ -5699,7 +5684,7 @@ static MACHINE_CONFIG_START( chrygld, goldstar_state ) MDRV_GFXDECODE(chry10) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(cm) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(goldstar) MDRV_VIDEO_UPDATE(goldstar) @@ -5741,7 +5726,7 @@ static MACHINE_CONFIG_START( cb3c, goldstar_state ) MDRV_GFXDECODE(cb3c) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(cm) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(goldstar) MDRV_VIDEO_UPDATE(goldstar) @@ -5783,7 +5768,7 @@ static MACHINE_CONFIG_START( ncb3, goldstar_state ) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(cm) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(goldstar) MDRV_VIDEO_UPDATE(goldstar) @@ -5823,7 +5808,7 @@ static MACHINE_CONFIG_START( cm, goldstar_state ) MDRV_GFXDECODE(cmbitmap) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(cm) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(cherrym) MDRV_VIDEO_UPDATE(goldstar) @@ -5864,7 +5849,7 @@ static MACHINE_CONFIG_START( cmnobmp, goldstar_state ) MDRV_GFXDECODE(cm) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(cm) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(cherrym) MDRV_VIDEO_UPDATE(goldstar) @@ -5900,7 +5885,7 @@ static MACHINE_CONFIG_START( cmast91, goldstar_state ) MDRV_GFXDECODE(cmast91) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(cmast91) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(cherrym) MDRV_VIDEO_UPDATE(cmast91) @@ -5944,7 +5929,7 @@ static MACHINE_CONFIG_START( lucky8, goldstar_state ) MDRV_GFXDECODE(ncb3) MDRV_PALETTE_LENGTH(256) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(goldstar) MDRV_VIDEO_UPDATE(goldstar) @@ -6002,7 +5987,7 @@ static MACHINE_CONFIG_START( magical, goldstar_state ) MDRV_GFXDECODE(magical) MDRV_PALETTE_LENGTH(256) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(magical) MDRV_VIDEO_UPDATE(magical) @@ -6080,7 +6065,7 @@ static MACHINE_CONFIG_START( ladylinr, goldstar_state ) MDRV_GFXDECODE(ncb3) MDRV_PALETTE_LENGTH(256) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(goldstar) MDRV_VIDEO_UPDATE(goldstar) @@ -6121,7 +6106,7 @@ static MACHINE_CONFIG_START( wcat3, goldstar_state ) MDRV_GFXDECODE(ncb3) MDRV_PALETTE_LENGTH(256) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(goldstar) MDRV_VIDEO_UPDATE(goldstar) @@ -6163,7 +6148,7 @@ static MACHINE_CONFIG_START( amcoe1, goldstar_state ) MDRV_GFXDECODE(cm) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(cm) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(cherrym) MDRV_VIDEO_UPDATE(goldstar) @@ -6203,7 +6188,7 @@ static MACHINE_CONFIG_START( amcoe1a, goldstar_state ) MDRV_GFXDECODE(cm) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(cm) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(cherrym) MDRV_VIDEO_UPDATE(amcoe1a) @@ -6243,7 +6228,7 @@ static MACHINE_CONFIG_START( amcoe2, goldstar_state ) MDRV_GFXDECODE(cm) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(cm) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(cherrym) MDRV_VIDEO_UPDATE(goldstar) @@ -6278,7 +6263,7 @@ static MACHINE_CONFIG_START( nfm, goldstar_state ) MDRV_GFXDECODE(nfm) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(cm) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(cherrym) MDRV_VIDEO_UPDATE(goldstar) @@ -6352,7 +6337,7 @@ static MACHINE_CONFIG_START( pkrmast, goldstar_state ) MDRV_GFXDECODE(pkrmast) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(cm) - MDRV_NVRAM_HANDLER(goldstar) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_START(cherrym) MDRV_VIDEO_UPDATE(goldstar) diff --git a/src/mame/drivers/harddriv.c b/src/mame/drivers/harddriv.c index 57f72c8b55a..776e4efd4af 100644 --- a/src/mame/drivers/harddriv.c +++ b/src/mame/drivers/harddriv.c @@ -414,7 +414,7 @@ static ADDRESS_MAP_START( driver_68k_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE(hd68k_gsp_io_r, hd68k_gsp_io_w) AM_RANGE(0xc04000, 0xc07fff) AM_READWRITE(hd68k_msp_io_r, hd68k_msp_io_w) AM_RANGE(0xff0000, 0xff001f) AM_READWRITE(hd68k_duart_r, hd68k_duart_w) - AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE(hd68k_zram_r, hd68k_zram_w) AM_BASE_SIZE_MEMBER(harddriv_state, eeprom, eeprom_size) + AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE(hd68k_zram_r, hd68k_zram_w) AM_SHARE("eeprom") AM_RANGE(0xff8000, 0xffffff) AM_RAM ADDRESS_MAP_END @@ -462,7 +462,7 @@ static ADDRESS_MAP_START( multisync_68k_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE(hd68k_gsp_io_r, hd68k_gsp_io_w) AM_RANGE(0xc04000, 0xc07fff) AM_READWRITE(hd68k_msp_io_r, hd68k_msp_io_w) AM_RANGE(0xff0000, 0xff001f) AM_READWRITE(hd68k_duart_r, hd68k_duart_w) - AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE(hd68k_zram_r, hd68k_zram_w) AM_BASE_SIZE_MEMBER(harddriv_state, eeprom, eeprom_size) + AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE(hd68k_zram_r, hd68k_zram_w) AM_SHARE("eeprom") AM_RANGE(0xff8000, 0xffffff) AM_RAM ADDRESS_MAP_END @@ -500,7 +500,7 @@ static ADDRESS_MAP_START( multisync2_68k_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE(hd68k_gsp_io_r, hd68k_gsp_io_w) AM_RANGE(0xc04000, 0xc07fff) AM_READWRITE(hd68k_msp_io_r, hd68k_msp_io_w) AM_RANGE(0xfc0000, 0xfc001f) AM_READWRITE(hd68k_duart_r, hd68k_duart_w) - AM_RANGE(0xfd0000, 0xfd0fff) AM_MIRROR(0x004000) AM_READWRITE(hd68k_zram_r, hd68k_zram_w) AM_BASE_SIZE_MEMBER(harddriv_state, eeprom, eeprom_size) + AM_RANGE(0xfd0000, 0xfd0fff) AM_MIRROR(0x004000) AM_READWRITE(hd68k_zram_r, hd68k_zram_w) AM_SHARE("eeprom") AM_RANGE(0xff0000, 0xffffff) AM_RAM ADDRESS_MAP_END @@ -1127,7 +1127,7 @@ static MACHINE_CONFIG_START( driver_nomsp, harddriv_state ) MDRV_MACHINE_START(harddriv) MDRV_MACHINE_RESET(harddriv) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") MDRV_TIMER_ADD("duart_timer", hd68k_duart_callback) @@ -1425,6 +1425,9 @@ ROM_START( harddriv ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1454,6 +1457,9 @@ ROM_START( harddrivg ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1485,6 +1491,9 @@ ROM_START( harddrivj ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1514,6 +1523,9 @@ ROM_START( harddrivb ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1543,6 +1555,9 @@ ROM_START( harddrivb6 ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1574,6 +1589,9 @@ ROM_START( harddrivj6 ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1603,6 +1621,9 @@ ROM_START( harddrivb5 ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1632,6 +1653,9 @@ ROM_START( harddrivg4 ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1661,6 +1685,9 @@ ROM_START( harddriv3 ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1690,6 +1717,9 @@ ROM_START( harddriv2 ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1719,6 +1749,9 @@ ROM_START( harddriv1 ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1748,6 +1781,9 @@ ROM_START( harddrivc ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddrivc-eeprom.bin", 0x0000, 0x1000, CRC(c036ef04) SHA1(2f28a52facdff2269ff2f905f9818520a1d8e468) ) ROM_END @@ -1777,6 +1813,9 @@ ROM_START( harddrivcg ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddrivc-eeprom.bin", 0x0000, 0x1000, CRC(c036ef04) SHA1(2f28a52facdff2269ff2f905f9818520a1d8e468) ) ROM_END @@ -1806,6 +1845,9 @@ ROM_START( harddrivcb ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddrivc-eeprom.bin", 0x0000, 0x1000, CRC(c036ef04) SHA1(2f28a52facdff2269ff2f905f9818520a1d8e468) ) ROM_END @@ -1835,6 +1877,9 @@ ROM_START( harddrivc1 ) ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "harddrivc-eeprom.bin", 0x0000, 0x1000, CRC(c036ef04) SHA1(2f28a52facdff2269ff2f905f9818520a1d8e468) ) ROM_END @@ -1870,6 +1915,9 @@ ROM_START( stunrun ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -1905,6 +1953,9 @@ ROM_START( stunrunj ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -1940,6 +1991,9 @@ ROM_START( stunrun5 ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -1975,6 +2029,9 @@ ROM_START( stunrune ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2010,6 +2067,9 @@ ROM_START( stunrun4 ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2045,6 +2105,9 @@ ROM_START( stunrun3 ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2080,6 +2143,9 @@ ROM_START( stunrun3e ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2115,6 +2181,9 @@ ROM_START( stunrun2 ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2150,6 +2219,9 @@ ROM_START( stunrun2e ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2185,6 +2257,9 @@ ROM_START( stunrun0 ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2220,6 +2295,9 @@ ROM_START( stunrunp ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2265,6 +2343,9 @@ ROM_START( racedriv ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2310,6 +2391,9 @@ ROM_START( racedrivb ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2355,6 +2439,9 @@ ROM_START( racedrivg ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2400,6 +2487,9 @@ ROM_START( racedriv4 ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2445,6 +2535,9 @@ ROM_START( racedrivb4 ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2490,6 +2583,9 @@ ROM_START( racedrivg4 ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2535,6 +2631,9 @@ ROM_START( racedriv3 ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2580,6 +2679,9 @@ ROM_START( racedriv2 ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2625,6 +2727,9 @@ ROM_START( racedriv1 ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2670,6 +2775,9 @@ ROM_START( racedrivg1 ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2715,6 +2823,9 @@ ROM_START( racedrivb1 ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2760,6 +2871,9 @@ ROM_START( racedrivc ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -2805,6 +2919,9 @@ ROM_START( racedrivcb ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -2850,6 +2967,9 @@ ROM_START( racedrivcg ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -2895,6 +3015,9 @@ ROM_START( racedrivc4 ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -2940,6 +3063,9 @@ ROM_START( racedrivcb4 ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -2985,6 +3111,9 @@ ROM_START( racedrivcg4 ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -3030,6 +3159,9 @@ ROM_START( racedrivc2 ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -3075,6 +3207,158 @@ ROM_START( racedrivc1 ) ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) +ROM_END + + +/* + +5/2/2003 + +The following roms (type 27C512) were dumped and verified from an Atari Race Drivin +Panorama v2.1 boardset by Mickey Johnson (mickster (at) derbyworks.com) and Dave France +(dfrance (at) revealed.net). Any questions regarding the hardware, please contact Mickey. + +The Multisync PCB (A046901), used by the side monitor, uses the 137412-117 slapstic. +The boardset is low rez, and is more similar to STUN Runner than the regular Race +Drivin's hardware. + +The Multisync PCB (A045988), used by the main (center) monitor, uses the 137412-115 +slapstic. + +The ADSP board was silkscreened "ADSP II A047046-01", but had a factory sticker stamped +"ADSP II Panorama A047046-04". + +As far as I know, the DSK and Sound PCBs are identical with Race Drivin. The side +Multisync PCB sets do not have a DSK or Sound PCB since they are for display only. + +All the linking between the PCBs is via the Serial A on all three boardsets. We +have brought these ROMs up in MAME as Race Drivin. It will pass the self-test, but +game will come up with "DIVIDE BY ZERO ERR". Hitting F2 (Self Test) will display +"Hard Drivin / Race Drivin / Panorama Self Test P2.1" in the Test Menu. + +Filename Location Label Board +-------------- -------------- ---------------------- ----------------------------- +088-1022 9H 136088-1022 CS 0022 ADSP II A047046-01 +088-1018 9/10H 136088-1018 CS 6518 " +088-1020 10H 136088-1020 CS BC20 " +088-1021 9K 136088-1021 CS A121 " +088-1017 9/10K 136088-1017 CS 4B17 " +088-1019 10K 136088-1019 CS 6219 " + +088-2015 210Y 136088-2015 CS DF15 Multisync PCB A046901 +088-2013 210X 136088-2013 CS DA13 " +088-2011 210W 136088-2011 CS 6E11 " +088-2009 210V 136088-2009 CS 1F09 " +088-2007 210U 136088-2007 CS 2F07 " +088-2005 210T 136088-2005C CS D305 " +088-2003 210S 136088-2003C CS 2303 " +088-2001 210R 136088-2001 CS DE01 " +088-2016 200Y 136088-2016 CS 0D16 " +088-2014 200X 136088-2014 CS EB14 " +088-2012 200W 136088-2012 CS 2912 " +088-2010 200V 136088-2010 CS FF10 " +088-2008 200U 136088-2008 CS BA08 " +088-2006 200T 136088-2006C CS D406 " +088-2004 200S 136088-2004C CS 4504 " +088-2002 200R 136088-2002 CS A502 " + +088-1015 210Y 136088-1015 CS E215 Multisync PCB A045988 +088-1013 210X 136088-1013 CS 8F13 " +088-1011 210W 136088-1011 CS 5111 " +088-1009 210V 136088-1009 CS EE09 " +088-1007 210U 136088-1007 CS 4D07 " +088-1005 210T 136088-1005B CS 3905 " +088-1003 210S 136088-1003B CS 7403 " +088-1001 210R 136088-1001 CS 6701 " +088-1016 200Y 136088-1016 CS 3C16 " +088-1014 200X 136088-1014 CS 9C14 " +088-1012 200W 136088-1012 CS C312 " +088-1010 200V 136088-1010 CS 9410 " +088-1008 200U 136088-1008 CS 3408 " +088-1006 200T 136088-1006B CS A006 " +088-1004 200S 136088-1004B CS A904 " +088-1002 200R 136088-1002 CS FB02 " + +*/ + +ROM_START( racedrivpan ) + ROM_REGION( 0x200000, "maincpu", 0 ) /* 2MB for 68000 code */ + // Multisync PBB A045988 - Central Monitor + // boots with 'PROGRAM OK' when using standard Hard Drivin' board type (needs 137412-115 slapstic) + ROM_LOAD16_BYTE( "088-1002.bin", 0x000000, 0x010000, CRC(49a97391) SHA1(dbe4086cd87669a02d2a2133d0d9e2895946b383) ) + ROM_LOAD16_BYTE( "088-1001.bin", 0x000001, 0x010000, CRC(4473accc) SHA1(099bda6cfe31d4e53cbe74046679ddf8b874982d) ) + ROM_LOAD16_BYTE( "088-1004.bin", 0x020000, 0x010000, CRC(33b84ca6) SHA1(9e3cafadfb23bfc4a44e503043cc05db27d939a9) ) + ROM_LOAD16_BYTE( "088-1003.bin", 0x020001, 0x010000, CRC(e617e6e2) SHA1(1bd308eff51588edfde21f3df1e84d3223d5d57a) ) + ROM_LOAD16_BYTE( "088-1006.bin", 0x040000, 0x010000, CRC(1caeb314) SHA1(ebcf3e4cc13155206102bfada9422d4e318697e0) ) + ROM_LOAD16_BYTE( "088-1005.bin", 0x040001, 0x010000, CRC(f23a73b8) SHA1(8e060077c971309dcc620402ee456ee66e59bfae) ) + ROM_LOAD16_BYTE( "088-1008.bin", 0x060000, 0x010000, CRC(b0d60278) SHA1(d35ed22d3cbc725bbe023ae415a417f1c6532d30) ) + ROM_LOAD16_BYTE( "088-1007.bin", 0x060001, 0x010000, CRC(c4fc82dc) SHA1(67575f533a658dd06fa6a143a654e9777f2e19ab) ) + ROM_LOAD16_BYTE( "088-1010.bin", 0x080000, 0x010000, CRC(1b64bce1) SHA1(80edf1a77aee32f675c2a99769b1a390214ec075) ) + ROM_LOAD16_BYTE( "088-1009.bin", 0x080001, 0x010000, CRC(413f4110) SHA1(6f71a5e46c29b4c51f3624484cdaed16babe3cd5) ) + ROM_LOAD16_BYTE( "088-1012.bin", 0x0a0000, 0x010000, CRC(9a78b952) SHA1(53270d4d8c28579ebda477a63c034f6d1b9e5a58) ) // == 136091-0012.200w (strtdriv) / 136077-1012.200w + ROM_LOAD16_BYTE( "088-1011.bin", 0x0a0001, 0x010000, CRC(c5cd5491) SHA1(ede5a3bb888342032d6758b0fb149451b6543d8b) ) // == 136091-0011.210w (strtdriv) / 136077-1011.210w + ROM_LOAD16_BYTE( "088-1014.bin", 0x0c0000, 0x010000, CRC(5b721420) SHA1(cba03943d56eb1d747e48fbe2856c64d2129be3b) ) // == 136091-0014.200x (strtdriv) + ROM_LOAD16_BYTE( "088-1013.bin", 0x0c0001, 0x010000, CRC(c503b019) SHA1(e35779c0792bb2258dd0830c00a7d2722a0b115e) ) // == 136091-0013.210x (strtdriv) + ROM_LOAD16_BYTE( "088-1016.bin", 0x0e0000, 0x010000, CRC(e83a9c99) SHA1(1d4093902133bb6da981f294e6947544c3564393) ) // == 136077-1016.200y + ROM_LOAD16_BYTE( "088-1015.bin", 0x0e0001, 0x010000, CRC(725806f3) SHA1(0fa4601465dc94f27c71db789ad625bbcd254169) ) // == 136077-4015.210y + + // Multisync PCB (A046901) - Side Monitor + // these will boot with 'PROGRAM OK' and display an empty side view, if you use the 'compact' type board driver + // there should be one board for each side. (needs 137412-117 slapstic) + ROM_REGION( 0x200000, "sidecpu", 0 ) /* 2MB for 68000 code */ + ROM_LOAD16_BYTE( "088-2002.bin", 0x000000, 0x010000, CRC(77724070) SHA1(5862f30f7e2ab9c0beb06cf5599bcb1ff97f3a47) ) + ROM_LOAD16_BYTE( "088-2001.bin", 0x000001, 0x010000, CRC(16ab2fff) SHA1(bf6dcefc98e1fe27bef0ddacc265d8782c486c83) ) + ROM_LOAD16_BYTE( "088-2004.bin", 0x020000, 0x010000, CRC(dccdb16b) SHA1(330cf39bcbdb9c73da48b4e947086a7988e37496) ) + ROM_LOAD16_BYTE( "088-2003.bin", 0x020001, 0x010000, CRC(132ef986) SHA1(106f1a23ac200a868959181fa1c47419806e8366) ) + ROM_LOAD16_BYTE( "088-2006.bin", 0x040000, 0x010000, CRC(de3a0c24) SHA1(1121b8a16ac11b2480f1c4336a5aa3271364f80e)) + ROM_LOAD16_BYTE( "088-2005.bin", 0x040001, 0x010000, CRC(96ad705f) SHA1(cc0bc7fdd2a5f91a5929b889607dcf7ad015bb95) ) + ROM_LOAD16_BYTE( "088-2008.bin", 0x060000, 0x010000, CRC(452d991c) SHA1(42dad0a93839a900c3571ce9e252e1c991a1da56) ) + ROM_LOAD16_BYTE( "088-2007.bin", 0x060001, 0x010000, CRC(d6f526d3) SHA1(8406917c91c1d3690379cb0bca5809d1db27abec) ) + ROM_LOAD16_BYTE( "088-2010.bin", 0x080000, 0x010000, CRC(775bca3d) SHA1(926b460faeb2aa46899432b3a9973381ffd7781d) ) + ROM_LOAD16_BYTE( "088-2009.bin", 0x080001, 0x010000, CRC(6aedccc5) SHA1(9189881802969ecdde2fd41a20ff6ea0471ce2c0) ) + ROM_LOAD16_BYTE( "088-2012.bin", 0x0a0000, 0x010000, CRC(bacf08c0) SHA1(2f7ddaf4ef350ee3e6ab886759d88c03aa94784b) ) + ROM_LOAD16_BYTE( "088-2011.bin", 0x0a0001, 0x010000, CRC(1e0c2f71) SHA1(bcdd9089442934df78109df7c0dcf170873cf992) ) + ROM_LOAD16_BYTE( "088-2014.bin", 0x0c0000, 0x010000, CRC(3512537c) SHA1(896975ef2685358bd98f7a9b45dda11e8bfa3a13) ) + ROM_LOAD16_BYTE( "088-2013.bin", 0x0c0001, 0x010000, CRC(8d7c4e80) SHA1(eda8d02e51b18234fc0912eaca8171d75ae643c7) ) + ROM_LOAD16_BYTE( "088-2016.bin", 0x0e0000, 0x010000, CRC(6a42b7e2) SHA1(2e0ff4b7e391106a976cb872f6311f6d35dca5b0) ) + ROM_LOAD16_BYTE( "088-2015.bin", 0x0e0001, 0x010000, CRC(334e2a3b) SHA1(a19bfa7652845b9453c722091c773819ba248569) ) + + ROM_REGION( 0x60000, "user1", 0 ) /* 384k for object ROM */ + ROM_LOAD16_BYTE( "088-1017.bin", 0x00000, 0x10000, CRC(d92251e8) SHA1(deeeec54c4a61c3adf62f6b1b910135559090ee5) ) + ROM_LOAD16_BYTE( "088-1018.bin", 0x00001, 0x10000, CRC(11a0a8f5) SHA1(d4ccc83fc99331d741bc9b8027ef20d72e3ad71a) ) + ROM_LOAD16_BYTE( "088-1019.bin", 0x20000, 0x10000, CRC(5bb00676) SHA1(cad1cea8e43f9590fc71c00fab4eff0d447f9296) ) // == 136091-0019.2k (strtdriv) + ROM_LOAD16_BYTE( "088-1020.bin", 0x20001, 0x10000, CRC(311cef99) SHA1(9c466aabad7e80581e477253ec6f2fd245f9b9fd) ) // == 136091-0020.2r (strtdriv) + ROM_LOAD16_BYTE( "088-1021.bin", 0x40000, 0x10000, CRC(ce8e4886) SHA1(d29cd4761deb80ed179d0e503243739eebc0edb4) ) + ROM_LOAD16_BYTE( "088-1022.bin", 0x40001, 0x10000, CRC(4f1e1c5d) SHA1(3e72813129cae9e9bf084bfb1b747aa46b92591e) ) + + /* ----------------------- */ + + ROM_REGION( 0x2000, "asic65", 0 ) /* ASIC65 TMS32015 code */ + ROM_LOAD( "136077-1027.30j", 0x00000, 0x02000, NO_DUMP ) + + /* ADSP board */ + ROM_REGION( 0x20000, "soundcpu", 0 ) /* 2*64k for audio 68000 code */ + ROM_LOAD16_BYTE( "rdps1032.bin", 0x000000, 0x010000, CRC(33005f2a) SHA1(e4037a76f122b271a9675d9187ab847a11738640) ) + ROM_LOAD16_BYTE( "rdps1033.bin", 0x000001, 0x010000, CRC(4fc800ac) SHA1(dd8cfdb727d6a65274f4f871a589a36796ae1e57) ) + + /* DSK board */ + ROM_REGION16_BE( 0x51000, "user3", 0 ) /* 256k for DSK ROMs + 64k for RAM + 4k for ZRAM */ + ROM_LOAD16_BYTE( "rdpd1026.bin", 0x000000, 0x020000, CRC(16572618) SHA1(08d9f7f76e6e75d5233240d4deab96808825994b) ) + ROM_LOAD16_BYTE( "rdpd1025.bin", 0x000001, 0x020000, CRC(57b8a266) SHA1(257246d42841aa30220caeb91945e29978ee8fc0) ) + + /* Audio ROMs - show up as bad in self-test but so do racedriv's */ + ROM_REGION( 0x50000, "serialroms", 0 ) /* 5*64k for audio serial ROMs */ + ROM_LOAD( "rdps1123.bin", 0x000000, 0x010000, CRC(a88411dc) SHA1(1fd53c7eadffa163d5423df2f8338757e58d5f2e) ) + ROM_LOAD( "rdps1124.bin", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) + ROM_LOAD( "rdps3125.bin", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) + ROM_LOAD( "rdps1126.bin", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + ROM_LOAD( "rdps1017.bin", 0x040000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -3133,6 +3417,9 @@ ROM_START( steeltal ) /* GAL's located on "Multisync" board */ ROM_LOAD( "136087-9001.bin", 0x0000, 0x0001, NO_DUMP ) /* GAL6001 at location 200K (SLOOP) */ + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "steeltal-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -3191,6 +3478,9 @@ ROM_START( steeltalg ) /* GAL's located on "Multisync" board */ ROM_LOAD( "136087-9001.bin", 0x0000, 0x0001, NO_DUMP ) /* GAL6001 at location 200K (SLOOP) */ + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "steeltal-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -3249,6 +3539,9 @@ ROM_START( steeltal1 ) /* GAL's located on "Multisync" board */ ROM_LOAD( "136087-9001.bin", 0x0000, 0x0001, NO_DUMP ) /* GAL6001 at location 200K (SLOOP) */ + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "steeltal-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -3307,6 +3600,9 @@ ROM_START( steeltalp ) /* GAL's located on "Multisync" board */ ROM_LOAD( "136087-9001.bin", 0x0000, 0x0001, NO_DUMP ) /* GAL6001 at location 200K (SLOOP) */ + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "steeltal-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -3352,154 +3648,11 @@ ROM_START( strtdriv ) ROM_LOAD( "136052-3125.12j", 0x000000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) ROM_LOAD( "136052-1126.12h", 0x000000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) ROM_LOAD( "136077-1017.12t", 0x000000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "strtdriv-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END -/* - -5/2/2003 - -The following roms (type 27C512) were dumped and verified from an Atari Race Drivin -Panorama v2.1 boardset by Mickey Johnson (mickster (at) derbyworks.com) and Dave France -(dfrance (at) revealed.net). Any questions regarding the hardware, please contact Mickey. - -The Multisync PCB (A046901), used by the side monitor, uses the 137412-117 slapstic. -The boardset is low rez, and is more similar to STUN Runner than the regular Race -Drivin's hardware. - -The Multisync PCB (A045988), used by the main (center) monitor, uses the 137412-115 -slapstic. - -The ADSP board was silkscreened "ADSP II A047046-01", but had a factory sticker stamped -"ADSP II Panorama A047046-04". - -As far as I know, the DSK and Sound PCBs are identical with Race Drivin. The side -Multisync PCB sets do not have a DSK or Sound PCB since they are for display only. - -All the linking between the PCBs is via the Serial A on all three boardsets. We -have brought these ROMs up in MAME as Race Drivin. It will pass the self-test, but -game will come up with "DIVIDE BY ZERO ERR". Hitting F2 (Self Test) will display -"Hard Drivin / Race Drivin / Panorama Self Test P2.1" in the Test Menu. - -Filename Location Label Board --------------- -------------- ---------------------- ----------------------------- -088-1022 9H 136088-1022 CS 0022 ADSP II A047046-01 -088-1018 9/10H 136088-1018 CS 6518 " -088-1020 10H 136088-1020 CS BC20 " -088-1021 9K 136088-1021 CS A121 " -088-1017 9/10K 136088-1017 CS 4B17 " -088-1019 10K 136088-1019 CS 6219 " - -088-2015 210Y 136088-2015 CS DF15 Multisync PCB A046901 -088-2013 210X 136088-2013 CS DA13 " -088-2011 210W 136088-2011 CS 6E11 " -088-2009 210V 136088-2009 CS 1F09 " -088-2007 210U 136088-2007 CS 2F07 " -088-2005 210T 136088-2005C CS D305 " -088-2003 210S 136088-2003C CS 2303 " -088-2001 210R 136088-2001 CS DE01 " -088-2016 200Y 136088-2016 CS 0D16 " -088-2014 200X 136088-2014 CS EB14 " -088-2012 200W 136088-2012 CS 2912 " -088-2010 200V 136088-2010 CS FF10 " -088-2008 200U 136088-2008 CS BA08 " -088-2006 200T 136088-2006C CS D406 " -088-2004 200S 136088-2004C CS 4504 " -088-2002 200R 136088-2002 CS A502 " - -088-1015 210Y 136088-1015 CS E215 Multisync PCB A045988 -088-1013 210X 136088-1013 CS 8F13 " -088-1011 210W 136088-1011 CS 5111 " -088-1009 210V 136088-1009 CS EE09 " -088-1007 210U 136088-1007 CS 4D07 " -088-1005 210T 136088-1005B CS 3905 " -088-1003 210S 136088-1003B CS 7403 " -088-1001 210R 136088-1001 CS 6701 " -088-1016 200Y 136088-1016 CS 3C16 " -088-1014 200X 136088-1014 CS 9C14 " -088-1012 200W 136088-1012 CS C312 " -088-1010 200V 136088-1010 CS 9410 " -088-1008 200U 136088-1008 CS 3408 " -088-1006 200T 136088-1006B CS A006 " -088-1004 200S 136088-1004B CS A904 " -088-1002 200R 136088-1002 CS FB02 " - -*/ - -ROM_START( racedrivpan ) - ROM_REGION( 0x200000, "maincpu", 0 ) /* 2MB for 68000 code */ - // Multisync PBB A045988 - Central Monitor - // boots with 'PROGRAM OK' when using standard Hard Drivin' board type (needs 137412-115 slapstic) - ROM_LOAD16_BYTE( "088-1002.bin", 0x000000, 0x010000, CRC(49a97391) SHA1(dbe4086cd87669a02d2a2133d0d9e2895946b383) ) - ROM_LOAD16_BYTE( "088-1001.bin", 0x000001, 0x010000, CRC(4473accc) SHA1(099bda6cfe31d4e53cbe74046679ddf8b874982d) ) - ROM_LOAD16_BYTE( "088-1004.bin", 0x020000, 0x010000, CRC(33b84ca6) SHA1(9e3cafadfb23bfc4a44e503043cc05db27d939a9) ) - ROM_LOAD16_BYTE( "088-1003.bin", 0x020001, 0x010000, CRC(e617e6e2) SHA1(1bd308eff51588edfde21f3df1e84d3223d5d57a) ) - ROM_LOAD16_BYTE( "088-1006.bin", 0x040000, 0x010000, CRC(1caeb314) SHA1(ebcf3e4cc13155206102bfada9422d4e318697e0) ) - ROM_LOAD16_BYTE( "088-1005.bin", 0x040001, 0x010000, CRC(f23a73b8) SHA1(8e060077c971309dcc620402ee456ee66e59bfae) ) - ROM_LOAD16_BYTE( "088-1008.bin", 0x060000, 0x010000, CRC(b0d60278) SHA1(d35ed22d3cbc725bbe023ae415a417f1c6532d30) ) - ROM_LOAD16_BYTE( "088-1007.bin", 0x060001, 0x010000, CRC(c4fc82dc) SHA1(67575f533a658dd06fa6a143a654e9777f2e19ab) ) - ROM_LOAD16_BYTE( "088-1010.bin", 0x080000, 0x010000, CRC(1b64bce1) SHA1(80edf1a77aee32f675c2a99769b1a390214ec075) ) - ROM_LOAD16_BYTE( "088-1009.bin", 0x080001, 0x010000, CRC(413f4110) SHA1(6f71a5e46c29b4c51f3624484cdaed16babe3cd5) ) - ROM_LOAD16_BYTE( "088-1012.bin", 0x0a0000, 0x010000, CRC(9a78b952) SHA1(53270d4d8c28579ebda477a63c034f6d1b9e5a58) ) // == 136091-0012.200w (strtdriv) / 136077-1012.200w - ROM_LOAD16_BYTE( "088-1011.bin", 0x0a0001, 0x010000, CRC(c5cd5491) SHA1(ede5a3bb888342032d6758b0fb149451b6543d8b) ) // == 136091-0011.210w (strtdriv) / 136077-1011.210w - ROM_LOAD16_BYTE( "088-1014.bin", 0x0c0000, 0x010000, CRC(5b721420) SHA1(cba03943d56eb1d747e48fbe2856c64d2129be3b) ) // == 136091-0014.200x (strtdriv) - ROM_LOAD16_BYTE( "088-1013.bin", 0x0c0001, 0x010000, CRC(c503b019) SHA1(e35779c0792bb2258dd0830c00a7d2722a0b115e) ) // == 136091-0013.210x (strtdriv) - ROM_LOAD16_BYTE( "088-1016.bin", 0x0e0000, 0x010000, CRC(e83a9c99) SHA1(1d4093902133bb6da981f294e6947544c3564393) ) // == 136077-1016.200y - ROM_LOAD16_BYTE( "088-1015.bin", 0x0e0001, 0x010000, CRC(725806f3) SHA1(0fa4601465dc94f27c71db789ad625bbcd254169) ) // == 136077-4015.210y - - // Multisync PCB (A046901) - Side Monitor - // these will boot with 'PROGRAM OK' and display an empty side view, if you use the 'compact' type board driver - // there should be one board for each side. (needs 137412-117 slapstic) - ROM_REGION( 0x200000, "sidecpu", 0 ) /* 2MB for 68000 code */ - ROM_LOAD16_BYTE( "088-2002.bin", 0x000000, 0x010000, CRC(77724070) SHA1(5862f30f7e2ab9c0beb06cf5599bcb1ff97f3a47) ) - ROM_LOAD16_BYTE( "088-2001.bin", 0x000001, 0x010000, CRC(16ab2fff) SHA1(bf6dcefc98e1fe27bef0ddacc265d8782c486c83) ) - ROM_LOAD16_BYTE( "088-2004.bin", 0x020000, 0x010000, CRC(dccdb16b) SHA1(330cf39bcbdb9c73da48b4e947086a7988e37496) ) - ROM_LOAD16_BYTE( "088-2003.bin", 0x020001, 0x010000, CRC(132ef986) SHA1(106f1a23ac200a868959181fa1c47419806e8366) ) - ROM_LOAD16_BYTE( "088-2006.bin", 0x040000, 0x010000, CRC(de3a0c24) SHA1(1121b8a16ac11b2480f1c4336a5aa3271364f80e)) - ROM_LOAD16_BYTE( "088-2005.bin", 0x040001, 0x010000, CRC(96ad705f) SHA1(cc0bc7fdd2a5f91a5929b889607dcf7ad015bb95) ) - ROM_LOAD16_BYTE( "088-2008.bin", 0x060000, 0x010000, CRC(452d991c) SHA1(42dad0a93839a900c3571ce9e252e1c991a1da56) ) - ROM_LOAD16_BYTE( "088-2007.bin", 0x060001, 0x010000, CRC(d6f526d3) SHA1(8406917c91c1d3690379cb0bca5809d1db27abec) ) - ROM_LOAD16_BYTE( "088-2010.bin", 0x080000, 0x010000, CRC(775bca3d) SHA1(926b460faeb2aa46899432b3a9973381ffd7781d) ) - ROM_LOAD16_BYTE( "088-2009.bin", 0x080001, 0x010000, CRC(6aedccc5) SHA1(9189881802969ecdde2fd41a20ff6ea0471ce2c0) ) - ROM_LOAD16_BYTE( "088-2012.bin", 0x0a0000, 0x010000, CRC(bacf08c0) SHA1(2f7ddaf4ef350ee3e6ab886759d88c03aa94784b) ) - ROM_LOAD16_BYTE( "088-2011.bin", 0x0a0001, 0x010000, CRC(1e0c2f71) SHA1(bcdd9089442934df78109df7c0dcf170873cf992) ) - ROM_LOAD16_BYTE( "088-2014.bin", 0x0c0000, 0x010000, CRC(3512537c) SHA1(896975ef2685358bd98f7a9b45dda11e8bfa3a13) ) - ROM_LOAD16_BYTE( "088-2013.bin", 0x0c0001, 0x010000, CRC(8d7c4e80) SHA1(eda8d02e51b18234fc0912eaca8171d75ae643c7) ) - ROM_LOAD16_BYTE( "088-2016.bin", 0x0e0000, 0x010000, CRC(6a42b7e2) SHA1(2e0ff4b7e391106a976cb872f6311f6d35dca5b0) ) - ROM_LOAD16_BYTE( "088-2015.bin", 0x0e0001, 0x010000, CRC(334e2a3b) SHA1(a19bfa7652845b9453c722091c773819ba248569) ) - - ROM_REGION( 0x60000, "user1", 0 ) /* 384k for object ROM */ - ROM_LOAD16_BYTE( "088-1017.bin", 0x00000, 0x10000, CRC(d92251e8) SHA1(deeeec54c4a61c3adf62f6b1b910135559090ee5) ) - ROM_LOAD16_BYTE( "088-1018.bin", 0x00001, 0x10000, CRC(11a0a8f5) SHA1(d4ccc83fc99331d741bc9b8027ef20d72e3ad71a) ) - ROM_LOAD16_BYTE( "088-1019.bin", 0x20000, 0x10000, CRC(5bb00676) SHA1(cad1cea8e43f9590fc71c00fab4eff0d447f9296) ) // == 136091-0019.2k (strtdriv) - ROM_LOAD16_BYTE( "088-1020.bin", 0x20001, 0x10000, CRC(311cef99) SHA1(9c466aabad7e80581e477253ec6f2fd245f9b9fd) ) // == 136091-0020.2r (strtdriv) - ROM_LOAD16_BYTE( "088-1021.bin", 0x40000, 0x10000, CRC(ce8e4886) SHA1(d29cd4761deb80ed179d0e503243739eebc0edb4) ) - ROM_LOAD16_BYTE( "088-1022.bin", 0x40001, 0x10000, CRC(4f1e1c5d) SHA1(3e72813129cae9e9bf084bfb1b747aa46b92591e) ) - - /* ----------------------- */ - - ROM_REGION( 0x2000, "asic65", 0 ) /* ASIC65 TMS32015 code */ - ROM_LOAD( "136077-1027.30j", 0x00000, 0x02000, NO_DUMP ) - - /* ADSP board */ - ROM_REGION( 0x20000, "soundcpu", 0 ) /* 2*64k for audio 68000 code */ - ROM_LOAD16_BYTE( "rdps1032.bin", 0x000000, 0x010000, CRC(33005f2a) SHA1(e4037a76f122b271a9675d9187ab847a11738640) ) - ROM_LOAD16_BYTE( "rdps1033.bin", 0x000001, 0x010000, CRC(4fc800ac) SHA1(dd8cfdb727d6a65274f4f871a589a36796ae1e57) ) - - /* DSK board */ - ROM_REGION16_BE( 0x51000, "user3", 0 ) /* 256k for DSK ROMs + 64k for RAM + 4k for ZRAM */ - ROM_LOAD16_BYTE( "rdpd1026.bin", 0x000000, 0x020000, CRC(16572618) SHA1(08d9f7f76e6e75d5233240d4deab96808825994b) ) - ROM_LOAD16_BYTE( "rdpd1025.bin", 0x000001, 0x020000, CRC(57b8a266) SHA1(257246d42841aa30220caeb91945e29978ee8fc0) ) - - /* Audio ROMs - show up as bad in self-test but so do racedriv's */ - ROM_REGION( 0x50000, "serialroms", 0 ) /* 5*64k for audio serial ROMs */ - ROM_LOAD( "rdps1123.bin", 0x000000, 0x010000, CRC(a88411dc) SHA1(1fd53c7eadffa163d5423df2f8338757e58d5f2e) ) - ROM_LOAD( "rdps1124.bin", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) ) - ROM_LOAD( "rdps3125.bin", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) ) - ROM_LOAD( "rdps1126.bin", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) - ROM_LOAD( "rdps1017.bin", 0x040000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) -ROM_END - - ROM_START( hdrivair ) ROM_REGION( 0x200000, "maincpu", 0 ) /* 2MB for 68000 code */ ROM_LOAD16_BYTE( "stesthi.bin", 0x000000, 0x20000, CRC(b4bfa451) SHA1(002a5d213ba8ec76ad83a87d76aefbd98b1e4c94) ) @@ -3549,6 +3702,9 @@ ROM_START( hdrivair ) ROM_LOAD16_BYTE( "ds3rom5.bin", 0x00000, 0x80000, CRC(8d0e9b27) SHA1(76556f48bdf14475260c268ebdb16ecb494b2f36) ) ROM_LOAD16_BYTE( "ds3rom6.bin", 0x00001, 0x80000, CRC(ce7edbae) SHA1(58e9d8379157bb69e323eb79332d644a32c70a6f) ) ROM_LOAD16_BYTE( "ds3rom7.bin", 0x00000, 0x80000, CRC(323eff0b) SHA1(5d4945d77191ee44b4fbf125bc0816217321829e) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "hdrivair-eeprom.bin", 0x0000, 0x1000, CRC(7828df8f) SHA1(4b62ceb1d3f4b8026d77a59118a9002aa006e98e) ) ROM_END @@ -3601,6 +3757,9 @@ ROM_START( hdrivairp ) ROM_LOAD16_BYTE( "ds3rom.5", 0x00000, 0x80000, CRC(6ef9ed90) SHA1(8bd927a56fe99f7db96d203c1daeb8c8c83f2c17) ) ROM_LOAD16_BYTE( "ds3rom.6", 0x00001, 0x80000, CRC(cd4cd6bc) SHA1(95689ab7cb18af54ff09aebf223f6346f13dfd7b) ) ROM_LOAD16_BYTE( "ds3rom.7", 0x00000, 0x80000, CRC(3d695e1f) SHA1(4e5dd009ed11d299c546451141920dc1dc74a529) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "hdrivair-eeprom.bin", 0x0000, 0x1000, CRC(7828df8f) SHA1(4b62ceb1d3f4b8026d77a59118a9002aa006e98e) ) ROM_END @@ -3611,22 +3770,13 @@ ROM_END * *************************************/ -static const UINT16 default_eeprom[] = -{ - 1, - 0xff00,0xff00,0xff00,0xff00,0xff00,0xff00,0xff00,0xff00, - 0x0800,0 -}; - - /* COMMON INIT: initialize the original "driver" main board */ static void init_driver(running_machine *machine) { harddriv_state *state = machine->driver_data<harddriv_state>(); - /* note that we're not multisync and set the default EEPROM data */ + /* note that we're not multisync */ state->gsp_multisync = FALSE; - state->eeprom_default = default_eeprom; } @@ -3635,9 +3785,8 @@ static void init_multisync(running_machine *machine, int compact_inputs) { harddriv_state *state = machine->driver_data<harddriv_state>(); - /* note that we're multisync and set the default EEPROM data */ + /* note that we're multisync */ state->gsp_multisync = TRUE; - state->eeprom_default = default_eeprom; /* install handlers for the compact driving games' inputs */ if (compact_inputs) @@ -4183,7 +4332,7 @@ GAME( 1990, racedrivg, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Gam GAME( 1990, racedriv4, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 4)", 0 ) GAME( 1990, racedrivb4, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, British, rev 4)", 0 ) GAME( 1990, racedrivg4, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, German, rev 4)", 0 ) -GAME( 1990, racedriv3, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 3)", 0 ) +GAME( 1990, racedriv3, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 3)", GAME_NOT_WORKING ) GAME( 1990, racedriv2, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 2)", GAME_NOT_WORKING ) GAME( 1990, racedriv1, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 1)", GAME_NOT_WORKING ) GAME( 1990, racedrivb1, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, British, rev 1)", GAME_NOT_WORKING ) @@ -4195,8 +4344,8 @@ GAME( 1990, racedrivcg, racedriv, racedrivc, racedrivc, racedrivc, ROT0, "Atari GAME( 1990, racedrivc4, racedriv, racedrivc, racedrivc, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, rev 4)", 0 ) GAME( 1990, racedrivcb4, racedriv, racedrivc, racedrivc, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, British, rev 4)", 0 ) GAME( 1990, racedrivcg4, racedriv, racedrivc, racedrivc, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, German, rev 4)", 0 ) -GAME( 1990, racedrivc2, racedriv, racedrivc, racedrivc, racedrivc1,ROT0, "Atari Games", "Race Drivin' (compact, rev 2)", 0 ) -GAME( 1990, racedrivc1, racedriv, racedrivc, racedrivc, racedrivc1,ROT0, "Atari Games", "Race Drivin' (compact, rev 1)", 0 ) +GAME( 1990, racedrivc2, racedriv, racedrivc, racedrivc, racedrivc1,ROT0, "Atari Games", "Race Drivin' (compact, rev 2)", GAME_NOT_WORKING ) +GAME( 1990, racedrivc1, racedriv, racedrivc, racedrivc, racedrivc1,ROT0, "Atari Games", "Race Drivin' (compact, rev 1)", GAME_NOT_WORKING ) GAME( 1990, racedrivpan, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' Panorama (prototype, rev 2.1)", GAME_NOT_WORKING ) diff --git a/src/mame/drivers/hyhoo.c b/src/mame/drivers/hyhoo.c index 315b57d1790..f34bc6f9357 100644 --- a/src/mame/drivers/hyhoo.c +++ b/src/mame/drivers/hyhoo.c @@ -27,6 +27,7 @@ Memo: #include "sound/ay8910.h" #include "sound/dac.h" #include "includes/hyhoo.h" +#include "machine/nvram.h" #define SIGNED_DAC 0 // 0:unsigned DAC, 1:signed DAC #if SIGNED_DAC @@ -49,7 +50,7 @@ static DRIVER_INIT( hyhoo2 ) static ADDRESS_MAP_START( hyhoo_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xefff) AM_ROM - AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) + AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("nvram") ADDRESS_MAP_END static ADDRESS_MAP_START( hyhoo_io_map, ADDRESS_SPACE_IO, 8 ) @@ -253,7 +254,7 @@ static MACHINE_CONFIG_START( hyhoo, driver_device ) MDRV_CPU_VBLANK_INT("screen", nb1413m3_interrupt) MDRV_MACHINE_RESET(nb1413m3) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") /* video hardware */ MDRV_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/klax.c b/src/mame/drivers/klax.c index 7ad4fa3af50..8bddc9399da 100644 --- a/src/mame/drivers/klax.c +++ b/src/mame/drivers/klax.c @@ -84,7 +84,7 @@ static MACHINE_RESET( klax ) static ADDRESS_MAP_START( klax_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_ROM - AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r,atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(klax_state, eeprom, eeprom_size) + AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r,atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(atarigen_eeprom_enable_w) AM_RANGE(0x260000, 0x260001) AM_READ_PORT("P1") AM_WRITE(klax_latch_w) AM_RANGE(0x260002, 0x260003) AM_READ_PORT("P2") @@ -173,7 +173,7 @@ static MACHINE_CONFIG_START( klax, klax_state ) MDRV_MACHINE_START(klax) MDRV_MACHINE_RESET(klax) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/namcos2.c b/src/mame/drivers/namcos2.c index 4ca6afabaae..7eb61028053 100644 --- a/src/mame/drivers/namcos2.c +++ b/src/mame/drivers/namcos2.c @@ -449,6 +449,7 @@ $a00000 checks have been seen on the Final Lap boards. #include "includes/namcos2.h" #include "cpu/m6809/m6809.h" #include "includes/namcoic.h" +#include "machine/nvram.h" #include "sound/2151intf.h" #include "sound/c140.h" @@ -1627,7 +1628,7 @@ static MACHINE_CONFIG_START( default, driver_device ) MDRV_MACHINE_START(namcos2) MDRV_MACHINE_RESET(namcos2) - MDRV_NVRAM_HANDLER(namcos2) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS) @@ -1704,7 +1705,7 @@ static MACHINE_CONFIG_START( gollygho, driver_device ) MDRV_MACHINE_START(namcos2) MDRV_MACHINE_RESET(namcos2) - MDRV_NVRAM_HANDLER(namcos2) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS) @@ -1754,7 +1755,7 @@ static MACHINE_CONFIG_START( finallap, driver_device ) MDRV_MACHINE_START(namcos2) MDRV_MACHINE_RESET(namcos2) - MDRV_NVRAM_HANDLER(namcos2) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS) @@ -1804,7 +1805,7 @@ static MACHINE_CONFIG_START( sgunner, driver_device ) MDRV_MACHINE_START(namcos2) MDRV_MACHINE_RESET(namcos2) - MDRV_NVRAM_HANDLER(namcos2) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS) @@ -1854,7 +1855,7 @@ static MACHINE_CONFIG_START( luckywld, driver_device ) MDRV_MACHINE_START(namcos2) MDRV_MACHINE_RESET(namcos2) - MDRV_NVRAM_HANDLER(namcos2) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS) @@ -1904,7 +1905,7 @@ static MACHINE_CONFIG_START( metlhawk, driver_device ) MDRV_MACHINE_START(namcos2) MDRV_MACHINE_RESET(namcos2) - MDRV_NVRAM_HANDLER(namcos2) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS) diff --git a/src/mame/drivers/namcos21.c b/src/mame/drivers/namcos21.c index b2383696784..28cc841fd0b 100644 --- a/src/mame/drivers/namcos21.c +++ b/src/mame/drivers/namcos21.c @@ -299,6 +299,7 @@ CPU68 PCB: #include "sound/2151intf.h" #include "sound/c140.h" #include "includes/namcos21.h" +#include "machine/nvram.h" #define PTRAM_SIZE 0x20000 @@ -1522,7 +1523,7 @@ static const c140_interface C140_interface_typeB = C140_TYPE_SYSTEM21_B }; -static MACHINE_CONFIG_START( s21base, driver_device ) +static MACHINE_CONFIG_START( s21base, namcos21_state ) MDRV_CPU_ADD("maincpu", M68000,12288000) /* Master */ MDRV_CPU_PROGRAM_MAP(namcos21_68k_master) MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank) @@ -1554,7 +1555,7 @@ static MACHINE_CONFIG_START( s21base, driver_device ) MDRV_MACHINE_START(namcos2) MDRV_MACHINE_RESET(namcos2) - MDRV_NVRAM_HANDLER(namcos2) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_SCREEN_ADD("screen", RASTER) @@ -1599,7 +1600,7 @@ static MACHINE_CONFIG_DERIVED( poly_c140_typeB, s21base ) MDRV_SOUND_ROUTE(1, "rspeaker", 0.30) MACHINE_CONFIG_END -static MACHINE_CONFIG_START( driveyes, driver_device ) +static MACHINE_CONFIG_START( driveyes, namcos21_state ) MDRV_CPU_ADD("maincpu", M68000,12288000) /* Master */ MDRV_CPU_PROGRAM_MAP(driveyes_68k_master) MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank) @@ -1626,7 +1627,7 @@ static MACHINE_CONFIG_START( driveyes, driver_device ) MDRV_MACHINE_START(namcos2) MDRV_MACHINE_RESET(namcos2) - MDRV_NVRAM_HANDLER(namcos2) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_SCREEN_ADD("screen", RASTER) @@ -1654,7 +1655,7 @@ static MACHINE_CONFIG_START( driveyes, driver_device ) MDRV_SOUND_ROUTE(1, "rspeaker", 0.30) MACHINE_CONFIG_END -static MACHINE_CONFIG_START( winrun_c140_typeB, driver_device ) +static MACHINE_CONFIG_START( winrun_c140_typeB, namcos21_state ) MDRV_CPU_ADD("maincpu", M68000,12288000) /* Master */ MDRV_CPU_PROGRAM_MAP(am_master_winrun) MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank) @@ -1685,7 +1686,7 @@ static MACHINE_CONFIG_START( winrun_c140_typeB, driver_device ) MDRV_MACHINE_START(namcos2) MDRV_MACHINE_RESET(namcos2) - MDRV_NVRAM_HANDLER(namcos2) + MDRV_NVRAM_ADD_1FILL("nvram") MDRV_SCREEN_ADD("screen", RASTER) @@ -2042,6 +2043,9 @@ ROM_START( starblad ) ROM_LOAD("st1-voi1.bin",0x080000,0x80000,CRC(413e6181) SHA1(e827ec11f5755606affd2635718512aeac9354da) ) ROM_LOAD("st1-voi2.bin",0x100000,0x80000,CRC(067d0720) SHA1(a853b2d43027a46c5e707fc677afdaae00f450c7) ) ROM_LOAD("st1-voi3.bin",0x180000,0x80000,CRC(8b5aa45f) SHA1(e1214e639200758ad2045bde0368a2d500c1b84a) ) + + ROM_REGION( 0x2000, "nvram", ROMREGION_ERASE00) + // starblad needs default NVRAM to be all 0 ROM_END ROM_START( solvalou ) diff --git a/src/mame/drivers/nbmj8688.c b/src/mame/drivers/nbmj8688.c index 77bba2aee03..9b31bfb8ab1 100644 --- a/src/mame/drivers/nbmj8688.c +++ b/src/mame/drivers/nbmj8688.c @@ -39,6 +39,7 @@ TODO: #include "rendlay.h" #include "nbmj8688.lh" #include "includes/nbmj8688.h" +#include "machine/nvram.h" #define SIGNED_DAC 0 // 0:unsigned DAC, 1:signed DAC @@ -281,17 +282,17 @@ static DRIVER_INIT( barline ) static ADDRESS_MAP_START( mjsikaku_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xf7ff) AM_ROM - AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") ADDRESS_MAP_END static ADDRESS_MAP_START( secolove_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xefff) AM_ROM - AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) + AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram") ADDRESS_MAP_END static ADDRESS_MAP_START( ojousan_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x6fff) AM_ROM - AM_RANGE(0x7000, 0x7fff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) + AM_RANGE(0x7000, 0x7fff) AM_RAM AM_SHARE("nvram") AM_RANGE(0x8000, 0xffff) AM_ROM ADDRESS_MAP_END @@ -2923,7 +2924,7 @@ static MACHINE_CONFIG_START( NBMJDRV_4096, driver_device ) MDRV_CPU_VBLANK_INT("screen", nb1413m3_interrupt) MDRV_MACHINE_RESET(nb1413m3) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") /* video hardware */ MDRV_SCREEN_ADD("screen", RASTER) @@ -3048,7 +3049,7 @@ static MACHINE_CONFIG_START( mbmj_p16bit_LCD, driver_device ) MDRV_CPU_IO_MAP(p16bit_LCD_io_map) MDRV_MACHINE_RESET(nb1413m3) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") /* video hardware */ MDRV_PALETTE_LENGTH(65536) diff --git a/src/mame/drivers/nbmj8891.c b/src/mame/drivers/nbmj8891.c index 608516532f7..b70cfc88840 100644 --- a/src/mame/drivers/nbmj8891.c +++ b/src/mame/drivers/nbmj8891.c @@ -48,6 +48,7 @@ TODO: #include "sound/ay8910.h" #include "sound/3812intf.h" #include "includes/nbmj8891.h" +#include "machine/nvram.h" #define SIGNED_DAC 0 // 0:unsigned DAC, 1:signed DAC @@ -332,20 +333,20 @@ static ADDRESS_MAP_START( gionbana_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xefff) AM_ROM AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w) AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w) - AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") ADDRESS_MAP_END static ADDRESS_MAP_START( mgion_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xefff) AM_ROM AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w) AM_RANGE(0xf400, 0xf40f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w) - AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") ADDRESS_MAP_END static ADDRESS_MAP_START( omotesnd_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xefff) AM_ROM AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w) - AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") ADDRESS_MAP_END static ADDRESS_MAP_START( hanamomo_map, ADDRESS_SPACE_PROGRAM, 8 ) @@ -358,7 +359,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( scandalm_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xefff) AM_ROM AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w) - AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") ADDRESS_MAP_END static ADDRESS_MAP_START( club90s_map, ADDRESS_SPACE_PROGRAM, 8 ) @@ -372,7 +373,7 @@ static ADDRESS_MAP_START( lovehous_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xefff) AM_ROM AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w) AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(nbmj8891_palette_type2_r,nbmj8891_palette_type2_w) - AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") ADDRESS_MAP_END static ADDRESS_MAP_START( maiko_map, ADDRESS_SPACE_PROGRAM, 8 ) @@ -400,14 +401,14 @@ static ADDRESS_MAP_START( mmaiko_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xefff) AM_ROM AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(nbmj8891_palette_type2_r,nbmj8891_palette_type2_w) AM_RANGE(0xf400, 0xf40f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w) - AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") ADDRESS_MAP_END static ADDRESS_MAP_START( hanaoji_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xefff) AM_ROM AM_RANGE(0xf200, 0xf3ff) AM_READWRITE(nbmj8891_palette_type2_r,nbmj8891_palette_type2_w) AM_RANGE(0xf700, 0xf70f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w) - AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") ADDRESS_MAP_END static READ8_HANDLER( taiwanmb_unk_r ) @@ -418,7 +419,7 @@ static READ8_HANDLER( taiwanmb_unk_r ) static ADDRESS_MAP_START( taiwanmb_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0xec00, 0xedff) AM_READWRITE(nbmj8891_palette_type3_r,nbmj8891_palette_type3_w) - AM_RANGE(0xf800, 0xfeff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) + AM_RANGE(0xf800, 0xfeff) AM_RAM AM_SHARE("nvram") AM_RANGE(0xff00, 0xff1f) AM_NOP // ? AM_RANGE(0xff20, 0xff20) AM_READ(taiwanmb_unk_r) // MCU or 1413M3 STATUS? (return != 0x00 then loop) AM_RANGE(0xff20, 0xff20) AM_WRITE(nbmj8891_taiwanmb_mcu_w) // MCU PARAMETER? @@ -2647,7 +2648,7 @@ static MACHINE_CONFIG_DERIVED( mgion, gionbana ) MDRV_CPU_PROGRAM_MAP(mgion_map) MDRV_CPU_IO_MAP(mgion_io_map) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") MACHINE_CONFIG_END @@ -2658,7 +2659,7 @@ static MACHINE_CONFIG_DERIVED( omotesnd, gionbana ) MDRV_CPU_PROGRAM_MAP(omotesnd_map) MDRV_CPU_IO_MAP(omotesnd_io_map) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") /* sound hardware */ MDRV_SOUND_REPLACE("fmsnd", AY8910, 1250000) @@ -2675,7 +2676,7 @@ static MACHINE_CONFIG_DERIVED( mjcamerb, gionbana ) MDRV_CPU_IO_MAP(hanamomo_io_map) // MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 142) // ? - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") /* video hardware */ MDRV_SCREEN_MODIFY("screen") @@ -2690,7 +2691,7 @@ static MACHINE_CONFIG_DERIVED( mmcamera, gionbana ) MDRV_CPU_IO_MAP(hanamomo_io_map) // MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 128) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") /* video hardware */ MDRV_SCREEN_MODIFY("screen") @@ -2778,7 +2779,7 @@ static MACHINE_CONFIG_DERIVED( mmaiko, maiko ) MDRV_CPU_MODIFY("maincpu") MDRV_CPU_PROGRAM_MAP(mmaiko_map) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") MACHINE_CONFIG_END @@ -2789,7 +2790,7 @@ static MACHINE_CONFIG_DERIVED( lovehous, mjnanpas ) MDRV_CPU_PROGRAM_MAP(lovehous_map) MDRV_CPU_IO_MAP(lovehous_io_map) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") MACHINE_CONFIG_END @@ -2799,7 +2800,7 @@ static MACHINE_CONFIG_DERIVED( hanaoji, maiko ) MDRV_CPU_MODIFY("maincpu") MDRV_CPU_PROGRAM_MAP(hanaoji_map) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( hnxmasev, maiko ) @@ -2834,7 +2835,7 @@ static MACHINE_CONFIG_DERIVED( bananadr, mjnanpas ) MDRV_CPU_PROGRAM_MAP(scandalm_map) MDRV_CPU_IO_MAP(bananadr_io_map) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") MACHINE_CONFIG_END @@ -2847,7 +2848,7 @@ static MACHINE_CONFIG_DERIVED( mjfocusm, gionbana ) MDRV_CPU_IO_MAP(scandalm_io_map) // MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 128) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") /* video hardware */ MDRV_SCREEN_MODIFY("screen") @@ -2869,7 +2870,7 @@ static MACHINE_CONFIG_DERIVED( taiwanmb, gionbana ) MDRV_CPU_IO_MAP(taiwanmb_io_map) // MDRV_CPU_VBLANK_INT("screen", nb1413m3_interrupt) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") /* video hardware */ MDRV_SCREEN_MODIFY("screen") diff --git a/src/mame/drivers/nbmj8991.c b/src/mame/drivers/nbmj8991.c index eae0e4328b2..b1b692f0da6 100644 --- a/src/mame/drivers/nbmj8991.c +++ b/src/mame/drivers/nbmj8991.c @@ -35,6 +35,7 @@ Notes: #include "sound/3812intf.h" #include "sound/dac.h" #include "includes/nbmj8991.h" +#include "machine/nvram.h" #define SIGNED_DAC 0 // 0:unsigned DAC, 1:signed DAC @@ -193,14 +194,14 @@ static ADDRESS_MAP_START( pstadium_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xefff) AM_ROM AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w) AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) // finalbny + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") // finalbny ADDRESS_MAP_END static ADDRESS_MAP_START( triplew1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xefff) AM_ROM AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xf200, 0xf20f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w) - AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) // mjgottub + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") // mjgottub ADDRESS_MAP_END static ADDRESS_MAP_START( triplew2_map, ADDRESS_SPACE_PROGRAM, 8 ) @@ -221,14 +222,14 @@ static ADDRESS_MAP_START( galkoku_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xefff) AM_ROM AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w) AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE(nbmj8991_palette_type1_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) // hyouban + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") // hyouban ADDRESS_MAP_END static ADDRESS_MAP_START( galkaika_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xefff) AM_ROM AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w) AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE(nbmj8991_palette_type2_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) // tokimbsj + AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram") // tokimbsj ADDRESS_MAP_END static ADDRESS_MAP_START( tokyogal_map, ADDRESS_SPACE_PROGRAM, 8 ) @@ -1590,7 +1591,7 @@ static MACHINE_CONFIG_DERIVED( tokimbsj, nbmjdrv1 ) MDRV_CPU_MODIFY("maincpu") MDRV_CPU_PROGRAM_MAP(galkaika_map) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") MACHINE_CONFIG_END @@ -1612,7 +1613,7 @@ static MACHINE_CONFIG_DERIVED( hyouban, nbmjdrv3 ) MDRV_CPU_MODIFY("maincpu") MDRV_CPU_IO_MAP(hyouban_io_map) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") MACHINE_CONFIG_END @@ -1661,7 +1662,7 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( finalbny, nbmjdrv2 ) /* basic machine hardware */ - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") MACHINE_CONFIG_END @@ -1677,7 +1678,7 @@ static MACHINE_CONFIG_DERIVED( mjgottub, nbmjdrv2 ) MDRV_CPU_MODIFY("maincpu") MDRV_CPU_PROGRAM_MAP(triplew1_map) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") MACHINE_CONFIG_END diff --git a/src/mame/drivers/offtwall.c b/src/mame/drivers/offtwall.c index e3861d9c3bd..95d0cec5f2f 100644 --- a/src/mame/drivers/offtwall.c +++ b/src/mame/drivers/offtwall.c @@ -278,7 +278,7 @@ static READ16_HANDLER( unknown_verify_r ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x037fff) AM_ROM AM_RANGE(0x038000, 0x03ffff) AM_READ(bankrom_r) AM_REGION("maincpu", 0x38000) AM_BASE_MEMBER(offtwall_state, bankrom_base) - AM_RANGE(0x120000, 0x120fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(offtwall_state, eeprom, eeprom_size) + AM_RANGE(0x120000, 0x120fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0x260000, 0x260001) AM_READ_PORT("260000") AM_RANGE(0x260002, 0x260003) AM_READ_PORT("260002") AM_RANGE(0x260010, 0x260011) AM_READ(special_port3_r) @@ -411,7 +411,7 @@ static MACHINE_CONFIG_START( offtwall, offtwall_state ) MDRV_MACHINE_START(offtwall) MDRV_MACHINE_RESET(offtwall) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -455,6 +455,9 @@ ROM_START( offtwall ) ROM_LOAD( "otw1015.bin", 0x060000, 0x20000, CRC(271f7856) SHA1(928bc5e7dc589ceb5f55e536b5a05c3866116a24) ) ROM_LOAD( "otw1017.bin", 0x080000, 0x20000, CRC(7f7f8012) SHA1(1123ea3c6cd2c73617a87d6a5bbb26fca8941af3) ) ROM_LOAD( "otw1019.bin", 0x0a0000, 0x20000, CRC(9efe511b) SHA1(db1f1d8792bf497bc9ad652b0b7d78c3abf0e817) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "offtwall-eeprom.bin", 0x0000, 0x1000, CRC(73dc2139) SHA1(28ee9be4b5a65708a4f3e7d88e98af15cd9badca) ) ROM_END @@ -474,6 +477,9 @@ ROM_START( offtwallc ) ROM_LOAD( "090-1615.rom", 0x060000, 0x20000, CRC(ac3642c7) SHA1(bb57e039c113c4ce5702983c8e01dbe286d7b58e) ) ROM_LOAD( "090-1617.rom", 0x080000, 0x20000, CRC(15208a89) SHA1(124484ab54959a1e6d9022a4f3ee4288a79c768b) ) ROM_LOAD( "090-1619.rom", 0x0a0000, 0x20000, CRC(8a5d79b3) SHA1(0a202d20e6c86989ce2223e10eadf9009dd6ca8e) ) + + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "offtwall-eeprom.bin", 0x0000, 0x1000, CRC(73dc2139) SHA1(28ee9be4b5a65708a4f3e7d88e98af15cd9badca) ) ROM_END @@ -484,26 +490,10 @@ ROM_END * *************************************/ -static const UINT16 default_eeprom[] = -{ - 0x0001,0x011A,0x012A,0x0146,0x0100,0x0168,0x0300,0x011E, - 0x0700,0x0122,0x0600,0x0120,0x0400,0x0102,0x0300,0x017E, - 0x0200,0x0128,0x0104,0x0100,0x014E,0x0100,0x013E,0x0122, - 0x011A,0x012A,0x0146,0x0100,0x0168,0x0300,0x011E,0x0700, - 0x0122,0x0600,0x0120,0x0400,0x0102,0x0300,0x017E,0x0200, - 0x0128,0x0104,0x0100,0x014E,0x0100,0x013E,0x0122,0x1A00, - 0x0154,0x0125,0x01DC,0x0100,0x0192,0x0105,0x01DC,0x0181, - 0x012E,0x0106,0x0100,0x0105,0x0179,0x0132,0x0101,0x0100, - 0x01D3,0x0105,0x0116,0x0127,0x0134,0x0100,0x0104,0x01B0, - 0x0165,0x0102,0x1600,0x0000 -}; - - static DRIVER_INIT( offtwall ) { offtwall_state *state = machine->driver_data<offtwall_state>(); - state->eeprom_default = default_eeprom; atarijsa_init(machine, "260010", 0x0040); /* install son-of-slapstic workarounds */ @@ -517,7 +507,6 @@ static DRIVER_INIT( offtwalc ) { offtwall_state *state = machine->driver_data<offtwall_state>(); - state->eeprom_default = default_eeprom; atarijsa_init(machine, "260010", 0x0040); /* install son-of-slapstic workarounds */ diff --git a/src/mame/drivers/pastelg.c b/src/mame/drivers/pastelg.c index 8bd5cb91d4c..67ced6a0e49 100644 --- a/src/mame/drivers/pastelg.c +++ b/src/mame/drivers/pastelg.c @@ -26,6 +26,7 @@ Memo: #include "sound/ay8910.h" #include "sound/dac.h" #include "includes/pastelg.h" +#include "machine/nvram.h" #define SIGNED_DAC 0 // 0:unsigned DAC, 1:signed DAC @@ -51,7 +52,7 @@ static READ8_HANDLER( pastelg_sndrom_r ) static ADDRESS_MAP_START( pastelg_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0xbfff) AM_ROM - AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size) + AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram") ADDRESS_MAP_END static READ8_HANDLER( pastelg_irq_ack_r ) @@ -400,7 +401,7 @@ static MACHINE_CONFIG_START( pastelg, driver_device ) MDRV_CPU_VBLANK_INT("screen", irq0_line_assert) MDRV_MACHINE_RESET(nb1413m3) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") /* video hardware */ MDRV_SCREEN_ADD("screen", RASTER) @@ -459,7 +460,7 @@ static MACHINE_CONFIG_START( threeds, driver_device ) MDRV_CPU_VBLANK_INT("screen", irq0_line_assert) MDRV_MACHINE_RESET(nb1413m3) - MDRV_NVRAM_HANDLER(nb1413m3) + MDRV_NVRAM_ADD_0FILL("nvram") /* video hardware */ MDRV_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/rampart.c b/src/mame/drivers/rampart.c index 8a25e4c95c4..491c384458f 100644 --- a/src/mame/drivers/rampart.c +++ b/src/mame/drivers/rampart.c @@ -145,7 +145,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x3e3f80, 0x3effff) AM_MIRROR(0x010000) AM_RAM AM_RANGE(0x460000, 0x460001) AM_MIRROR(0x019ffe) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0xff00) AM_RANGE(0x480000, 0x480003) AM_MIRROR(0x019ffc) AM_DEVWRITE8("ymsnd", ym2413_w, 0xff00) - AM_RANGE(0x500000, 0x500fff) AM_MIRROR(0x019000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(rampart_state, eeprom, eeprom_size) + AM_RANGE(0x500000, 0x500fff) AM_MIRROR(0x019000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0x5a6000, 0x5a6001) AM_MIRROR(0x019ffe) AM_WRITE(atarigen_eeprom_enable_w) AM_RANGE(0x640000, 0x640001) AM_MIRROR(0x019ffe) AM_WRITE(latch_w) AM_RANGE(0x640000, 0x640001) AM_MIRROR(0x019ffc) AM_READ_PORT("IN0") @@ -350,7 +350,7 @@ static MACHINE_CONFIG_START( rampart, rampart_state ) MDRV_MACHINE_START(rampart) MDRV_MACHINE_RESET(rampart) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") MDRV_WATCHDOG_VBLANK_INIT(8) /* video hardware */ @@ -399,6 +399,9 @@ ROM_START( rampart ) ROM_LOAD( "136082-1007.2d", 0x00000, 0x20000, CRC(c96a0fc3) SHA1(6e7e242d0afa4714ca31d77ccbf8ee487bbdb1e4) ) ROM_LOAD( "136082-1008.1d", 0x20000, 0x20000, CRC(518218d9) SHA1(edf1b11579dcfa9a872fa4bd866dc2f95fac767d) ) + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "rampart-eeprom.bin", 0x0000, 0x1000, CRC(9ab4a6a1) SHA1(ff6ffc4b6508dfe0e431d1b3329f3bd14c796e38) ) + ROM_REGION( 0x0c00, "plds", 0 ) ROM_LOAD( "gal16v8-136082-1000.1j", 0x0000, 0x0117, CRC(18f82b38) SHA1(2ffd43a143396617704ced51da78fec2cf12cced) ) ROM_LOAD( "gal16v8-136082-1001.4l", 0x0200, 0x0117, CRC(74d75d68) SHA1(dc3ee765ec48a76af6433026243284437958a39a) ) @@ -423,6 +426,9 @@ ROM_START( rampart2p ) ROM_LOAD( "136082-1007.2d", 0x00000, 0x20000, CRC(c96a0fc3) SHA1(6e7e242d0afa4714ca31d77ccbf8ee487bbdb1e4) ) ROM_LOAD( "136082-1008.1d", 0x20000, 0x20000, CRC(518218d9) SHA1(edf1b11579dcfa9a872fa4bd866dc2f95fac767d) ) + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "rampart-eeprom.bin", 0x0000, 0x1000, CRC(9ab4a6a1) SHA1(ff6ffc4b6508dfe0e431d1b3329f3bd14c796e38) ) + ROM_REGION( 0x0c00, "plds", 0 ) ROM_LOAD( "gal16v8-136082-1000.1j", 0x0000, 0x0117, CRC(18f82b38) SHA1(2ffd43a143396617704ced51da78fec2cf12cced) ) ROM_LOAD( "gal16v8-136082-1001.4l", 0x0200, 0x0117, CRC(74d75d68) SHA1(dc3ee765ec48a76af6433026243284437958a39a) ) @@ -451,6 +457,9 @@ ROM_START( rampartj ) ROM_LOAD( "136082-1007.2d", 0x00000, 0x20000, CRC(c96a0fc3) SHA1(6e7e242d0afa4714ca31d77ccbf8ee487bbdb1e4) ) ROM_LOAD( "136082-1008.1d", 0x20000, 0x20000, CRC(518218d9) SHA1(edf1b11579dcfa9a872fa4bd866dc2f95fac767d) ) + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "rampart-eeprom.bin", 0x0000, 0x1000, CRC(9ab4a6a1) SHA1(ff6ffc4b6508dfe0e431d1b3329f3bd14c796e38) ) + ROM_REGION( 0x0c00, "plds", 0 ) ROM_LOAD( "gal16v8-136082-1000.1j", 0x0000, 0x0117, CRC(18f82b38) SHA1(2ffd43a143396617704ced51da78fec2cf12cced) ) ROM_LOAD( "gal16v8-136082-1001.4l", 0x0200, 0x0117, CRC(74d75d68) SHA1(dc3ee765ec48a76af6433026243284437958a39a) ) @@ -470,34 +479,8 @@ ROM_END static DRIVER_INIT( rampart ) { - static const UINT16 compressed_default_eeprom[] = - { - 0x0001,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0150,0x0101, - 0x0100,0x0151,0x0300,0x0151,0x0400,0x0150,0x0101,0x01FB, - 0x021E,0x0104,0x011A,0x0200,0x011A,0x0700,0x01FF,0x0E00, - 0x01FF,0x0E00,0x01FF,0x0150,0x0101,0x0100,0x0151,0x0300, - 0x0151,0x0400,0x0150,0x0101,0x01FB,0x021E,0x0104,0x011A, - 0x0200,0x011A,0x0700,0x01AD,0x0150,0x0129,0x0187,0x01CD, - 0x0113,0x0100,0x0172,0x0179,0x0140,0x0186,0x0113,0x0100, - 0x01E5,0x0149,0x01F8,0x012A,0x019F,0x0185,0x01E7,0x0113, - 0x0100,0x01C3,0x01B5,0x0115,0x0184,0x0113,0x0100,0x0179, - 0x014E,0x01B7,0x012F,0x016D,0x01B7,0x01D5,0x010B,0x0100, - 0x0163,0x0242,0x01B6,0x010B,0x0100,0x01B9,0x0104,0x01B7, - 0x01F0,0x01DD,0x01B5,0x0119,0x010B,0x0100,0x01C2,0x012D, - 0x0142,0x01B4,0x010B,0x0100,0x01C5,0x0115,0x01BB,0x016F, - 0x01A2,0x01CF,0x01D3,0x0107,0x0100,0x0192,0x01CD,0x0142, - 0x01CE,0x0107,0x0100,0x0170,0x0136,0x01B1,0x0140,0x017B, - 0x01CD,0x01FB,0x0107,0x0100,0x0144,0x013B,0x0148,0x01CC, - 0x0107,0x0100,0x0181,0x0139,0x01FF,0x0E00,0x01FF,0x0E00, - 0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00, - 0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00, - 0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00, - 0x0000 - }; - rampart_state *state = machine->driver_data<rampart_state>(); UINT8 *rom = memory_region(machine, "maincpu"); - state->eeprom_default = compressed_default_eeprom; memcpy(&rom[0x140000], &rom[0x40000], 0x8000); atarigen_slapstic_init(machine->device("maincpu"), 0x140000, 0x438000, 118); } diff --git a/src/mame/drivers/relief.c b/src/mame/drivers/relief.c index 2ab20394406..22878cad205 100644 --- a/src/mame/drivers/relief.c +++ b/src/mame/drivers/relief.c @@ -153,7 +153,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x140010, 0x140011) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff) AM_RANGE(0x140020, 0x140021) AM_WRITE(audio_volume_w) AM_RANGE(0x140030, 0x140031) AM_WRITE(audio_control_w) - AM_RANGE(0x180000, 0x180fff) AM_READWRITE(atarigen_eeprom_upper_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(relief_state, eeprom, eeprom_size) + AM_RANGE(0x180000, 0x180fff) AM_READWRITE(atarigen_eeprom_upper_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0x1c0030, 0x1c0031) AM_WRITE(atarigen_eeprom_enable_w) AM_RANGE(0x260000, 0x260001) AM_READ_PORT("260000") AM_RANGE(0x260002, 0x260003) AM_READ_PORT("260002") @@ -301,7 +301,7 @@ static MACHINE_CONFIG_START( relief, relief_state ) MDRV_MACHINE_START(relief) MDRV_MACHINE_RESET(relief) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -353,6 +353,9 @@ ROM_START( relief ) ROM_LOAD( "136093-0030a.9b", 0x100000, 0x80000, CRC(f4c567f5) SHA1(7e8c1d54d918b0b41625eacbaf6dcb5bd99d1949) ) ROM_LOAD( "136093-0031a.10b", 0x180000, 0x80000, CRC(ba908d73) SHA1(a83afd86f4c39394cf624b728a87b8d8b6de1944) ) + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "relief-eeprom.bin", 0x0000, 0x1000, CRC(71090711) SHA1(fc516dd84635e544c5f89640f77645e4a7d5bcc0) ) + ROM_REGION( 0x001000, "plds", 0 ) ROM_LOAD( "gal16v8a-136093-0002.15f", 0x0000, 0x0117, CRC(b111d5f2) SHA1(0fe5b4ca786e839e6927a485109d33fe31c737a2) ) ROM_LOAD( "gal16v8a-136093-0003.11r", 0x0200, 0x0117, CRC(67165ed2) SHA1(c7d9b9c45dd34e588c3db4e23c9c562334d2172a) ) @@ -382,6 +385,9 @@ ROM_START( relief2 ) ROM_LOAD( "136093-0030a.9b", 0x100000, 0x80000, CRC(f4c567f5) SHA1(7e8c1d54d918b0b41625eacbaf6dcb5bd99d1949) ) ROM_LOAD( "136093-0031a.10b", 0x180000, 0x80000, CRC(ba908d73) SHA1(a83afd86f4c39394cf624b728a87b8d8b6de1944) ) + ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_LOAD( "relief2-eeprom.bin", 0x0000, 0x1000, CRC(6cd70719) SHA1(1bbc52924931b68a546c85f689419200a4b6547b) ) + ROM_REGION( 0x001000, "plds", 0 ) ROM_LOAD( "gal16v8a-136093-0002.15f", 0x0000, 0x0117, CRC(b111d5f2) SHA1(0fe5b4ca786e839e6927a485109d33fe31c737a2) ) ROM_LOAD( "gal16v8a-136093-0003.11r", 0x0200, 0x0117, CRC(67165ed2) SHA1(c7d9b9c45dd34e588c3db4e23c9c562334d2172a) ) @@ -401,13 +407,10 @@ ROM_END * *************************************/ -static void init_common(running_machine *machine, const UINT16 *def_eeprom) +static DRIVER_INIT( relief ) { - relief_state *state = machine->driver_data<relief_state>(); UINT8 *sound_base = memory_region(machine, "oki"); - state->eeprom_default = def_eeprom; - /* expand the ADPCM data to avoid lots of memcpy's during gameplay */ /* the upper 128k is fixed, the lower 128k is bankswitched */ memcpy(&sound_base[0x000000], &sound_base[0x100000], 0x20000); @@ -429,45 +432,6 @@ static void init_common(running_machine *machine, const UINT16 *def_eeprom) } -static DRIVER_INIT( relief ) -{ - static const UINT16 default_eeprom[] = - { - 0x0001,0x0166,0x0128,0x01E6,0x0100,0x012C,0x0300,0x0144, - 0x0700,0x01C0,0x2F00,0x01EC,0x0B00,0x0148,0x0140,0x0100, - 0x0124,0x0188,0x0120,0x0600,0x0196,0x013C,0x0192,0x0150, - 0x0166,0x0128,0x01E6,0x0100,0x012C,0x0300,0x0144,0x0700, - 0x01C0,0x2F00,0x01EC,0x0B00,0x0148,0x0140,0x0100,0x0124, - 0x0188,0x0120,0x0600,0x0196,0x013C,0x0192,0x0150,0xFF00, - 0x9500,0x0000 - }; - init_common(machine, default_eeprom); -} - - -static DRIVER_INIT( relief2 ) -{ - static const UINT16 default_eeprom[] = - { - 0x0001,0x01FD,0x019F,0x015E,0x01FF,0x019E,0x03FF,0x015F, - 0x07FF,0x01FD,0x12FF,0x01FC,0x01FB,0x07FF,0x01F7,0x01FF, - 0x01DF,0x02FF,0x017F,0x03FF,0x0300,0x0110,0x0300,0x0140, - 0x0300,0x018E,0x0400,0x0180,0x0101,0x0300,0x0180,0x0204, - 0x0120,0x0182,0x0100,0x0102,0x0600,0x01D5,0x0138,0x0192, - 0x0150,0x01FD,0x019F,0x015E,0x01FF,0x019E,0x03FF,0x015F, - 0x07FF,0x01FD,0x12FF,0x01FC,0x01FB,0x07FF,0x01F7,0x01FF, - 0x01DF,0x02FF,0x017F,0x03FF,0x0300,0x0110,0x0300,0x0140, - 0x0300,0x018E,0x0400,0x0180,0x0101,0x0300,0x0180,0x0204, - 0x0120,0x0182,0x0100,0x0102,0x0600,0x01D5,0x0138,0x0192, - 0x0150,0xE600,0x01C3,0x019D,0x0131,0x0100,0x0116,0x0100, - 0x010A,0x0190,0x010E,0x014A,0x0200,0x010B,0x018D,0x0121, - 0x0100,0x0145,0x0100,0x0109,0x0184,0x012C,0x0200,0x0107, - 0x01AA,0x0149,0x60FF,0x3300,0x0000 - }; - init_common(machine, default_eeprom); -} - - /************************************* * @@ -475,5 +439,5 @@ static DRIVER_INIT( relief2 ) * *************************************/ -GAME( 1992, relief, 0, relief, relief, relief, ROT0, "Atari Games", "Relief Pitcher (set 1)", 0 ) -GAME( 1992, relief2, relief, relief, relief, relief2, ROT0, "Atari Games", "Relief Pitcher (set 2)", 0 ) +GAME( 1992, relief, 0, relief, relief, relief, ROT0, "Atari Games", "Relief Pitcher (set 1)", 0 ) +GAME( 1992, relief2, relief, relief, relief, relief, ROT0, "Atari Games", "Relief Pitcher (set 2)", 0 ) diff --git a/src/mame/drivers/shuuz.c b/src/mame/drivers/shuuz.c index ad74be550c8..ea28c924bf7 100644 --- a/src/mame/drivers/shuuz.c +++ b/src/mame/drivers/shuuz.c @@ -139,7 +139,7 @@ static READ16_HANDLER( special_port0_r ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_ROM - AM_RANGE(0x100000, 0x100fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(shuuz_state, eeprom, eeprom_size) + AM_RANGE(0x100000, 0x100fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0x101000, 0x101fff) AM_WRITE(atarigen_eeprom_enable_w) AM_RANGE(0x102000, 0x102001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x103000, 0x103003) AM_READ(leta_r) @@ -266,7 +266,7 @@ static MACHINE_CONFIG_START( shuuz, shuuz_state ) MDRV_MACHINE_START(shuuz) MDRV_MACHINE_RESET(shuuz) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/skullxbo.c b/src/mame/drivers/skullxbo.c index 25bd6a5b24d..5232fcb2ccd 100644 --- a/src/mame/drivers/skullxbo.c +++ b/src/mame/drivers/skullxbo.c @@ -143,7 +143,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xff4000, 0xff47ff) AM_WRITE(skullxbo_yscroll_w) AM_BASE_MEMBER(skullxbo_state, yscroll) AM_RANGE(0xff4800, 0xff4fff) AM_WRITE(skullxbo_mobwr_w) - AM_RANGE(0xff6000, 0xff6fff) AM_WRITE(atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(skullxbo_state, eeprom, eeprom_size) + AM_RANGE(0xff6000, 0xff6fff) AM_WRITE(atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xff5000, 0xff5001) AM_READ(atarigen_sound_r) AM_RANGE(0xff5800, 0xff5801) AM_READ_PORT("FF5800") AM_RANGE(0xff5802, 0xff5803) AM_READ(special_port1_r) @@ -262,7 +262,7 @@ static MACHINE_CONFIG_START( skullxbo, skullxbo_state ) MDRV_MACHINE_START(skullxbo) MDRV_MACHINE_RESET(skullxbo) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/thunderj.c b/src/mame/drivers/thunderj.c index 2d0a2746f7b..06a108cafcc 100644 --- a/src/mame/drivers/thunderj.c +++ b/src/mame/drivers/thunderj.c @@ -152,7 +152,7 @@ static WRITE16_HANDLER( thunderj_atarivc_w ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x09ffff) AM_ROM - AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(thunderj_state, eeprom, eeprom_size) + AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1") AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(atarigen_eeprom_enable_w) AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000") @@ -294,7 +294,7 @@ static MACHINE_CONFIG_START( thunderj, thunderj_state ) MDRV_MACHINE_START(thunderj) MDRV_MACHINE_RESET(thunderj) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* perfect synchronization due to shared RAM */ MDRV_QUANTUM_PERFECT_CPU("maincpu") diff --git a/src/mame/drivers/toobin.c b/src/mame/drivers/toobin.c index a4828654379..a82b4c443c5 100644 --- a/src/mame/drivers/toobin.c +++ b/src/mame/drivers/toobin.c @@ -127,7 +127,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xff8800, 0xff8801) AM_MIRROR(0x4507fe) AM_READ_PORT("FF8800") AM_RANGE(0xff9000, 0xff9001) AM_MIRROR(0x4507fe) AM_READ(special_port1_r) AM_RANGE(0xff9800, 0xff9801) AM_MIRROR(0x4507fe) AM_READ(atarigen_sound_r) - AM_RANGE(0xffa000, 0xffafff) AM_MIRROR(0x451000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(toobin_state, eeprom, eeprom_size) + AM_RANGE(0xffa000, 0xffafff) AM_MIRROR(0x451000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xffc000, 0xffffff) AM_MIRROR(0x450000) AM_RAM ADDRESS_MAP_END @@ -231,7 +231,7 @@ static MACHINE_CONFIG_START( toobin, toobin_state ) MDRV_MACHINE_START(toobin) MDRV_MACHINE_RESET(toobin) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") MDRV_WATCHDOG_VBLANK_INIT(8) /* video hardware */ diff --git a/src/mame/drivers/vindictr.c b/src/mame/drivers/vindictr.c index d478af5c84b..12d13e24bdd 100644 --- a/src/mame/drivers/vindictr.c +++ b/src/mame/drivers/vindictr.c @@ -84,7 +84,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_GLOBAL_MASK(0x3fffff) AM_RANGE(0x000000, 0x05ffff) AM_ROM - AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(vindictr_state, eeprom, eeprom_size) + AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(atarigen_eeprom_enable_w) AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000") AM_RANGE(0x260010, 0x26001f) AM_READ(port1_r) @@ -201,7 +201,7 @@ static MACHINE_CONFIG_START( vindictr, vindictr_state ) MDRV_MACHINE_START(vindictr) MDRV_MACHINE_RESET(vindictr) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/xybots.c b/src/mame/drivers/xybots.c index f549c550629..51bb0726ad3 100644 --- a/src/mame/drivers/xybots.c +++ b/src/mame/drivers/xybots.c @@ -92,7 +92,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xffae00, 0xffafff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram) AM_RANGE(0xffb000, 0xffbfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(xybots_state, playfield) AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x7f8800) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(xybots_state, eeprom, eeprom_size) + AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xffe000, 0xffe0ff) AM_MIRROR(0x7f8000) AM_READ(atarigen_sound_r) AM_RANGE(0xffe100, 0xffe1ff) AM_MIRROR(0x7f8000) AM_READ_PORT("FFE100") AM_RANGE(0xffe200, 0xffe2ff) AM_MIRROR(0x7f8000) AM_READ(special_port1_r) @@ -200,7 +200,7 @@ static MACHINE_CONFIG_START( xybots, xybots_state ) MDRV_MACHINE_START(xybots) MDRV_MACHINE_RESET(xybots) - MDRV_NVRAM_HANDLER(atarigen) + MDRV_NVRAM_ADD_1FILL("eeprom") /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h index 537f4911fc7..ec39e26f49a 100644 --- a/src/mame/includes/goldstar.h +++ b/src/mame/includes/goldstar.h @@ -6,9 +6,6 @@ public: int dataoffset; - UINT8 *nvram; - size_t nvram_size; - UINT8 *atrram; UINT8 *fg_atrram; UINT8 *fg_vidram; diff --git a/src/mame/includes/nb1413m3.h b/src/mame/includes/nb1413m3.h index 1efad9d5343..a21499522b1 100644 --- a/src/mame/includes/nb1413m3.h +++ b/src/mame/includes/nb1413m3.h @@ -124,7 +124,6 @@ enum { MACHINE_RESET( nb1413m3 ); WRITE8_HANDLER( nb1413m3_nmi_clock_w ); INTERRUPT_GEN( nb1413m3_interrupt ); -NVRAM_HANDLER( nb1413m3 ); READ8_HANDLER( nb1413m3_sndrom_r ); WRITE8_HANDLER( nb1413m3_sndrombank1_w ); WRITE8_HANDLER( nb1413m3_sndrombank2_w ); @@ -158,5 +157,3 @@ extern int nb1413m3_sndrombank2; extern int nb1413m3_busyctr; extern int nb1413m3_busyflag; extern int nb1413m3_inputport; -extern UINT8 *nb1413m3_nvram; -extern size_t nb1413m3_nvram_size; diff --git a/src/mame/machine/atarigen.c b/src/mame/machine/atarigen.c index 526464d7a6b..e32c79768d5 100644 --- a/src/mame/machine/atarigen.c +++ b/src/mame/machine/atarigen.c @@ -36,9 +36,6 @@ static STATE_POSTLOAD( slapstic_postload ); static TIMER_CALLBACK( scanline_interrupt_callback ); -static void decompress_eeprom_word(UINT16 *dest, const UINT16 *data); -static void decompress_eeprom_byte(UINT8 *dest, const UINT16 *data); - static void update_6502_irq(running_machine *machine); static TIMER_CALLBACK( delayed_sound_reset ); static TIMER_CALLBACK( delayed_sound_w ); @@ -394,74 +391,6 @@ READ32_HANDLER( atarigen_eeprom_upper32_r ) } -/*--------------------------------------------------------------- - NVRAM_HANDLER( atarigen ): Loads the EEPROM data. ----------------------------------------------------------------*/ - -NVRAM_HANDLER( atarigen ) -{ - atarigen_state *state = machine->driver_data<atarigen_state>(); - if (read_or_write) - mame_fwrite(file, state->eeprom, state->eeprom_size); - else if (file) - mame_fread(file, state->eeprom, state->eeprom_size); - else - { - /* all 0xff's work for most games */ - memset(state->eeprom, 0xff, state->eeprom_size); - - /* anything else must be decompressed */ - if (state->eeprom_default) - { - if (state->eeprom_default[0] == 0) - decompress_eeprom_byte((UINT8 *)state->eeprom, state->eeprom_default + 1); - else - decompress_eeprom_word(state->eeprom, state->eeprom_default + 1); - } - } -} - - -/*--------------------------------------------------------------- - decompress_eeprom_word: Used for decompressing EEPROM data - that has every other byte invalid. ----------------------------------------------------------------*/ - -void decompress_eeprom_word(UINT16 *dest, const UINT16 *data) -{ - UINT16 value; - - while ((value = *data++) != 0) - { - int count = (value >> 8); - value = (value << 8) | (value & 0xff); - - while (count--) - *dest++ = value; - } -} - - -/*--------------------------------------------------------------- - decompress_eeprom_byte: Used for decompressing EEPROM data - that is byte-packed. ----------------------------------------------------------------*/ - -void decompress_eeprom_byte(UINT8 *dest, const UINT16 *data) -{ - UINT16 value; - - while ((value = *data++) != 0) - { - int count = (value >> 8); - value = (value << 8) | (value & 0xff); - - while (count--) - *dest++ = value; - } -} - - /*************************************************************************** SLAPSTIC HANDLING diff --git a/src/mame/machine/atarigen.h b/src/mame/machine/atarigen.h index 8cec5ee571c..9d021081a7b 100644 --- a/src/mame/machine/atarigen.h +++ b/src/mame/machine/atarigen.h @@ -6,6 +6,7 @@ ***************************************************************************/ +#include "machine/nvram.h" #include "video/atarimo.h" #include "video/atarirle.h" @@ -64,15 +65,18 @@ class atarigen_state : public driver_device { public: atarigen_state(running_machine &machine, const driver_device_config_base &config) - : driver_device(machine, config) { } + : driver_device(machine, config), + eeprom(*this, "eeprom"), + eeprom_size(*this, "eeprom") { } + + optional_shared_ptr<UINT16> eeprom; + optional_shared_size eeprom_size; UINT8 scanline_int_state; UINT8 sound_int_state; UINT8 video_int_state; const UINT16 * eeprom_default; - UINT16 * eeprom; - size_t eeprom_size; UINT8 cpu_to_sound_ready; UINT8 sound_to_cpu_ready; diff --git a/src/mame/machine/namcos2.c b/src/mame/machine/namcos2.c index 68c8e8e1254..00b4f936821 100644 --- a/src/mame/machine/namcos2.c +++ b/src/mame/machine/namcos2.c @@ -14,6 +14,7 @@ Namco System II #include "cpu/m6805/m6805.h" #include "includes/namcos21.h" #include "includes/namcos2.h" +#include "machine/nvram.h" static TIMER_CALLBACK( namcos2_posirq_tick ); static void InitC148(void); @@ -105,6 +106,7 @@ ResetAllSubCPUs( running_machine *machine, int state ) MACHINE_START( namcos2 ) { namcos2_eeprom = auto_alloc_array(machine, UINT8, namcos2_eeprom_size); + machine->device<nvram_device>("nvram")->set_base(namcos2_eeprom, namcos2_eeprom_size); namcos2_posirq_timer = timer_alloc(machine, namcos2_posirq_tick, NULL); } @@ -136,29 +138,6 @@ MACHINE_RESET( namcos2 ) /* EEPROM Load/Save and read/write handling */ /*************************************************************/ -NVRAM_HANDLER( namcos2 ) -{ - if (read_or_write) - mame_fwrite(file, namcos2_eeprom, namcos2_eeprom_size); - else if (file != NULL) - mame_fread(file, namcos2_eeprom, namcos2_eeprom_size); - else if (memory_region_length(machine, "nvram") == namcos2_eeprom_size) - memcpy(namcos2_eeprom, memory_region(machine, "nvram"), namcos2_eeprom_size); - else - { - if( namcos2_gametype == NAMCOS21_STARBLADE ) - { - memset(namcos2_eeprom, 0x00, namcos2_eeprom_size); - } - else - { - memset(namcos2_eeprom, 0xff, namcos2_eeprom_size); - } - } -} - - - WRITE16_HANDLER( namcos2_68k_eeprom_w ){ if( ACCESSING_BITS_0_7 ) { diff --git a/src/mame/machine/nb1413m3.c b/src/mame/machine/nb1413m3.c index a2612554de8..eeb00cd07e1 100644 --- a/src/mame/machine/nb1413m3.c +++ b/src/mame/machine/nb1413m3.c @@ -27,8 +27,6 @@ int nb1413m3_sndrombank2; int nb1413m3_busyctr; int nb1413m3_busyflag; int nb1413m3_inputport; -UINT8 *nb1413m3_nvram; -size_t nb1413m3_nvram_size; static int nb1413m3_74ls193_counter; static int nb1413m3_nmi_count; // for debug @@ -225,19 +223,6 @@ INTERRUPT_GEN( nb1413m3_interrupt ) #endif } -NVRAM_HANDLER( nb1413m3 ) -{ - if (read_or_write) - mame_fwrite(file, nb1413m3_nvram, nb1413m3_nvram_size); - else - { - if (file) - mame_fread(file, nb1413m3_nvram, nb1413m3_nvram_size); - else - memset(nb1413m3_nvram, 0, nb1413m3_nvram_size); - } -} - READ8_HANDLER( nb1413m3_sndrom_r ) { int rombank; |