Convert remaining users of old eeprom_ device to eepromdev_

This commit is contained in:
Aaron Giles 2009-12-27 23:10:49 +00:00
parent 96f9302a8c
commit 532e2fca96
14 changed files with 120 additions and 112 deletions

View File

@ -14,7 +14,7 @@
#include "driver.h" #include "driver.h"
#include "includes/decocrpt.h" #include "includes/decocrpt.h"
#include "includes/deco32.h" #include "includes/deco32.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
#include "sound/okim6295.h" #include "sound/okim6295.h"
#include "sound/ymz280b.h" #include "sound/ymz280b.h"
#include "cpu/arm/arm.h" #include "cpu/arm/arm.h"
@ -224,37 +224,37 @@ static VIDEO_UPDATE(backfire)
static READ32_HANDLER(backfire_eeprom_r) static READ32_DEVICE_HANDLER(backfire_eeprom_r)
{ {
/* some kind of screen indicator? checked by backfira set before it will boot */ /* some kind of screen indicator? checked by backfira set before it will boot */
int backfire_screen = mame_rand(space->machine) & 1; int backfire_screen = mame_rand(device->machine) & 1;
return ((eeprom_read_bit() << 24) | input_port_read(space->machine, "IN0") return ((eepromdev_read_bit(device) << 24) | input_port_read(device->machine, "IN0")
| ((input_port_read(space->machine, "IN2") & 0xbf) << 16) | ((input_port_read(device->machine, "IN2") & 0xbf) << 16)
| ((input_port_read(space->machine, "IN3") & 0x40) << 16)) ^ (backfire_screen << 26) ; | ((input_port_read(device->machine, "IN3") & 0x40) << 16)) ^ (backfire_screen << 26) ;
} }
static READ32_HANDLER(backfire_control2_r) static READ32_HANDLER(backfire_control2_r)
{ {
// logerror("%08x:Read eprom %08x (%08x)\n", cpu_get_pc(space->cpu), offset << 1, mem_mask); // logerror("%08x:Read eprom %08x (%08x)\n", cpu_get_pc(space->cpu), offset << 1, mem_mask);
return (eeprom_read_bit() << 24) | input_port_read(space->machine, "IN1") | (input_port_read(space->machine, "IN1") << 16); return (eepromdev_read_bit(devtag_get_device(space->machine, "eeprom")) << 24) | input_port_read(space->machine, "IN1") | (input_port_read(space->machine, "IN1") << 16);
} }
#ifdef UNUSED_FUNCTION #ifdef UNUSED_FUNCTION
static READ32_HANDLER(backfire_control3_r) static READ32_HANDLER(backfire_control3_r)
{ {
// logerror("%08x:Read eprom %08x (%08x)\n", cpu_get_pc(space->cpu), offset << 1, mem_mask); // logerror("%08x:Read eprom %08x (%08x)\n", cpu_get_pc(space->cpu), offset << 1, mem_mask);
return (eeprom_read_bit() << 24) | input_port_read(space->machine, "IN2") | (input_port_read(space->machine, "IN2") << 16); return (eepromdev_read_bit(devtag_get_device(space->machine, "eeprom")) << 24) | input_port_read(space->machine, "IN2") | (input_port_read(space->machine, "IN2") << 16);
} }
#endif #endif
static WRITE32_HANDLER(backfire_eeprom_w) static WRITE32_DEVICE_HANDLER(backfire_eeprom_w)
{ {
logerror("%08x:write eprom %08x (%08x) %08x\n",cpu_get_pc(space->cpu),offset<<1,mem_mask,data); logerror("%s:write eprom %08x (%08x) %08x\n",cpuexec_describe_context(device->machine),offset<<1,mem_mask,data);
if (ACCESSING_BITS_0_7) { if (ACCESSING_BITS_0_7) {
eeprom_set_clock_line((data & 0x2) ? ASSERT_LINE : CLEAR_LINE); eepromdev_set_clock_line(device, (data & 0x2) ? ASSERT_LINE : CLEAR_LINE);
eeprom_write_bit(data & 0x1); eepromdev_write_bit(device, data & 0x1);
eeprom_set_cs_line((data & 0x4) ? CLEAR_LINE : ASSERT_LINE); eepromdev_set_cs_line(device, (data & 0x4) ? CLEAR_LINE : ASSERT_LINE);
} }
} }
@ -326,9 +326,9 @@ static ADDRESS_MAP_START( backfire_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x184000, 0x185fff) AM_RAM AM_BASE( &backfire_spriteram32_1 ) AM_RANGE(0x184000, 0x185fff) AM_RAM AM_BASE( &backfire_spriteram32_1 )
AM_RANGE(0x18c000, 0x18dfff) AM_RAM AM_BASE( &backfire_spriteram32_2 ) AM_RANGE(0x18c000, 0x18dfff) AM_RAM AM_BASE( &backfire_spriteram32_2 )
AM_RANGE(0x190000, 0x190003) AM_READ(backfire_eeprom_r) AM_RANGE(0x190000, 0x190003) AM_DEVREAD("eeprom", backfire_eeprom_r)
AM_RANGE(0x194000, 0x194003) AM_READ(backfire_control2_r) AM_RANGE(0x194000, 0x194003) AM_READ(backfire_control2_r)
AM_RANGE(0x1a4000, 0x1a4003) AM_WRITE(backfire_eeprom_w) AM_RANGE(0x1a4000, 0x1a4003) AM_DEVWRITE("eeprom", backfire_eeprom_w)
AM_RANGE(0x1a8000, 0x1a8003) AM_RAM AM_BASE(&backfire_left_priority) AM_RANGE(0x1a8000, 0x1a8003) AM_RAM AM_BASE(&backfire_left_priority)
AM_RANGE(0x1ac000, 0x1ac003) AM_RAM AM_BASE(&backfire_right_priority) AM_RANGE(0x1ac000, 0x1ac003) AM_RAM AM_BASE(&backfire_right_priority)
@ -469,7 +469,7 @@ static MACHINE_DRIVER_START( backfire )
MDRV_CPU_PROGRAM_MAP(backfire_map) MDRV_CPU_PROGRAM_MAP(backfire_map)
MDRV_CPU_VBLANK_INT("lscreen", deco32_vbl_interrupt) /* or is it "rscreen?" */ MDRV_CPU_VBLANK_INT("lscreen", deco32_vbl_interrupt) /* or is it "rscreen?" */
MDRV_NVRAM_HANDLER(93C46) MDRV_EEPROM_93C46_ADD("eeprom")
/* video hardware */ /* video hardware */
MDRV_PALETTE_LENGTH(2048) MDRV_PALETTE_LENGTH(2048)

View File

@ -22,7 +22,7 @@ To Do:
#include "driver.h" #include "driver.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "deprecat.h" #include "deprecat.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
#include "includes/kaneko16.h" #include "includes/kaneko16.h"
#include "sound/okim6295.h" #include "sound/okim6295.h"
@ -35,24 +35,24 @@ To Do:
***************************************************************************/ ***************************************************************************/
static UINT16 eeprom_word; static UINT16 eeprom_word;
static READ16_HANDLER(galpani2_eeprom_r) static READ16_DEVICE_HANDLER(galpani2_eeprom_r)
{ {
return (eeprom_word & ~1) | (eeprom_read_bit() & 1); return (eeprom_word & ~1) | (eepromdev_read_bit(device) & 1);
} }
static WRITE16_HANDLER(galpani2_eeprom_w) static WRITE16_DEVICE_HANDLER(galpani2_eeprom_w)
{ {
COMBINE_DATA( &eeprom_word ); COMBINE_DATA( &eeprom_word );
if ( ACCESSING_BITS_0_7 ) if ( ACCESSING_BITS_0_7 )
{ {
// latch the bit // latch the bit
eeprom_write_bit(data & 0x02); eepromdev_write_bit(device, data & 0x02);
// reset line asserted: reset. // reset line asserted: reset.
eeprom_set_cs_line((data & 0x08) ? CLEAR_LINE : ASSERT_LINE ); eepromdev_set_cs_line(device, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE );
// clock line asserted: write latch or select next bit to read // clock line asserted: write latch or select next bit to read
eeprom_set_clock_line((data & 0x04) ? ASSERT_LINE : CLEAR_LINE ); eepromdev_set_clock_line(device, (data & 0x04) ? ASSERT_LINE : CLEAR_LINE );
} }
} }
@ -298,7 +298,7 @@ static ADDRESS_MAP_START( galpani2_mem1, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x30c000, 0x30c001) AM_WRITENOP // ? hblank effect ? AM_RANGE(0x30c000, 0x30c001) AM_WRITENOP // ? hblank effect ?
AM_RANGE(0x310000, 0x3101ff) AM_RAM_WRITE(galpani2_palette_0_w) AM_BASE(&galpani2_palette_0 ) // ? AM_RANGE(0x310000, 0x3101ff) AM_RAM_WRITE(galpani2_palette_0_w) AM_BASE(&galpani2_palette_0 ) // ?
AM_RANGE(0x314000, 0x314001) AM_WRITENOP // ? flip backgrounds ? AM_RANGE(0x314000, 0x314001) AM_WRITENOP // ? flip backgrounds ?
AM_RANGE(0x318000, 0x318001) AM_READWRITE(galpani2_eeprom_r, galpani2_eeprom_w) // EEPROM AM_RANGE(0x318000, 0x318001) AM_DEVREADWRITE("eeprom", galpani2_eeprom_r, galpani2_eeprom_w) // EEPROM
AM_RANGE(0x380000, 0x387fff) AM_RAM // Palette? AM_RANGE(0x380000, 0x387fff) AM_RAM // Palette?
AM_RANGE(0x388000, 0x38ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram ) // Palette AM_RANGE(0x388000, 0x38ffff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram ) // Palette
AM_RANGE(0x390000, 0x3901ff) AM_WRITENOP // ? at startup of service mode AM_RANGE(0x390000, 0x3901ff) AM_WRITENOP // ? at startup of service mode
@ -586,7 +586,7 @@ static MACHINE_DRIVER_START( galpani2 )
MDRV_CPU_VBLANK_INT_HACK(galpani2_interrupt2,GALPANI2_INTERRUPTS_NUM2) MDRV_CPU_VBLANK_INT_HACK(galpani2_interrupt2,GALPANI2_INTERRUPTS_NUM2)
MDRV_MACHINE_RESET(galpani2) MDRV_MACHINE_RESET(galpani2)
MDRV_NVRAM_HANDLER(93C46) MDRV_EEPROM_93C46_ADD("eeprom")
/* video hardware */ /* video hardware */
MDRV_SCREEN_ADD("screen", RASTER) MDRV_SCREEN_ADD("screen", RASTER)

View File

@ -18,7 +18,7 @@ TODO:
#include "driver.h" #include "driver.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "sound/okim6295.h" #include "sound/okim6295.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
static UINT16 *jackpool_vram; static UINT16 *jackpool_vram;
@ -100,8 +100,8 @@ static READ16_HANDLER( jackpool_io_r )
case 0x1c: return input_port_read(space->machine,"BET"); case 0x1c: return input_port_read(space->machine,"BET");
case 0x1e: return 0xff; //ticket motor case 0x1e: return 0xff; //ticket motor
case 0x20: return 0xff; //hopper motor case 0x20: return 0xff; //hopper motor
case 0x2c: return eeprom_read_bit(); case 0x2c: return eepromdev_read_bit(devtag_get_device(space->machine,"eeprom"));
case 0x2e: return eeprom_read_bit(); case 0x2e: return eepromdev_read_bit(devtag_get_device(space->machine,"eeprom"));
// default: printf("R %02x\n",offset*2); break; // default: printf("R %02x\n",offset*2); break;
} }
@ -128,11 +128,11 @@ static WRITE16_HANDLER( jackpool_io_w )
case 0x4a: /* ---- ---x Ticket motor */break; case 0x4a: /* ---- ---x Ticket motor */break;
case 0x4c: /* ---- ---x Hopper motor */break; case 0x4c: /* ---- ---x Hopper motor */break;
case 0x4e: map_vreg = data & 1; break; case 0x4e: map_vreg = data & 1; break;
case 0x50: eeprom_set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); break; case 0x50: eepromdev_set_cs_line(devtag_get_device(space->machine,"eeprom"), (data & 1) ? CLEAR_LINE : ASSERT_LINE ); break;
case 0x52: eeprom_set_clock_line((data & 1) ? ASSERT_LINE : CLEAR_LINE ); break; case 0x52: eepromdev_set_clock_line(devtag_get_device(space->machine,"eeprom"), (data & 1) ? ASSERT_LINE : CLEAR_LINE ); break;
case 0x54: eeprom_write_bit(data & 1); break; case 0x54: eepromdev_write_bit(devtag_get_device(space->machine,"eeprom"), data & 1); break;
// case 0x5a: eeprom_set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); break; // case 0x5a: eepromdev_set_cs_line(devtag_get_device(space->machine,"eeprom"), (data & 1) ? CLEAR_LINE : ASSERT_LINE ); break;
// case 0x5c: eeprom_set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); break; // case 0x5c: eepromdev_set_cs_line(devtag_get_device(space->machine,"eeprom"), (data & 1) ? CLEAR_LINE : ASSERT_LINE ); break;
case 0x60: break; case 0x60: break;
// default: printf("[%02x] <- %02x W\n",offset*2,data); break; // default: printf("[%02x] <- %02x W\n",offset*2,data); break;
} }
@ -141,17 +141,17 @@ static WRITE16_HANDLER( jackpool_io_w )
if(offset*2 == 0x54) if(offset*2 == 0x54)
{ {
printf("Write bit %02x\n",data); printf("Write bit %02x\n",data);
eeprom_write_bit(data & 1); eepromdev_write_bit(devtag_get_device(space->machine,"eeprom"), data & 1);
} }
if(offset*2 == 0x52) if(offset*2 == 0x52)
{ {
printf("Clock bit %02x\n",data); printf("Clock bit %02x\n",data);
eeprom_set_clock_line((data & 1) ? ASSERT_LINE : CLEAR_LINE ); eepromdev_set_clock_line(devtag_get_device(space->machine,"eeprom"), (data & 1) ? ASSERT_LINE : CLEAR_LINE );
} }
if(offset*2 == 0x50) if(offset*2 == 0x50)
{ {
printf("chip select bit %02x\n",data); printf("chip select bit %02x\n",data);
eeprom_set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); eepromdev_set_cs_line(devtag_get_device(space->machine,"eeprom"), (data & 1) ? CLEAR_LINE : ASSERT_LINE );
} }
#endif #endif
} }
@ -253,7 +253,7 @@ static MACHINE_DRIVER_START( jackpool )
MDRV_SCREEN_SIZE(64*8, 64*8) MDRV_SCREEN_SIZE(64*8, 64*8)
MDRV_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1) MDRV_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1)
MDRV_NVRAM_HANDLER(93C46) MDRV_EEPROM_93C46_ADD("eeprom")
MDRV_PALETTE_LENGTH(0x200) MDRV_PALETTE_LENGTH(0x200)

View File

@ -30,7 +30,7 @@ To do:
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "machine/8255ppi.h" #include "machine/8255ppi.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
#include "sound/3812intf.h" #include "sound/3812intf.h"
#include "sound/okim6295.h" #include "sound/okim6295.h"
#include "includes/lordgun.h" #include "includes/lordgun.h"
@ -90,6 +90,7 @@ static WRITE8_DEVICE_HANDLER(fake2_w)
static WRITE8_DEVICE_HANDLER( lordgun_eeprom_w ) static WRITE8_DEVICE_HANDLER( lordgun_eeprom_w )
{ {
const device_config *eeprom = devtag_get_device(device->machine, "eeprom");
static UINT8 old; static UINT8 old;
int i; int i;
@ -107,13 +108,13 @@ static WRITE8_DEVICE_HANDLER( lordgun_eeprom_w )
lordgun_update_gun(device->machine, i); lordgun_update_gun(device->machine, i);
// latch the bit // latch the bit
eeprom_write_bit(data & 0x40); eepromdev_write_bit(eeprom, data & 0x40);
// reset line asserted: reset. // reset line asserted: reset.
eeprom_set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE ); eepromdev_set_cs_line(eeprom, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE );
// clock line asserted: write latch or select next bit to read // clock line asserted: write latch or select next bit to read
eeprom_set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE ); eepromdev_set_clock_line(eeprom, (data & 0x20) ? ASSERT_LINE : CLEAR_LINE );
lordgun_whitescreen = data & 0x80; lordgun_whitescreen = data & 0x80;
@ -317,7 +318,7 @@ static INPUT_PORTS_START( lordgun )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_SERVICE_NO_TOGGLE( 0x40, IP_ACTIVE_LOW ) PORT_SERVICE_NO_TOGGLE( 0x40, IP_ACTIVE_LOW )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eepromdev_read_bit)
PORT_START("IN1") PORT_START("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
@ -421,7 +422,7 @@ static MACHINE_DRIVER_START( lordgun )
MDRV_PPI8255_ADD( "ppi8255_0", ppi8255_intf[0] ) MDRV_PPI8255_ADD( "ppi8255_0", ppi8255_intf[0] )
MDRV_PPI8255_ADD( "ppi8255_1", ppi8255_intf[1] ) MDRV_PPI8255_ADD( "ppi8255_1", ppi8255_intf[1] )
MDRV_NVRAM_HANDLER(93C46) MDRV_EEPROM_93C46_ADD("eeprom")
MDRV_GFXDECODE(lordgun) MDRV_GFXDECODE(lordgun)

View File

@ -48,7 +48,7 @@
#include "driver.h" #include "driver.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "sound/ymz280b.h" #include "sound/ymz280b.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
#define MIDAS_DEBUG 0 #define MIDAS_DEBUG 0
@ -178,18 +178,18 @@ static VIDEO_UPDATE( livequiz )
return 0; return 0;
} }
static WRITE16_HANDLER( livequiz_eeprom_w ) static WRITE16_DEVICE_HANDLER( livequiz_eeprom_w )
{ {
if (ACCESSING_BITS_0_7) if (ACCESSING_BITS_0_7)
{ {
// latch the bit // latch the bit
eeprom_write_bit(data & 0x04); eepromdev_write_bit(device, data & 0x04);
// reset line asserted: reset. // reset line asserted: reset.
eeprom_set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE ); eepromdev_set_cs_line(device, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE );
// clock line asserted: write latch or select next bit to read // clock line asserted: write latch or select next bit to read
eeprom_set_clock_line((data & 0x02) ? ASSERT_LINE : CLEAR_LINE ); eepromdev_set_clock_line(device, (data & 0x02) ? ASSERT_LINE : CLEAR_LINE );
} }
} }
@ -225,7 +225,7 @@ static ADDRESS_MAP_START( mem_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x940000, 0x940001) AM_READ_PORT("IN0") AM_RANGE(0x940000, 0x940001) AM_READ_PORT("IN0")
AM_RANGE(0x980000, 0x980001) AM_READ_PORT("IN1") AM_RANGE(0x980000, 0x980001) AM_READ_PORT("IN1")
AM_RANGE(0x9a0000, 0x9a0001) AM_WRITE( livequiz_eeprom_w ) AM_RANGE(0x9a0000, 0x9a0001) AM_DEVWRITE( "eeprom", livequiz_eeprom_w )
AM_RANGE(0x9c0000, 0x9c0005) AM_WRITE( livequiz_gfxregs_w ) AM_BASE( &livequiz_gfxregs ) AM_RANGE(0x9c0000, 0x9c0005) AM_WRITE( livequiz_gfxregs_w ) AM_BASE( &livequiz_gfxregs )
@ -329,7 +329,7 @@ static INPUT_PORTS_START( livequiz )
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) // EEPROM PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eepromdev_read_bit) // EEPROM
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_SERVICE_NO_TOGGLE( 0x0040, IP_ACTIVE_LOW ) PORT_SERVICE_NO_TOGGLE( 0x0040, IP_ACTIVE_LOW )
@ -437,7 +437,7 @@ static MACHINE_DRIVER_START( livequiz )
MDRV_CPU_PROGRAM_MAP(mem_map) MDRV_CPU_PROGRAM_MAP(mem_map)
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold) MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
MDRV_NVRAM_HANDLER(93C46) MDRV_EEPROM_93C46_ADD("eeprom")
/* video hardware */ /* video hardware */
MDRV_SCREEN_ADD("screen", RASTER) MDRV_SCREEN_ADD("screen", RASTER)

View File

@ -50,7 +50,7 @@
#include "driver.h" #include "driver.h"
#include "deprecat.h" #include "deprecat.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
#include "video/segaic24.h" #include "video/segaic24.h"
#include "cpu/i960/i960.h" #include "cpu/i960/i960.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
@ -243,8 +243,6 @@ static void copro_fifoout_push(const device_config *device, UINT32 data)
static NVRAM_HANDLER( model2 ) static NVRAM_HANDLER( model2 )
{ {
NVRAM_HANDLER_CALL(93C46);
if (read_or_write) if (read_or_write)
{ {
mame_fwrite(file, model2_backup1, 0x3fff); mame_fwrite(file, model2_backup1, 0x3fff);
@ -410,10 +408,11 @@ static WRITE32_HANDLER( ctrl0_w )
{ {
if(ACCESSING_BITS_0_7) if(ACCESSING_BITS_0_7)
{ {
const device_config *device = devtag_get_device(space->machine, "eeprom");
model2_ctrlmode = data & 0x01; model2_ctrlmode = data & 0x01;
eeprom_write_bit(data & 0x20); eepromdev_write_bit(device, data & 0x20);
eeprom_set_clock_line((data & 0x80) ? ASSERT_LINE : CLEAR_LINE); eepromdev_set_clock_line(device, (data & 0x80) ? ASSERT_LINE : CLEAR_LINE);
eeprom_set_cs_line((data & 0x40) ? CLEAR_LINE : ASSERT_LINE); eepromdev_set_cs_line(device, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
} }
} }
@ -452,7 +451,7 @@ static CUSTOM_INPUT( _1c00000_r )
else else
{ {
ret &= ~0x0030; ret &= ~0x0030;
return ret | 0x00d0 | (eeprom_read_bit() << 5); return ret | 0x00d0 | (eepromdev_read_bit(devtag_get_device(field->port->machine, "eeprom")) << 5);
} }
} }
@ -1842,6 +1841,8 @@ static MACHINE_DRIVER_START( model2o )
MDRV_CPU_PROGRAM_MAP(copro_tgp_map) MDRV_CPU_PROGRAM_MAP(copro_tgp_map)
MDRV_MACHINE_RESET(model2o) MDRV_MACHINE_RESET(model2o)
MDRV_EEPROM_93C46_ADD("eeprom")
MDRV_NVRAM_HANDLER( model2 ) MDRV_NVRAM_HANDLER( model2 )
MDRV_TIMER_ADD("timer0", model2_timer_cb) MDRV_TIMER_ADD("timer0", model2_timer_cb)
@ -1896,6 +1897,8 @@ static MACHINE_DRIVER_START( model2a )
MDRV_CPU_PROGRAM_MAP(copro_tgp_map) MDRV_CPU_PROGRAM_MAP(copro_tgp_map)
MDRV_MACHINE_RESET(model2) MDRV_MACHINE_RESET(model2)
MDRV_EEPROM_93C46_ADD("eeprom")
MDRV_NVRAM_HANDLER( model2 ) MDRV_NVRAM_HANDLER( model2 )
MDRV_TIMER_ADD("timer0", model2_timer_cb) MDRV_TIMER_ADD("timer0", model2_timer_cb)
@ -1955,6 +1958,8 @@ static MACHINE_DRIVER_START( model2b )
MDRV_QUANTUM_TIME(HZ(18000)) MDRV_QUANTUM_TIME(HZ(18000))
MDRV_MACHINE_RESET(model2b) MDRV_MACHINE_RESET(model2b)
MDRV_EEPROM_93C46_ADD("eeprom")
MDRV_NVRAM_HANDLER( model2 ) MDRV_NVRAM_HANDLER( model2 )
MDRV_TIMER_ADD("timer0", model2_timer_cb) MDRV_TIMER_ADD("timer0", model2_timer_cb)
@ -1998,6 +2003,8 @@ static MACHINE_DRIVER_START( model2c )
MDRV_CPU_PROGRAM_MAP(model2_snd) MDRV_CPU_PROGRAM_MAP(model2_snd)
MDRV_MACHINE_RESET(model2c) MDRV_MACHINE_RESET(model2c)
MDRV_EEPROM_93C46_ADD("eeprom")
MDRV_NVRAM_HANDLER( model2 ) MDRV_NVRAM_HANDLER( model2 )
MDRV_TIMER_ADD("timer0", model2_timer_cb) MDRV_TIMER_ADD("timer0", model2_timer_cb)

View File

@ -73,7 +73,7 @@ Notes:
#include "driver.h" #include "driver.h"
#include "cpu/e132xs/e132xs.h" #include "cpu/e132xs/e132xs.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
#include "sound/okim6295.h" #include "sound/okim6295.h"
static UINT16 *bitmap0, *bitmap1, *wram; static UINT16 *bitmap0, *bitmap1, *wram;
@ -380,7 +380,7 @@ static MACHINE_DRIVER_START( pasha2 )
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
MDRV_MACHINE_RESET(pasha2) MDRV_MACHINE_RESET(pasha2)
MDRV_NVRAM_HANDLER(93C46) MDRV_EEPROM_93C46_ADD("eeprom")
/* video hardware */ /* video hardware */
MDRV_SCREEN_ADD("screen", RASTER) MDRV_SCREEN_ADD("screen", RASTER)

View File

@ -17,7 +17,7 @@
#include "driver.h" #include "driver.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "sound/okim6295.h" #include "sound/okim6295.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
static UINT16 *bg_videoram, *mid_videoram, *txt_videoram, *tilemap_regs, *video_regs; static UINT16 *bg_videoram, *mid_videoram, *txt_videoram, *tilemap_regs, *video_regs;
static tilemap *mid_tilemap, *txt_tilemap; static tilemap *mid_tilemap, *txt_tilemap;
@ -127,13 +127,13 @@ static WRITE16_HANDLER( txt_videoram_w )
tilemap_mark_tile_dirty(txt_tilemap,offset); tilemap_mark_tile_dirty(txt_tilemap,offset);
} }
static WRITE16_HANDLER( eeprom_w ) static WRITE16_DEVICE_HANDLER( eeprom_w )
{ {
if( ACCESSING_BITS_0_7 ) if( ACCESSING_BITS_0_7 )
{ {
eeprom_write_bit(data & 0x01); eepromdev_write_bit(device, data & 0x01);
eeprom_set_cs_line((data & 0x02) ? CLEAR_LINE : ASSERT_LINE ); eepromdev_set_cs_line(device, (data & 0x02) ? CLEAR_LINE : ASSERT_LINE );
eeprom_set_clock_line((data & 0x04) ? ASSERT_LINE : CLEAR_LINE ); eepromdev_set_clock_line(device, (data & 0x04) ? ASSERT_LINE : CLEAR_LINE );
} }
} }
@ -193,7 +193,7 @@ static ADDRESS_MAP_START( pzletime_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(mid_videoram_w) AM_BASE(&mid_videoram) AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(mid_videoram_w) AM_BASE(&mid_videoram)
AM_RANGE(0xc01000, 0xc01fff) AM_RAM_WRITE(txt_videoram_w) AM_BASE(&txt_videoram) AM_RANGE(0xc01000, 0xc01fff) AM_RAM_WRITE(txt_videoram_w) AM_BASE(&txt_videoram)
AM_RANGE(0xd00000, 0xd01fff) AM_RAM AM_BASE_GENERIC(spriteram) AM_RANGE(0xd00000, 0xd01fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("INPUT") AM_WRITE(eeprom_w) AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("INPUT") AM_DEVWRITE("eeprom", eeprom_w)
AM_RANGE(0xe00002, 0xe00003) AM_READ_PORT("SYSTEM") AM_WRITE(ticket_w) AM_RANGE(0xe00002, 0xe00003) AM_READ_PORT("SYSTEM") AM_WRITE(ticket_w)
AM_RANGE(0xe00004, 0xe00005) AM_DEVWRITE("oki", oki_bank_w) AM_RANGE(0xe00004, 0xe00005) AM_DEVWRITE("oki", oki_bank_w)
AM_RANGE(0xf00000, 0xf0ffff) AM_RAM AM_RANGE(0xf00000, 0xf0ffff) AM_RAM
@ -208,7 +208,7 @@ static INPUT_PORTS_START( pzletime )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_VBLANK ) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_VBLANK )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* eeprom */ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eepromdev_read_bit) /* eeprom */
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ticket_status_r, NULL) /* ticket dispenser */ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ticket_status_r, NULL) /* ticket dispenser */
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -286,7 +286,7 @@ static MACHINE_DRIVER_START( pzletime )
MDRV_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 28*8-1) MDRV_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 28*8-1)
MDRV_GFXDECODE(pzletime) MDRV_GFXDECODE(pzletime)
MDRV_PALETTE_LENGTH(0x300 + 32768) MDRV_PALETTE_LENGTH(0x300 + 32768)
MDRV_NVRAM_HANDLER(93C46) MDRV_EEPROM_93C46_ADD("eeprom")
MDRV_PALETTE_INIT(pzletime) MDRV_PALETTE_INIT(pzletime)
MDRV_VIDEO_START(pzletime) MDRV_VIDEO_START(pzletime)

View File

@ -79,7 +79,7 @@ Custom: Imagetek 15000 (2ch video & 2ch sound)
#include "driver.h" #include "driver.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "deprecat.h" #include "deprecat.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
#define VERBOSE_AUDIO_LOG (0) // enable to show audio writes (very noisy when music is playing) #define VERBOSE_AUDIO_LOG (0) // enable to show audio writes (very noisy when music is playing)
@ -688,20 +688,20 @@ static WRITE32_HANDLER( rabbit_blitter_w )
} }
} }
static WRITE32_HANDLER( rabbit_eeprom_write ) static WRITE32_DEVICE_HANDLER( rabbit_eeprom_write )
{ {
// don't disturb the EEPROM if we're not actually writing to it // don't disturb the EEPROM if we're not actually writing to it
// (in particular, data & 0x100 here with mask = ffff00ff looks to be the watchdog) // (in particular, data & 0x100 here with mask = ffff00ff looks to be the watchdog)
if (mem_mask == 0xff000000) if (mem_mask == 0xff000000)
{ {
// latch the bit // latch the bit
eeprom_write_bit(data & 0x01000000); eepromdev_write_bit(device, data & 0x01000000);
// reset line asserted: reset. // reset line asserted: reset.
eeprom_set_cs_line((data & 0x04000000) ? CLEAR_LINE : ASSERT_LINE ); eepromdev_set_cs_line(device, (data & 0x04000000) ? CLEAR_LINE : ASSERT_LINE );
// clock line asserted: write latch or select next bit to read // clock line asserted: write latch or select next bit to read
eeprom_set_clock_line((data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE ); eepromdev_set_clock_line(device, (data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE );
} }
} }
@ -711,7 +711,7 @@ static ADDRESS_MAP_START( rabbit_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000010, 0x000013) AM_WRITENOP // bug in code / emulation? AM_RANGE(0x000010, 0x000013) AM_WRITENOP // bug in code / emulation?
AM_RANGE(0x000024, 0x000027) AM_WRITENOP // bug in code / emulation? AM_RANGE(0x000024, 0x000027) AM_WRITENOP // bug in code / emulation?
AM_RANGE(0x00719c, 0x00719f) AM_WRITENOP // bug in code / emulation? AM_RANGE(0x00719c, 0x00719f) AM_WRITENOP // bug in code / emulation?
AM_RANGE(0x200000, 0x200003) AM_READ_PORT("INPUTS") AM_WRITE(rabbit_eeprom_write) AM_RANGE(0x200000, 0x200003) AM_READ_PORT("INPUTS") AM_DEVWRITE("eeprom", rabbit_eeprom_write)
AM_RANGE(0x400010, 0x400013) AM_READ(randomrabbits) // gfx chip status? AM_RANGE(0x400010, 0x400013) AM_READ(randomrabbits) // gfx chip status?
AM_RANGE(0x400980, 0x400983) AM_READ(randomrabbits) // sound chip status? AM_RANGE(0x400980, 0x400983) AM_READ(randomrabbits) // sound chip status?
AM_RANGE(0x400984, 0x400987) AM_READ(randomrabbits) // sound chip status? AM_RANGE(0x400984, 0x400987) AM_READ(randomrabbits) // sound chip status?
@ -745,7 +745,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( rabbit ) static INPUT_PORTS_START( rabbit )
PORT_START("INPUTS") PORT_START("INPUTS")
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) // as per code at 4d932 PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eepromdev_read_bit) // as per code at 4d932
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unlabeled in input test PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unlabeled in input test
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_START2 )
@ -933,7 +933,7 @@ static MACHINE_DRIVER_START( rabbit )
MDRV_CPU_ADD("maincpu",M68EC020,24000000) /* 24 MHz */ MDRV_CPU_ADD("maincpu",M68EC020,24000000) /* 24 MHz */
MDRV_CPU_PROGRAM_MAP(rabbit_map) MDRV_CPU_PROGRAM_MAP(rabbit_map)
MDRV_CPU_VBLANK_INT_HACK(rabbit_interrupts,262) MDRV_CPU_VBLANK_INT_HACK(rabbit_interrupts,262)
MDRV_NVRAM_HANDLER(93C46) MDRV_EEPROM_93C46_ADD("eeprom")
MDRV_GFXDECODE(rabbit) MDRV_GFXDECODE(rabbit)

View File

@ -90,7 +90,7 @@ Note
#include "driver.h" #include "driver.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "sound/okim6295.h" #include "sound/okim6295.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
static UINT8 *spool99_main; static UINT8 *spool99_main;
static tilemap *sc0_tilemap; static tilemap *sc0_tilemap;
@ -157,7 +157,7 @@ static READ8_HANDLER( spool99_io_r )
case 0xafe4: return input_port_read(space->machine,"SERVICE2");//attract mode case 0xafe4: return input_port_read(space->machine,"SERVICE2");//attract mode
// case 0xafe5: return 1; // case 0xafe5: return 1;
// case 0xafe6: return 1; // case 0xafe6: return 1;
case 0xafe7: return eeprom_read_bit(); case 0xafe7: return eepromdev_read_bit(devtag_get_device(space->machine,"eeprom"));
case 0xaff8: return okim6295_r(devtag_get_device(space->machine, "oki"),0); case 0xaff8: return okim6295_r(devtag_get_device(space->machine, "oki"),0);
} }
} }
@ -166,30 +166,30 @@ static READ8_HANDLER( spool99_io_r )
return ROM[0xaf00+offset]; return ROM[0xaf00+offset];
} }
static WRITE8_HANDLER( eeprom_resetline_w ) static WRITE8_DEVICE_HANDLER( eeprom_resetline_w )
{ {
// reset line asserted: reset. // reset line asserted: reset.
eeprom_set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE ); eepromdev_set_cs_line(device, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE );
} }
static WRITE8_HANDLER( eeprom_clockline_w ) static WRITE8_DEVICE_HANDLER( eeprom_clockline_w )
{ {
// clock line asserted: write latch or select next bit to read // clock line asserted: write latch or select next bit to read
eeprom_set_clock_line((data & 0x01) ? ASSERT_LINE : CLEAR_LINE ); eepromdev_set_clock_line(device, (data & 0x01) ? ASSERT_LINE : CLEAR_LINE );
} }
static WRITE8_HANDLER( eeprom_dataline_w ) static WRITE8_DEVICE_HANDLER( eeprom_dataline_w )
{ {
// latch the bit // latch the bit
eeprom_write_bit(data & 0x01); eepromdev_write_bit(device, data & 0x01);
} }
static ADDRESS_MAP_START( spool99_map, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( spool99_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xaeff) AM_RAM AM_BASE(&spool99_main) AM_RANGE(0x0000, 0xaeff) AM_RAM AM_BASE(&spool99_main)
AM_RANGE(0xaf00, 0xafff) AM_READ(spool99_io_r) AM_RANGE(0xaf00, 0xafff) AM_READ(spool99_io_r)
AM_RANGE(0xafed, 0xafed) AM_WRITE(eeprom_resetline_w ) AM_RANGE(0xafed, 0xafed) AM_DEVWRITE("eeprom", eeprom_resetline_w )
AM_RANGE(0xafee, 0xafee) AM_WRITE(eeprom_clockline_w ) AM_RANGE(0xafee, 0xafee) AM_DEVWRITE("eeprom", eeprom_clockline_w )
AM_RANGE(0xafef, 0xafef) AM_WRITE(eeprom_dataline_w ) AM_RANGE(0xafef, 0xafef) AM_DEVWRITE("eeprom", eeprom_dataline_w )
AM_RANGE(0xaff8, 0xaff8) AM_DEVWRITE("oki", okim6295_w) AM_RANGE(0xaff8, 0xaff8) AM_DEVWRITE("oki", okim6295_w)
AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram) // palette AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram) // palette
@ -282,7 +282,7 @@ static MACHINE_DRIVER_START( spool99 )
MDRV_PALETTE_LENGTH(0x200) MDRV_PALETTE_LENGTH(0x200)
MDRV_NVRAM_HANDLER(93C46) MDRV_EEPROM_93C46_ADD("eeprom")
MDRV_VIDEO_START(spool99) MDRV_VIDEO_START(spool99)
MDRV_VIDEO_UPDATE(spool99) MDRV_VIDEO_UPDATE(spool99)

View File

@ -183,7 +183,7 @@ ae500w07.ad1 - M6295 Samples (23c4001)
#include "driver.h" #include "driver.h"
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
#include "includes/tecmosys.h" #include "includes/tecmosys.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "sound/okim6295.h" #include "sound/okim6295.h"
@ -359,19 +359,19 @@ static READ16_HANDLER( unk880000_r )
} }
static READ16_HANDLER( eeprom_r ) static READ16_DEVICE_HANDLER( eeprom_r )
{ {
return ((eeprom_read_bit() & 0x01) << 11); return ((eepromdev_read_bit(device) & 0x01) << 11);
} }
static WRITE16_HANDLER( eeprom_w ) static WRITE16_DEVICE_HANDLER( eeprom_w )
{ {
if ( ACCESSING_BITS_8_15 ) if ( ACCESSING_BITS_8_15 )
{ {
eeprom_write_bit(data & 0x0800); eepromdev_write_bit(device, data & 0x0800);
eeprom_set_cs_line((data & 0x0200) ? CLEAR_LINE : ASSERT_LINE ); eepromdev_set_cs_line(device, (data & 0x0200) ? CLEAR_LINE : ASSERT_LINE );
eeprom_set_clock_line((data & 0x0400) ? CLEAR_LINE: ASSERT_LINE ); eepromdev_set_clock_line(device, (data & 0x0400) ? CLEAR_LINE: ASSERT_LINE );
} }
} }
@ -431,7 +431,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x980000, 0x980fff) AM_RAM_WRITE(tilemap_paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&tilemap_paletteram16) AM_RANGE(0x980000, 0x980fff) AM_RAM_WRITE(tilemap_paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&tilemap_paletteram16)
AM_RANGE(0x880000, 0x88002f) AM_WRITE( unk880000_w ) AM_BASE(&tecmosys_880000regs) // 10 byte dta@88000c, 880022=watchdog? AM_RANGE(0x880000, 0x88002f) AM_WRITE( unk880000_w ) AM_BASE(&tecmosys_880000regs) // 10 byte dta@88000c, 880022=watchdog?
AM_RANGE(0xa00000, 0xa00001) AM_WRITE(eeprom_w ) AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE("eeprom", eeprom_w )
AM_RANGE(0xa80000, 0xa80005) AM_WRITEONLY AM_BASE(&tecmosys_a80000regs) // a80000-3 scroll? a80004 inverted ? 3 : 0 AM_RANGE(0xa80000, 0xa80005) AM_WRITEONLY AM_BASE(&tecmosys_a80000regs) // a80000-3 scroll? a80004 inverted ? 3 : 0
AM_RANGE(0xb00000, 0xb00005) AM_WRITEONLY AM_BASE(&tecmosys_b00000regs) // b00000-3 scrool?, b00004 inverted ? 3 : 0 AM_RANGE(0xb00000, 0xb00005) AM_WRITEONLY AM_BASE(&tecmosys_b00000regs) // b00000-3 scrool?, b00004 inverted ? 3 : 0
AM_RANGE(0xb80000, 0xb80001) AM_READWRITE(tecmosys_prot_status_r, tecmosys_prot_status_w) AM_RANGE(0xb80000, 0xb80001) AM_READWRITE(tecmosys_prot_status_r, tecmosys_prot_status_w)
@ -439,7 +439,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xc80000, 0xc80005) AM_WRITEONLY AM_BASE(&tecmosys_c80000regs) // c80000-3 scrool? c80004 inverted ? 3 : 0 AM_RANGE(0xc80000, 0xc80005) AM_WRITEONLY AM_BASE(&tecmosys_c80000regs) // c80000-3 scrool? c80004 inverted ? 3 : 0
AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("P1") AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("P1")
AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("P2") AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("P2")
AM_RANGE(0xd80000, 0xd80001) AM_READ(eeprom_r) AM_RANGE(0xd80000, 0xd80001) AM_DEVREAD("eeprom", eeprom_r)
AM_RANGE(0xe00000, 0xe00001) AM_WRITE( sound_w ) AM_RANGE(0xe00000, 0xe00001) AM_WRITE( sound_w )
AM_RANGE(0xe80000, 0xe80001) AM_WRITE(tecmosys_prot_data_w) AM_RANGE(0xe80000, 0xe80001) AM_WRITE(tecmosys_prot_data_w)
AM_RANGE(0xf00000, 0xf00001) AM_READ(sound_r) AM_RANGE(0xf00000, 0xf00001) AM_READ(sound_r)
@ -888,7 +888,7 @@ static MACHINE_DRIVER_START( deroon )
MDRV_GFXDECODE(tecmosys) MDRV_GFXDECODE(tecmosys)
MDRV_NVRAM_HANDLER(93C46) MDRV_EEPROM_93C46_ADD("eeprom")
MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)

View File

@ -32,7 +32,7 @@
#include "driver.h" #include "driver.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "deprecat.h" #include "deprecat.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
#include "rendlay.h" #include "rendlay.h"
@ -460,7 +460,7 @@ static WRITE32_HANDLER( tmmjprd_blitter_w )
static UINT8 mux_data; static UINT8 mux_data;
static WRITE32_HANDLER( tmmjprd_eeprom_write ) static WRITE32_DEVICE_HANDLER( tmmjprd_eeprom_write )
{ {
// don't disturb the EEPROM if we're not actually writing to it // don't disturb the EEPROM if we're not actually writing to it
// (in particular, data & 0x100 here with mask = ffff00ff looks to be the watchdog) // (in particular, data & 0x100 here with mask = ffff00ff looks to be the watchdog)
@ -470,13 +470,13 @@ static WRITE32_HANDLER( tmmjprd_eeprom_write )
if (mem_mask == 0xff000000) if (mem_mask == 0xff000000)
{ {
// latch the bit // latch the bit
eeprom_write_bit(data & 0x01000000); eepromdev_write_bit(device, data & 0x01000000);
// reset line asserted: reset. // reset line asserted: reset.
eeprom_set_cs_line((data & 0x04000000) ? CLEAR_LINE : ASSERT_LINE ); eepromdev_set_cs_line(device, (data & 0x04000000) ? CLEAR_LINE : ASSERT_LINE );
// clock line asserted: write latch or select next bit to read // clock line asserted: write latch or select next bit to read
eeprom_set_clock_line((data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE ); eepromdev_set_clock_line(device, (data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE );
} }
} }
@ -507,7 +507,7 @@ static INPUT_PORTS_START( tmmjprd )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_NAME("Right Screen Coin B") // might actually be service 1 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_NAME("Right Screen Coin B") // might actually be service 1
PORT_SERVICE( 0x20, IP_ACTIVE_LOW ) PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) // CHECK! PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eepromdev_read_bit) // CHECK!
PORT_START("PL1_1") PORT_START("PL1_1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(1) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(1)
@ -667,7 +667,7 @@ static ADDRESS_MAP_START( tmmjprd_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x290000, 0x29bfff) AM_RAM AM_BASE(&tmmjprd_spriteram) AM_RANGE(0x290000, 0x29bfff) AM_RAM AM_BASE(&tmmjprd_spriteram)
AM_RANGE(0x29c000, 0x29ffff) AM_RAM_WRITE(tmmjprd_paletteram_dword_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x29c000, 0x29ffff) AM_RAM_WRITE(tmmjprd_paletteram_dword_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x400000, 0x400003) AM_READ(tmmjprd_mux_r) AM_WRITE(tmmjprd_eeprom_write) AM_RANGE(0x400000, 0x400003) AM_READ(tmmjprd_mux_r) AM_DEVWRITE("eeprom", tmmjprd_eeprom_write)
AM_RANGE(0xf00000, 0xffffff) AM_RAM AM_RANGE(0xf00000, 0xffffff) AM_RAM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -718,7 +718,7 @@ static MACHINE_DRIVER_START( tmmjprd )
MDRV_CPU_ADD("maincpu",M68EC020,24000000) /* 24 MHz */ MDRV_CPU_ADD("maincpu",M68EC020,24000000) /* 24 MHz */
MDRV_CPU_PROGRAM_MAP(tmmjprd_map) MDRV_CPU_PROGRAM_MAP(tmmjprd_map)
MDRV_CPU_VBLANK_INT_HACK(tmmjprd_interrupt,2) MDRV_CPU_VBLANK_INT_HACK(tmmjprd_interrupt,2)
MDRV_NVRAM_HANDLER(93C46) MDRV_EEPROM_93C46_ADD("eeprom")
MDRV_GFXDECODE(tmmjprd) MDRV_GFXDECODE(tmmjprd)

View File

@ -71,7 +71,7 @@
***************************************************************************/ ***************************************************************************/
#include "driver.h" #include "driver.h"
#include "machine/eeprom.h" #include "machine/eepromdev.h"
#include "includes/decoprot.h" #include "includes/decoprot.h"
#define DECO_PORT(p) (prot_ram[p/2]) #define DECO_PORT(p) (prot_ram[p/2])
@ -1311,7 +1311,7 @@ static READ16_HANDLER( deco16_146_core_prot_r )
// case 0x582: return input_port_read(space->machine, "IN0"); /* IN0 */ // case 0x582: return input_port_read(space->machine, "IN0"); /* IN0 */
// case 0x672: return input_port_read(space->machine, "IN1"); /* IN1 */ // case 0x672: return input_port_read(space->machine, "IN1"); /* IN1 */
// case 0x04c: return eeprom_read_bit(); // case 0x04c: return eepromdev_read_bit(devtag_get_device(space->machine, "eeprom"));
case 0x468: case 0x468:
val=DECO_PORT(0x570); val=DECO_PORT(0x570);
@ -1660,7 +1660,7 @@ READ32_HANDLER( deco16_146_fghthist_prot_r )
{ {
case 0x582: return (input_port_read(space->machine, "IN0")<<16) | 0xffff; /* IN0 */ case 0x582: return (input_port_read(space->machine, "IN0")<<16) | 0xffff; /* IN0 */
case 0x672: return (input_port_read(space->machine, "IN1")<<16) | 0xffff; /* IN1 */ case 0x672: return (input_port_read(space->machine, "IN1")<<16) | 0xffff; /* IN1 */
case 0x04c: return (eeprom_read_bit()<<16) | 0xffff; case 0x04c: return (eepromdev_read_bit(devtag_get_device(space->machine, "eeprom"))<<16) | 0xffff;
} }
/* Handle 'one shots' - writing data to an address, then immediately reading it back */ /* Handle 'one shots' - writing data to an address, then immediately reading it back */

View File

@ -16,7 +16,7 @@ Currently none of the MCUs' internal roms are dumped so simulation is used
#include "includes/kaneko16.h" #include "includes/kaneko16.h"
#include "kanekotb.h" // TOYBOX MCU trojaning results #include "kanekotb.h" // TOYBOX MCU trojaning results
#include "machine/eeprom.h" #include "machine/eepromdev.h"
#define CALC3_VERBOSE_OUTPUT 0 #define CALC3_VERBOSE_OUTPUT 0
@ -1817,7 +1817,7 @@ static int calc3_decompress_table(running_machine* machine, int tabnum, UINT8* d
UINT32 length, size; UINT32 length, size;
UINT8 *dat; UINT8 *dat;
dat = (UINT8 *)eeprom_get_data_pointer(&length, &size); dat = (UINT8 *)eepromdev_get_data_pointer(devtag_get_device(space->machine, "eeprom"), &length, &size);
for (i=0;i<0x80;i++) for (i=0;i<0x80;i++)
{ {
@ -2167,7 +2167,7 @@ void calc3_mcu_run(running_machine *machine)
UINT32 length, size; UINT32 length, size;
UINT8 *dat; UINT8 *dat;
dat = (UINT8 *)eeprom_get_data_pointer(&length, &size); dat = (UINT8 *)eepromdev_get_data_pointer(devtag_get_device(space->machine, "eeprom"), &length, &size);
for (i=0;i<0x80;i++) for (i=0;i<0x80;i++)
{ {