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 "includes/gaelco3d.h"
#include "cpu/tms32031/tms32031.h" #include "cpu/tms32031/tms32031.h"
#include "cpu/adsp2100/adsp2100.h" #include "cpu/adsp2100/adsp2100.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
#include "sound/dmadac.h" #include "sound/dmadac.h"
#define LOG 0 #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; UINT16 result = 0xffff;
if (eeprom_read_bit()) if (eepromdev_read_bit(device))
result ^= 0x0004; result ^= 0x0004;
if (LOG) if (LOG)
logerror("eeprom_data_r(%02X)\n", result); 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) 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) 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) 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(0x51003c, 0x51003d) AM_READ_PORT("IN3")
AM_RANGE(0x510040, 0x510041) AM_WRITE(sound_data_w) AM_RANGE(0x510040, 0x510041) AM_WRITE(sound_data_w)
AM_RANGE(0x510042, 0x510043) AM_READ(sound_status_r) 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(0x510100, 0x510101) AM_WRITE(irq_ack_w)
AM_RANGE(0x51010a, 0x51010b) AM_WRITENOP // very noisy when starting a new game 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(0x510116, 0x510117) AM_WRITE(tms_control3_w)
AM_RANGE(0x510118, 0x51011b) AM_WRITE(eeprom_clock_w) AM_RANGE(0x510118, 0x51011b) AM_DEVWRITE("eeprom", eeprom_clock_w)
AM_RANGE(0x510120, 0x510123) AM_WRITE(eeprom_cs_w) AM_RANGE(0x510120, 0x510123) AM_DEVWRITE("eeprom", eeprom_cs_w)
AM_RANGE(0x51012a, 0x51012b) AM_WRITE(tms_reset_w) AM_RANGE(0x51012a, 0x51012b) AM_WRITE(tms_reset_w)
AM_RANGE(0x510132, 0x510133) AM_WRITE(tms_irq_w) AM_RANGE(0x510132, 0x510133) AM_WRITE(tms_irq_w)
AM_RANGE(0x510146, 0x510147) AM_WRITE(led_0_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(0x51003c, 0x51003f) AM_READ_PORT("IN3")
AM_RANGE(0x510040, 0x510043) AM_READ16(sound_status_r, 0x0000ffff) AM_RANGE(0x510040, 0x510043) AM_READ16(sound_status_r, 0x0000ffff)
AM_RANGE(0x510040, 0x510043) AM_WRITE16(sound_data_w, 0xffff0000) 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(0x510100, 0x510103) AM_WRITE16(irq_ack_w, 0xffff0000)
AM_RANGE(0x510104, 0x510107) AM_WRITE(unknown_107_w) 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(0x510114, 0x510117) AM_WRITE16(tms_control3_w, 0x0000ffff)
AM_RANGE(0x510118, 0x51011b) AM_WRITE16(eeprom_clock_w, 0x0000ffff) AM_RANGE(0x510118, 0x51011b) AM_DEVWRITE16("eeprom", eeprom_clock_w, 0x0000ffff)
AM_RANGE(0x510120, 0x510123) AM_WRITE16(eeprom_cs_w, 0x0000ffff) AM_RANGE(0x510120, 0x510123) AM_DEVWRITE16("eeprom", eeprom_cs_w, 0x0000ffff)
AM_RANGE(0x510124, 0x510127) AM_WRITE(unknown_127_w) AM_RANGE(0x510124, 0x510127) AM_WRITE(unknown_127_w)
AM_RANGE(0x510128, 0x51012b) AM_WRITE16(tms_reset_w, 0x0000ffff) AM_RANGE(0x510128, 0x51012b) AM_WRITE16(tms_reset_w, 0x0000ffff)
AM_RANGE(0x510130, 0x510133) AM_WRITE16(tms_irq_w, 0x0000ffff) AM_RANGE(0x510130, 0x510133) AM_WRITE16(tms_irq_w, 0x0000ffff)
@ -969,7 +969,8 @@ static MACHINE_DRIVER_START( gaelco3d )
MDRV_MACHINE_START(gaelco3d) MDRV_MACHINE_START(gaelco3d)
MDRV_MACHINE_RESET(gaelco3d) MDRV_MACHINE_RESET(gaelco3d)
MDRV_NVRAM_HANDLER(93C66B)
MDRV_EEPROM_93C66B_NODEFAULT_ADD("eeprom")
MDRV_QUANTUM_TIME(HZ(6000)) MDRV_QUANTUM_TIME(HZ(6000))