summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Fabio Priuli <etabeta78@users.noreply.github.com>2009-12-23 00:24:10 +0000
committer Fabio Priuli <etabeta78@users.noreply.github.com>2009-12-23 00:24:10 +0000
commit5719b6c62330746162ddb9d10d837c95fc4cc3a5 (patch)
tree80e741b9ac08422930401f407ce28cd08ac6edd7
parent367be048645a3f9bcbbfb656999a50c2483d5f62 (diff)
Converted gaelco3d.c to use eeprom device code. This fixes the regression reported by Tafoid.
-rw-r--r--src/mame/drivers/gaelco3d.c39
1 files changed, 20 insertions, 19 deletions
diff --git a/src/mame/drivers/gaelco3d.c b/src/mame/drivers/gaelco3d.c
index ac663a23458..29ba52fa77e 100644
--- a/src/mame/drivers/gaelco3d.c
+++ b/src/mame/drivers/gaelco3d.c
@@ -147,7 +147,7 @@ REF. 970429
#include "includes/gaelco3d.h"
#include "cpu/tms32031/tms32031.h"
#include "cpu/adsp2100/adsp2100.h"
-#include "machine/eeprom.h"
+#include "machine/eepromdev.h"
#include "sound/dmadac.h"
#define LOG 0
@@ -268,10 +268,10 @@ static WRITE16_HANDLER( irq_ack_w )
*
*************************************/
-static READ16_HANDLER( eeprom_data_r )
+static READ16_DEVICE_HANDLER( eeprom_data_r )
{
UINT16 result = 0xffff;
- if (eeprom_read_bit())
+ if (eepromdev_read_bit(device))
result ^= 0x0004;
if (LOG)
logerror("eeprom_data_r(%02X)\n", result);
@@ -279,24 +279,24 @@ static READ16_HANDLER( eeprom_data_r )
}
-static WRITE16_HANDLER( eeprom_data_w )
+static WRITE16_DEVICE_HANDLER( eeprom_data_w )
{
if (ACCESSING_BITS_0_7)
- eeprom_write_bit(data & 0x01);
+ eepromdev_write_bit(device, data & 0x01);
}
-static WRITE16_HANDLER( eeprom_clock_w )
+static WRITE16_DEVICE_HANDLER( eeprom_clock_w )
{
if (ACCESSING_BITS_0_7)
- eeprom_set_clock_line((data & 0x01) ? ASSERT_LINE : CLEAR_LINE);
+ eepromdev_set_clock_line(device, (data & 0x01) ? ASSERT_LINE : CLEAR_LINE);
}
-static WRITE16_HANDLER( eeprom_cs_w )
+static WRITE16_DEVICE_HANDLER( eeprom_cs_w )
{
if (ACCESSING_BITS_0_7)
- eeprom_set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
+ eepromdev_set_cs_line(device, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
}
@@ -742,13 +742,13 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x51003c, 0x51003d) AM_READ_PORT("IN3")
AM_RANGE(0x510040, 0x510041) AM_WRITE(sound_data_w)
AM_RANGE(0x510042, 0x510043) AM_READ(sound_status_r)
- AM_RANGE(0x510100, 0x510101) AM_READ(eeprom_data_r)
+ AM_RANGE(0x510100, 0x510101) AM_DEVREAD("eeprom", eeprom_data_r)
AM_RANGE(0x510100, 0x510101) AM_WRITE(irq_ack_w)
AM_RANGE(0x51010a, 0x51010b) AM_WRITENOP // very noisy when starting a new game
- AM_RANGE(0x510110, 0x510113) AM_WRITE(eeprom_data_w)
+ AM_RANGE(0x510110, 0x510113) AM_DEVWRITE("eeprom", eeprom_data_w)
AM_RANGE(0x510116, 0x510117) AM_WRITE(tms_control3_w)
- AM_RANGE(0x510118, 0x51011b) AM_WRITE(eeprom_clock_w)
- AM_RANGE(0x510120, 0x510123) AM_WRITE(eeprom_cs_w)
+ AM_RANGE(0x510118, 0x51011b) AM_DEVWRITE("eeprom", eeprom_clock_w)
+ AM_RANGE(0x510120, 0x510123) AM_DEVWRITE("eeprom", eeprom_cs_w)
AM_RANGE(0x51012a, 0x51012b) AM_WRITE(tms_reset_w)
AM_RANGE(0x510132, 0x510133) AM_WRITE(tms_irq_w)
AM_RANGE(0x510146, 0x510147) AM_WRITE(led_0_w)
@@ -769,13 +769,13 @@ static ADDRESS_MAP_START( main020_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x51003c, 0x51003f) AM_READ_PORT("IN3")
AM_RANGE(0x510040, 0x510043) AM_READ16(sound_status_r, 0x0000ffff)
AM_RANGE(0x510040, 0x510043) AM_WRITE16(sound_data_w, 0xffff0000)
- AM_RANGE(0x510100, 0x510103) AM_READ16(eeprom_data_r, 0xffff0000)
+ AM_RANGE(0x510100, 0x510103) AM_DEVREAD16("eeprom", eeprom_data_r, 0xffff0000)
AM_RANGE(0x510100, 0x510103) AM_WRITE16(irq_ack_w, 0xffff0000)
AM_RANGE(0x510104, 0x510107) AM_WRITE(unknown_107_w)
- AM_RANGE(0x510110, 0x510113) AM_WRITE16(eeprom_data_w, 0x0000ffff)
+ AM_RANGE(0x510110, 0x510113) AM_DEVWRITE16("eeprom", eeprom_data_w, 0x0000ffff)
AM_RANGE(0x510114, 0x510117) AM_WRITE16(tms_control3_w, 0x0000ffff)
- AM_RANGE(0x510118, 0x51011b) AM_WRITE16(eeprom_clock_w, 0x0000ffff)
- AM_RANGE(0x510120, 0x510123) AM_WRITE16(eeprom_cs_w, 0x0000ffff)
+ AM_RANGE(0x510118, 0x51011b) AM_DEVWRITE16("eeprom", eeprom_clock_w, 0x0000ffff)
+ AM_RANGE(0x510120, 0x510123) AM_DEVWRITE16("eeprom", eeprom_cs_w, 0x0000ffff)
AM_RANGE(0x510124, 0x510127) AM_WRITE(unknown_127_w)
AM_RANGE(0x510128, 0x51012b) AM_WRITE16(tms_reset_w, 0x0000ffff)
AM_RANGE(0x510130, 0x510133) AM_WRITE16(tms_irq_w, 0x0000ffff)
@@ -805,7 +805,7 @@ static ADDRESS_MAP_START( adsp_data_map, ADDRESS_SPACE_DATA, 16 )
AM_RANGE(0x0000, 0x0001) AM_WRITE(adsp_rombank_w)
AM_RANGE(0x0000, 0x1fff) AM_ROMBANK("bank1")
AM_RANGE(0x2000, 0x2000) AM_READWRITE(sound_data_r, sound_status_w)
- AM_RANGE(0x3800, 0x39ff) AM_RAM AM_BASE(&adsp_fastram_base) /* 512 words internal RAM */
+ AM_RANGE(0x3800, 0x39ff) AM_RAM AM_BASE(&adsp_fastram_base) /* 512 words internal RAM */
AM_RANGE(0x3fe0, 0x3fff) AM_WRITE(adsp_control_w) AM_BASE(&adsp_control_regs)
ADDRESS_MAP_END
@@ -969,7 +969,8 @@ static MACHINE_DRIVER_START( gaelco3d )
MDRV_MACHINE_START(gaelco3d)
MDRV_MACHINE_RESET(gaelco3d)
- MDRV_NVRAM_HANDLER(93C66B)
+
+ MDRV_EEPROM_93C66B_NODEFAULT_ADD("eeprom")
MDRV_QUANTUM_TIME(HZ(6000))