From f723b4557ce6ebaee5635c6eca2b2c45cde08259 Mon Sep 17 00:00:00 2001 From: Aaron Giles Date: Thu, 8 Aug 2013 05:00:15 +0000 Subject: [PATCH] Added eeprompar.*, implementing a simple interface for parallel EEPROMs. Created atari_eeprom_device which wraps a 2804 or 2816 EEPROM with the standard Atari write-locking mechanism. Updated all drivers to use this, and removed all EEPROM stuff from atarigen. --- .gitattributes | 2 + src/emu/machine/eeprom.c | 8 +- src/emu/machine/eeprompar.c | 163 ++++++++++++++++++++++++++++ src/emu/machine/eeprompar.h | 123 ++++++++++++++++++++++ src/emu/machine/machine.mak | 2 + src/mame/drivers/arcadecl.c | 6 +- src/mame/drivers/atarig1.c | 8 +- src/mame/drivers/atarig42.c | 19 ++-- src/mame/drivers/atarigt.c | 9 +- src/mame/drivers/atarigx2.c | 7 +- src/mame/drivers/atarisy1.c | 7 +- src/mame/drivers/atarisy2.c | 101 +++++++++--------- src/mame/drivers/badlands.c | 14 +-- src/mame/drivers/batman.c | 11 +- src/mame/drivers/blstroid.c | 7 +- src/mame/drivers/cyberbal.c | 68 ++++++------ src/mame/drivers/eprom.c | 17 +-- src/mame/drivers/gauntlet.c | 8 +- src/mame/drivers/harddriv.c | 116 ++++++++++---------- src/mame/drivers/klax.c | 7 +- src/mame/drivers/offtwall.c | 15 +-- src/mame/drivers/rampart.c | 20 ++-- src/mame/drivers/relief.c | 22 ++-- src/mame/drivers/shuuz.c | 6 +- src/mame/drivers/skullxbo.c | 8 +- src/mame/drivers/thunderj.c | 7 +- src/mame/drivers/toobin.c | 8 +- src/mame/drivers/vindictr.c | 7 +- src/mame/drivers/xybots.c | 7 +- src/mame/includes/cyberbal.h | 4 + src/mame/includes/harddriv.h | 3 + src/mame/machine/atarigen.c | 199 ++++++++++++++++++++++------------- src/mame/machine/atarigen.h | 86 ++++++++++++--- src/mame/machine/harddriv.c | 4 +- 34 files changed, 771 insertions(+), 328 deletions(-) create mode 100644 src/emu/machine/eeprompar.c create mode 100644 src/emu/machine/eeprompar.h diff --git a/.gitattributes b/.gitattributes index 589d04add7a..b09bca52997 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1235,6 +1235,8 @@ src/emu/machine/e0516.c svneol=native#text/plain src/emu/machine/e0516.h svneol=native#text/plain src/emu/machine/eeprom.c svneol=native#text/plain src/emu/machine/eeprom.h svneol=native#text/plain +src/emu/machine/eeprompar.c svneol=native#text/plain +src/emu/machine/eeprompar.h svneol=native#text/plain src/emu/machine/eepromser.c svneol=native#text/plain src/emu/machine/eepromser.h svneol=native#text/plain src/emu/machine/er2055.c svneol=native#text/plain diff --git a/src/emu/machine/eeprom.c b/src/emu/machine/eeprom.c index 35009981126..a12a8da293e 100644 --- a/src/emu/machine/eeprom.c +++ b/src/emu/machine/eeprom.c @@ -56,11 +56,11 @@ //************************************************************************** static ADDRESS_MAP_START( eeprom_map8, AS_PROGRAM, 8, eeprom_base_device ) - AM_RANGE(0x0000, 0x0fff) AM_RAM + AM_RANGE(0x00000, 0xfffff) AM_RAM ADDRESS_MAP_END static ADDRESS_MAP_START( eeprom_map16, AS_PROGRAM, 16, eeprom_base_device ) - AM_RANGE(0x0000, 0x07ff) AM_RAM + AM_RANGE(0x00000, 0x7ffff) AM_RAM ADDRESS_MAP_END @@ -306,6 +306,8 @@ void eeprom_base_device::nvram_default() // handle hard-coded data from the driver if (m_default_data.u8 != NULL) + { + mame_printf_verbose("Warning: Driver-specific EEPROM defaults are going away soon.\n"); for (offs_t offs = 0; offs < m_default_data_size; offs++) { if (m_data_bits == 8) @@ -313,6 +315,7 @@ void eeprom_base_device::nvram_default() else m_addrspace[0]->write_word(offs * 2, m_default_data.u16[offs]); } + } // populate from a memory region if present if (m_region != NULL) @@ -323,6 +326,7 @@ void eeprom_base_device::nvram_default() fatalerror("eeprom region '%s' needs to be an 8-bit region\n", tag()); if (m_data_bits == 16 && (m_region->width() != 2 || m_region->endianness() != ENDIANNESS_BIG)) fatalerror("eeprom region '%s' needs to be a 16-bit big-endian region\n", tag()); + mame_printf_verbose("Loading data from EEPROM region '%s'\n", tag()); for (offs_t offs = 0; offs < eeprom_length; offs++) if (m_data_bits == 8) diff --git a/src/emu/machine/eeprompar.c b/src/emu/machine/eeprompar.c new file mode 100644 index 00000000000..b4417613c6d --- /dev/null +++ b/src/emu/machine/eeprompar.c @@ -0,0 +1,163 @@ +/*************************************************************************** + + eeprompar.c + + Parallel EEPROM devices. + +**************************************************************************** + + Copyright Aaron Giles + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name 'MAME' nor the names of its contributors may be + used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +**************************************************************************** + + Parallel EEPROMs are generally simpler than serial EEPROMs, though + they require more pins to provide the full set of address and data + lines necessary. They also require more pins the larger the EEPROM + is, whereas serial EEPROMs all share the same pinout regardless of + size. + + At a basic level, there are 5 sets of signals involved: + + * /CE = chip enable + * /OE = output enable + * /WE = write enable + * D0-Dn = data lines + * A0-An = address lines + + To access the chip, the various enable states must be asserted or + cleared. Note that these are generally active-low, so asserted means + pulled to GND, and cleared means pulled to Vcc: + + /CE /OE /WE Action + ASSERT ASSERT CLEAR Read (D0-Dn contain output data) + ASSERT CLEAR ASSERT Write/Erase (D0-Dn are input data) + + Erase is performed by doing a write with D0-Dn all set to 1. + + In general, it is slow to write or erase (9ms is quoted in the 2816A + datasheet, for example), and the /WE must be held low for the entire + write/erase duration in order to guarantee the data is written. + +***************************************************************************/ + +#include "emu.h" +#include "machine/eeprompar.h" + + + +//************************************************************************** +// BASE DEVICE IMPLEMENTATION +//************************************************************************** + +//------------------------------------------------- +// eeprom_parallel_base_device - constructor +//------------------------------------------------- + +eeprom_parallel_base_device::eeprom_parallel_base_device(const machine_config &mconfig, device_type devtype, const char *name, const char *tag, device_t *owner, const char *shortname, const char *file) + : eeprom_base_device(mconfig, devtype, name, tag, owner, shortname, file) +{ +} + + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void eeprom_parallel_base_device::device_start() +{ + // start the base class + eeprom_base_device::device_start(); +} + + +//------------------------------------------------- +// device_reset - device-specific reset +//------------------------------------------------- + +void eeprom_parallel_base_device::device_reset() +{ + // reset the base class + eeprom_base_device::device_reset(); +} + + + +//************************************************************************** +// 28XX INTERFACE IMPLEMENTATION +//************************************************************************** + +//------------------------------------------------- +// eeprom_parallel_28xx_device - constructor +//------------------------------------------------- + +eeprom_parallel_28xx_device::eeprom_parallel_28xx_device(const machine_config &mconfig, device_type devtype, const char *name, const char *tag, device_t *owner, const char *shortname, const char *file) + : eeprom_parallel_base_device(mconfig, devtype, name, tag, owner, shortname, file) +{ +} + + +//------------------------------------------------- +// read/write - read/write handlers +//------------------------------------------------- + +WRITE8_MEMBER(eeprom_parallel_28xx_device::write) +{ + eeprom_base_device::write(offset, data); +} + +READ8_MEMBER(eeprom_parallel_28xx_device::read) +{ + return eeprom_base_device::read(offset); +} + + + +//************************************************************************** +// DERIVED TYPES +//************************************************************************** + +// macro for defining a new device class +#define DEFINE_PARALLEL_EEPROM_DEVICE(_baseclass, _lowercase, _uppercase, _bits, _cells) \ +eeprom_parallel_##_lowercase##_device::eeprom_parallel_##_lowercase##_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) \ + : eeprom_parallel_##_baseclass##_device(mconfig, EEPROM_PARALLEL_##_uppercase, "Parallel EEPROM " #_uppercase " (" #_cells "x" #_bits ")", tag, owner, #_lowercase, __FILE__) \ +{ \ + static_set_size(*this, _cells, _bits); \ +}; \ +const device_type EEPROM_PARALLEL_##_uppercase = &device_creator; \ + +// standard 28XX class of 8-bit EEPROMs +DEFINE_PARALLEL_EEPROM_DEVICE(28xx, 2804, 2804, 8, 512) +DEFINE_PARALLEL_EEPROM_DEVICE(28xx, 2816, 2816, 8, 2048) +DEFINE_PARALLEL_EEPROM_DEVICE(28xx, 2864, 2864, 8, 8192) +DEFINE_PARALLEL_EEPROM_DEVICE(28xx, 28256, 28256, 8, 32768) +DEFINE_PARALLEL_EEPROM_DEVICE(28xx, 28512, 28512, 8, 65536) +DEFINE_PARALLEL_EEPROM_DEVICE(28xx, 28010, 28010, 8, 131072) +DEFINE_PARALLEL_EEPROM_DEVICE(28xx, 28020, 28020, 8, 262144) +DEFINE_PARALLEL_EEPROM_DEVICE(28xx, 28040, 28040, 8, 524288) diff --git a/src/emu/machine/eeprompar.h b/src/emu/machine/eeprompar.h new file mode 100644 index 00000000000..860075a085a --- /dev/null +++ b/src/emu/machine/eeprompar.h @@ -0,0 +1,123 @@ +/*************************************************************************** + + eeprompar.h + + Parallel EEPROM devices. + +**************************************************************************** + + Copyright Aaron Giles + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name 'MAME' nor the names of its contributors may be + used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +***************************************************************************/ + +#pragma once + +#ifndef __EEPROMPAR_H__ +#define __EEPROMPAR_H__ + +#include "eeprom.h" + + +//************************************************************************** +// INTERFACE CONFIGURATION MACROS +//************************************************************************** + +// standard 28XX class of 8-bit parallel EEPROMs +#define MCFG_EEPROM_2804_ADD(_tag) \ + MCFG_DEVICE_ADD(_tag, EEPROM_PARALLEL_2804, 0) +#define MCFG_EEPROM_2816_ADD(_tag) \ + MCFG_DEVICE_ADD(_tag, EEPROM_PARALLEL_2816, 0) + + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + + +// ======================> eeprom_parallel_base_device + +class eeprom_parallel_base_device : public eeprom_base_device +{ +protected: + // construction/destruction + eeprom_parallel_base_device(const machine_config &mconfig, device_type devtype, const char *name, const char *tag, device_t *owner, const char *shortname, const char *file); + +public: + +protected: + // device-level overrides + virtual void device_start(); + virtual void device_reset(); +}; + + + +// ======================> eeprom_parallel_28xx_device + +class eeprom_parallel_28xx_device : public eeprom_parallel_base_device +{ +protected: + // construction/destruction + eeprom_parallel_28xx_device(const machine_config &mconfig, device_type devtype, const char *name, const char *tag, device_t *owner, const char *shortname, const char *file); + +public: + // read/write data lines - for now we cheat and ignore the control lines, assuming + // they are handled reasonably + DECLARE_WRITE8_MEMBER(write); + DECLARE_READ8_MEMBER(read); +}; + + + +//************************************************************************** +// DERIVED TYPES +//************************************************************************** + +// macro for declaring a new device class +#define DECLARE_PARALLEL_EEPROM_DEVICE(_baseclass, _lowercase, _uppercase) \ +class eeprom_parallel_##_lowercase##_device : public eeprom_parallel_##_baseclass##_device \ +{ \ +public: \ + eeprom_parallel_##_lowercase##_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); \ +}; \ +extern const device_type EEPROM_PARALLEL_##_uppercase; \ + +// standard 28XX class of 8-bit EEPROMs +DECLARE_PARALLEL_EEPROM_DEVICE(28xx, 2804, 2804) +DECLARE_PARALLEL_EEPROM_DEVICE(28xx, 2816, 2816) +DECLARE_PARALLEL_EEPROM_DEVICE(28xx, 2864, 2864) +DECLARE_PARALLEL_EEPROM_DEVICE(28xx, 28256, 28256) +DECLARE_PARALLEL_EEPROM_DEVICE(28xx, 28512, 28512) +DECLARE_PARALLEL_EEPROM_DEVICE(28xx, 28010, 28010) +DECLARE_PARALLEL_EEPROM_DEVICE(28xx, 28020, 28020) +DECLARE_PARALLEL_EEPROM_DEVICE(28xx, 28040, 28040) + +#endif diff --git a/src/emu/machine/machine.mak b/src/emu/machine/machine.mak index e18e704098b..24f57aefaf8 100644 --- a/src/emu/machine/machine.mak +++ b/src/emu/machine/machine.mak @@ -420,11 +420,13 @@ endif # #@src/emu/machine/eeprom.h,MACHINES += EEPROMDEV #@src/emu/machine/eepromser.h,MACHINES += EEPROMDEV +#@src/emu/machine/eeprompar.h,MACHINES += EEPROMDEV #------------------------------------------------- ifneq ($(filter EEPROMDEV,$(MACHINES)),) MACHINEOBJS += $(MACHINEOBJ)/eeprom.o MACHINEOBJS += $(MACHINEOBJ)/eepromser.o +MACHINEOBJS += $(MACHINEOBJ)/eeprompar.o endif #------------------------------------------------- diff --git a/src/mame/drivers/arcadecl.c b/src/mame/drivers/arcadecl.c index d56975be7d1..6a7423346b9 100644 --- a/src/mame/drivers/arcadecl.c +++ b/src/mame/drivers/arcadecl.c @@ -157,8 +157,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, arcadecl_state ) AM_RANGE(0x640024, 0x640025) AM_READ_PORT("TRACKX1") AM_RANGE(0x640026, 0x640027) AM_READ_PORT("TRACKY1") AM_RANGE(0x640040, 0x64004f) AM_WRITE(latch_w) - AM_RANGE(0x640060, 0x64006f) AM_WRITE(eeprom_enable_w) - AM_RANGE(0x641000, 0x641fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0x640060, 0x64006f) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) + AM_RANGE(0x641000, 0x641fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0x642000, 0x642001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00) AM_RANGE(0x646000, 0x646fff) AM_WRITE(scanline_int_ack_w) AM_RANGE(0x647000, 0x647fff) AM_WRITE(watchdog_reset16_w) @@ -321,7 +321,7 @@ static MACHINE_CONFIG_START( arcadecl, arcadecl_state ) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", atarigen_state, video_int_gen) MCFG_MACHINE_RESET_OVERRIDE(arcadecl_state,arcadecl) - MCFG_NVRAM_ADD_1FILL("eeprom") + MCFG_ATARI_EEPROM_2804_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/atarig1.c b/src/mame/drivers/atarig1.c index 70a09fdd799..5991259679e 100644 --- a/src/mame/drivers/atarig1.c +++ b/src/mame/drivers/atarig1.c @@ -191,7 +191,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig1_state ) AM_RANGE(0x040000, 0x077fff) AM_ROM AM_RANGE(0x078000, 0x07ffff) AM_ROM /* hydra slapstic goes here */ AM_RANGE(0xf80000, 0xf80001) AM_WRITE(watchdog_reset16_w) - AM_RANGE(0xf88000, 0xf8ffff) AM_WRITE(eeprom_enable_w) + AM_RANGE(0xf88000, 0xf8ffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xf90000, 0xf90001) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0xff00) AM_RANGE(0xf98000, 0xf98001) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w) AM_RANGE(0xfa0000, 0xfa0001) AM_DEVWRITE8("rle", atari_rle_objects_device, control_write, 0x00ff) @@ -199,7 +199,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig1_state ) 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_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0xff00) - AM_RANGE(0xfd8000, 0xfdffff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0xfd8000, 0xfdffff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) /* AM_RANGE(0xfe0000, 0xfe7fff) AM_READ(from_r)*/ AM_RANGE(0xfe8000, 0xfe89ff) AM_RAM_WRITE(paletteram_666_w) AM_SHARE("paletteram") AM_RANGE(0xff0000, 0xff0fff) AM_RAM AM_SHARE("rle") @@ -428,7 +428,8 @@ static MACHINE_CONFIG_START( atarig1, atarig1_state ) MCFG_MACHINE_START_OVERRIDE(atarig1_state,atarig1) MCFG_MACHINE_RESET_OVERRIDE(atarig1_state,atarig1) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -1193,7 +1194,6 @@ ROM_END void atarig1_state::init_common(offs_t slapstic_base, int slapstic, bool is_pitfight) { - m_eeprom_default = NULL; if (slapstic == -1) { pitfightb_cheap_slapstic_init(); diff --git a/src/mame/drivers/atarig42.c b/src/mame/drivers/atarig42.c index e4dcc403e73..80e0476b966 100644 --- a/src/mame/drivers/atarig42.c +++ b/src/mame/drivers/atarig42.c @@ -338,14 +338,14 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig42_state ) AM_RANGE(0xe00030, 0xe00031) AM_DEVREAD8("jsa", atari_jsa_iii_device, main_response_r, 0x00ff) AM_RANGE(0xe00040, 0xe00041) AM_DEVWRITE8("jsa", atari_jsa_iii_device, main_command_w, 0x00ff) AM_RANGE(0xe00050, 0xe00051) AM_WRITE(io_latch_w) - AM_RANGE(0xe00060, 0xe00061) AM_WRITE(eeprom_enable_w) + AM_RANGE(0xe00060, 0xe00061) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xe03000, 0xe03001) AM_WRITE(video_int_ack_w) AM_RANGE(0xe03800, 0xe03801) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xe80000, 0xe80fff) AM_RAM AM_RANGE(0xf40000, 0xf40001) AM_READ_LEGACY(asic65_io_r) AM_RANGE(0xf60000, 0xf60001) AM_READ_LEGACY(asic65_r) AM_RANGE(0xf80000, 0xf80003) AM_WRITE_LEGACY(asic65_data_w) - AM_RANGE(0xfa0000, 0xfa0fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0xfa0000, 0xfa0fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0xfc0000, 0xfc0fff) AM_RAM_WRITE(paletteram_666_w) AM_SHARE("paletteram") AM_RANGE(0xff0000, 0xff0fff) AM_RAM AM_SHARE("rle") AM_RANGE(0xff2000, 0xff5fff) AM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield") @@ -542,7 +542,8 @@ static MACHINE_CONFIG_START( atarig42, atarig42_state ) MCFG_MACHINE_START_OVERRIDE(atarig42_state,atarig42) MCFG_MACHINE_RESET_OVERRIDE(atarig42_state,atarig42) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -634,8 +635,8 @@ 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.nv", 0x0000, 0x1000, CRC(d7f73bad) SHA1(017cccde835ca2e03f606de74bea233e4c5a8533) ) + ROM_REGION( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "roadriot.nv", 0x0000, 0x800, CRC(8d9b957d) SHA1(9d895c5977a3f405130594a10d530a82a6aa265f) ) ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_LOAD( "136089-1001.bin", 0x0000, 0x0200, CRC(5836cb5a) SHA1(2c797f6a1227d6e1fd7a12f99f0254072c8c266e) ) @@ -692,8 +693,8 @@ ROM_START( roadrioto ) 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.nv", 0x0000, 0x1000, CRC(d7f73bad) SHA1(017cccde835ca2e03f606de74bea233e4c5a8533) ) + ROM_REGION( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "roadriot.nv", 0x0000, 0x800, CRC(8d9b957d) SHA1(9d895c5977a3f405130594a10d530a82a6aa265f) ) ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_LOAD( "136089-1001.bin", 0x0000, 0x0200, CRC(5836cb5a) SHA1(2c797f6a1227d6e1fd7a12f99f0254072c8c266e) ) @@ -741,8 +742,8 @@ ROM_START( guardian ) ROM_REGION( 0x80000, "jsa:oki1", 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( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "guardian-eeprom.bin", 0x0000, 0x800, CRC(85835fab) SHA1(747e2851c8baa0e7f1c0784b0d6900514230ab07) ) ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_LOAD( "136092-1001.bin", 0x0000, 0x0200, CRC(b3251eeb) SHA1(5e83baa70aaa28f07f32657bf974fd87719972d3) ) diff --git a/src/mame/drivers/atarigt.c b/src/mame/drivers/atarigt.c index b8777789cc1..c501d26363c 100644 --- a/src/mame/drivers/atarigt.c +++ b/src/mame/drivers/atarigt.c @@ -616,8 +616,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, atarigt_state ) 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(eeprom_upper32_r, eeprom32_w) AM_SHARE("eeprom") - AM_RANGE(0xd40000, 0xd4ffff) AM_WRITE16(eeprom_enable_w, 0xffffffff) + AM_RANGE(0xd20000, 0xd20fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0xff00ff00) + AM_RANGE(0xd40000, 0xd4ffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xd72000, 0xd75fff) AM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield") AM_RANGE(0xd76000, 0xd76fff) AM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha") AM_RANGE(0xd78000, 0xd78fff) AM_RAM AM_SHARE("rle") @@ -824,7 +824,8 @@ static MACHINE_CONFIG_START( atarigt, atarigt_state ) MCFG_CPU_PERIODIC_INT_DRIVER(atarigen_state, scanline_int_gen, 250) MCFG_MACHINE_RESET_OVERRIDE(atarigt_state,atarigt) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -1302,7 +1303,6 @@ WRITE32_MEMBER(atarigt_state::tmek_pf_w) DRIVER_INIT_MEMBER(atarigt_state,tmek) { - m_eeprom_default = NULL; m_is_primrage = 0; cage_init(machine(), 0x4fad); @@ -1319,7 +1319,6 @@ DRIVER_INIT_MEMBER(atarigt_state,tmek) void atarigt_state::primrage_init_common(offs_t cage_speedup) { - m_eeprom_default = NULL; m_is_primrage = 1; cage_init(machine(), cage_speedup); diff --git a/src/mame/drivers/atarigx2.c b/src/mame/drivers/atarigx2.c index 95854ea1070..78788c734d5 100644 --- a/src/mame/drivers/atarigx2.c +++ b/src/mame/drivers/atarigx2.c @@ -1135,14 +1135,14 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, atarigx2_state ) AM_RANGE(0xc80000, 0xc80fff) AM_RAM AM_RANGE(0xca0000, 0xca0fff) AM_READWRITE(atarigx2_protection_r, atarigx2_protection_w) AM_SHARE("protection_base") AM_RANGE(0xd00000, 0xd1ffff) AM_READ(a2d_data_r) - AM_RANGE(0xd20000, 0xd20fff) AM_READWRITE(eeprom_upper32_r, eeprom32_w) AM_SHARE("eeprom") + AM_RANGE(0xd20000, 0xd20fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0xff00ff00) AM_RANGE(0xd40000, 0xd40fff) AM_RAM_WRITE(paletteram32_666_w) AM_SHARE("paletteram") AM_RANGE(0xd72000, 0xd75fff) AM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield") AM_RANGE(0xd76000, 0xd76fff) AM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha") AM_RANGE(0xd78000, 0xd78fff) AM_RAM AM_SHARE("rle") AM_RANGE(0xd7a200, 0xd7a203) AM_WRITE(mo_command_w) AM_SHARE("mo_command") AM_RANGE(0xd70000, 0xd7ffff) AM_RAM - AM_RANGE(0xd80000, 0xd9ffff) AM_WRITE16(eeprom_enable_w, 0xffffffff) + AM_RANGE(0xd80000, 0xd9ffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xe06000, 0xe06003) AM_DEVWRITE8("jsa", atari_jsa_iiis_device, main_command_w, 0xff000000) AM_RANGE(0xe08000, 0xe08003) AM_WRITE(latch_w) AM_RANGE(0xe0c000, 0xe0c003) AM_WRITE16(video_int_ack_w, 0xffffffff) @@ -1406,7 +1406,8 @@ static MACHINE_CONFIG_START( atarigx2, atarigx2_state ) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", atarigen_state, video_int_gen) MCFG_MACHINE_RESET_OVERRIDE(atarigx2_state,atarigx2) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/atarisy1.c b/src/mame/drivers/atarisy1.c index cb36b5aff79..f1f7ba5d6f4 100644 --- a/src/mame/drivers/atarisy1.c +++ b/src/mame/drivers/atarisy1.c @@ -450,13 +450,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarisy1_state ) AM_RANGE(0x860000, 0x860001) AM_WRITE(atarisy1_bankselect_w) AM_SHARE("bankselect") AM_RANGE(0x880000, 0x880001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x8a0000, 0x8a0001) AM_WRITE(video_int_ack_w) - AM_RANGE(0x8c0000, 0x8c0001) AM_WRITE(eeprom_enable_w) + AM_RANGE(0x8c0000, 0x8c0001) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x900000, 0x9fffff) AM_RAM AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield") AM_RANGE(0xa02000, 0xa02fff) AM_RAM_WRITE(atarisy1_spriteram_w) AM_SHARE("mob") AM_RANGE(0xa03000, 0xa03fff) AM_RAM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha") AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram_IIIIRRRRGGGGBBBB_word_w) AM_SHARE("paletteram") - AM_RANGE(0xf00000, 0xf00fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0xf00000, 0xf00fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0xf20000, 0xf20007) AM_READ(trakball_r) AM_RANGE(0xf40000, 0xf4001f) AM_READWRITE(joystick_r, joystick_w) AM_RANGE(0xf60000, 0xf60003) AM_READ_PORT("F60000") @@ -731,7 +731,8 @@ static MACHINE_CONFIG_START( atarisy1, atarisy1_state ) MCFG_MACHINE_START_OVERRIDE(atarisy1_state,atarisy1) MCFG_MACHINE_RESET_OVERRIDE(atarisy1_state,atarisy1) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2804_ADD("eeprom") MCFG_TIMER_DRIVER_ADD("joystick_timer", atarisy1_state, delayed_joystick_int) MCFG_TIMER_DRIVER_ADD("scan_timer", atarisy1_state, atarisy1_int3_callback) diff --git a/src/mame/drivers/atarisy2.c b/src/mame/drivers/atarisy2.c index bfc3155b7be..06888f480c1 100644 --- a/src/mame/drivers/atarisy2.c +++ b/src/mame/drivers/atarisy2.c @@ -795,7 +795,7 @@ ADDRESS_MAP_END /* full memory map derived from schematics */ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, atarisy2_state ) AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x2000) AM_RAM - AM_RANGE(0x1000, 0x17ff) AM_MIRROR(0x2000) AM_RAM AM_SHARE("eeprom") + AM_RANGE(0x1000, 0x17ff) AM_MIRROR(0x2000) AM_DEVREADWRITE("eeprom", eeprom_parallel_28xx_device, read, write) AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x2780) AM_DEVREADWRITE("pokey1", pokey_device, read, write) AM_RANGE(0x1810, 0x1813) AM_MIRROR(0x278c) AM_READ(leta_r) AM_RANGE(0x1830, 0x183f) AM_MIRROR(0x2780) AM_DEVREADWRITE("pokey2", pokey_device, read, write) @@ -1235,7 +1235,8 @@ static MACHINE_CONFIG_START( atarisy2, atarisy2_state ) MCFG_MACHINE_START_OVERRIDE(atarisy2_state,atarisy2) MCFG_MACHINE_RESET_OVERRIDE(atarisy2_state,atarisy2) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_EEPROM_2804_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -1327,8 +1328,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "paperboy-eeprom.bin", 0x0000, 0x0200, CRC(756b90cc) SHA1(b78762e354f1316087f9de4005734c343356c8ef) ) ROM_END @@ -1369,8 +1370,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "paperboy-eeprom.bin", 0x0000, 0x0200, CRC(756b90cc) SHA1(b78762e354f1316087f9de4005734c343356c8ef) ) ROM_END @@ -1411,8 +1412,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "paperboy-eeprom.bin", 0x0000, 0x0200, CRC(756b90cc) SHA1(b78762e354f1316087f9de4005734c343356c8ef) ) ROM_END @@ -1479,8 +1480,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0200, CRC(cfe1c24e) SHA1(5f7623b0a2ff0d99ffa8e6420a5bc03e0c55250d) ) ROM_END @@ -1547,8 +1548,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0200, CRC(cfe1c24e) SHA1(5f7623b0a2ff0d99ffa8e6420a5bc03e0c55250d) ) ROM_END @@ -1615,8 +1616,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0200, CRC(cfe1c24e) SHA1(5f7623b0a2ff0d99ffa8e6420a5bc03e0c55250d) ) ROM_END @@ -1683,8 +1684,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0200, CRC(cfe1c24e) SHA1(5f7623b0a2ff0d99ffa8e6420a5bc03e0c55250d) ) ROM_END @@ -1751,8 +1752,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0200, CRC(cfe1c24e) SHA1(5f7623b0a2ff0d99ffa8e6420a5bc03e0c55250d) ) ROM_END @@ -1819,8 +1820,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0200, CRC(cfe1c24e) SHA1(5f7623b0a2ff0d99ffa8e6420a5bc03e0c55250d) ) ROM_END @@ -1867,8 +1868,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "ssprint-eeprom.bin", 0x0000, 0x0200, CRC(9301ed27) SHA1(5edd9688ce36520ab79e1388d489b72525a686ff) ) ROM_END @@ -1914,8 +1915,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0200, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) ) ROM_END @@ -1961,8 +1962,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0200, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) ) ROM_END @@ -2008,8 +2009,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0200, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) ) ROM_END @@ -2055,8 +2056,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0200, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) ) ROM_END @@ -2102,8 +2103,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0200, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) ) ROM_END @@ -2149,8 +2150,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0200, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) ) ROM_END @@ -2194,8 +2195,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0200, CRC(ce1c7319) SHA1(a12926efd898cda2a05cf23fd9cd6674b9ffc702) ) ROM_END @@ -2239,8 +2240,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0200, CRC(ce1c7319) SHA1(a12926efd898cda2a05cf23fd9cd6674b9ffc702) ) ROM_END @@ -2284,8 +2285,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0200, CRC(ce1c7319) SHA1(a12926efd898cda2a05cf23fd9cd6674b9ffc702) ) ROM_END @@ -2329,8 +2330,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0200, CRC(ce1c7319) SHA1(a12926efd898cda2a05cf23fd9cd6674b9ffc702) ) ROM_END @@ -2374,8 +2375,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0200, CRC(ce1c7319) SHA1(a12926efd898cda2a05cf23fd9cd6674b9ffc702) ) ROM_END @@ -2419,8 +2420,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0200, CRC(ce1c7319) SHA1(a12926efd898cda2a05cf23fd9cd6674b9ffc702) ) ROM_END @@ -2464,8 +2465,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0200, CRC(ce1c7319) SHA1(a12926efd898cda2a05cf23fd9cd6674b9ffc702) ) ROM_END @@ -2509,8 +2510,8 @@ 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_REGION( 0x200, "eeprom", 0 ) + ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0200, CRC(ce1c7319) SHA1(a12926efd898cda2a05cf23fd9cd6674b9ffc702) ) ROM_END diff --git a/src/mame/drivers/badlands.c b/src/mame/drivers/badlands.c index 0e0b1bdf974..03cde476e7c 100644 --- a/src/mame/drivers/badlands.c +++ b/src/mame/drivers/badlands.c @@ -373,7 +373,7 @@ WRITE8_MEMBER(badlands_state::audio_io_w) static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, badlands_state ) AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0xfc0000, 0xfc1fff) AM_READ(sound_busy_r) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) - AM_RANGE(0xfd0000, 0xfd1fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0xfd0000, 0xfd1fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0xfe0000, 0xfe1fff) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xfe2000, 0xfe3fff) AM_WRITE(video_int_ack_w) AM_RANGE(0xfe4000, 0xfe5fff) AM_READ_PORT("FE4000") @@ -384,7 +384,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, badlands_state ) AM_RANGE(0xfe8000, 0xfe9fff) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0xff00) AM_RANGE(0xfea000, 0xfebfff) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0xff00) AM_RANGE(0xfec000, 0xfedfff) AM_WRITE(badlands_pf_bank_w) - AM_RANGE(0xfee000, 0xfeffff) AM_WRITE(eeprom_enable_w) + AM_RANGE(0xfee000, 0xfeffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE(expanded_paletteram_666_w) AM_SHARE("paletteram") AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield") AM_RANGE(0xfff000, 0xfff1ff) AM_RAM AM_SHARE("mob") @@ -503,7 +503,8 @@ static MACHINE_CONFIG_START( badlands, badlands_state ) MCFG_MACHINE_START_OVERRIDE(badlands_state,badlands) MCFG_MACHINE_RESET_OVERRIDE(badlands_state,badlands) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -642,12 +643,12 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 16, badlands_state ) AM_RANGE(0xfe4006, 0xfe4007) AM_READ(badlandsb_unk_r ) - AM_RANGE(0xfd0000, 0xfd1fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0xfd0000, 0xfd1fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) //AM_RANGE(0xfe0000, 0xfe1fff) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xfe2000, 0xfe3fff) AM_WRITE(video_int_ack_w) AM_RANGE(0xfec000, 0xfedfff) AM_WRITE(badlands_pf_bank_w) - AM_RANGE(0xfee000, 0xfeffff) AM_WRITE(eeprom_enable_w) + AM_RANGE(0xfee000, 0xfeffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xffc000, 0xffc3ff) AM_RAM_WRITE(expanded_paletteram_666_w) AM_SHARE("paletteram") AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield") AM_RANGE(0xfff000, 0xfff1ff) AM_RAM AM_SHARE("mob") @@ -704,7 +705,8 @@ static MACHINE_CONFIG_START( badlandsb, badlands_state ) MCFG_MACHINE_START_OVERRIDE(badlands_state,badlands) MCFG_MACHINE_RESET_OVERRIDE(badlands_state,badlandsb) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/batman.c b/src/mame/drivers/batman.c index 77427df3eeb..52b56c73e06 100644 --- a/src/mame/drivers/batman.c +++ b/src/mame/drivers/batman.c @@ -95,14 +95,14 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, batman_state ) 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(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0x120000, 0x120fff) AM_MIRROR(0x01f000) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) 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_PORT("260010") AM_RANGE(0x260030, 0x260031) AM_MIRROR(0x11ff8e) AM_DEVREAD8("jsa", atari_jsa_iii_device, main_response_r, 0x00ff) AM_RANGE(0x260040, 0x260041) AM_MIRROR(0x11ff8e) AM_DEVWRITE8("jsa", atari_jsa_iii_device, main_command_w, 0x00ff) AM_RANGE(0x260050, 0x260051) AM_MIRROR(0x11ff8e) AM_WRITE(latch_w) - AM_RANGE(0x260060, 0x260061) AM_MIRROR(0x11ff8e) AM_WRITE(eeprom_enable_w) + AM_RANGE(0x260060, 0x260061) AM_MIRROR(0x11ff8e) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x2a0000, 0x2a0001) AM_MIRROR(0x11fffe) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x3e0000, 0x3e0fff) AM_MIRROR(0x100000) AM_RAM_WRITE(paletteram_666_w) AM_SHARE("paletteram") AM_RANGE(0x3effc0, 0x3effff) AM_MIRROR(0x100000) AM_DEVREADWRITE("vad", atari_vad_device, control_read, control_write) @@ -200,7 +200,8 @@ static MACHINE_CONFIG_START( batman, batman_state ) MCFG_MACHINE_START_OVERRIDE(batman_state,batman) MCFG_MACHINE_RESET_OVERRIDE(batman_state,batman) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -279,8 +280,8 @@ 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( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "batman-eeprom.bin", 0x0000, 0x800, CRC(c859b535) SHA1(b7f37aab1e869e92fbcc69af98a9c14f7cf2b418) ) ROM_REGION( 0x1000, "plds", 0 ) ROM_LOAD( "gal16v8a-136085-1001.m9", 0x0000, 0x0117, CRC(45dfc0cf) SHA1(39cbb27e504e09d97caea144bfdec2247a39caf9) ) diff --git a/src/mame/drivers/blstroid.c b/src/mame/drivers/blstroid.c index af2b5c18b2d..8102be5525a 100644 --- a/src/mame/drivers/blstroid.c +++ b/src/mame/drivers/blstroid.c @@ -65,7 +65,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, blstroid_state ) AM_RANGE(0xff8000, 0xff8001) AM_MIRROR(0x7f81fe) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xff8200, 0xff8201) AM_MIRROR(0x7f81fe) AM_WRITE(scanline_int_ack_w) AM_RANGE(0xff8400, 0xff8401) AM_MIRROR(0x7f81fe) AM_WRITE(video_int_ack_w) - AM_RANGE(0xff8600, 0xff8601) AM_MIRROR(0x7f81fe) AM_WRITE(eeprom_enable_w) + AM_RANGE(0xff8600, 0xff8601) AM_MIRROR(0x7f81fe) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xff8800, 0xff89ff) AM_MIRROR(0x7f8000) AM_WRITEONLY AM_SHARE("priorityram") AM_RANGE(0xff8a00, 0xff8a01) AM_MIRROR(0x7f81fe) AM_DEVWRITE8("jsa", atari_jsa_i_device, main_command_w, 0x00ff) AM_RANGE(0xff8c00, 0xff8c01) AM_MIRROR(0x7f81fe) AM_DEVWRITE("jsa", atari_jsa_i_device, sound_reset_w) @@ -76,7 +76,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, blstroid_state ) AM_RANGE(0xff9c00, 0xff9c01) AM_MIRROR(0x7f83fc) AM_READ_PORT("IN0") AM_RANGE(0xff9c02, 0xff9c03) AM_MIRROR(0x7f83fc) AM_READ_PORT("IN1") AM_RANGE(0xffa000, 0xffa3ff) AM_MIRROR(0x7f8c00) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") - AM_RANGE(0xffb000, 0xffb3ff) AM_MIRROR(0x7f8c00) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0xffb000, 0xffb3ff) AM_MIRROR(0x7f8c00) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0xffc000, 0xffcfff) AM_MIRROR(0x7f8000) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield") AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_RAM AM_SHARE("mob") AM_RANGE(0xffe000, 0xffffff) AM_MIRROR(0x7f8000) AM_RAM @@ -176,7 +176,8 @@ static MACHINE_CONFIG_START( blstroid, blstroid_state ) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", atarigen_state, video_int_gen) MCFG_MACHINE_RESET_OVERRIDE(blstroid_state,blstroid) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2804_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/cyberbal.c b/src/mame/drivers/cyberbal.c index 3ad685eb303..3742476e3eb 100644 --- a/src/mame/drivers/cyberbal.c +++ b/src/mame/drivers/cyberbal.c @@ -62,7 +62,7 @@ MACHINE_START_MEMBER(cyberbal_state,cyberbal) MACHINE_RESET_MEMBER(cyberbal_state,cyberbal) { atarigen_state::machine_reset(); - scanline_timer_reset(*m_screen, 8); + scanline_timer_reset(*m_lscreen, 8); cyberbal_sound_reset(); @@ -115,9 +115,9 @@ WRITE16_MEMBER(cyberbal_state::p2_reset_w) static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, cyberbal_state ) AM_RANGE(0x000000, 0x03ffff) AM_ROM - AM_RANGE(0xfc0000, 0xfc0fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0xfc0000, 0xfc0fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0xfc8000, 0xfcffff) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0xff00) - AM_RANGE(0xfd0000, 0xfd1fff) AM_WRITE(eeprom_enable_w) + AM_RANGE(0xfd0000, 0xfd1fff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xfd2000, 0xfd3fff) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0xfd4000, 0xfd5fff) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xfd6000, 0xfd7fff) AM_WRITE(p2_reset_w) @@ -219,9 +219,9 @@ static ADDRESS_MAP_START( cyberbal2p_map, AS_PROGRAM, 16, cyberbal_state ) AM_RANGE(0xfc2000, 0xfc2003) AM_READ_PORT("IN1") AM_RANGE(0xfc4000, 0xfc4003) AM_READ_PORT("IN2") AM_RANGE(0xfc6000, 0xfc6003) AM_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0xff00) - AM_RANGE(0xfc8000, 0xfc8fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0xfc8000, 0xfc8fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0xfca000, 0xfcafff) AM_RAM_WRITE(paletteram_666_w) AM_SHARE("paletteram") - AM_RANGE(0xfd0000, 0xfd0003) AM_WRITE(eeprom_enable_w) + AM_RANGE(0xfd0000, 0xfd0003) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xfd2000, 0xfd2003) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w) AM_RANGE(0xfd4000, 0xfd4003) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xfd6000, 0xfd6003) AM_WRITE(video_int_ack_w) @@ -403,7 +403,8 @@ static MACHINE_CONFIG_START( cyberbal, cyberbal_state ) MCFG_MACHINE_START_OVERRIDE(cyberbal_state,cyberbal) MCFG_MACHINE_RESET_OVERRIDE(cyberbal_state,cyberbal) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2804_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -449,6 +450,12 @@ static MACHINE_CONFIG_START( cyberbal, cyberbal_state ) MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( cyberbalt, cyberbal ) + MCFG_DEVICE_REMOVE("eeprom") + MCFG_ATARI_EEPROM_2816_ADD("eeprom") +MACHINE_CONFIG_END + + static MACHINE_CONFIG_START( cyberbal2p, cyberbal_state ) /* basic machine hardware */ @@ -458,7 +465,8 @@ static MACHINE_CONFIG_START( cyberbal2p, cyberbal_state ) MCFG_MACHINE_START_OVERRIDE(cyberbal_state,cyberbal) MCFG_MACHINE_RESET_OVERRIDE(cyberbal_state,cyberbal2p) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -549,8 +557,8 @@ ROM_START( cyberbal ) 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_REGION( 0x200, "eeprom:eeprom", 0 ) + ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x200, CRC(c6f256b2) SHA1(e0c62adcd9fd38e9d3ac60e6b08d468e04a350c6) ) ROM_END @@ -603,8 +611,8 @@ ROM_START( cyberbal2 ) 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_REGION( 0x200, "eeprom:eeprom", 0 ) + ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x200, CRC(c6f256b2) SHA1(e0c62adcd9fd38e9d3ac60e6b08d468e04a350c6) ) ROM_END @@ -657,8 +665,8 @@ ROM_START( cyberbalp ) 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_REGION( 0x200, "eeprom:eeprom", 0 ) + ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x200, CRC(c6f256b2) SHA1(e0c62adcd9fd38e9d3ac60e6b08d468e04a350c6) ) ROM_END @@ -707,8 +715,8 @@ ROM_START( cyberbal2p ) 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_REGION( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "cyberbal2p-eeprom.bin", 0x0000, 0x800, CRC(3753f0e2) SHA1(26feab263a4d2d1dfcdf62e1225e0596cc036e1d) ) ROM_END @@ -757,8 +765,8 @@ ROM_START( cyberbal2p3 ) 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_REGION( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "cyberbal2p-eeprom.bin", 0x0000, 0x800, CRC(3753f0e2) SHA1(26feab263a4d2d1dfcdf62e1225e0596cc036e1d) ) ROM_END @@ -807,8 +815,8 @@ ROM_START( cyberbal2p2 ) 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_REGION( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "cyberbal2p-eeprom.bin", 0x0000, 0x800, CRC(3753f0e2) SHA1(26feab263a4d2d1dfcdf62e1225e0596cc036e1d) ) ROM_END @@ -857,8 +865,8 @@ ROM_START( cyberbal2p1 ) 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_REGION( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "cyberbal2p-eeprom.bin", 0x0000, 0x800, CRC(3753f0e2) SHA1(26feab263a4d2d1dfcdf62e1225e0596cc036e1d) ) ROM_END @@ -909,8 +917,8 @@ ROM_START( cyberbalt ) 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_REGION( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "cyberbalt-eeprom.bin", 0x0000, 0x800, CRC(0743c0a6) SHA1(0b7421484f640b528e96aed103775e81bbb60f62) ) ROM_END @@ -961,8 +969,8 @@ ROM_START( cyberbalt1 ) 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_REGION( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "cyberbalt-eeprom.bin", 0x0000, 0x800, CRC(0743c0a6) SHA1(0b7421484f640b528e96aed103775e81bbb60f62) ) ROM_END @@ -997,14 +1005,14 @@ DRIVER_INIT_MEMBER(cyberbal_state,cyberbal2p) * *************************************/ -GAMEL(1988, cyberbal, 0, cyberbal, cyberbal, cyberbal_state, cyberbal, ROT0, "Atari Games", "Cyberball (rev 4)", 0, layout_dualhsxs ) -GAMEL(1988, cyberbal2, cyberbal, cyberbal, cyberbal, cyberbal_state, cyberbal, ROT0, "Atari Games", "Cyberball (rev 2)", 0, layout_dualhsxs ) -GAMEL(1988, cyberbalp, cyberbal, cyberbal, cyberbal, cyberbal_state, cyberbal, ROT0, "Atari Games", "Cyberball (prototype)", 0, layout_dualhsxs ) +GAMEL(1988, cyberbal, 0, cyberbal, cyberbal, cyberbal_state, cyberbal, ROT0, "Atari Games", "Cyberball (rev 4)", 0, layout_dualhsxs ) +GAMEL(1988, cyberbal2, cyberbal, cyberbal, cyberbal, cyberbal_state, cyberbal, ROT0, "Atari Games", "Cyberball (rev 2)", 0, layout_dualhsxs ) +GAMEL(1988, cyberbalp, cyberbal, cyberbal, cyberbal, cyberbal_state, cyberbal, ROT0, "Atari Games", "Cyberball (prototype)", 0, layout_dualhsxs ) GAME( 1989, cyberbal2p, cyberbal, cyberbal2p, cyberbal2p, cyberbal_state, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 4)", 0 ) GAME( 1989, cyberbal2p3, cyberbal, cyberbal2p, cyberbal2p, cyberbal_state, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 3)", 0 ) GAME( 1989, cyberbal2p2, cyberbal, cyberbal2p, cyberbal2p, cyberbal_state, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 2)", 0 ) GAME( 1989, cyberbal2p1, cyberbal, cyberbal2p, cyberbal2p, cyberbal_state, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 1)", 0 ) -GAMEL(1989, cyberbalt, cyberbal, cyberbal, cyberbal, cyberbal_state, cyberbalt, ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 2)", 0, layout_dualhsxs ) -GAMEL(1989, cyberbalt1, cyberbal, cyberbal, cyberbal, cyberbal_state, cyberbalt, ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 1)", 0, layout_dualhsxs ) +GAMEL(1989, cyberbalt, cyberbal, cyberbalt, cyberbal, cyberbal_state, cyberbalt, ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 2)", 0, layout_dualhsxs ) +GAMEL(1989, cyberbalt1, cyberbal, cyberbalt, cyberbal, cyberbal_state, 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 c08e770dccf..006040f4349 100644 --- a/src/mame/drivers/eprom.c +++ b/src/mame/drivers/eprom.c @@ -138,10 +138,10 @@ WRITE16_MEMBER(eprom_state::sync_w) static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, eprom_state ) AM_RANGE(0x000000, 0x09ffff) AM_ROM - AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0x16cc00, 0x16cc01) AM_RAM AM_SHARE("sync_data") AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1") - AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(eeprom_enable_w) + AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000") AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r) AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r) @@ -163,10 +163,10 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( guts_map, AS_PROGRAM, 16, eprom_state ) AM_RANGE(0x000000, 0x09ffff) AM_ROM - AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0x16cc00, 0x16cc01) AM_RAM AM_SHARE("sync_data") AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1") - AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(eeprom_enable_w) + AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000") AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r) AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r) @@ -390,7 +390,8 @@ static MACHINE_CONFIG_START( eprom, eprom_state ) MCFG_QUANTUM_TIME(attotime::from_hz(6000)) MCFG_MACHINE_RESET_OVERRIDE(eprom_state,eprom) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2804_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -429,7 +430,8 @@ static MACHINE_CONFIG_START( klaxp, eprom_state ) MCFG_QUANTUM_TIME(attotime::from_hz(600)) MCFG_MACHINE_RESET_OVERRIDE(eprom_state,eprom) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2804_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -467,7 +469,8 @@ static MACHINE_CONFIG_START( guts, eprom_state ) MCFG_QUANTUM_TIME(attotime::from_hz(600)) MCFG_MACHINE_RESET_OVERRIDE(eprom_state,eprom) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2804_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/gauntlet.c b/src/mame/drivers/gauntlet.c index 85dbf9abc5b..95a29f4c53e 100644 --- a/src/mame/drivers/gauntlet.c +++ b/src/mame/drivers/gauntlet.c @@ -285,7 +285,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, gauntlet_state ) /* MBUS */ AM_RANGE(0x800000, 0x801fff) AM_MIRROR(0x2fc000) AM_RAM - AM_RANGE(0x802000, 0x802fff) AM_MIRROR(0x2fc000) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0x802000, 0x802fff) AM_MIRROR(0x2fc000) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) 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") @@ -295,7 +295,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, gauntlet_state ) AM_RANGE(0x803100, 0x803101) AM_MIRROR(0x2fce8e) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x803120, 0x803121) AM_MIRROR(0x2fce8e) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0x803140, 0x803141) AM_MIRROR(0x2fce8e) AM_WRITE(video_int_ack_w) - AM_RANGE(0x803150, 0x803151) AM_MIRROR(0x2fce8e) AM_WRITE(eeprom_enable_w) + AM_RANGE(0x803150, 0x803151) AM_MIRROR(0x2fce8e) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x803170, 0x803171) AM_MIRROR(0x2fce8e) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) /* VBUS */ @@ -502,7 +502,8 @@ static MACHINE_CONFIG_START( gauntlet, gauntlet_state ) MCFG_MACHINE_START_OVERRIDE(gauntlet_state,gauntlet) MCFG_MACHINE_RESET_OVERRIDE(gauntlet_state,gauntlet) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2804_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -1621,7 +1622,6 @@ void gauntlet_state::swap_memory(void *ptr1, void *ptr2, int bytes) void gauntlet_state::common_init(int slapstic, int vindctr2) { UINT8 *rom = memregion("maincpu")->base(); - m_eeprom_default = NULL; slapstic_configure(*m_maincpu, 0x038000, 0, slapstic); /* swap the top and bottom halves of the main CPU ROM images */ diff --git a/src/mame/drivers/harddriv.c b/src/mame/drivers/harddriv.c index e60c0f905ca..84f3527539d 100644 --- a/src/mame/drivers/harddriv.c +++ b/src/mame/drivers/harddriv.c @@ -437,7 +437,7 @@ static ADDRESS_MAP_START( driver_68k_map, AS_PROGRAM, 16, harddriv_state ) AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE_LEGACY(hd68k_gsp_io_r, hd68k_gsp_io_w) AM_RANGE(0xc04000, 0xc07fff) AM_READWRITE_LEGACY(hd68k_msp_io_r, hd68k_msp_io_w) AM_RANGE(0xff0000, 0xff001f) AM_DEVREADWRITE8("duartn68681", duartn68681_device, read, write, 0xff00) - AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE_LEGACY(hd68k_zram_r, hd68k_zram_w) AM_SHARE("eeprom") + AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE_LEGACY(hd68k_zram_r, hd68k_zram_w) AM_SHARE("zram") AM_RANGE(0xff8000, 0xffffff) AM_RAM ADDRESS_MAP_END @@ -484,7 +484,7 @@ static ADDRESS_MAP_START( multisync_68k_map, AS_PROGRAM, 16, harddriv_state ) AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE_LEGACY(hd68k_gsp_io_r, hd68k_gsp_io_w) AM_RANGE(0xc04000, 0xc07fff) AM_READWRITE_LEGACY(hd68k_msp_io_r, hd68k_msp_io_w) AM_RANGE(0xff0000, 0xff001f) AM_DEVREADWRITE8("duartn68681", duartn68681_device, read, write, 0xff00) - AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE_LEGACY(hd68k_zram_r, hd68k_zram_w) AM_SHARE("eeprom") + AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE_LEGACY(hd68k_zram_r, hd68k_zram_w) AM_SHARE("zram") AM_RANGE(0xff8000, 0xffffff) AM_RAM ADDRESS_MAP_END @@ -522,7 +522,7 @@ static ADDRESS_MAP_START( multisync2_68k_map, AS_PROGRAM, 16, harddriv_state ) AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE_LEGACY(hd68k_gsp_io_r, hd68k_gsp_io_w) AM_RANGE(0xc04000, 0xc07fff) AM_READWRITE_LEGACY(hd68k_msp_io_r, hd68k_msp_io_w) AM_RANGE(0xfc0000, 0xfc001f) AM_DEVREADWRITE8("duartn68681", duartn68681_device, read, write, 0xff00) - AM_RANGE(0xfd0000, 0xfd0fff) AM_MIRROR(0x004000) AM_READWRITE_LEGACY(hd68k_zram_r, hd68k_zram_w) AM_SHARE("eeprom") + AM_RANGE(0xfd0000, 0xfd0fff) AM_MIRROR(0x004000) AM_READWRITE_LEGACY(hd68k_zram_r, hd68k_zram_w) AM_SHARE("zram") AM_RANGE(0xff0000, 0xffffff) AM_RAM ADDRESS_MAP_END @@ -1349,7 +1349,9 @@ static MACHINE_CONFIG_START( driver_nomsp, harddriv_state ) MCFG_MACHINE_START_OVERRIDE(harddriv_state,harddriv) MCFG_MACHINE_RESET_OVERRIDE(harddriv_state,harddriv) - MCFG_NVRAM_ADD_1FILL("eeprom") + +// TODO: ZRAM is really an MK48T02 MCFG_MK48T02_ADD("zram") + MCFG_NVRAM_ADD_1FILL("zram") MCFG_DUARTN68681_ADD("duartn68681", XTAL_3_6864MHz, duart_config) @@ -1664,7 +1666,7 @@ ROM_START( harddriv ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1696,7 +1698,7 @@ ROM_START( harddrivg ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1730,7 +1732,7 @@ ROM_START( harddrivj ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1762,7 +1764,7 @@ ROM_START( harddrivb ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1794,7 +1796,7 @@ ROM_START( harddrivb6 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1828,7 +1830,7 @@ ROM_START( harddrivj6 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1860,7 +1862,7 @@ ROM_START( harddrivb5 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1892,7 +1894,7 @@ ROM_START( harddrivg4 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1924,7 +1926,7 @@ ROM_START( harddriv3 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1956,7 +1958,7 @@ ROM_START( harddriv2 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -1988,7 +1990,7 @@ ROM_START( harddriv1 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) ) ROM_END @@ -2020,7 +2022,7 @@ ROM_START( harddrivc ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddrivc-eeprom.bin", 0x0000, 0x1000, CRC(c036ef04) SHA1(2f28a52facdff2269ff2f905f9818520a1d8e468) ) ROM_END @@ -2052,7 +2054,7 @@ ROM_START( harddrivcg ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddrivc-eeprom.bin", 0x0000, 0x1000, CRC(c036ef04) SHA1(2f28a52facdff2269ff2f905f9818520a1d8e468) ) ROM_END @@ -2084,7 +2086,7 @@ ROM_START( harddrivcb ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddrivc-eeprom.bin", 0x0000, 0x1000, CRC(c036ef04) SHA1(2f28a52facdff2269ff2f905f9818520a1d8e468) ) ROM_END @@ -2116,7 +2118,7 @@ ROM_START( harddrivc1 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "harddrivc-eeprom.bin", 0x0000, 0x1000, CRC(c036ef04) SHA1(2f28a52facdff2269ff2f905f9818520a1d8e468) ) ROM_END @@ -2154,7 +2156,7 @@ ROM_START( stunrun ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2192,7 +2194,7 @@ ROM_START( stunrunj ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2230,7 +2232,7 @@ ROM_START( stunrun5 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2268,7 +2270,7 @@ ROM_START( stunrune ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2306,7 +2308,7 @@ ROM_START( stunrun4 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2344,7 +2346,7 @@ ROM_START( stunrun3 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2382,7 +2384,7 @@ ROM_START( stunrun3e ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2420,7 +2422,7 @@ ROM_START( stunrun2 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2458,7 +2460,7 @@ ROM_START( stunrun2e ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2496,7 +2498,7 @@ ROM_START( stunrun0 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2534,7 +2536,7 @@ ROM_START( stunrunp ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -2582,7 +2584,7 @@ ROM_START( racedriv ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2630,7 +2632,7 @@ ROM_START( racedrivb ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2678,7 +2680,7 @@ ROM_START( racedrivg ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2726,7 +2728,7 @@ ROM_START( racedriv4 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2774,7 +2776,7 @@ ROM_START( racedrivb4 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2822,7 +2824,7 @@ ROM_START( racedrivg4 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2870,7 +2872,7 @@ ROM_START( racedriv3 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2918,7 +2920,7 @@ ROM_START( racedriv2 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -2966,7 +2968,7 @@ ROM_START( racedriv1 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -3014,7 +3016,7 @@ ROM_START( racedrivg1 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -3062,7 +3064,7 @@ ROM_START( racedrivb1 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -3110,7 +3112,7 @@ ROM_START( racedrivc ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -3158,7 +3160,7 @@ ROM_START( racedrivcb ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -3206,7 +3208,7 @@ ROM_START( racedrivcg ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -3254,7 +3256,7 @@ ROM_START( racedrivc4 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -3302,7 +3304,7 @@ ROM_START( racedrivcb4 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -3350,7 +3352,7 @@ ROM_START( racedrivcg4 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -3398,7 +3400,7 @@ ROM_START( racedrivc2 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -3446,7 +3448,7 @@ ROM_START( racedrivc1 ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) ) ROM_END @@ -3595,7 +3597,7 @@ ROM_START( racedrivpan ) 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) ) ROM_END @@ -3656,7 +3658,7 @@ 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "steeltal-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -3717,7 +3719,7 @@ 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "steeltal-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -3778,7 +3780,7 @@ 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "steeltal-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -3839,7 +3841,7 @@ 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_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "steeltal-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -3897,7 +3899,7 @@ ROM_START( strtdriv ) ROM_FILL( 0x60000, 0x20000, 0xff) /* 12N */ ROM_LOAD16_BYTE( "136052-1126.12h", 0x60000, 0x10000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) ) - ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "strtdriv-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) ) ROM_END @@ -3953,7 +3955,7 @@ ROM_START( hdrivair ) ROM_LOAD16_BYTE( "ds3rom7.bin", 0x300000, 0x80000, CRC(323eff0b) SHA1(5d4945d77191ee44b4fbf125bc0816217321829e) ) ROM_LOAD16_BYTE( "ds3rom3.bin", 0x300001, 0x80000, CRC(63965868) SHA1(d61d9d6709a3a3c37c2652602e97fdee52e0e7cb) ) - ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "hdrivair-eeprom.bin", 0x0000, 0x1000, CRC(7828df8f) SHA1(4b62ceb1d3f4b8026d77a59118a9002aa006e98e) ) ROM_END @@ -4013,7 +4015,7 @@ ROM_START( hdrivairp ) ROM_LOAD16_BYTE( "ds3rom.0", 0x300000, 0x80000, CRC(90b8dbb6) SHA1(fff693cb81e88bc00e048bb71406295fe7be5122) ) ROM_LOAD16_BYTE( "ds3rom.4", 0x300001, 0x80000, CRC(6281efee) SHA1(47d0f3ff973166d818877996c45dccf1d3a85fe1) ) - ROM_REGION( 0x1000, "eeprom", 0 ) + ROM_REGION( 0x1000, "zram", 0 ) ROM_LOAD( "hdrivair-eeprom.bin", 0x0000, 0x1000, CRC(7828df8f) SHA1(4b62ceb1d3f4b8026d77a59118a9002aa006e98e) ) ROM_END diff --git a/src/mame/drivers/klax.c b/src/mame/drivers/klax.c index 32a29ac7f41..5308fbddd39 100644 --- a/src/mame/drivers/klax.c +++ b/src/mame/drivers/klax.c @@ -74,8 +74,8 @@ MACHINE_RESET_MEMBER(klax_state,klax) static ADDRESS_MAP_START( klax_map, AS_PROGRAM, 16, klax_state ) AM_RANGE(0x000000, 0x03ffff) AM_ROM - AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") - AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(eeprom_enable_w) + AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) + AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x260000, 0x260001) AM_READ_PORT("P1") AM_WRITE(klax_latch_w) AM_RANGE(0x260002, 0x260003) AM_READ_PORT("P2") AM_RANGE(0x270000, 0x270001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) @@ -162,7 +162,8 @@ static MACHINE_CONFIG_START( klax, klax_state ) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", atarigen_state, video_int_gen) MCFG_MACHINE_RESET_OVERRIDE(klax_state,klax) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/offtwall.c b/src/mame/drivers/offtwall.c index 6af533c3d90..300c783f0a7 100644 --- a/src/mame/drivers/offtwall.c +++ b/src/mame/drivers/offtwall.c @@ -232,7 +232,7 @@ READ16_MEMBER(offtwall_state::unknown_verify_r) static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, offtwall_state ) AM_RANGE(0x000000, 0x037fff) AM_ROM AM_RANGE(0x038000, 0x03ffff) AM_READ(bankrom_r) AM_REGION("maincpu", 0x38000) AM_SHARE("bankrom_base") - AM_RANGE(0x120000, 0x120fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0x120000, 0x120fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0x260000, 0x260001) AM_READ_PORT("260000") AM_RANGE(0x260002, 0x260003) AM_READ_PORT("260002") AM_RANGE(0x260010, 0x260011) AM_READ_PORT("260010") @@ -243,7 +243,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, offtwall_state ) AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("jsa", atari_jsa_iii_device, main_response_r, 0x00ff) AM_RANGE(0x260040, 0x260041) AM_DEVWRITE8("jsa", atari_jsa_iii_device, main_command_w, 0x00ff) AM_RANGE(0x260050, 0x260051) AM_WRITE(io_latch_w) - AM_RANGE(0x260060, 0x260061) AM_WRITE(eeprom_enable_w) + AM_RANGE(0x260060, 0x260061) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(paletteram_666_w) AM_SHARE("paletteram") AM_RANGE(0x3effc0, 0x3effff) AM_DEVREADWRITE("vad", atari_vad_device, control_read, control_write) @@ -362,7 +362,8 @@ static MACHINE_CONFIG_START( offtwall, offtwall_state ) MCFG_CPU_PROGRAM_MAP(main_map) MCFG_MACHINE_RESET_OVERRIDE(offtwall_state,offtwall) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -415,8 +416,8 @@ ROM_START( offtwall ) 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_REGION( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "offtwall-eeprom.bin", 0x0000, 0x800, CRC(5eaf2d5b) SHA1(934a76a23960e6ed2cc33c359f9735caee762145) ) ROM_END @@ -437,8 +438,8 @@ ROM_START( offtwallc ) 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_REGION( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "offtwall-eeprom.bin", 0x0000, 0x800, CRC(5eaf2d5b) SHA1(934a76a23960e6ed2cc33c359f9735caee762145) ) ROM_END diff --git a/src/mame/drivers/rampart.c b/src/mame/drivers/rampart.c index 19ed52c3303..3b7b0822336 100644 --- a/src/mame/drivers/rampart.c +++ b/src/mame/drivers/rampart.c @@ -134,8 +134,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, rampart_state ) AM_RANGE(0x3e3f80, 0x3effff) AM_MIRROR(0x010000) AM_RAM AM_RANGE(0x460000, 0x460001) AM_MIRROR(0x019ffe) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00) AM_RANGE(0x480000, 0x480003) AM_MIRROR(0x019ffc) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0xff00) - AM_RANGE(0x500000, 0x500fff) AM_MIRROR(0x019000) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") - AM_RANGE(0x5a6000, 0x5a6001) AM_MIRROR(0x019ffe) AM_WRITE(eeprom_enable_w) + AM_RANGE(0x500000, 0x500fff) AM_MIRROR(0x019000) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) + AM_RANGE(0x5a6000, 0x5a6001) AM_MIRROR(0x019ffe) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x640000, 0x640001) AM_MIRROR(0x019ffe) AM_WRITE(latch_w) AM_RANGE(0x640000, 0x640001) AM_MIRROR(0x019ffc) AM_READ_PORT("IN0") AM_RANGE(0x640002, 0x640003) AM_MIRROR(0x019ffc) AM_READ_PORT("IN1") @@ -338,7 +338,9 @@ static MACHINE_CONFIG_START( rampart, rampart_state ) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", atarigen_state, video_int_gen) MCFG_MACHINE_RESET_OVERRIDE(rampart_state,rampart) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") + MCFG_WATCHDOG_VBLANK_INIT(8) /* video hardware */ @@ -388,8 +390,8 @@ 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( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "rampart-eeprom.bin", 0x0000, 0x800, CRC(0be57615) SHA1(bd1f9eef410c78c091d2c925d6275427c77c7ecd) ) ROM_REGION( 0x0c00, "plds", 0 ) ROM_LOAD( "gal16v8-136082-1000.1j", 0x0000, 0x0117, CRC(18f82b38) SHA1(2ffd43a143396617704ced51da78fec2cf12cced) ) @@ -415,8 +417,8 @@ 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( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "rampart-eeprom.bin", 0x0000, 0x800, CRC(0be57615) SHA1(bd1f9eef410c78c091d2c925d6275427c77c7ecd) ) ROM_REGION( 0x0c00, "plds", 0 ) ROM_LOAD( "gal16v8-136082-1000.1j", 0x0000, 0x0117, CRC(18f82b38) SHA1(2ffd43a143396617704ced51da78fec2cf12cced) ) @@ -446,8 +448,8 @@ 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( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "rampartj-eeprom.bin", 0x0000, 0x800, CRC(096cacdc) SHA1(48328a27ce1975a27d9a83ae05d068cee7556a90) ) ROM_REGION( 0x0c00, "plds", 0 ) ROM_LOAD( "gal16v8-136082-1000.1j", 0x0000, 0x0117, CRC(18f82b38) SHA1(2ffd43a143396617704ced51da78fec2cf12cced) ) diff --git a/src/mame/drivers/relief.c b/src/mame/drivers/relief.c index a6f8483aeb4..a7c5d3fa90a 100644 --- a/src/mame/drivers/relief.c +++ b/src/mame/drivers/relief.c @@ -118,8 +118,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, relief_state ) AM_RANGE(0x140010, 0x140011) AM_DEVREADWRITE8("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(eeprom_r, eeprom_w) AM_SHARE("eeprom") - AM_RANGE(0x1c0030, 0x1c0031) AM_WRITE(eeprom_enable_w) + AM_RANGE(0x180000, 0x180fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0xff00) + AM_RANGE(0x1c0030, 0x1c0031) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x260000, 0x260001) AM_READ_PORT("260000") AM_RANGE(0x260002, 0x260003) AM_READ_PORT("260002") AM_RANGE(0x260010, 0x260011) AM_READ(special_port2_r) @@ -265,7 +265,8 @@ static MACHINE_CONFIG_START( relief, relief_state ) MCFG_CPU_PROGRAM_MAP(main_map) MCFG_MACHINE_RESET_OVERRIDE(relief_state,relief) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) @@ -323,8 +324,8 @@ 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( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "relief-eeprom.bin", 0x0000, 0x800, CRC(66069f60) SHA1(fac3797888f7ffe972f642aca44c6ca7d208c814) ) ROM_REGION( 0x001000, "plds", 0 ) ROM_LOAD( "gal16v8a-136093-0002.15f", 0x0000, 0x0117, CRC(b111d5f2) SHA1(0fe5b4ca786e839e6927a485109d33fe31c737a2) ) @@ -358,9 +359,8 @@ 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", ROMREGION_ERASEFF ) - /* todo */ -// ROM_LOAD( "relief_26apr-eeprom.bin", 0x0000, 0x1000, CRC(6cd70719) SHA1(1bbc52924931b68a546c85f689419200a4b6547b) ) + ROM_REGION( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "relief2-eeprom.bin", 0x0000, 0x800, CRC(2131fc40) SHA1(72a9f5f6647fbc74e645b6639db2fdbfbe6456e2) ) ROM_REGION( 0x001000, "plds", 0 ) ROM_LOAD( "gal16v8a-136093-0002.15f", 0x0000, 0x0117, CRC(b111d5f2) SHA1(0fe5b4ca786e839e6927a485109d33fe31c737a2) ) @@ -393,8 +393,8 @@ ROM_START( relief3 ) 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( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "relief3-eeprom.bin", 0x0000, 0x800, CRC(2131fc40) SHA1(72a9f5f6647fbc74e645b6639db2fdbfbe6456e2) ) ROM_REGION( 0x001000, "plds", 0 ) ROM_LOAD( "gal16v8a-136093-0002.15f", 0x0000, 0x0117, CRC(b111d5f2) SHA1(0fe5b4ca786e839e6927a485109d33fe31c737a2) ) @@ -407,6 +407,8 @@ ROM_START( relief3 ) ROM_LOAD( "gal16v8a-136093-0010.15a", 0x0e00, 0x0117, CRC(5f49c736) SHA1(91ff18e4780ee6c904735fc0f0e73ffb5a80b49a) ) ROM_END + + /************************************* * * Driver initialization diff --git a/src/mame/drivers/shuuz.c b/src/mame/drivers/shuuz.c index cd174a8971b..ffac8ca6a7a 100644 --- a/src/mame/drivers/shuuz.c +++ b/src/mame/drivers/shuuz.c @@ -102,8 +102,8 @@ READ16_MEMBER(shuuz_state::special_port0_r) static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, shuuz_state ) AM_RANGE(0x000000, 0x03ffff) AM_ROM - AM_RANGE(0x100000, 0x100fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") - AM_RANGE(0x101000, 0x101fff) AM_WRITE(eeprom_enable_w) + AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) + AM_RANGE(0x101000, 0x101fff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x102000, 0x102001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x103000, 0x103003) AM_READ(leta_r) AM_RANGE(0x105000, 0x105001) AM_READWRITE(special_port0_r, latch_w) @@ -227,7 +227,7 @@ static MACHINE_CONFIG_START( shuuz, shuuz_state ) MCFG_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2) MCFG_CPU_PROGRAM_MAP(main_map) - MCFG_NVRAM_ADD_1FILL("eeprom") + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/skullxbo.c b/src/mame/drivers/skullxbo.c index c0d566fa8e6..8f44926914b 100644 --- a/src/mame/drivers/skullxbo.c +++ b/src/mame/drivers/skullxbo.c @@ -97,7 +97,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, skullxbo_state ) AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_RANGE(0xff0000, 0xff07ff) AM_WRITE(skullxbo_mobmsb_w) AM_RANGE(0xff0800, 0xff0bff) AM_WRITE(skullxbo_halt_until_hblank_0_w) - AM_RANGE(0xff0c00, 0xff0fff) AM_WRITE(eeprom_enable_w) + AM_RANGE(0xff0c00, 0xff0fff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xff1000, 0xff13ff) AM_WRITE(video_int_ack_w) AM_RANGE(0xff1400, 0xff17ff) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0x00ff) AM_RANGE(0xff1800, 0xff1bff) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w) @@ -112,11 +112,10 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, skullxbo_state ) AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE(paletteram_666_w) AM_SHARE("paletteram") AM_RANGE(0xff4000, 0xff47ff) AM_WRITE(skullxbo_yscroll_w) AM_SHARE("yscroll") AM_RANGE(0xff4800, 0xff4fff) AM_WRITE(skullxbo_mobwr_w) - AM_RANGE(0xff6000, 0xff6fff) AM_WRITE(eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xff5000, 0xff5001) AM_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0x00ff) AM_RANGE(0xff5800, 0xff5801) AM_READ_PORT("FF5800") AM_RANGE(0xff5802, 0xff5803) AM_READ_PORT("FF5802") - AM_RANGE(0xff6000, 0xff6fff) AM_READ(eeprom_r) + AM_RANGE(0xff6000, 0xff6fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0xff8000, 0xff9fff) AM_RAM_WRITE(playfield_latched_w) AM_SHARE("playfield") AM_RANGE(0xffa000, 0xffbfff) AM_RAM_DEVWRITE("playfield", tilemap_device, write_ext) AM_SHARE("playfield_ext") AM_RANGE(0xffc000, 0xffcf7f) AM_RAM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha") @@ -229,7 +228,8 @@ static MACHINE_CONFIG_START( skullxbo, skullxbo_state ) MCFG_TIMER_DRIVER_ADD("scan_timer", skullxbo_state, scanline_timer) MCFG_MACHINE_RESET_OVERRIDE(skullxbo_state,skullxbo) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/thunderj.c b/src/mame/drivers/thunderj.c index 846a6e9149b..6b0d00d1851 100644 --- a/src/mame/drivers/thunderj.c +++ b/src/mame/drivers/thunderj.c @@ -114,9 +114,9 @@ WRITE16_MEMBER(thunderj_state::latch_w) static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, thunderj_state ) AM_RANGE(0x000000, 0x09ffff) AM_ROM - AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1") - AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(eeprom_enable_w) + AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000") AM_RANGE(0x260010, 0x260011) AM_READ_PORT("260010") AM_RANGE(0x260012, 0x260013) AM_READ(special_port2_r) @@ -254,7 +254,8 @@ static MACHINE_CONFIG_START( thunderj, thunderj_state ) MCFG_MACHINE_START_OVERRIDE(thunderj_state,thunderj) MCFG_MACHINE_RESET_OVERRIDE(thunderj_state,thunderj) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2816_ADD("eeprom") /* perfect synchronization due to shared RAM */ MCFG_QUANTUM_PERFECT_CPU("maincpu") diff --git a/src/mame/drivers/toobin.c b/src/mame/drivers/toobin.c index 9e4f7900b30..9dfd0a2c5db 100644 --- a/src/mame/drivers/toobin.c +++ b/src/mame/drivers/toobin.c @@ -91,13 +91,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, toobin_state ) AM_RANGE(0xff8380, 0xff8381) AM_MIRROR(0x45003e) AM_RAM_WRITE(toobin_slip_w) AM_SHARE("mob:slip") AM_RANGE(0xff83c0, 0xff83c1) AM_MIRROR(0x45003e) AM_WRITE(scanline_int_ack_w) AM_RANGE(0xff8400, 0xff8401) AM_MIRROR(0x4500fe) AM_DEVWRITE("jsa", atari_jsa_i_device, sound_reset_w) - AM_RANGE(0xff8500, 0xff8501) AM_MIRROR(0x4500fe) AM_WRITE(eeprom_enable_w) + AM_RANGE(0xff8500, 0xff8501) AM_MIRROR(0x4500fe) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xff8600, 0xff8601) AM_MIRROR(0x4500fe) AM_WRITE(toobin_xscroll_w) AM_SHARE("xscroll") AM_RANGE(0xff8700, 0xff8701) AM_MIRROR(0x4500fe) AM_WRITE(toobin_yscroll_w) AM_SHARE("yscroll") AM_RANGE(0xff8800, 0xff8801) AM_MIRROR(0x4507fe) AM_READ_PORT("FF8800") AM_RANGE(0xff9000, 0xff9001) AM_MIRROR(0x4507fe) AM_READ_PORT("FF9000") AM_RANGE(0xff9800, 0xff9801) AM_MIRROR(0x4507fe) AM_DEVREAD8("jsa", atari_jsa_i_device, main_response_r, 0x00ff) - AM_RANGE(0xffa000, 0xffafff) AM_MIRROR(0x451000) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0xffa000, 0xffafff) AM_MIRROR(0x451000) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0xffc000, 0xffffff) AM_MIRROR(0x450000) AM_RAM ADDRESS_MAP_END @@ -198,7 +198,9 @@ static MACHINE_CONFIG_START( toobin, toobin_state ) MCFG_CPU_PROGRAM_MAP(main_map) MCFG_MACHINE_RESET_OVERRIDE(toobin_state,toobin) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2804_ADD("eeprom") + MCFG_WATCHDOG_VBLANK_INIT(8) /* video hardware */ diff --git a/src/mame/drivers/vindictr.c b/src/mame/drivers/vindictr.c index 65c17902c3e..4ef6c05a8c6 100644 --- a/src/mame/drivers/vindictr.c +++ b/src/mame/drivers/vindictr.c @@ -69,8 +69,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, vindictr_state ) ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_GLOBAL_MASK(0x3fffff) AM_RANGE(0x000000, 0x05ffff) AM_ROM - AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") - AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(eeprom_enable_w) + AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) + AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000") AM_RANGE(0x260010, 0x26001f) AM_READ(port1_r) AM_RANGE(0x260020, 0x26002f) AM_READ_PORT("260020") @@ -183,7 +183,8 @@ static MACHINE_CONFIG_START( vindictr, vindictr_state ) MCFG_CPU_PROGRAM_MAP(main_map) MCFG_MACHINE_RESET_OVERRIDE(vindictr_state,vindictr) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2804_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/drivers/xybots.c b/src/mame/drivers/xybots.c index 76efe44ab9a..9503e82fa0d 100644 --- a/src/mame/drivers/xybots.c +++ b/src/mame/drivers/xybots.c @@ -76,11 +76,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xybots_state ) AM_RANGE(0xffae00, 0xffafff) AM_MIRROR(0x7f8000) AM_RAM AM_SHARE("mob") AM_RANGE(0xffb000, 0xffbfff) AM_MIRROR(0x7f8000) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield") AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x7f8800) AM_RAM_WRITE(paletteram_IIIIRRRRGGGGBBBB_word_w) AM_SHARE("paletteram") - AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") + AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) AM_RANGE(0xffe000, 0xffe0ff) AM_MIRROR(0x7f8000) AM_DEVREAD8("jsa", atari_jsa_i_device, main_response_r, 0x00ff) AM_RANGE(0xffe100, 0xffe1ff) AM_MIRROR(0x7f8000) AM_READ_PORT("FFE100") AM_RANGE(0xffe200, 0xffe2ff) AM_MIRROR(0x7f8000) AM_READ(special_port1_r) - AM_RANGE(0xffe800, 0xffe8ff) AM_MIRROR(0x7f8000) AM_WRITE(eeprom_enable_w) + AM_RANGE(0xffe800, 0xffe8ff) AM_MIRROR(0x7f8000) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) AM_RANGE(0xffe900, 0xffe9ff) AM_MIRROR(0x7f8000) AM_DEVWRITE8("jsa", atari_jsa_i_device, main_command_w, 0x00ff) AM_RANGE(0xffea00, 0xffeaff) AM_MIRROR(0x7f8000) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xffeb00, 0xffebff) AM_MIRROR(0x7f8000) AM_WRITE(video_int_ack_w) @@ -183,7 +183,8 @@ static MACHINE_CONFIG_START( xybots, xybots_state ) MCFG_DEVICE_VBLANK_INT_DRIVER("screen", atarigen_state, video_int_gen) MCFG_MACHINE_RESET_OVERRIDE(xybots_state,xybots) - MCFG_NVRAM_ADD_1FILL("eeprom") + + MCFG_ATARI_EEPROM_2804_ADD("eeprom") /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) diff --git a/src/mame/includes/cyberbal.h b/src/mame/includes/cyberbal.h index eb4f6ef2b28..8cd90824160 100644 --- a/src/mame/includes/cyberbal.h +++ b/src/mame/includes/cyberbal.h @@ -29,6 +29,8 @@ public: m_playfield2_tilemap(*this, "playfield2"), m_alpha2_tilemap(*this, "alpha2"), m_mob2(*this, "mob2"), + m_lscreen(*this, "lscreen"), + m_rscreen(*this, "rscreen"), m_paletteram_0(*this, "paletteram_0"), m_paletteram_1(*this, "paletteram_1") { } @@ -45,6 +47,8 @@ public: optional_device m_playfield2_tilemap; optional_device m_alpha2_tilemap; optional_device m_mob2; + optional_device m_lscreen; + optional_device m_rscreen; optional_shared_ptr m_paletteram_0; optional_shared_ptr m_paletteram_1; UINT16 m_current_slip[2]; diff --git a/src/mame/includes/harddriv.h b/src/mame/includes/harddriv.h index 68a33992cb6..4ccb16e47ca 100644 --- a/src/mame/includes/harddriv.h +++ b/src/mame/includes/harddriv.h @@ -36,6 +36,7 @@ public: m_ds3dac2(*this, "ds3dac2"), m_jsa(*this, "jsa"), m_msp_ram(*this, "msp_ram"), + m_zram(*this, "zram"), m_adsp_data_memory(*this, "adsp_data"), m_adsp_pgm_memory(*this, "adsp_pgm_memory"), m_ds3sdsp_data_memory(*this, "ds3sdsp_data"), @@ -75,6 +76,8 @@ public: UINT16 * m_dsk_zram; UINT16 * m_m68k_slapstic_base; UINT16 * m_m68k_sloop_alt_base; + + required_shared_ptr m_zram; optional_shared_ptr m_adsp_data_memory; optional_shared_ptr m_adsp_pgm_memory; diff --git a/src/mame/machine/atarigen.c b/src/mame/machine/atarigen.c index 8088fff0866..052fe87ac7a 100644 --- a/src/mame/machine/atarigen.c +++ b/src/mame/machine/atarigen.c @@ -849,6 +849,132 @@ void atari_vad_device::eof_update(emu_timer &timer) +//************************************************************************** +// EEPROM INTERFACE DEVICE +//************************************************************************** + +// device type definition +const device_type ATARI_EEPROM_2804 = &device_creator; +const device_type ATARI_EEPROM_2816 = &device_creator; + +//------------------------------------------------- +// atari_eeprom_device - constructor +//------------------------------------------------- + +atari_eeprom_device::atari_eeprom_device(const machine_config &mconfig, device_type devtype, const char *name, const char *tag, device_t *owner, const char *shortname, const char *file) + : device_t(mconfig, devtype, name, tag, owner, 0, shortname, file), + m_eeprom(*this, "eeprom"), + m_unlocked(false) +{ +} + + +//------------------------------------------------- +// unlock_read/unlock_write - unlock read/write +// handlers +//------------------------------------------------- + +READ8_MEMBER(atari_eeprom_device::unlock_read) { m_unlocked = true; return space.unmap(); } +WRITE8_MEMBER(atari_eeprom_device::unlock_write) { m_unlocked = true; } +READ16_MEMBER(atari_eeprom_device::unlock_read) { m_unlocked = true; return space.unmap(); } +WRITE16_MEMBER(atari_eeprom_device::unlock_write) { m_unlocked = true; } +READ32_MEMBER(atari_eeprom_device::unlock_read) { m_unlocked = true; return space.unmap(); } +WRITE32_MEMBER(atari_eeprom_device::unlock_write) { m_unlocked = true; } + + +//------------------------------------------------- +// read/write - data read/write handlers +//------------------------------------------------- + +READ8_MEMBER(atari_eeprom_device::read) +{ + return m_eeprom->read(space, offset); +} + +WRITE8_MEMBER(atari_eeprom_device::write) +{ + if (m_unlocked) + m_eeprom->write(space, offset, data, mem_mask); + else + logerror("%s: Attemptedt to write to EEPROM while not unlocked\n", machine().describe_context()); + m_unlocked = false; +} + + +//------------------------------------------------- +// device_start: Start up the device +//------------------------------------------------- + +void atari_eeprom_device::device_start() +{ + // register for save states + save_item(NAME(m_unlocked)); +} + + +//------------------------------------------------- +// device_reset: Handle a device reset by +// clearing the interrupt lines and states +//------------------------------------------------- + +void atari_eeprom_device::device_reset() +{ + // reset unlocked state + m_unlocked = false; +} + + +//------------------------------------------------- +// atari_eeprom_2804_device - constructor +//------------------------------------------------- + +atari_eeprom_2804_device::atari_eeprom_2804_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : atari_eeprom_device(mconfig, ATARI_EEPROM_2804, "Atari EEPROM Interface", tag, owner, "atari2804", __FILE__) +{ +} + + +//------------------------------------------------- +// device_mconfig_additions - return machine +// config fragment +//------------------------------------------------- + +MACHINE_CONFIG_FRAGMENT(atari_eeprom_2804_config) + MCFG_EEPROM_2804_ADD("eeprom") +MACHINE_CONFIG_END + +machine_config_constructor atari_eeprom_2804_device::device_mconfig_additions() const +{ + return MACHINE_CONFIG_NAME(atari_eeprom_2804_config); +} + + +//------------------------------------------------- +// atari_eeprom_2816_device - constructor +//------------------------------------------------- + +atari_eeprom_2816_device::atari_eeprom_2816_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : atari_eeprom_device(mconfig, ATARI_EEPROM_2816, "Atari EEPROM Interface", tag, owner, "atari2816", __FILE__) +{ +} + + +//------------------------------------------------- +// device_mconfig_additions - return machine +// config fragment +//------------------------------------------------- + +MACHINE_CONFIG_FRAGMENT(atari_eeprom_2816_config) + MCFG_EEPROM_2816_ADD("eeprom") +MACHINE_CONFIG_END + +machine_config_constructor atari_eeprom_2816_device::device_mconfig_additions() const +{ + return MACHINE_CONFIG_NAME(atari_eeprom_2816_config); +} + + + /*************************************************************************** OVERALL INIT ***************************************************************************/ @@ -858,15 +984,11 @@ atarigen_state::atarigen_state(const machine_config &mconfig, device_type type, m_earom(*this, "earom"), m_earom_data(0), m_earom_control(0), - m_eeprom(*this, "eeprom"), - m_eeprom32(*this, "eeprom"), m_scanline_int_state(0), m_sound_int_state(0), m_video_int_state(0), - m_eeprom_default(NULL), m_xscroll(*this, "xscroll"), m_yscroll(*this, "yscroll"), - m_eeprom_unlocked(false), m_slapstic_num(0), m_slapstic(NULL), m_slapstic_bank(0), @@ -901,8 +1023,6 @@ void atarigen_state::machine_start() save_item(NAME(m_sound_int_state)); save_item(NAME(m_video_int_state)); - save_item(NAME(m_eeprom_unlocked)); - save_item(NAME(m_slapstic_num)); save_item(NAME(m_slapstic_bank)); save_item(NAME(m_slapstic_last_pc)); @@ -924,11 +1044,6 @@ void atarigen_state::machine_reset() if (m_earom != NULL) m_earom->set_control(0, 1, 1, 0, 0); - // reset the EEPROM - m_eeprom_unlocked = false; - if (m_eeprom == NULL && m_eeprom32 != NULL) - m_eeprom.set_target(reinterpret_cast(m_eeprom32.target()), m_eeprom32.bytes()); - // reset the slapstic if (m_slapstic_num != 0) { @@ -1079,68 +1194,6 @@ WRITE16_MEMBER(atarigen_state::video_int_ack_w) -/*************************************************************************** - EEPROM HANDLING -***************************************************************************/ - -//------------------------------------------------- -// eeprom_enable_w: Any write to this handler will -// allow one byte to be written to the EEPROM data area the -// next time. -//------------------------------------------------- - -WRITE16_MEMBER(atarigen_state::eeprom_enable_w) -{ - m_eeprom_unlocked = true; -} - - -//------------------------------------------------- -// eeprom_w: Writes a "word" to the EEPROM, which is -// almost always accessed via the low byte of the word only. -// If the EEPROM hasn't been unlocked, the write attempt is -// ignored. -//------------------------------------------------- - -WRITE16_MEMBER(atarigen_state::eeprom_w) -{ - if (!m_eeprom_unlocked) - return; - - COMBINE_DATA(&m_eeprom[offset]); - m_eeprom_unlocked = false; -} - -WRITE32_MEMBER(atarigen_state::eeprom32_w) -{ - if (!m_eeprom_unlocked) - return; - - COMBINE_DATA(&m_eeprom[offset * 2 + 1]); - data >>= 16; - mem_mask >>= 16; - COMBINE_DATA(&m_eeprom[offset * 2]); - m_eeprom_unlocked = false; -} - - -//------------------------------------------------- -// eeprom_r: Reads a "word" from the EEPROM, which is -// almost always accessed via the low byte of the word only. -//------------------------------------------------- - -READ16_MEMBER(atarigen_state::eeprom_r) -{ - return m_eeprom[offset] | 0xff00; -} - -READ32_MEMBER(atarigen_state::eeprom_upper32_r) -{ - return (m_eeprom[offset * 2] << 16) | m_eeprom[offset * 2 + 1] | 0x00ff00ff; -} - - - /*************************************************************************** SLAPSTIC HANDLING ***************************************************************************/ diff --git a/src/mame/machine/atarigen.h b/src/mame/machine/atarigen.h index 897928af924..cb10be86a06 100644 --- a/src/mame/machine/atarigen.h +++ b/src/mame/machine/atarigen.h @@ -42,6 +42,7 @@ #include "machine/nvram.h" #include "machine/er2055.h" +#include "machine/eeprompar.h" #include "video/atarimo.h" #include "cpu/m6502/m6502.h" #include "sound/okim6295.h" @@ -67,6 +68,8 @@ atari_sound_comm_device::static_set_sound_cpu(*device, _soundcpu); \ devcb = &atari_sound_comm_device::static_set_main_int_cb(*device, DEVCB2_##_intcb); + + #define MCFG_ATARI_VAD_ADD(_tag, _screen, _intcb) \ MCFG_DEVICE_ADD(_tag, ATARI_VAD, 0) \ MCFG_VIDEO_SET_SCREEN(_screen) \ @@ -102,6 +105,15 @@ MCFG_ATARI_MOTION_OBJECTS_ADD(fulltag, "^^screen", _config) } \ + +#define MCFG_ATARI_EEPROM_2804_ADD(_tag) \ + MCFG_DEVICE_ADD(_tag, ATARI_EEPROM_2804, 0) + +#define MCFG_ATARI_EEPROM_2816_ADD(_tag) \ + MCFG_DEVICE_ADD(_tag, ATARI_EEPROM_2816, 0) + + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ @@ -266,6 +278,66 @@ private: }; +// ======================> atari_eeprom_device + +// device type definition +extern const device_type ATARI_EEPROM_2804; +extern const device_type ATARI_EEPROM_2816; + +class atari_eeprom_device : public device_t +{ +protected: + // construction/destruction + atari_eeprom_device(const machine_config &mconfig, device_type devtype, const char *name, const char *tag, device_t *owner, const char *shortname, const char *file); + +public: + // unlock controls + DECLARE_READ8_MEMBER(unlock_read); + DECLARE_WRITE8_MEMBER(unlock_write); + DECLARE_READ16_MEMBER(unlock_read); + DECLARE_WRITE16_MEMBER(unlock_write); + DECLARE_READ32_MEMBER(unlock_read); + DECLARE_WRITE32_MEMBER(unlock_write); + + // EEPROM read/write + DECLARE_READ8_MEMBER(read); + DECLARE_WRITE8_MEMBER(write); + +protected: + // device-level overrides + virtual void device_start(); + virtual void device_reset(); + + // internal state + required_device m_eeprom; + + // live state + bool m_unlocked; +}; + +class atari_eeprom_2804_device : public atari_eeprom_device +{ +public: + // construction/destruction + atari_eeprom_2804_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + +protected: + // device-level overrides + virtual machine_config_constructor device_mconfig_additions() const; +}; + +class atari_eeprom_2816_device : public atari_eeprom_device +{ +public: + // construction/destruction + atari_eeprom_2816_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + +protected: + // device-level overrides + virtual machine_config_constructor device_mconfig_additions() const; +}; + + /*************************************************************************** TYPES & STRUCTURES @@ -308,13 +380,6 @@ public: INTERRUPT_GEN_MEMBER(video_int_gen); DECLARE_WRITE16_MEMBER(video_int_ack_w); - // EEPROM helpers - WRITE16_MEMBER(eeprom_enable_w); - WRITE16_MEMBER(eeprom_w); - WRITE32_MEMBER(eeprom32_w); - READ16_MEMBER(eeprom_r); - READ32_MEMBER(eeprom_upper32_r); - // slapstic helpers void slapstic_configure(cpu_device &device, offs_t base, offs_t mirror, int chipnum); void slapstic_update_bank(int bank); @@ -363,21 +428,14 @@ public: UINT8 m_earom_data; UINT8 m_earom_control; - optional_shared_ptr m_eeprom; - optional_shared_ptr m_eeprom32; - UINT8 m_scanline_int_state; UINT8 m_sound_int_state; UINT8 m_video_int_state; - const UINT16 * m_eeprom_default; - optional_shared_ptr m_xscroll; optional_shared_ptr m_yscroll; /* internal state */ - bool m_eeprom_unlocked; - UINT8 m_slapstic_num; UINT16 * m_slapstic; UINT8 m_slapstic_bank; diff --git a/src/mame/machine/harddriv.c b/src/mame/machine/harddriv.c index 997f3ef0b27..24e52519738 100644 --- a/src/mame/machine/harddriv.c +++ b/src/mame/machine/harddriv.c @@ -460,7 +460,7 @@ WRITE16_HANDLER( hdc68k_wheel_edge_reset_w ) READ16_HANDLER( hd68k_zram_r ) { harddriv_state *state = space.machine().driver_data(); - return state->m_eeprom[offset]; + return state->m_zram[offset]; } @@ -468,7 +468,7 @@ WRITE16_HANDLER( hd68k_zram_w ) { harddriv_state *state = space.machine().driver_data(); if (state->m_m68k_zp1 == 0 && state->m_m68k_zp2 == 1) - COMBINE_DATA(&state->m_eeprom[offset]); + COMBINE_DATA(&state->m_zram[offset]); }