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.
This commit is contained in:
Aaron Giles 2013-08-08 05:00:15 +00:00
parent 2b8aca5461
commit f723b4557c
34 changed files with 771 additions and 328 deletions

2
.gitattributes vendored
View File

@ -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

View File

@ -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)

163
src/emu/machine/eeprompar.c Normal file
View File

@ -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<eeprom_parallel_##_lowercase##_device>; \
// 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)

123
src/emu/machine/eeprompar.h Normal file
View File

@ -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

View File

@ -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
#-------------------------------------------------

View File

@ -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)

View File

@ -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();

View File

@ -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) )

View File

@ -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);

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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) )

View File

@ -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)

View File

@ -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 )

View File

@ -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)

View File

@ -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 */

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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) )

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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")

View File

@ -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 */

View File

@ -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)

View File

@ -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)

View File

@ -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<tilemap_device> m_playfield2_tilemap;
optional_device<tilemap_device> m_alpha2_tilemap;
optional_device<atari_motion_objects_device> m_mob2;
optional_device<screen_device> m_lscreen;
optional_device<screen_device> m_rscreen;
optional_shared_ptr<UINT16> m_paletteram_0;
optional_shared_ptr<UINT16> m_paletteram_1;
UINT16 m_current_slip[2];

View File

@ -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<UINT16> m_zram;
optional_shared_ptr<UINT16> m_adsp_data_memory;
optional_shared_ptr<UINT32> m_adsp_pgm_memory;

View File

@ -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<atari_eeprom_2804_device>;
const device_type ATARI_EEPROM_2816 = &device_creator<atari_eeprom_2816_device>;
//-------------------------------------------------
// 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<UINT16 *>(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
***************************************************************************/

View File

@ -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<eeprom_parallel_28xx_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<UINT16> m_eeprom;
optional_shared_ptr<UINT32> 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<UINT16> m_xscroll;
optional_shared_ptr<UINT16> m_yscroll;
/* internal state */
bool m_eeprom_unlocked;
UINT8 m_slapstic_num;
UINT16 * m_slapstic;
UINT8 m_slapstic_bank;

View File

@ -460,7 +460,7 @@ WRITE16_HANDLER( hdc68k_wheel_edge_reset_w )
READ16_HANDLER( hd68k_zram_r )
{
harddriv_state *state = space.machine().driver_data<harddriv_state>();
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<harddriv_state>();
if (state->m_m68k_zp1 == 0 && state->m_m68k_zp2 == 1)
COMBINE_DATA(&state->m_eeprom[offset]);
COMBINE_DATA(&state->m_zram[offset]);
}