Converted gaelco3d.c to use eeprom device code. This fixes the regression reported by Tafoid.

This commit is contained in:
Fabio Priuli 2009-12-23 00:24:10 +00:00
parent 367be04864
commit 5719b6c623

View File

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