mirror of
https://github.com/holub/mame
synced 2025-06-07 05:13:46 +03:00
Removed legacy trampolines from eeprom_device, taking
advantage of new input port support for delegates.
This commit is contained in:
parent
b56339a9a0
commit
8afce7956a
@ -643,9 +643,9 @@ public:
|
||||
INT32 delta; /* delta to apply each frame a digital inc/dec key is pressed */
|
||||
INT32 centerdelta; /* delta to apply each frame no digital inputs are pressed */
|
||||
UINT8 crossaxis; /* crosshair axis */
|
||||
float crossscale; /* crosshair scale */
|
||||
float crossoffset; /* crosshair offset */
|
||||
float crossaltaxis; /* crosshair alternate axis value */
|
||||
double crossscale; /* crosshair scale */
|
||||
double crossoffset; /* crosshair offset */
|
||||
double crossaltaxis; /* crosshair alternate axis value */
|
||||
input_field_crossmap_delegate crossmapper; /* crosshair mapping function */
|
||||
const char * crossmapper_device; /* parameter for write callback routine */
|
||||
UINT16 full_turn_count;/* number of optical counts for 1 full turn of the original control */
|
||||
|
@ -313,12 +313,7 @@ void eeprom_device::nvram_write(emu_file &file)
|
||||
// READ/WRITE HANDLERS
|
||||
//**************************************************************************
|
||||
|
||||
WRITE_LINE_DEVICE_HANDLER( eeprom_write_bit )
|
||||
{
|
||||
downcast<eeprom_device *>(device)->write_bit(state);
|
||||
}
|
||||
|
||||
void eeprom_device::write_bit(int state)
|
||||
WRITE_LINE_MEMBER( eeprom_device::write_bit )
|
||||
{
|
||||
LOG(("write bit %d\n",state));
|
||||
m_latch = state;
|
||||
@ -330,7 +325,7 @@ READ_LINE_DEVICE_HANDLER( eeprom_read_bit )
|
||||
return downcast<eeprom_device *>(device)->read_bit();
|
||||
}
|
||||
|
||||
int eeprom_device::read_bit()
|
||||
READ_LINE_MEMBER( eeprom_device::read_bit )
|
||||
{
|
||||
int res;
|
||||
|
||||
@ -355,12 +350,7 @@ int eeprom_device::read_bit()
|
||||
|
||||
|
||||
|
||||
WRITE_LINE_DEVICE_HANDLER( eeprom_set_cs_line )
|
||||
{
|
||||
downcast<eeprom_device *>(device)->set_cs_line(state);
|
||||
}
|
||||
|
||||
void eeprom_device::set_cs_line(int state)
|
||||
WRITE_LINE_MEMBER( eeprom_device::set_cs_line )
|
||||
{
|
||||
LOG(("set reset line %d\n",state));
|
||||
m_reset_line = state;
|
||||
@ -378,12 +368,7 @@ void eeprom_device::set_cs_line(int state)
|
||||
|
||||
|
||||
|
||||
WRITE_LINE_DEVICE_HANDLER( eeprom_set_clock_line )
|
||||
{
|
||||
downcast<eeprom_device *>(device)->set_clock_line(state);
|
||||
}
|
||||
|
||||
void eeprom_device::set_clock_line(int state)
|
||||
WRITE_LINE_MEMBER( eeprom_device::set_clock_line )
|
||||
{
|
||||
LOG(("set clock line %d\n",state));
|
||||
if (state == PULSE_LINE || (m_clock_line == CLEAR_LINE && state != CLEAR_LINE))
|
||||
|
@ -79,10 +79,10 @@ public:
|
||||
static void static_set_default_value(device_t &device, UINT16 value);
|
||||
|
||||
// I/O operations
|
||||
void write_bit(int state);
|
||||
int read_bit();
|
||||
void set_cs_line(int state);
|
||||
void set_clock_line(int state);
|
||||
DECLARE_WRITE_LINE_MEMBER( write_bit );
|
||||
DECLARE_READ_LINE_MEMBER( read_bit );
|
||||
DECLARE_WRITE_LINE_MEMBER( set_cs_line );
|
||||
DECLARE_WRITE_LINE_MEMBER( set_clock_line );
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
@ -139,14 +139,4 @@ extern const eeprom_interface eeprom_interface_93C46_8bit;
|
||||
extern const eeprom_interface eeprom_interface_93C66B;
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// READ/WRITE HANDLERS
|
||||
//**************************************************************************
|
||||
|
||||
WRITE_LINE_DEVICE_HANDLER( eeprom_write_bit );
|
||||
READ_LINE_DEVICE_HANDLER( eeprom_read_bit );
|
||||
WRITE_LINE_DEVICE_HANDLER( eeprom_set_cs_line );
|
||||
WRITE_LINE_DEVICE_HANDLER( eeprom_set_clock_line );
|
||||
|
||||
#endif
|
||||
|
@ -286,12 +286,12 @@ static INPUT_PORTS_START( 20pacgal )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START( "EEPROMIN" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* bit 7 is EEPROM data */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* bit 7 is EEPROM data */
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line) /* bit 5 is cs (active low) */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line) /* bit 6 is clock (active high) */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit) /* bit 7 is data */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line) /* bit 5 is cs (active low) */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line) /* bit 6 is clock (active high) */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit) /* bit 7 is data */
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -809,7 +809,7 @@ static READ32_HANDLER( pxa255_gpio_r )
|
||||
{
|
||||
case PXA255_GPLR0:
|
||||
verboselog( space->machine(), 3, "pxa255_gpio_r: GPIO Pin-Level Register 0: %08x & %08x\n", gpio_regs->gplr0 | (1 << 1), mem_mask );
|
||||
return gpio_regs->gplr0 | (1 << 1) | (eeprom_read_bit(state->m_eeprom) << 5); // Must be on. Probably a DIP switch.
|
||||
return gpio_regs->gplr0 | (1 << 1) | (state->m_eeprom->read_bit() << 5); // Must be on. Probably a DIP switch.
|
||||
case PXA255_GPLR1:
|
||||
verboselog( space->machine(), 3, "pxa255_gpio_r: *Not Yet Implemented* GPIO Pin-Level Register 1: %08x & %08x\n", gpio_regs->gplr1, mem_mask );
|
||||
return 0xff9fffff;
|
||||
@ -931,15 +931,15 @@ static WRITE32_HANDLER( pxa255_gpio_w )
|
||||
gpio_regs->gpsr0 |= data & gpio_regs->gpdr0;
|
||||
if(data & 0x00000004)
|
||||
{
|
||||
eeprom_set_cs_line(state->m_eeprom, CLEAR_LINE);
|
||||
state->m_eeprom->set_cs_line(CLEAR_LINE);
|
||||
}
|
||||
if(data & 0x00000008)
|
||||
{
|
||||
eeprom_set_clock_line(state->m_eeprom, ASSERT_LINE);
|
||||
state->m_eeprom->set_clock_line(ASSERT_LINE);
|
||||
}
|
||||
if(data & 0x00000010)
|
||||
{
|
||||
eeprom_write_bit(state->m_eeprom, 1);
|
||||
state->m_eeprom->write_bit(1);
|
||||
}
|
||||
break;
|
||||
case PXA255_GPSR1:
|
||||
@ -955,15 +955,15 @@ static WRITE32_HANDLER( pxa255_gpio_w )
|
||||
gpio_regs->gpsr0 &= ~(data & gpio_regs->gpdr0);
|
||||
if(data & 0x00000004)
|
||||
{
|
||||
eeprom_set_cs_line(state->m_eeprom, ASSERT_LINE);
|
||||
state->m_eeprom->set_cs_line(ASSERT_LINE);
|
||||
}
|
||||
if(data & 0x00000008)
|
||||
{
|
||||
eeprom_set_clock_line(state->m_eeprom, CLEAR_LINE);
|
||||
state->m_eeprom->set_clock_line(CLEAR_LINE);
|
||||
}
|
||||
if(data & 0x00000010)
|
||||
{
|
||||
eeprom_write_bit(state->m_eeprom, 0);
|
||||
state->m_eeprom->write_bit(0);
|
||||
}
|
||||
break;
|
||||
case PXA255_GPCR1:
|
||||
|
@ -260,7 +260,7 @@ static INPUT_PORTS_START( yumefuda )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Coin Out")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Pay Out")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_NAME("Init SW")
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN0")
|
||||
@ -314,9 +314,9 @@ static INPUT_PORTS_START( yumefuda )
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
|
||||
/* Unused, on the PCB there's just one bank */
|
||||
PORT_START("DSW1")
|
||||
|
@ -218,15 +218,15 @@ static INPUT_PORTS_START( asterix )
|
||||
|
||||
PORT_START("IN1")
|
||||
KONAMI16_LSB(2, IPT_UNKNOWN, IPT_START2)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED ) // EEPROM ready (always 1)
|
||||
PORT_SERVICE_NO_TOGGLE(0x0400, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0xf800, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -368,12 +368,12 @@ static INPUT_PORTS_START( showhand )
|
||||
|
||||
PORT_START( "EEPROMIN" )
|
||||
PORT_BIT( 0xfff7, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( showhanc )
|
||||
@ -397,12 +397,12 @@ static INPUT_PORTS_START( showhanc )
|
||||
|
||||
PORT_START( "EEPROMIN" )
|
||||
PORT_BIT( 0xfff7, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( skilldrp )
|
||||
@ -426,12 +426,12 @@ static INPUT_PORTS_START( skilldrp )
|
||||
|
||||
PORT_START( "EEPROMIN" )
|
||||
PORT_BIT( 0xfff7, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -119,7 +119,7 @@ static INPUT_PORTS_START( ataxx )
|
||||
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN2") /* 0x20 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("AN0") /* 0x00 - analog X */
|
||||
@ -150,7 +150,7 @@ static INPUT_PORTS_START( wsf )
|
||||
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN2") /* 0x20 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -202,7 +202,7 @@ static INPUT_PORTS_START( indyheat )
|
||||
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN2") /* 0x20 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("AN0") /* Analog wheel 1 */
|
||||
@ -248,7 +248,7 @@ static INPUT_PORTS_START( brutforc )
|
||||
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN2") /* 0x20 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("P1") /* 0x0E */
|
||||
|
@ -45,7 +45,7 @@ public:
|
||||
|
||||
device_t *m_lscreen;
|
||||
device_t *m_rscreen;
|
||||
device_t *m_eeprom;
|
||||
eeprom_device *m_eeprom;
|
||||
|
||||
/* memory */
|
||||
UINT16 m_pf1_rowscroll[0x0800/2];
|
||||
@ -144,7 +144,8 @@ static READ32_DEVICE_HANDLER( backfire_eeprom_r )
|
||||
{
|
||||
/* some kind of screen indicator? checked by backfirea set before it will boot */
|
||||
int backfire_screen = device->machine().rand() & 1;
|
||||
return ((eeprom_read_bit(device) << 24) | input_port_read(device->machine(), "IN0")
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return ((eeprom->read_bit() << 24) | input_port_read(device->machine(), "IN0")
|
||||
| ((input_port_read(device->machine(), "IN2") & 0xbf) << 16)
|
||||
| ((input_port_read(device->machine(), "IN3") & 0x40) << 16)) ^ (backfire_screen << 26) ;
|
||||
}
|
||||
@ -154,7 +155,7 @@ static READ32_HANDLER( backfire_control2_r )
|
||||
backfire_state *state = space->machine().driver_data<backfire_state>();
|
||||
|
||||
// logerror("%08x:Read eprom %08x (%08x)\n", cpu_get_pc(&space->device()), offset << 1, mem_mask);
|
||||
return (eeprom_read_bit(state->m_eeprom) << 24) | input_port_read(space->machine(), "IN1") | (input_port_read(space->machine(), "IN1") << 16);
|
||||
return (state->m_eeprom->read_bit() << 24) | input_port_read(space->machine(), "IN1") | (input_port_read(space->machine(), "IN1") << 16);
|
||||
}
|
||||
|
||||
#ifdef UNUSED_FUNCTION
|
||||
@ -163,7 +164,7 @@ static READ32_HANDLER(backfire_control3_r)
|
||||
backfire_state *state = space->machine().driver_data<backfire_state>();
|
||||
|
||||
// logerror("%08x:Read eprom %08x (%08x)\n", cpu_get_pc(&space->device()), offset << 1, mem_mask);
|
||||
return (eeprom_read_bit(state->m_eeprom) << 24) | input_port_read(space->machine(), "IN2") | (input_port_read(space->machine(), "IN2") << 16);
|
||||
return (state->m_eeprom->read_bit() << 24) | input_port_read(space->machine(), "IN2") | (input_port_read(space->machine(), "IN2") << 16);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -173,9 +174,10 @@ static WRITE32_DEVICE_HANDLER(backfire_eeprom_w)
|
||||
logerror("%s:write eprom %08x (%08x) %08x\n",device->machine().describe_context(),offset<<1,mem_mask,data);
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
eeprom_set_clock_line(device, BIT(data, 1) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(device, BIT(data, 0));
|
||||
eeprom_set_cs_line(device, BIT(data, 2) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_clock_line(BIT(data, 1) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->write_bit(BIT(data, 0));
|
||||
eeprom->set_cs_line(BIT(data, 2) ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -447,7 +449,7 @@ static MACHINE_START( backfire )
|
||||
state->m_deco_tilegen2 = machine.device("tilegen2");
|
||||
state->m_lscreen = machine.device("lscreen");
|
||||
state->m_rscreen = machine.device("rscreen");
|
||||
state->m_eeprom = machine.device("eeprom");
|
||||
state->m_eeprom = machine.device<eeprom_device>("eeprom");
|
||||
}
|
||||
|
||||
UINT16 backfire_pri_callback(UINT16 x)
|
||||
|
@ -299,13 +299,14 @@ static WRITE16_DEVICE_HANDLER( cave_eeprom_msb_w )
|
||||
coin_counter_w(device->machine(), 0, data & 0x1000);
|
||||
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x0800);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x0800);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x0200) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_cs_line((data & 0x0200) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x0400) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->set_clock_line((data & 0x0400) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -320,13 +321,14 @@ static WRITE16_DEVICE_HANDLER( hotdogst_eeprom_msb_w )
|
||||
if (ACCESSING_BITS_8_15) // even address
|
||||
{
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x0800);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x0800);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x0200) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_cs_line((data & 0x0200) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x0400) ? CLEAR_LINE: ASSERT_LINE);
|
||||
eeprom->set_clock_line((data & 0x0400) ? CLEAR_LINE: ASSERT_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -343,13 +345,14 @@ static WRITE16_DEVICE_HANDLER( cave_eeprom_lsb_w )
|
||||
coin_counter_w(device->machine(), 0, data & 0x0001);
|
||||
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x80);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x80);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->set_clock_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -378,13 +381,14 @@ static WRITE16_DEVICE_HANDLER( metmqstr_eeprom_msb_w )
|
||||
if (~data & 0x0100)
|
||||
{
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x0800);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x0800);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x0200) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_cs_line((data & 0x0200) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x0400) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->set_clock_line((data & 0x0400) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -680,13 +684,14 @@ static WRITE16_DEVICE_HANDLER( korokoro_eeprom_msb_w )
|
||||
state->m_hopper = data & 0x0100; // ???
|
||||
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x4000);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x4000);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x1000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_cs_line((data & 0x1000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x2000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->set_clock_line((data & 0x2000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -795,7 +800,8 @@ ADDRESS_MAP_END
|
||||
|
||||
static READ16_DEVICE_HANDLER( pwrinst2_eeprom_r )
|
||||
{
|
||||
return ~8 + ((eeprom_read_bit(device) & 1) ? 8 : 0);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return ~8 + ((eeprom->read_bit() & 1) ? 8 : 0);
|
||||
}
|
||||
|
||||
INLINE void vctrl_w(address_space *space, offs_t offset, UINT16 data, UINT16 mem_mask, int GFX)
|
||||
@ -898,13 +904,14 @@ static WRITE16_DEVICE_HANDLER( tjumpman_eeprom_lsb_w )
|
||||
if (ACCESSING_BITS_0_7) // odd address
|
||||
{
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x0020);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x0020);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x0008) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_cs_line((data & 0x0008) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x0010) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->set_clock_line((data & 0x0010) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1291,7 +1298,7 @@ static INPUT_PORTS_START( cave )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(6)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -1444,7 +1451,7 @@ static INPUT_PORTS_START( guwange )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -1488,7 +1495,7 @@ static INPUT_PORTS_START( korokoro )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -1500,7 +1507,7 @@ static INPUT_PORTS_START( tjumpman )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x01, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( DEF_STR( Yes ) ) PORT_CODE(KEYCODE_Y) // suru ("do")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME( "1 Bet" )
|
||||
@ -1525,7 +1532,7 @@ static INPUT_PORTS_START( pacslot )
|
||||
PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) // credits
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Pac-Man" ) PORT_CODE(KEYCODE_Y)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME( "Bet" )
|
||||
|
@ -172,16 +172,16 @@ static INPUT_PORTS_START( cbasebal )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_VBLANK ) /* ? */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START( "IO_01" )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
|
||||
PORT_START( "IO_02" )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
|
||||
PORT_START( "IO_03" )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -2212,12 +2212,12 @@ static INPUT_PORTS_START( wof )
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMIN" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Needs further checking */
|
||||
@ -2247,12 +2247,12 @@ static INPUT_PORTS_START( dino )
|
||||
PORT_INCLUDE( dinopic )
|
||||
|
||||
PORT_START( "EEPROMIN" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -2380,12 +2380,12 @@ static INPUT_PORTS_START( punisher )
|
||||
PORT_INCLUDE( punipic )
|
||||
|
||||
PORT_START( "EEPROMIN" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -2480,12 +2480,12 @@ static INPUT_PORTS_START( slammast )
|
||||
PORT_BIT( 0xf7, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMIN" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Needs further checking */
|
||||
@ -2722,12 +2722,12 @@ static INPUT_PORTS_START( pang3 )
|
||||
PORT_DIPUNUSED( 0x80, 0x80 ) /* doubles up as an extra service switch */
|
||||
|
||||
PORT_START( "EEPROMIN" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Needs further checking */
|
||||
@ -2933,12 +2933,12 @@ static INPUT_PORTS_START( wofch )
|
||||
PORT_INCLUDE( sfzch )
|
||||
|
||||
PORT_START( "EEPROMIN" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/*
|
||||
|
@ -922,7 +922,7 @@ static INPUT_PORTS_START( cps2_4p4b )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(4)
|
||||
|
||||
PORT_START("IN2") /* (0x20) */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0002, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x00f8, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -936,9 +936,9 @@ static INPUT_PORTS_START( cps2_4p4b )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN4 )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* 4 players and 3 buttons */
|
||||
|
@ -249,13 +249,14 @@ static WRITE32_DEVICE_HANDLER( darkhors_eeprom_w )
|
||||
if ( ACCESSING_BITS_24_31 )
|
||||
{
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x04000000);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x04000000);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x01000000) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_cs_line((data & 0x01000000) ? CLEAR_LINE : ASSERT_LINE );
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom->set_clock_line((data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
}
|
||||
|
||||
@ -421,7 +422,7 @@ static INPUT_PORTS_START( darkhors )
|
||||
PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // test
|
||||
PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // door 1
|
||||
PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // door 2
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_START1 ) // start
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Payout") PORT_CODE(KEYCODE_LCONTROL) // payout
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Cancel") PORT_CODE(KEYCODE_LALT) // cancel
|
||||
|
@ -261,7 +261,7 @@ static INPUT_PORTS_START( dcheese )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE ) /* says tilt */
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_TILT ) /* says test */
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON3 ) /* bump left */
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) /* bump right */
|
||||
@ -299,9 +299,9 @@ static INPUT_PORTS_START( dcheese )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -313,7 +313,7 @@ static INPUT_PORTS_START( lottof2 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x1f00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* button */
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* ticket */
|
||||
@ -347,9 +347,9 @@ static INPUT_PORTS_START( lottof2 )
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -361,7 +361,7 @@ static INPUT_PORTS_START( fredmem )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x1f00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_5_PAD)
|
||||
PORT_BIT( 0xc000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -397,9 +397,9 @@ static INPUT_PORTS_START( fredmem )
|
||||
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -186,7 +186,7 @@ static INPUT_PORTS_START( hvysmsh )
|
||||
PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -196,9 +196,9 @@ static INPUT_PORTS_START( hvysmsh )
|
||||
PORT_BIT( 0x80000000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( wcvol95 )
|
||||
@ -228,7 +228,7 @@ static INPUT_PORTS_START( wcvol95 )
|
||||
PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_UNUSED ) /* 'soundmask' */
|
||||
PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -238,9 +238,9 @@ static INPUT_PORTS_START( wcvol95 )
|
||||
PORT_BIT( 0x80000000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -398,7 +398,7 @@ static READ32_HANDLER( fghthist_control_r )
|
||||
switch (offset) {
|
||||
case 0: return 0xffff0000 | input_port_read(space->machine(), "IN0");
|
||||
case 1: return 0xffff0000 | input_port_read(space->machine(), "IN1"); //check top bits??
|
||||
case 2: return 0xfffffffe | eeprom_read_bit(space->machine().device("eeprom"));
|
||||
case 2: return 0xfffffffe | space->machine().device<eeprom_device>("eeprom")->read_bit();
|
||||
}
|
||||
|
||||
return 0xffffffff;
|
||||
@ -407,10 +407,10 @@ static READ32_HANDLER( fghthist_control_r )
|
||||
static WRITE32_HANDLER( fghthist_eeprom_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7) {
|
||||
eeprom_device *device = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom_set_clock_line(device, (data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(device, data & 0x10);
|
||||
eeprom_set_cs_line(device, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->write_bit(data & 0x10);
|
||||
eeprom->set_cs_line((data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
deco32_pri_w(space,0,data&0x1,0xffffffff); /* Bit 0 - layer priority toggle */
|
||||
}
|
||||
@ -480,15 +480,17 @@ static WRITE32_HANDLER( dragngun_lightgun_w )
|
||||
|
||||
static READ32_DEVICE_HANDLER( dragngun_eeprom_r )
|
||||
{
|
||||
return 0xfffffffe | eeprom_read_bit(device);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return 0xfffffffe | eeprom->read_bit();
|
||||
}
|
||||
|
||||
static WRITE32_DEVICE_HANDLER( dragngun_eeprom_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7) {
|
||||
eeprom_set_clock_line(device, (data & 0x2) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(device, data & 0x1);
|
||||
eeprom_set_cs_line(device, (data & 0x4) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_clock_line((data & 0x2) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->write_bit(data & 0x1);
|
||||
eeprom->set_cs_line((data & 0x4) ? CLEAR_LINE : ASSERT_LINE);
|
||||
return;
|
||||
}
|
||||
logerror("%s:Write control 1 %08x %08x\n",device->machine().describe_context(),offset,data);
|
||||
@ -662,7 +664,7 @@ static READ32_HANDLER( nslasher_prot_r )
|
||||
switch (offset<<1) {
|
||||
case 0x280: return input_port_read(space->machine(), "IN0") << 16| 0xffff; /* IN0 */
|
||||
case 0x4c4: return input_port_read(space->machine(), "IN1") << 16| 0xffff; /* IN1 */
|
||||
case 0x35a: return (eeprom_read_bit(space->machine().device("eeprom"))<< 16) | 0xffff; // Debug switch in low word??
|
||||
case 0x35a: return (space->machine().device<eeprom_device>("eeprom")->read_bit()<< 16) | 0xffff; // Debug switch in low word??
|
||||
}
|
||||
|
||||
//logerror("%08x: Read unmapped prot %08x (%08x)\n",cpu_get_pc(&space->device()),offset<<1,mem_mask);
|
||||
@ -674,10 +676,10 @@ static WRITE32_HANDLER( nslasher_eeprom_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
eeprom_device *device = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom_set_clock_line(device, (data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(device, data & 0x10);
|
||||
eeprom_set_cs_line(device, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->write_bit(data & 0x10);
|
||||
eeprom->set_cs_line((data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
deco32_pri_w(space,0,data&0x3,0xffffffff); /* Bit 0 - layer priority toggle, Bit 1 - BG2/3 Joint mode (8bpp) */
|
||||
}
|
||||
|
@ -132,9 +132,10 @@ static WRITE32_DEVICE_HANDLER( avengrs_eprom_w )
|
||||
if (ACCESSING_BITS_8_15) {
|
||||
UINT8 ebyte=(data>>8)&0xff;
|
||||
// if (ebyte&0x80) {
|
||||
eeprom_set_clock_line(device, (ebyte & 0x2) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(device, ebyte & 0x1);
|
||||
eeprom_set_cs_line(device, (ebyte & 0x4) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_clock_line((ebyte & 0x2) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->write_bit(ebyte & 0x1);
|
||||
eeprom->set_cs_line((ebyte & 0x4) ? CLEAR_LINE : ASSERT_LINE);
|
||||
// }
|
||||
}
|
||||
else if (ACCESSING_BITS_0_7) {
|
||||
@ -308,7 +309,7 @@ static INPUT_PORTS_START( mlc )
|
||||
PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -1616,7 +1616,8 @@ static const eeprom_interface braze_eeprom_intf =
|
||||
|
||||
static READ8_DEVICE_HANDLER( braze_eeprom_r )
|
||||
{
|
||||
return eeprom_read_bit(device);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return eeprom->read_bit();
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( braze_a15_w )
|
||||
@ -1627,9 +1628,10 @@ static WRITE8_HANDLER( braze_a15_w )
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( braze_eeprom_w )
|
||||
{
|
||||
eeprom_write_bit(device, data & 0x01);
|
||||
eeprom_set_cs_line(device, data & 0x04 ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_set_clock_line(device, data & 0x02 ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x01);
|
||||
eeprom->set_cs_line(data & 0x04 ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_clock_line(data & 0x02 ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
static void braze_decrypt_rom(running_machine &machine, UINT8 *dest)
|
||||
|
@ -139,7 +139,7 @@ static INPUT_PORTS_START( common )
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(eolith_speedup_getvblank, NULL)
|
||||
@ -167,9 +167,9 @@ static INPUT_PORTS_START( common )
|
||||
PORT_BIT( 0xffffffff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( ironfort )
|
||||
@ -177,7 +177,7 @@ static INPUT_PORTS_START( ironfort )
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(eolith_speedup_getvblank, NULL)
|
||||
@ -226,9 +226,9 @@ static INPUT_PORTS_START( ironfort )
|
||||
PORT_BIT( 0xffffff00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( ironfortj )
|
||||
|
@ -88,7 +88,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( eolith16 )
|
||||
PORT_START("SPECIAL")
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(eolith_speedup_getvblank, NULL)
|
||||
PORT_BIT( 0xff6f, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
@ -111,9 +111,9 @@ static INPUT_PORTS_START( eolith16 )
|
||||
PORT_BIT( 0xffe0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static VIDEO_START( eolith16 )
|
||||
|
@ -118,7 +118,7 @@ static READ16_HANDLER( esd_eeprom_r )
|
||||
esd16_state *state = space->machine().driver_data<esd16_state>();
|
||||
if (ACCESSING_BITS_8_15)
|
||||
{
|
||||
return ((eeprom_read_bit(state->m_eeprom) & 0x01) << 15);
|
||||
return ((state->m_eeprom->read_bit() & 0x01) << 15);
|
||||
}
|
||||
|
||||
// logerror("(0x%06x) unk EEPROM read: %04x\n", cpu_get_pc(&space->device()), mem_mask);
|
||||
@ -377,9 +377,9 @@ static INPUT_PORTS_START( hedpanic )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -414,9 +414,9 @@ static INPUT_PORTS_START( swatpolc )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/***************************************************************************
|
||||
@ -524,7 +524,7 @@ static MACHINE_START( esd16 )
|
||||
memory_configure_bank(machine, "bank1", 0, 17, &AUDIO[0x0000], 0x4000);
|
||||
|
||||
state->m_audio_cpu = machine.device("audiocpu");
|
||||
state->m_eeprom = machine.device("eeprom");
|
||||
state->m_eeprom = machine.device<eeprom_device>("eeprom");
|
||||
|
||||
state->save_item(NAME(state->m_tilemap0_color));
|
||||
}
|
||||
|
@ -117,16 +117,16 @@ static INPUT_PORTS_START( mosaicf2 )
|
||||
PORT_BIT( 0xff000000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMIN" )
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
|
||||
PORT_START( "EEPROMCLK" )
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
|
||||
PORT_START( "EEPROMCS" )
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static MACHINE_CONFIG_START( mosaicf2, mosaicf2_state )
|
||||
|
@ -73,15 +73,17 @@ static SCREEN_UPDATE(fortecar)
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( ppi0_portc_w )
|
||||
{
|
||||
eeprom_write_bit(device, data & 0x04);
|
||||
eeprom_set_cs_line(device, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_set_clock_line(device, (data & 0x02) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x04);
|
||||
eeprom->set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_clock_line((data & 0x02) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
static READ8_DEVICE_HANDLER( ppi0_portc_r )
|
||||
{
|
||||
// popmessage("%s",device->machine().describe_context());
|
||||
return (~(eeprom_read_bit(device)<<1) & 2);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return (~(eeprom->read_bit()<<1) & 2);
|
||||
}
|
||||
|
||||
static const ppi8255_interface ppi0intf =
|
||||
|
@ -328,7 +328,7 @@ static INPUT_PORTS_START( fromanc2 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(subcpu_int_r, NULL) // SUBCPU INT FLAG
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(sndcpu_nmi_r, NULL) // SNDCPU NMI FLAG
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(subcpu_nmi_r, NULL) // SUBCPU NMI FLAG
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME( "Service Mode (1P)" ) PORT_CODE(KEYCODE_F2) // TEST (1P)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME( "Service Mode (2P)" ) PORT_CODE(KEYCODE_F2) // TEST (2P)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -411,9 +411,9 @@ static INPUT_PORTS_START( fromanc2 )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
#ifdef UNREFERENCED_CODE
|
||||
@ -421,9 +421,9 @@ static INPUT_PORTS_START( fromancr )
|
||||
PORT_INCLUDE( fromanc2 )
|
||||
|
||||
PORT_MODIFY("EEPROMOUT")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
#endif
|
||||
|
||||
@ -438,14 +438,14 @@ static INPUT_PORTS_START( fromanc4 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_COIN4 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(sndcpu_nmi_r, NULL) // SNDCPU NMI FLAG
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_MODIFY("EEPROMOUT")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -252,7 +252,7 @@ static INPUT_PORTS_START( bang )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* bit 6 is EEPROM data (DOUT) */
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* bit 6 is EEPROM data (DOUT) */
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SPECIAL ) /* bit 7 is EEPROM ready */
|
||||
|
||||
PORT_START("LIGHT0_X")
|
||||
@ -958,7 +958,7 @@ static INPUT_PORTS_START( snowboar )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* bit 6 is EEPROM data (DOUT) */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* bit 6 is EEPROM data (DOUT) */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) /* bit 7 is EEPROM ready */
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
@ -296,7 +296,8 @@ static READ16_DEVICE_HANDLER( eeprom_data_r )
|
||||
result |= gaelco_serial_status_r(device->machine().device("serial"), 0);
|
||||
}
|
||||
|
||||
if (eeprom_read_bit(device))
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
if (eeprom->read_bit())
|
||||
result ^= 0x0004;
|
||||
if (LOG)
|
||||
logerror("eeprom_data_r(%02X)\n", result);
|
||||
@ -324,7 +325,10 @@ static READ32_DEVICE_HANDLER( eeprom_data32_r )
|
||||
static WRITE16_DEVICE_HANDLER( eeprom_data_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
eeprom_write_bit(device, data & 0x01);
|
||||
{
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x01);
|
||||
}
|
||||
else if (mem_mask != 0xffff)
|
||||
logerror("write mask: %08x data %08x\n", mem_mask, data);
|
||||
}
|
||||
@ -333,14 +337,20 @@ static WRITE16_DEVICE_HANDLER( eeprom_data_w )
|
||||
static WRITE16_DEVICE_HANDLER( eeprom_clock_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
eeprom_set_clock_line(device, (data & 0x01) ? ASSERT_LINE : CLEAR_LINE);
|
||||
{
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_clock_line((data & 0x01) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static WRITE16_DEVICE_HANDLER( eeprom_cs_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
eeprom_set_cs_line(device, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
|
||||
{
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -127,10 +127,10 @@ popmessage(t);
|
||||
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
device_t *device = space->machine().device("eeprom");
|
||||
eeprom_set_clock_line(device, (data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(device, data & 0x40);
|
||||
eeprom_set_cs_line(device, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->write_bit(data & 0x40);
|
||||
eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
@ -204,7 +204,7 @@ static INPUT_PORTS_START( galastrm )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(frame_counter_r, NULL)
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -38,7 +38,8 @@ To Do:
|
||||
static READ16_DEVICE_HANDLER(galpani2_eeprom_r)
|
||||
{
|
||||
galpani2_state *state = device->machine().driver_data<galpani2_state>();
|
||||
return (state->m_eeprom_word & ~1) | (eeprom_read_bit(device) & 1);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return (state->m_eeprom_word & ~1) | (eeprom->read_bit() & 1);
|
||||
}
|
||||
|
||||
static WRITE16_DEVICE_HANDLER(galpani2_eeprom_w)
|
||||
@ -48,13 +49,14 @@ static WRITE16_DEVICE_HANDLER(galpani2_eeprom_w)
|
||||
if ( ACCESSING_BITS_0_7 )
|
||||
{
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x02);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x02);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_cs_line((data & 0x08) ? CLEAR_LINE : ASSERT_LINE );
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x04) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom->set_clock_line((data & 0x04) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -210,14 +210,14 @@ static INPUT_PORTS_START( gijoe )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START3 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START4 )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SPECIAL ) // EEPROM ready (always 1)
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0800, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
|
@ -249,7 +249,7 @@ static INPUT_PORTS_START( groundfx )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_BUTTON3 ) /* shift hi */
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* brake */
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -261,9 +261,9 @@ static INPUT_PORTS_START( groundfx )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
PORT_SERVICE_NO_TOGGLE( 0x00000001, IP_ACTIVE_LOW )
|
||||
|
@ -322,7 +322,7 @@ static READ8_HANDLER( sysreg_r )
|
||||
{
|
||||
static const char *const portnames[] = { "IN0", "IN1", "IN2", "IN3" };
|
||||
device_t *adc1038 = space->machine().device("adc1038");
|
||||
device_t *eeprom = space->machine().device("eeprom");
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
@ -342,7 +342,7 @@ static READ8_HANDLER( sysreg_r )
|
||||
// a = ADC readout
|
||||
// e = EEPROM data out
|
||||
|
||||
UINT32 eeprom_bit = (eeprom_read_bit(eeprom) << 1);
|
||||
UINT32 eeprom_bit = (eeprom->read_bit() << 1);
|
||||
UINT32 adc_bit = (adc1038_do_read(adc1038) << 2);
|
||||
return (eeprom_bit | adc_bit);
|
||||
}
|
||||
@ -357,7 +357,7 @@ static READ8_HANDLER( sysreg_r )
|
||||
static WRITE8_HANDLER( sysreg_w )
|
||||
{
|
||||
device_t *adc1038 = space->machine().device("adc1038");
|
||||
device_t *eeprom = space->machine().device("eeprom");
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
@ -367,9 +367,9 @@ static WRITE8_HANDLER( sysreg_w )
|
||||
break;
|
||||
|
||||
case 3:
|
||||
eeprom_write_bit(eeprom, (data & 0x01) ? 1 : 0);
|
||||
eeprom_set_clock_line(eeprom, (data & 0x02) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_set_cs_line(eeprom, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->write_bit((data & 0x01) ? 1 : 0);
|
||||
eeprom->set_clock_line((data & 0x02) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->set_cs_line((data & 0x04) ? CLEAR_LINE : ASSERT_LINE);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
|
@ -109,10 +109,10 @@ popmessage(t);
|
||||
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
device_t *device = space->machine().device("eeprom");
|
||||
eeprom_set_clock_line(device, (data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(device, data & 0x40);
|
||||
eeprom_set_cs_line(device, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->write_bit(data & 0x40);
|
||||
eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
@ -220,7 +220,7 @@ static INPUT_PORTS_START( gunbustr )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
|
||||
|
@ -440,7 +440,7 @@ static READ8_HANDLER( sysreg_r )
|
||||
UINT8 r = 0;
|
||||
static const char *const portnames[] = { "IN0", "IN1", "IN2" };
|
||||
device_t *adc12138 = space->machine().device("adc12138");
|
||||
device_t *eeprom = space->machine().device("eeprom");
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
@ -460,7 +460,7 @@ static READ8_HANDLER( sysreg_r )
|
||||
0x02 = ADDOR (ADC DOR)
|
||||
0x01 = ADDO (ADC DO)
|
||||
*/
|
||||
r = 0xf0 | (eeprom_read_bit(eeprom) << 3);
|
||||
r = 0xf0 | (eeprom->read_bit() << 3);
|
||||
r |= adc1213x_do_r(adc12138, 0) | (adc1213x_eoc_r(adc12138, 0) << 2);
|
||||
break;
|
||||
|
||||
@ -783,9 +783,9 @@ static INPUT_PORTS_START( hornet )
|
||||
PORT_DIPSETTING( 0x00, "15KHz" )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( sscope )
|
||||
@ -835,9 +835,9 @@ static INPUT_PORTS_START( sscope )
|
||||
PORT_DIPSETTING( 0x00, "15KHz" )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const sharc_config sharc_cfg =
|
||||
|
@ -233,13 +233,13 @@ static INPUT_PORTS_START( inufuku )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(soundflag_r, NULL) // pending sound command
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
|
||||
PORT_START("P3")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(3)
|
||||
|
@ -109,8 +109,8 @@ static READ16_HANDLER( jackpool_io_r )
|
||||
case 0x1c: return input_port_read(space->machine(),"BET");
|
||||
case 0x1e: return 0xff; //ticket motor
|
||||
case 0x20: return 0xff; //hopper motor
|
||||
case 0x2c: return eeprom_read_bit(space->machine().device("eeprom"));
|
||||
case 0x2e: return eeprom_read_bit(space->machine().device("eeprom"));
|
||||
case 0x2c: return space->machine().device<eeprom_device>("eeprom")->read_bit();
|
||||
case 0x2e: return space->machine().device<eeprom_device>("eeprom")->read_bit();
|
||||
// default: printf("R %02x\n",offset*2); break;
|
||||
}
|
||||
|
||||
@ -138,11 +138,11 @@ static WRITE16_HANDLER( jackpool_io_w )
|
||||
case 0x4a: /* ---- ---x Ticket motor */break;
|
||||
case 0x4c: /* ---- ---x Hopper motor */break;
|
||||
case 0x4e: state->m_map_vreg = data & 1; break;
|
||||
case 0x50: eeprom_set_cs_line(space->machine().device("eeprom"), (data & 1) ? CLEAR_LINE : ASSERT_LINE ); break;
|
||||
case 0x52: eeprom_set_clock_line(space->machine().device("eeprom"), (data & 1) ? ASSERT_LINE : CLEAR_LINE ); break;
|
||||
case 0x54: eeprom_write_bit(space->machine().device("eeprom"), data & 1); break;
|
||||
// case 0x5a: eeprom_set_cs_line(space->machine().device("eeprom"), (data & 1) ? CLEAR_LINE : ASSERT_LINE ); break;
|
||||
// case 0x5c: eeprom_set_cs_line(space->machine().device("eeprom"), (data & 1) ? CLEAR_LINE : ASSERT_LINE ); break;
|
||||
case 0x50: space->machine().device<eeprom_device>("eeprom")->set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); break;
|
||||
case 0x52: space->machine().device<eeprom_device>("eeprom")->set_clock_line((data & 1) ? ASSERT_LINE : CLEAR_LINE ); break;
|
||||
case 0x54: space->machine().device<eeprom_device>("eeprom")->write_bit(data & 1); break;
|
||||
// case 0x5a: space->machine().device<eeprom_device>("eeprom")->set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); break;
|
||||
// case 0x5c: space->machine().device<eeprom_device>("eeprom")->set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE ); break;
|
||||
case 0x60: break;
|
||||
// default: printf("[%02x] <- %02x W\n",offset*2,data); break;
|
||||
}
|
||||
@ -151,17 +151,17 @@ static WRITE16_HANDLER( jackpool_io_w )
|
||||
if(offset*2 == 0x54)
|
||||
{
|
||||
printf("Write bit %02x\n",data);
|
||||
eeprom_write_bit(space->machine().device("eeprom"), data & 1);
|
||||
space->machine().device<eeprom_device>("eeprom")->write_bit(data & 1);
|
||||
}
|
||||
if(offset*2 == 0x52)
|
||||
{
|
||||
printf("Clock bit %02x\n",data);
|
||||
eeprom_set_clock_line(space->machine().device("eeprom"), (data & 1) ? ASSERT_LINE : CLEAR_LINE );
|
||||
space->machine().device<eeprom_device>("eeprom")->set_clock_line((data & 1) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
if(offset*2 == 0x50)
|
||||
{
|
||||
printf("chip select bit %02x\n",data);
|
||||
eeprom_set_cs_line(space->machine().device("eeprom"), (data & 1) ? CLEAR_LINE : ASSERT_LINE );
|
||||
space->machine().device<eeprom_device>("eeprom")->set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -584,29 +584,29 @@ static NVRAM_HANDLER( jaguar )
|
||||
*/
|
||||
static WRITE32_HANDLER( jaguar_eeprom_w )
|
||||
{
|
||||
device_t *eeprom = space->machine().device("eeprom");
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom_bit_count++;
|
||||
if (eeprom_bit_count != 9) /* kill extra bit at end of address */
|
||||
{
|
||||
eeprom_write_bit(eeprom,data >> 31);
|
||||
eeprom_set_clock_line(eeprom,PULSE_LINE);
|
||||
eeprom->write_bit(data >> 31);
|
||||
eeprom->set_clock_line(PULSE_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
static READ32_HANDLER( jaguar_eeprom_clk )
|
||||
{
|
||||
device_t *eeprom = space->machine().device("eeprom");
|
||||
eeprom_set_clock_line(eeprom,PULSE_LINE); /* get next bit when reading */
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom->set_clock_line(PULSE_LINE); /* get next bit when reading */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static READ32_HANDLER( jaguar_eeprom_cs )
|
||||
{
|
||||
device_t *eeprom = space->machine().device("eeprom");
|
||||
eeprom_set_cs_line(eeprom,ASSERT_LINE); /* must do at end of an operation */
|
||||
eeprom_set_cs_line(eeprom,CLEAR_LINE); /* enable chip for next operation */
|
||||
eeprom_write_bit(eeprom,1); /* write a start bit */
|
||||
eeprom_set_clock_line(eeprom,PULSE_LINE);
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom->set_cs_line(ASSERT_LINE); /* must do at end of an operation */
|
||||
eeprom->set_cs_line(CLEAR_LINE); /* enable chip for next operation */
|
||||
eeprom->write_bit(1); /* write a start bit */
|
||||
eeprom->set_clock_line(PULSE_LINE);
|
||||
eeprom_bit_count = 0;
|
||||
return 0;
|
||||
}
|
||||
@ -769,7 +769,7 @@ static READ32_HANDLER( joystick_r )
|
||||
}
|
||||
}
|
||||
|
||||
joystick_result |= eeprom_read_bit(space->machine().device("eeprom"));
|
||||
joystick_result |= space->machine().device<eeprom_device>("eeprom")->read_bit();
|
||||
joybuts_result |= (input_port_read(space->machine(), "CONFIG") & 0x10);
|
||||
|
||||
return (joystick_result << 16) | joybuts_result;
|
||||
|
@ -957,8 +957,8 @@ static INPUT_PORTS_START( bakubrkr )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -1532,8 +1532,8 @@ static INPUT_PORTS_START( mgcrystl )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -1608,8 +1608,8 @@ static INPUT_PORTS_START( shogwarr )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -1684,8 +1684,8 @@ Difficulty Lives Bonus Players Play Level
|
||||
******************************************************/
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -1778,16 +1778,16 @@ static WRITE8_DEVICE_HANDLER( kaneko16_eeprom_reset_w )
|
||||
{
|
||||
// FIXME: the device line cannot be directly put in the interface due to inverse value!
|
||||
// we might want to define a "reversed" set_cs_line handler
|
||||
device_t *eeprom = device->machine().device("eeprom");
|
||||
eeprom_device *eeprom = device->machine().device<eeprom_device>("eeprom");
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(eeprom, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE );
|
||||
}
|
||||
|
||||
static const ay8910_interface ay8910_intf_eeprom =
|
||||
{
|
||||
AY8910_LEGACY_OUTPUT,
|
||||
AY8910_DEFAULT_LOADS,
|
||||
DEVCB_DEVICE_LINE("eeprom", eeprom_read_bit), /* inputs A: 0,EEPROM bit read */
|
||||
DEVCB_DEVICE_LINE_MEMBER("eeprom", eeprom_device, read_bit), /* inputs A: 0,EEPROM bit read */
|
||||
DEVCB_NULL, /* inputs B */
|
||||
DEVCB_NULL, /* outputs A */
|
||||
DEVCB_HANDLER(kaneko16_eeprom_reset_w) /* outputs B: 0,EEPROM reset */
|
||||
|
@ -451,7 +451,7 @@ static READ16_HANDLER( kickgoal_eeprom_r )
|
||||
kickgoal_state *state = space->machine().driver_data<kickgoal_state>();
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
return eeprom_read_bit(state->m_eeprom);
|
||||
return state->m_eeprom->read_bit();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -465,13 +465,13 @@ static WRITE16_HANDLER( kickgoal_eeprom_w )
|
||||
switch (offset)
|
||||
{
|
||||
case 0:
|
||||
eeprom_set_cs_line(state->m_eeprom, (data & 0x0001) ? CLEAR_LINE : ASSERT_LINE);
|
||||
state->m_eeprom->set_cs_line((data & 0x0001) ? CLEAR_LINE : ASSERT_LINE);
|
||||
break;
|
||||
case 1:
|
||||
eeprom_set_clock_line(state->m_eeprom, (data & 0x0001) ? ASSERT_LINE : CLEAR_LINE);
|
||||
state->m_eeprom->set_clock_line((data & 0x0001) ? ASSERT_LINE : CLEAR_LINE);
|
||||
break;
|
||||
case 2:
|
||||
eeprom_write_bit(state->m_eeprom, data & 0x0001);
|
||||
state->m_eeprom->write_bit(data & 0x0001);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -483,12 +483,12 @@ static INPUT_PORTS_START( konamigq )
|
||||
PORT_DIPSETTING( 0x00, "Independent" )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00010000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00010000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
ROM_START( cryptklr )
|
||||
|
@ -150,9 +150,10 @@ public:
|
||||
|
||||
static WRITE32_DEVICE_HANDLER( eeprom_w )
|
||||
{
|
||||
eeprom_write_bit(device, (data&0x01) ? 1 : 0);
|
||||
eeprom_set_clock_line(device, (data&0x04) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_set_cs_line(device, (data&0x02) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit((data&0x01) ? 1 : 0);
|
||||
eeprom->set_clock_line((data&0x04) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->set_cs_line((data&0x02) ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
|
||||
static WRITE32_HANDLER( mb89371_w )
|
||||
@ -380,7 +381,7 @@ static INPUT_PORTS_START( konamigv )
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x00001000, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x00002000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE( "eeprom", eeprom_read_bit )
|
||||
PORT_BIT( 0x00002000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER( "eeprom", eeprom_device, read_bit )
|
||||
PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -1392,7 +1392,7 @@ static INPUT_PORTS_START( common )
|
||||
// excpuint stat, objdma stat, eeprom do
|
||||
|
||||
// note: racin' force expects bit 1 of the eeprom port to toggle
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x000000fe, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(gx_rdport1_3_r, NULL)
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
@ -1405,9 +1405,9 @@ static INPUT_PORTS_START( common )
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNUSED ) /* DIP#1 & DIP#2 */
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -95,12 +95,12 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( kongambl )
|
||||
PORT_START( "SYSTEM" )
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static ADDRESS_MAP_START( kongamaud_map, AS_PROGRAM, 16 )
|
||||
|
@ -145,7 +145,7 @@ static INPUT_PORTS_START( cerberus ) /* complete, verified from code */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
|
||||
PORT_START("IN3") /* 0x91 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
@ -191,7 +191,7 @@ static INPUT_PORTS_START( mayhem ) /* complete, verified from code */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
|
||||
|
||||
PORT_START("IN3") /* 0xD1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
@ -224,7 +224,7 @@ static INPUT_PORTS_START( wseries ) /* complete, verified from code */
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Aim") PORT_PLAYER(1)
|
||||
|
||||
PORT_START("IN3") /* 0x91 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_PLAYER(1)
|
||||
@ -263,7 +263,7 @@ static INPUT_PORTS_START( alleymas ) /* complete, verified from code */
|
||||
// PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* redundant inputs */
|
||||
|
||||
PORT_START("IN3") /* 0xD1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_PLAYER(1)
|
||||
@ -299,7 +299,7 @@ static INPUT_PORTS_START( upyoural ) /* complete, verified from code */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
|
||||
PORT_START("IN3") /* 0xD1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_PLAYER(1)
|
||||
@ -334,7 +334,7 @@ static INPUT_PORTS_START( dangerz ) /* complete, verified from code */
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN3") /* 0x91 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
@ -369,7 +369,7 @@ static INPUT_PORTS_START( basebal2 ) /* complete, verified from code */
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Run/Cutoff") PORT_PLAYER(1)
|
||||
|
||||
PORT_START("IN3") /* 0x51/D1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_PLAYER(1)
|
||||
@ -406,7 +406,7 @@ static INPUT_PORTS_START( redline ) /* complete, verified in code */
|
||||
PORT_BIT( 0xe0, 0x00, IPT_PEDAL ) PORT_MINMAX(0x00,0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(64) PORT_PLAYER(2)
|
||||
|
||||
PORT_START("IN3") /* 0xD1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
@ -444,7 +444,7 @@ static INPUT_PORTS_START( quarterb ) /* complete, verified in code */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("IN3") /* 0x91 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
@ -486,7 +486,7 @@ static INPUT_PORTS_START( teamqb ) /* complete, verified in code */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("IN3") /* 0x91 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
@ -544,7 +544,7 @@ static INPUT_PORTS_START( aafb2p ) /* complete, verified in code */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
|
||||
|
||||
PORT_START("IN3") /* 0x91 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
@ -599,7 +599,7 @@ static INPUT_PORTS_START( offroad ) /* complete, verified from code */
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN3") /* 0xD1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
|
||||
@ -659,7 +659,7 @@ static INPUT_PORTS_START( pigout ) /* complete, verified from code */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
|
||||
|
||||
PORT_START("IN3") /* 0x51 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
@ -513,7 +513,7 @@ static INPUT_PORTS_START( lethalen )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
|
||||
PORT_START("DSW")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* it must be 1 ? */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -531,9 +531,9 @@ static INPUT_PORTS_START( lethalen )
|
||||
PORT_DIPSETTING( 0x0080, DEF_STR( Stereo ) )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
|
||||
PORT_START("LIGHT0_X")
|
||||
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(25) PORT_KEYDELTA(15) PORT_PLAYER(1)
|
||||
|
@ -535,7 +535,7 @@ static INPUT_PORTS_START( legendoh )
|
||||
PORT_BIT( 0x00100000, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x00200000, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x00400000, IP_ACTIVE_HIGH, IPT_SPECIAL ) //security bit
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_START3 )
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_START4 )
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
@ -548,9 +548,9 @@ static INPUT_PORTS_START( legendoh )
|
||||
PORT_BIT( 0x4000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x00020000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x00040000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x00020000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x00040000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
// PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // 0x80000 -> video disabled?
|
||||
INPUT_PORTS_END
|
||||
|
||||
@ -584,7 +584,7 @@ static INPUT_PORTS_START( sb2003 )
|
||||
PORT_BIT( 0x00080000, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x00200000, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_SPECIAL ) //security bit
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_DIPNAME( 0x20000000, 0x00000000, "Sound Enable" )
|
||||
PORT_DIPSETTING( 0x20000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
|
||||
@ -593,9 +593,9 @@ static INPUT_PORTS_START( sb2003 )
|
||||
PORT_BIT( 0x5f00ffff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x00020000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x00040000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x00020000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x00040000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
// PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // 0x80000 -> video disabled?
|
||||
INPUT_PORTS_END
|
||||
|
||||
@ -629,7 +629,7 @@ static INPUT_PORTS_START( spotty )
|
||||
PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(spriteram_bit_r, NULL) //changes spriteram location
|
||||
PORT_SERVICE_NO_TOGGLE( 0x00200000, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x00400000, IP_ACTIVE_LOW, IPT_SPECIAL ) //security bit
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_DIPNAME( 0x20000000, 0x20000000, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20000000, DEF_STR( On ) )
|
||||
@ -637,9 +637,9 @@ static INPUT_PORTS_START( spotty )
|
||||
PORT_BIT( 0x5f10ffff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x00020000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x00040000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x00010000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x00020000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x00040000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
// PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // 0x80000 -> video disabled?
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
@ -145,7 +145,7 @@ static WRITE8_DEVICE_HANDLER(fake2_w)
|
||||
static WRITE8_DEVICE_HANDLER( lordgun_eeprom_w )
|
||||
{
|
||||
lordgun_state *state = device->machine().driver_data<lordgun_state>();
|
||||
device_t *eeprom = device->machine().device("eeprom");
|
||||
eeprom_device *eeprom = device->machine().device<eeprom_device>("eeprom");
|
||||
int i;
|
||||
|
||||
if (data & ~0xfd)
|
||||
@ -162,13 +162,13 @@ static WRITE8_DEVICE_HANDLER( lordgun_eeprom_w )
|
||||
lordgun_update_gun(device->machine(), i);
|
||||
|
||||
// latch the bit
|
||||
eeprom_write_bit(eeprom, data & 0x40);
|
||||
eeprom->write_bit(data & 0x40);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(eeprom, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE );
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(eeprom, (data & 0x20) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE );
|
||||
|
||||
state->m_whitescreen = data & 0x80;
|
||||
|
||||
@ -178,7 +178,7 @@ static WRITE8_DEVICE_HANDLER( lordgun_eeprom_w )
|
||||
static WRITE8_DEVICE_HANDLER( aliencha_eeprom_w )
|
||||
{
|
||||
lordgun_state *state = device->machine().driver_data<lordgun_state>();
|
||||
device_t *eeprom = device->machine().device("eeprom");
|
||||
eeprom_device *eeprom = device->machine().device<eeprom_device>("eeprom");
|
||||
|
||||
if (~data & ~0xf8)
|
||||
{
|
||||
@ -193,13 +193,13 @@ static WRITE8_DEVICE_HANDLER( aliencha_eeprom_w )
|
||||
coin_counter_w(device->machine(), 1, data & 0x10);
|
||||
|
||||
// latch the bit
|
||||
eeprom_write_bit(eeprom, data & 0x80);
|
||||
eeprom->write_bit(data & 0x80);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(eeprom, (data & 0x20) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE );
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(eeprom, (data & 0x40) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom->set_clock_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
|
||||
|
||||
@ -443,7 +443,7 @@ static INPUT_PORTS_START( lordgun )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_SERVICE_NO_TOGGLE( 0x40, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START("START1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
||||
@ -564,7 +564,7 @@ static INPUT_PORTS_START( aliencha )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW3:8" ) /* Listed as "Unused" */
|
||||
|
||||
PORT_START("SERVICE")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -1308,21 +1308,24 @@ static READ16_HANDLER( gakusai_input_r )
|
||||
|
||||
static READ16_DEVICE_HANDLER( gakusai_eeprom_r )
|
||||
{
|
||||
return eeprom_read_bit(device) & 1;
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return eeprom->read_bit() & 1;
|
||||
}
|
||||
|
||||
static WRITE16_DEVICE_HANDLER( gakusai_eeprom_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, BIT(data, 0));
|
||||
eeprom->write_bit(BIT(data, 0));
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, BIT(data, 2) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_cs_line(BIT(data, 2) ? CLEAR_LINE : ASSERT_LINE );
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, BIT(data, 1) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom->set_clock_line(BIT(data, 1) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
}
|
||||
|
||||
@ -1404,10 +1407,11 @@ ADDRESS_MAP_END
|
||||
static READ16_DEVICE_HANDLER( dokyusp_eeprom_r )
|
||||
{
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, CLEAR_LINE);
|
||||
eeprom_set_clock_line(device, ASSERT_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_clock_line(CLEAR_LINE);
|
||||
eeprom->set_clock_line(ASSERT_LINE);
|
||||
|
||||
return eeprom_read_bit(device) & 1;
|
||||
return eeprom->read_bit() & 1;
|
||||
}
|
||||
|
||||
static WRITE16_DEVICE_HANDLER( dokyusp_eeprom_bit_w )
|
||||
@ -1415,11 +1419,12 @@ static WRITE16_DEVICE_HANDLER( dokyusp_eeprom_bit_w )
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, BIT(data, 0));
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(BIT(data, 0));
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, CLEAR_LINE);
|
||||
eeprom_set_clock_line(device, ASSERT_LINE);
|
||||
eeprom->set_clock_line(CLEAR_LINE);
|
||||
eeprom->set_clock_line(ASSERT_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1428,7 +1433,8 @@ static WRITE16_DEVICE_HANDLER( dokyusp_eeprom_reset_w )
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, BIT(data, 0) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_cs_line(BIT(data, 0) ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -203,13 +203,14 @@ static WRITE16_DEVICE_HANDLER( midas_eeprom_w )
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x04);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x04);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE );
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x02) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom->set_clock_line((data & 0x02) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
}
|
||||
|
||||
@ -443,7 +444,7 @@ static INPUT_PORTS_START( livequiz )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) // EEPROM
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) // EEPROM
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0040, IP_ACTIVE_LOW )
|
||||
@ -576,7 +577,7 @@ static INPUT_PORTS_START( hammer )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0040, IP_ACTIVE_LOW )
|
||||
|
@ -113,7 +113,7 @@ static NVRAM_HANDLER( mitchell )
|
||||
|
||||
static READ8_HANDLER( pang_port5_r )
|
||||
{
|
||||
int bit = eeprom_read_bit(space->machine().device("eeprom")) << 7;
|
||||
int bit = space->machine().device<eeprom_device>("eeprom")->read_bit() << 7;
|
||||
|
||||
/* bits 0 and (sometimes) 3 are checked in the interrupt handler.
|
||||
bit 3 is checked before updating the palette so it really seems to be vblank.
|
||||
@ -129,17 +129,20 @@ static READ8_HANDLER( pang_port5_r )
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( eeprom_cs_w )
|
||||
{
|
||||
eeprom_set_cs_line(device, data ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_cs_line(data ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( eeprom_clock_w )
|
||||
{
|
||||
eeprom_set_clock_line(device, data ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_clock_line(data ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( eeprom_serial_w )
|
||||
{
|
||||
eeprom_write_bit(device, data);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data);
|
||||
}
|
||||
|
||||
|
||||
|
@ -424,11 +424,11 @@ static WRITE32_HANDLER( ctrl0_w )
|
||||
model2_state *state = space->machine().driver_data<model2_state>();
|
||||
if(ACCESSING_BITS_0_7)
|
||||
{
|
||||
eeprom_device *device = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
state->m_ctrlmode = data & 0x01;
|
||||
eeprom_write_bit(device, data & 0x20);
|
||||
eeprom_set_clock_line(device, (data & 0x80) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_set_cs_line(device, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->write_bit(data & 0x20);
|
||||
eeprom->set_clock_line((data & 0x80) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->set_cs_line((data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -470,7 +470,7 @@ static CUSTOM_INPUT( _1c00000_r )
|
||||
else
|
||||
{
|
||||
ret &= ~0x0030;
|
||||
return ret | 0x00d0 | (eeprom_read_bit(field.machine().device("eeprom")) << 5);
|
||||
return ret | 0x00d0 | (field.machine().device<eeprom_device>("eeprom")->read_bit() << 5);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1351,11 +1351,11 @@ static WRITE64_HANDLER( model3_ctrl_w )
|
||||
case 0:
|
||||
if (ACCESSING_BITS_56_63)
|
||||
{
|
||||
device_t *device = space->machine().device("eeprom");
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
int reg = (data >> 56) & 0xff;
|
||||
eeprom_write_bit(device, (reg & 0x20) ? 1 : 0);
|
||||
eeprom_set_clock_line(device, (reg & 0x80) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_set_cs_line(device, (reg & 0x40) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->write_bit((reg & 0x20) ? 1 : 0);
|
||||
eeprom->set_clock_line((reg & 0x80) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->set_cs_line((reg & 0x40) ? CLEAR_LINE : ASSERT_LINE);
|
||||
state->m_controls_bank = reg & 0xff;
|
||||
}
|
||||
return;
|
||||
@ -1826,7 +1826,7 @@ static INPUT_PORTS_START( common )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Service Button B") PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Button B") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -2061,7 +2061,7 @@ static INPUT_PORTS_START( skichamp )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) /* Select 2 */
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Service Button B") PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Test Button B") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
@ -386,7 +386,7 @@ static INPUT_PORTS_START( moo )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE4 )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE(0x08, IP_ACTIVE_LOW)
|
||||
@ -402,9 +402,9 @@ static INPUT_PORTS_START( moo )
|
||||
PORT_DIPSETTING( 0x80, "4")
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
|
||||
PORT_START("P1_P3")
|
||||
KONAMI16_LSB( 1, IPT_UNKNOWN, IPT_START1 )
|
||||
|
@ -631,7 +631,7 @@ static INPUT_PORTS_START( mystwarr )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
|
||||
PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* game loops if this is set */
|
||||
@ -655,9 +655,9 @@ static INPUT_PORTS_START( mystwarr )
|
||||
KONAMI16_MSB(4, IPT_BUTTON3, IPT_START4 )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( metamrph )
|
||||
@ -672,7 +672,7 @@ static INPUT_PORTS_START( metamrph )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
|
||||
@ -698,9 +698,9 @@ static INPUT_PORTS_START( metamrph )
|
||||
KONAMI16_MSB(4, IPT_BUTTON3, IPT_START4 )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( viostorm )
|
||||
@ -715,7 +715,7 @@ static INPUT_PORTS_START( viostorm )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
|
||||
@ -741,9 +741,9 @@ static INPUT_PORTS_START( viostorm )
|
||||
KONAMI16_MSB(4, IPT_BUTTON3, IPT_START4 )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( dadandrn )
|
||||
@ -759,7 +759,7 @@ static INPUT_PORTS_START( dadandrn )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
|
||||
@ -782,9 +782,9 @@ static INPUT_PORTS_START( dadandrn )
|
||||
KONAMI8_B123_START(4)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( martchmp )
|
||||
@ -799,7 +799,7 @@ static INPUT_PORTS_START( martchmp )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
|
||||
PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* game loops if this is set */
|
||||
@ -821,9 +821,9 @@ static INPUT_PORTS_START( martchmp )
|
||||
KONAMI16_MSB(4, IPT_BUTTON3, IPT_START4 )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/**********************************************************************************/
|
||||
|
@ -1393,7 +1393,7 @@ static READ64_DEVICE_HANDLER( eeprom_93c46a_r )
|
||||
int res;
|
||||
|
||||
/* bit 3 is EEPROM data */
|
||||
res = eeprom_read_bit(device) << 4;
|
||||
res = downcast<eeprom_device *>(device)->read_bit() << 4;
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -1402,9 +1402,10 @@ static WRITE64_DEVICE_HANDLER( eeprom_93c46a_w )
|
||||
/* bit 4 is data */
|
||||
/* bit 2 is clock */
|
||||
/* bit 5 is cs */
|
||||
eeprom_write_bit(device, data & 0x8);
|
||||
eeprom_set_cs_line(device, (data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_set_clock_line(device, (data & 0x4) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x8);
|
||||
eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_clock_line((data & 0x4) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
/* Dreamcast MAP
|
||||
@ -1736,9 +1737,9 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( naomi_mie )
|
||||
PORT_START("MIE:3")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("mie_eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("mie_eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("mie_eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("mie_eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("mie_eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("mie_eeprom", eeprom_device, set_clock_line)
|
||||
|
||||
PORT_START("MIE:5")
|
||||
PORT_DIPNAME( 0x01, 0x00, "Monitor" ) PORT_DIPLOCATION("SW1:1")
|
||||
@ -1756,7 +1757,7 @@ static INPUT_PORTS_START( naomi_mie )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x10, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("mie_eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("mie_eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* 2 players with 1 joystick and 6 buttons each */
|
||||
|
@ -336,9 +336,9 @@ static WRITE16_HANDLER( othunder_tc0220ioc_w )
|
||||
if (data & 4)
|
||||
popmessage("OBPRI SET!");
|
||||
|
||||
eeprom_write_bit(state->m_eeprom, data & 0x40);
|
||||
eeprom_set_clock_line(state->m_eeprom, (data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_set_cs_line(state->m_eeprom, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
state->m_eeprom->write_bit(data & 0x40);
|
||||
state->m_eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
state->m_eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -359,7 +359,7 @@ static READ16_HANDLER( othunder_tc0220ioc_r )
|
||||
switch (offset)
|
||||
{
|
||||
case 0x03:
|
||||
return (eeprom_read_bit(state->m_eeprom) & 1) << 7;
|
||||
return (state->m_eeprom->read_bit() & 1) << 7;
|
||||
|
||||
default:
|
||||
return tc0220ioc_r(state->m_tc0220ioc, offset);
|
||||
@ -685,7 +685,7 @@ static MACHINE_START( othunder )
|
||||
|
||||
state->m_maincpu = machine.device("maincpu");
|
||||
state->m_audiocpu = machine.device("audiocpu");
|
||||
state->m_eeprom = machine.device("eeprom");
|
||||
state->m_eeprom = machine.device<eeprom_device>("eeprom");
|
||||
state->m_tc0220ioc = machine.device("tc0220ioc");
|
||||
state->m_tc0100scn = machine.device("tc0100scn");
|
||||
state->m_tc0110pcr = machine.device("tc0110pcr");
|
||||
|
@ -222,7 +222,7 @@ static INPUT_PORTS_START( overdriv )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("SYSTEM")
|
||||
@ -239,9 +239,9 @@ static INPUT_PORTS_START( overdriv )
|
||||
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(50)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -112,9 +112,9 @@ static WRITE16_HANDLER( pirates_out_w )
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
|
||||
/* bits 0-2 control EEPROM */
|
||||
eeprom_write_bit(eeprom, data & 0x04);
|
||||
eeprom_set_cs_line(eeprom, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_set_clock_line(eeprom, (data & 0x02) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->write_bit(data & 0x04);
|
||||
eeprom->set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_clock_line((data & 0x02) ? ASSERT_LINE : CLEAR_LINE);
|
||||
|
||||
/* bit 6 selects oki bank */
|
||||
okim6295_device *oki = space->machine().device<okim6295_device>("oki");
|
||||
@ -209,7 +209,7 @@ static INPUT_PORTS_START( pirates )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) // EEPROM data
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) // EEPROM data
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // seems checked in "test mode"
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // seems checked in "test mode"
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_CUSTOM(prot_r, NULL) // protection
|
||||
|
@ -93,9 +93,9 @@ static WRITE16_HANDLER( wbeachvl_coin_eeprom_w )
|
||||
coin_counter_w(space->machine(), 3, data & 0x08);
|
||||
|
||||
/* bits 5-7 control EEPROM */
|
||||
eeprom_set_cs_line(state->m_eeprom, (data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_write_bit(state->m_eeprom, data & 0x80);
|
||||
eeprom_set_clock_line(state->m_eeprom, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
|
||||
state->m_eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
state->m_eeprom->write_bit(data & 0x80);
|
||||
state->m_eeprom->set_clock_line((data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -107,9 +107,9 @@ static WRITE16_HANDLER( hotmind_coin_eeprom_w )
|
||||
{
|
||||
coin_counter_w(space->machine(), 0,data & 0x20);
|
||||
|
||||
eeprom_set_cs_line(state->m_eeprom, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_write_bit(state->m_eeprom, data & 4);
|
||||
eeprom_set_clock_line(state->m_eeprom, (data & 2) ? ASSERT_LINE : CLEAR_LINE );
|
||||
state->m_eeprom->set_cs_line((data & 1) ? CLEAR_LINE : ASSERT_LINE);
|
||||
state->m_eeprom->write_bit(data & 4);
|
||||
state->m_eeprom->set_clock_line((data & 2) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
}
|
||||
|
||||
@ -567,7 +567,7 @@ static INPUT_PORTS_START( wbeachvl )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
PORT_SERVICE_NO_TOGGLE(0x20, IP_ACTIVE_LOW)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* ?? see code at 746a. sound status? */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* EEPROM data */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* EEPROM data */
|
||||
|
||||
PORT_START("P1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
|
||||
@ -733,7 +733,7 @@ static INPUT_PORTS_START( hotmind )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* EEPROM data */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* EEPROM data */
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Difficulty ) )
|
||||
@ -1038,7 +1038,7 @@ static MACHINE_START( playmark )
|
||||
playmark_state *state = machine.driver_data<playmark_state>();
|
||||
|
||||
state->m_oki = machine.device<okim6295_device>("oki");
|
||||
state->m_eeprom = machine.device("eeprom");
|
||||
state->m_eeprom = machine.device<eeprom_device>("eeprom");
|
||||
|
||||
state->save_item(NAME(state->m_bgscrollx));
|
||||
state->save_item(NAME(state->m_bgscrolly));
|
||||
|
@ -105,7 +105,8 @@ static READ32_DEVICE_HANDLER( polygonet_eeprom_r )
|
||||
{
|
||||
if (ACCESSING_BITS_0_15)
|
||||
{
|
||||
return 0x0200 | (eeprom_read_bit(device) << 8);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return 0x0200 | (eeprom->read_bit() << 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -706,9 +707,9 @@ static INPUT_PORTS_START( polygonet )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( polynetw )
|
||||
@ -733,9 +734,9 @@ static INPUT_PORTS_START( polynetw )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -161,7 +161,8 @@ static READ16_DEVICE_HANDLER( pntnpuzl_eeprom_r )
|
||||
{
|
||||
pntnpuzl_state *state = device->machine().driver_data<pntnpuzl_state>();
|
||||
/* bit 11 is EEPROM data */
|
||||
return (state->m_eeprom & 0xf4ff) | (eeprom_read_bit(device)<<11) | (input_port_read(device->machine(), "IN1") & 0x0300);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return (state->m_eeprom & 0xf4ff) | (eeprom->read_bit()<<11) | (input_port_read(device->machine(), "IN1") & 0x0300);
|
||||
}
|
||||
|
||||
static WRITE16_DEVICE_HANDLER( pntnpuzl_eeprom_w )
|
||||
@ -173,9 +174,10 @@ static WRITE16_DEVICE_HANDLER( pntnpuzl_eeprom_w )
|
||||
/* bit 13 is clock (active high) */
|
||||
/* bit 14 is cs (active high) */
|
||||
|
||||
eeprom_write_bit(device, data & 0x1000);
|
||||
eeprom_set_cs_line(device, (data & 0x4000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_set_clock_line(device, (data & 0x2000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x1000);
|
||||
eeprom->set_cs_line((data & 0x4000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_clock_line((data & 0x2000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -137,10 +137,10 @@ static WRITE32_HANDLER( control_w )
|
||||
/* handle EEPROM I/O */
|
||||
if (ACCESSING_BITS_16_23)
|
||||
{
|
||||
device_t *device = space->machine().device("eeprom");
|
||||
eeprom_write_bit(device, data & 0x00800000);
|
||||
eeprom_set_cs_line(device, (data & 0x00200000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_set_clock_line(device, (data & 0x00400000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom->write_bit(data & 0x00800000);
|
||||
eeprom->set_cs_line((data & 0x00200000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_clock_line((data & 0x00400000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
/* toggling BSMT off then on causes a reset */
|
||||
@ -332,7 +332,7 @@ static INPUT_PORTS_START( policetr )
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x20000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* EEPROM read */
|
||||
PORT_BIT( 0x20000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* EEPROM read */
|
||||
PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
|
@ -38,9 +38,10 @@ static WRITE16_DEVICE_HANDLER( magicstk_coin_eeprom_w )
|
||||
{
|
||||
coin_counter_w(device->machine(), 0, data & 0x20);
|
||||
|
||||
eeprom_set_cs_line(device, (data & 8) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_write_bit(device, data & 2);
|
||||
eeprom_set_clock_line(device, (data & 4) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_cs_line((data & 8) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->write_bit(data & 2);
|
||||
eeprom->set_clock_line((data & 4) ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -220,7 +221,7 @@ static INPUT_PORTS_START( magicstk )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* EEPROM data */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* EEPROM data */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -317,7 +318,7 @@ static INPUT_PORTS_START( hotminda )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* EEPROM data */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* EEPROM data */
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -169,9 +169,10 @@ static WRITE32_DEVICE_HANDLER( ps4_eeprom_w )
|
||||
{
|
||||
if (ACCESSING_BITS_16_31)
|
||||
{
|
||||
eeprom_write_bit(device, (data & 0x00200000) ? 1 : 0);
|
||||
eeprom_set_cs_line(device, (data & 0x00800000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_set_clock_line(device, (data & 0x00400000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit((data & 0x00200000) ? 1 : 0);
|
||||
eeprom->set_cs_line((data & 0x00800000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_clock_line((data & 0x00400000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
|
||||
return;
|
||||
}
|
||||
@ -415,7 +416,7 @@ static INPUT_PORTS_START( hotgmck )
|
||||
|
||||
PORT_START("JP4")/* jumper pads 'JP4' on the PCB */
|
||||
/* EEPROM is read here */
|
||||
PORT_BIT( 0x00100000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00100000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START("SYSTEM") /* system inputs */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) // Screen 1
|
||||
@ -598,7 +599,7 @@ static INPUT_PORTS_START( loderndf )
|
||||
PORT_DIPSETTING( 0x00000000, "Japan (Shows Version Number)" )
|
||||
PORT_DIPSETTING( 0x00010000, "World (Does Not Show Version Number)" )
|
||||
/* EEPROM is read here */
|
||||
PORT_BIT( 0x00100000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00100000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* unused inputs also act as duplicate buttons */
|
||||
@ -681,7 +682,7 @@ static INPUT_PORTS_START( hotdebut )
|
||||
|
||||
PORT_START("JP4")/* jumper pads 'JP4' on the PCB */
|
||||
/* EEPROM is read here */
|
||||
PORT_BIT( 0x00100000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00100000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -323,9 +323,10 @@ static WRITE32_DEVICE_HANDLER( psh_eeprom_w )
|
||||
{
|
||||
if (ACCESSING_BITS_24_31)
|
||||
{
|
||||
eeprom_write_bit(device, (data & 0x20000000) ? 1 : 0);
|
||||
eeprom_set_cs_line(device, (data & 0x80000000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_set_clock_line(device, (data & 0x40000000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit((data & 0x20000000) ? 1 : 0);
|
||||
eeprom->set_cs_line((data & 0x80000000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_clock_line((data & 0x40000000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
|
||||
return;
|
||||
}
|
||||
@ -621,7 +622,7 @@ static INPUT_PORTS_START( s1945ii )
|
||||
PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Region ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) )
|
||||
PORT_DIPSETTING( 0x01000000, DEF_STR( World ) )
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( soldivid )
|
||||
@ -631,7 +632,7 @@ static INPUT_PORTS_START( soldivid )
|
||||
PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Region ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) )
|
||||
PORT_DIPSETTING( 0x01000000, DEF_STR( World ) )
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( daraku )
|
||||
@ -649,7 +650,7 @@ static INPUT_PORTS_START( daraku )
|
||||
PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Region ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) )
|
||||
PORT_DIPSETTING( 0x01000000, DEF_STR( World ) ) /* Title screen is different, English is default now */
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( sbomberb )
|
||||
@ -664,7 +665,7 @@ static INPUT_PORTS_START( sbomberb )
|
||||
PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Region ) )
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) )
|
||||
PORT_DIPSETTING( 0x01000000, DEF_STR( World ) )
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( gunbird2 ) /* Different Region */
|
||||
@ -676,7 +677,7 @@ static INPUT_PORTS_START( gunbird2 ) /* Different Region */
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) )
|
||||
PORT_DIPSETTING( 0x01000000, "International Ver A." )
|
||||
PORT_DIPSETTING( 0x02000000, "International Ver B." )
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( s1945iii ) /* Different Region again */
|
||||
@ -688,7 +689,7 @@ static INPUT_PORTS_START( s1945iii ) /* Different Region again */
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) )
|
||||
PORT_DIPSETTING( 0x02000000, "International Ver A." )
|
||||
PORT_DIPSETTING( 0x01000000, "International Ver B." )
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( dragnblz ) /* Security requires bit high */
|
||||
@ -704,7 +705,7 @@ static INPUT_PORTS_START( dragnblz ) /* Security requires bit high */
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) )
|
||||
PORT_DIPSETTING( 0x02000000, "International Ver A." )
|
||||
PORT_DIPSETTING( 0x01000000, "International Ver B." )
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( gnbarich ) /* Same as S1945iii except only one button */
|
||||
@ -716,7 +717,7 @@ static INPUT_PORTS_START( gnbarich ) /* Same as S1945iii except only one button
|
||||
PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) )
|
||||
PORT_DIPSETTING( 0x02000000, "International Ver A." )
|
||||
PORT_DIPSETTING( 0x01000000, "International Ver B." )
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( tgm2 )
|
||||
@ -728,7 +729,7 @@ static INPUT_PORTS_START( tgm2 )
|
||||
// PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) )
|
||||
// PORT_DIPSETTING( 0x02000000, "International Ver A." )
|
||||
// PORT_DIPSETTING( 0x01000000, "International Ver B." )
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( mjgtaste )
|
||||
@ -782,7 +783,7 @@ static INPUT_PORTS_START( mjgtaste )
|
||||
// PORT_DIPSETTING( 0x00000000, DEF_STR( Japan ) )
|
||||
// PORT_DIPSETTING( 0x02000000, "International Ver A." )
|
||||
// PORT_DIPSETTING( 0x01000000, "International Ver B." )
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -152,9 +152,10 @@ static WRITE16_DEVICE_HANDLER( eeprom_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
eeprom_write_bit(device, data & 0x01);
|
||||
eeprom_set_cs_line(device, (data & 0x02) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom_set_clock_line(device, (data & 0x04) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x01);
|
||||
eeprom->set_cs_line((data & 0x02) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_clock_line((data & 0x04) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
}
|
||||
|
||||
@ -231,7 +232,7 @@ static INPUT_PORTS_START( pzletime )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* eeprom */
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* eeprom */
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ticket_status_r, NULL) /* ticket dispenser */
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
|
@ -235,9 +235,10 @@ WRITE16_DEVICE_HANDLER( rdx_v33_eeprom_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
eeprom_set_clock_line(device, (data & 0x10) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(device, data & 0x20);
|
||||
eeprom_set_cs_line(device, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_clock_line((data & 0x10) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->write_bit(data & 0x20);
|
||||
eeprom->set_cs_line((data & 0x08) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
if (data&0xc7) logerror("eeprom_w extra bits used %04x\n",data);
|
||||
}
|
||||
@ -531,7 +532,7 @@ static INPUT_PORTS_START( rdx_v33 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, "Test Mode" )
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
@ -570,7 +571,7 @@ static INPUT_PORTS_START( nzerotea )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
//PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
//PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, "Test Mode" )
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
|
@ -725,13 +725,14 @@ static WRITE32_DEVICE_HANDLER( rabbit_eeprom_write )
|
||||
if (mem_mask == 0xff000000)
|
||||
{
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x01000000);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x01000000);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x04000000) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_cs_line((data & 0x04000000) ? CLEAR_LINE : ASSERT_LINE );
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom->set_clock_line((data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
}
|
||||
|
||||
@ -775,7 +776,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( rabbit )
|
||||
PORT_START("INPUTS")
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) // as per code at 4d932
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) // as per code at 4d932
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unlabeled in input test
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_START2 )
|
||||
|
@ -97,10 +97,11 @@ static WRITE16_DEVICE_HANDLER( eeprom_w )
|
||||
//bad ?
|
||||
if( ACCESSING_BITS_0_7 )
|
||||
{
|
||||
eeprom_write_bit(device, data & 0x04);
|
||||
eeprom_set_cs_line(device, (data & 0x01) ? CLEAR_LINE:ASSERT_LINE );
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x04);
|
||||
eeprom->set_cs_line((data & 0x01) ? CLEAR_LINE:ASSERT_LINE );
|
||||
|
||||
eeprom_set_clock_line(device, (data & 0x02) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom->set_clock_line((data & 0x02) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
}
|
||||
|
||||
@ -353,7 +354,7 @@ static INPUT_PORTS_START( rbmk )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START("IN4") /* 16bit */
|
||||
PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
|
||||
|
@ -277,7 +277,7 @@ static INPUT_PORTS_START( rng )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("DSW")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
|
||||
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
|
||||
PORT_DIPNAME( 0x10, 0x00, "Monitors" )
|
||||
@ -297,9 +297,9 @@ static INPUT_PORTS_START( rng )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
|
||||
PORT_START("P1")
|
||||
KONAMI8_B123_START(1)
|
||||
|
@ -484,7 +484,7 @@ static UINT8 stv_SMPC_r8 (address_space *space, int offset)
|
||||
return_data = input_port_read(space->machine(), "DSW1");
|
||||
|
||||
if (offset == 0x77)//PDR2 read
|
||||
return_data= (0xfe | eeprom_read_bit(space->machine().device("eeprom")));
|
||||
return_data= (0xfe | space->machine().device<eeprom_device>("eeprom")->read_bit());
|
||||
|
||||
// if (offset == 0x33) //country code
|
||||
// return_data = input_port_read(machine, "FAKE");
|
||||
@ -508,10 +508,10 @@ static void stv_SMPC_w8 (address_space *space, int offset, UINT8 data)
|
||||
|
||||
if(offset == 0x75)
|
||||
{
|
||||
eeprom_device *device = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom_set_clock_line(device, (data & 0x08) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(device, data & 0x10);
|
||||
eeprom_set_cs_line(device, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom->set_clock_line((data & 0x08) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->write_bit(data & 0x10);
|
||||
eeprom->set_cs_line((data & 0x04) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
|
||||
// if (data & 0x01)
|
||||
|
@ -673,10 +673,10 @@ static void common_io_chip_w(address_space *space, int which, offs_t offset, UIN
|
||||
|
||||
if (which == 0)
|
||||
{
|
||||
eeprom_device *device = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom_write_bit(device, data & 0x80);
|
||||
eeprom_set_cs_line(device, (data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_set_clock_line(device, (data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom->write_bit(data & 0x80);
|
||||
eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_clock_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
/* coin_lockout_w(space->machine(), 1 + 2*which, data & 0x08);
|
||||
coin_lockout_w(space->machine(), 0 + 2*which, data & 0x04);*/
|
||||
@ -691,10 +691,10 @@ static void common_io_chip_w(address_space *space, int which, offs_t offset, UIN
|
||||
else
|
||||
{
|
||||
/* multi-32 EEPROM access */
|
||||
eeprom_device *device = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom_write_bit(device, data & 0x80);
|
||||
eeprom_set_cs_line(device, (data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_set_clock_line(device, (data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom->write_bit(data & 0x80);
|
||||
eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_clock_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1350,7 +1350,7 @@ static INPUT_PORTS_START( system32_generic )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE3 ) /* sometimes mirrors SERVICE1 */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE4 ) /* tends to also work as a test switch */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START("PORTG_A")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1385,7 +1385,7 @@ static INPUT_PORTS_START( multi32_generic )
|
||||
|
||||
PORT_START("SERVICE34_B")
|
||||
PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START("PORTG_B")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
@ -878,9 +878,11 @@ static WRITE32_DEVICE_HANDLER( eeprom_w )
|
||||
// tile banks
|
||||
if( ACCESSING_BITS_16_23 ) {
|
||||
rf2_set_layer_banks(device->machine(), data >> 16);
|
||||
eeprom_write_bit(device, (data & 0x800000) ? 1 : 0);
|
||||
eeprom_set_clock_line(device, (data & 0x400000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_set_cs_line(device, (data & 0x200000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit((data & 0x800000) ? 1 : 0);
|
||||
eeprom->set_clock_line((data & 0x400000) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->set_cs_line((data & 0x200000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
|
||||
// oki banking
|
||||
@ -1113,9 +1115,10 @@ static void irqhandler(device_t *device, int state)
|
||||
|
||||
static WRITE32_DEVICE_HANDLER(sys386f2_eeprom_w)
|
||||
{
|
||||
eeprom_write_bit(device, (data & 0x80) ? 1 : 0);
|
||||
eeprom_set_clock_line(device, (data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_set_cs_line(device, (data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit((data & 0x80) ? 1 : 0);
|
||||
eeprom->set_clock_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
|
||||
static const ymf271_interface ymf271_config =
|
||||
@ -1204,7 +1207,7 @@ static INPUT_PORTS_START( spi_2button )
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x00000004, IP_ACTIVE_LOW) /* Test Button */
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Service Coin") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x000000b0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0xffffff00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
@ -1256,7 +1259,7 @@ static INPUT_PORTS_START( seibu386_2button )
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Service Coin") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0xffffff00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
@ -1405,7 +1408,7 @@ static INPUT_PORTS_START( spi_ejsakura )
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x00004000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x00004000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0xffffbf3f, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
INPUT_PORTS_END
|
||||
|
@ -173,14 +173,16 @@ ADDRESS_MAP_END
|
||||
|
||||
static READ16_DEVICE_HANDLER( gundamex_eeprom_r )
|
||||
{
|
||||
return ((eeprom_read_bit(device) & 1)) << 3;
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return ((eeprom->read_bit() & 1)) << 3;
|
||||
}
|
||||
|
||||
static WRITE16_DEVICE_HANDLER( gundamex_eeprom_w )
|
||||
{
|
||||
eeprom_set_clock_line(device, (data & 0x2) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(device, data & 0x1);
|
||||
eeprom_set_cs_line(device, (data & 0x4) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_clock_line((data & 0x2) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->write_bit(data & 0x1);
|
||||
eeprom->set_cs_line((data & 0x4) ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( gundamex_map, AS_PROGRAM, 16 )
|
||||
|
@ -386,14 +386,15 @@ static WRITE8_DEVICE_HANDLER( eeprom_w )
|
||||
{
|
||||
sigmab98_state *state = device->machine().driver_data<sigmab98_state>();
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x40);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x40);
|
||||
|
||||
// reset line asserted: reset.
|
||||
// if ((state->m_c0 ^ data) & 0x20)
|
||||
eeprom_set_cs_line(device, (data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x10) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->set_clock_line((data & 0x10) ? ASSERT_LINE : CLEAR_LINE);
|
||||
|
||||
state->m_c0 = data;
|
||||
show_outputs(state);
|
||||
@ -591,19 +592,21 @@ static READ8_HANDLER( animalc_rambank_r )
|
||||
|
||||
static READ8_DEVICE_HANDLER( sammymdl_eeprom_r )
|
||||
{
|
||||
return eeprom_read_bit(device) ? 0x80 : 0;
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return eeprom->read_bit() ? 0x80 : 0;
|
||||
}
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( sammymdl_eeprom_w )
|
||||
{
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x40);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x40);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x10) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->set_clock_line((data & 0x10) ? ASSERT_LINE : CLEAR_LINE);
|
||||
|
||||
if (data & 0x8f)
|
||||
logerror("%s: unknown eeeprom bits written %02x\n", device->machine().describe_context(), data);
|
||||
@ -1484,7 +1487,7 @@ static INPUT_PORTS_START( gegege )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(5) // ? (coin error, pulses mask 4 of port c6)
|
||||
|
@ -130,7 +130,7 @@ INPUT_PORTS_END
|
||||
static READ32_HANDLER( simpl156_inputs_read )
|
||||
{
|
||||
simpl156_state *state = space->machine().driver_data<simpl156_state>();
|
||||
int eep = eeprom_read_bit(state->m_eeprom);
|
||||
int eep = state->m_eeprom->read_bit();
|
||||
UINT32 returndata = input_port_read(space->machine(), "IN0") ^ 0xffff0000;
|
||||
|
||||
returndata ^= ((eep << 8));
|
||||
@ -176,9 +176,9 @@ static WRITE32_HANDLER( simpl156_eeprom_w )
|
||||
|
||||
state->m_okimusic->set_bank_base(0x40000 * (data & 0x7));
|
||||
|
||||
eeprom_set_clock_line(state->m_eeprom, BIT(data, 5) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(state->m_eeprom, BIT(data, 4));
|
||||
eeprom_set_cs_line(state->m_eeprom, BIT(data, 6) ? CLEAR_LINE : ASSERT_LINE);
|
||||
state->m_eeprom->set_clock_line(BIT(data, 5) ? ASSERT_LINE : CLEAR_LINE);
|
||||
state->m_eeprom->write_bit(BIT(data, 4));
|
||||
state->m_eeprom->set_cs_line(BIT(data, 6) ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -174,14 +174,14 @@ static INPUT_PORTS_START( simpsons )
|
||||
|
||||
PORT_START("TEST")
|
||||
PORT_SERVICE_NO_TOGGLE( 0x01, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // eeprom ack
|
||||
PORT_BIT( 0xce, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( simpsn2p )
|
||||
@ -209,14 +209,14 @@ static INPUT_PORTS_START( simpsn2p )
|
||||
|
||||
PORT_START("TEST")
|
||||
PORT_SERVICE_NO_TOGGLE( 0x01, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // eeprom ack
|
||||
PORT_BIT( 0xce, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -175,7 +175,7 @@ static READ8_HANDLER( spool99_io_r )
|
||||
case 0xafe4: return input_port_read(space->machine(),"SERVICE2");//attract mode
|
||||
// case 0xafe5: return 1;
|
||||
// case 0xafe6: return 1;
|
||||
case 0xafe7: return eeprom_read_bit(space->machine().device("eeprom"));
|
||||
case 0xafe7: return space->machine().device<eeprom_device>("eeprom")->read_bit();
|
||||
case 0xaff8: return space->machine().device<okim6295_device>("oki")->read(*space,0);
|
||||
}
|
||||
}
|
||||
@ -188,19 +188,22 @@ static READ8_HANDLER( spool99_io_r )
|
||||
static WRITE8_DEVICE_HANDLER( eeprom_resetline_w )
|
||||
{
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE );
|
||||
}
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( eeprom_clockline_w )
|
||||
{
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x01) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_clock_line((data & 0x01) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( eeprom_dataline_w )
|
||||
{
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x01);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x01);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( spool99_map, AS_PROGRAM, 8 )
|
||||
@ -240,7 +243,7 @@ static READ8_HANDLER( vcarn_io_r )
|
||||
case 0xa7a2: return input_port_read(space->machine(),"START");
|
||||
case 0xa7a3: return input_port_read(space->machine(),"BET");//system 2
|
||||
|
||||
case 0xa7a7: return eeprom_read_bit(space->machine().device("eeprom"));
|
||||
case 0xa7a7: return space->machine().device<eeprom_device>("eeprom")->read_bit();
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -463,7 +463,8 @@ static READ16_DEVICE_HANDLER( gdfs_eeprom_r )
|
||||
ssv_state *state = device->machine().driver_data<ssv_state>();
|
||||
static const char *const gunnames[] = { "GUNX1", "GUNY1", "GUNX2", "GUNY2" };
|
||||
|
||||
return (((state->m_gdfs_lightgun_select & 1) ? 0 : 0xff) ^ input_port_read(device->machine(), gunnames[state->m_gdfs_lightgun_select])) | (eeprom_read_bit(device) << 8);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return (((state->m_gdfs_lightgun_select & 1) ? 0 : 0xff) ^ input_port_read(device->machine(), gunnames[state->m_gdfs_lightgun_select])) | (eeprom->read_bit() << 8);
|
||||
}
|
||||
|
||||
static WRITE16_DEVICE_HANDLER( gdfs_eeprom_w )
|
||||
@ -479,13 +480,14 @@ static WRITE16_DEVICE_HANDLER( gdfs_eeprom_w )
|
||||
// data & 0x0001 ?
|
||||
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x4000);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x4000);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x1000) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_cs_line((data & 0x1000) ? CLEAR_LINE : ASSERT_LINE );
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x2000) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom->set_clock_line((data & 0x2000) ? ASSERT_LINE : CLEAR_LINE );
|
||||
|
||||
if (!(state->m_gdfs_eeprom_old & 0x0800) && (data & 0x0800)) // rising clock
|
||||
state->m_gdfs_lightgun_select = (data & 0x0300) >> 8;
|
||||
|
@ -78,9 +78,10 @@ static WRITE16_DEVICE_HANDLER( eeprom_w )
|
||||
{
|
||||
if( ACCESSING_BITS_0_7 )
|
||||
{
|
||||
eeprom_write_bit(device, data & 0x01);
|
||||
eeprom_set_cs_line(device, (data & 0x02) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom_set_clock_line(device, (data & 0x04) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x01);
|
||||
eeprom->set_cs_line((data & 0x02) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_clock_line((data & 0x04) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
}
|
||||
|
||||
@ -138,7 +139,7 @@ static INPUT_PORTS_START( stlforce )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* eeprom */
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* eeprom */
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
@ -145,10 +145,10 @@ static WRITE32_HANDLER( superchs_input_w )
|
||||
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
device_t *device = space->machine().device("eeprom");
|
||||
eeprom_set_clock_line(device, (data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(device, data & 0x40);
|
||||
eeprom_set_cs_line(device, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->write_bit(data & 0x40);
|
||||
eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -259,7 +259,7 @@ static INPUT_PORTS_START( superchs )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* reserved for EEROM */
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* reserved for EEROM */
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) PORT_NAME("Seat Center") /* seat center (cockpit only) */
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -1371,7 +1371,7 @@ static INPUT_PORTS_START( pbobble ) /* Missing P3&4 controls ! */
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW ) /*ok*/
|
||||
|
||||
PORT_START("COIN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -1431,9 +1431,9 @@ static INPUT_PORTS_START( pbobble ) /* Missing P3&4 controls ! */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( spacedxo )
|
||||
@ -1533,7 +1533,7 @@ static INPUT_PORTS_START( qzshowby )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW ) /*ok*/
|
||||
|
||||
PORT_START("COIN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -1593,9 +1593,9 @@ static INPUT_PORTS_START( qzshowby )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( viofight )
|
||||
|
@ -291,7 +291,7 @@ static INPUT_PORTS_START( f3 )
|
||||
|
||||
/* These are not read directly, but through PORT_CUSTOMs above */
|
||||
PORT_START("EEPROMIN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_SERVICE_NO_TOGGLE( 0x02, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) /* Another service mode */
|
||||
@ -307,9 +307,9 @@ static INPUT_PORTS_START( f3 )
|
||||
PORT_BIT( 0xfff, 0x000, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(25) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M) PORT_PLAYER(2)
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( kn )
|
||||
|
@ -1256,7 +1256,7 @@ static READ16_HANDLER( spacegun_input_bypass_r )
|
||||
switch (offset)
|
||||
{
|
||||
case 0x03:
|
||||
return eeprom_read_bit(state->m_eeprom) << 7;
|
||||
return state->m_eeprom->read_bit() << 7;
|
||||
|
||||
default:
|
||||
return tc0220ioc_r(state->m_tc0220ioc, offset); /* might be a 510NIO ! */
|
||||
@ -2638,9 +2638,9 @@ static INPUT_PORTS_START( spacegun )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
|
||||
PORT_START("STICKX1")
|
||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(25) PORT_KEYDELTA(13) PORT_CENTERDELTA(0) PORT_REVERSE PORT_PLAYER(1)
|
||||
@ -2971,7 +2971,7 @@ static MACHINE_START( bshark )
|
||||
state->m_maincpu = machine.device("maincpu");
|
||||
state->m_subcpu = machine.device("sub");
|
||||
state->m_audiocpu = machine.device("audiocpu");
|
||||
state->m_eeprom = machine.device("eeprom");
|
||||
state->m_eeprom = machine.device<eeprom_device>("eeprom");
|
||||
state->m_tc0100scn = machine.device("tc0100scn");
|
||||
state->m_tc0150rod = machine.device("tc0150rod");
|
||||
state->m_tc0480scp = machine.device("tc0480scp");
|
||||
|
@ -1082,7 +1082,7 @@ static INPUT_PORTS_START( taitojc )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
//PORT_SERVICE(0x02, 0x00)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START("START")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4 )
|
||||
@ -1108,9 +1108,9 @@ static INPUT_PORTS_START( taitojc )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
#endif
|
||||
|
||||
@ -1119,7 +1119,7 @@ static INPUT_PORTS_START( dendeg )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START("START")
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1128,9 +1128,9 @@ static INPUT_PORTS_START( dendeg )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
|
||||
PORT_START("UNUSED")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON7 ) // Horn
|
||||
@ -1155,7 +1155,7 @@ static INPUT_PORTS_START( landgear )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START("START")
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1164,9 +1164,9 @@ static INPUT_PORTS_START( landgear )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
|
||||
PORT_START("UNUSED")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) // View button
|
||||
@ -1190,7 +1190,7 @@ static INPUT_PORTS_START( sidebs )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START("START")
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1201,9 +1201,9 @@ static INPUT_PORTS_START( sidebs )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
|
||||
PORT_START("UNUSED")
|
||||
PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1230,7 +1230,7 @@ static INPUT_PORTS_START( dangcurv )
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
|
||||
PORT_START("START")
|
||||
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -1241,9 +1241,9 @@ static INPUT_PORTS_START( dangcurv )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
|
||||
PORT_START("UNUSED")
|
||||
PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
@ -345,7 +345,8 @@ static READ16_HANDLER( unk880000_r )
|
||||
|
||||
static READ16_DEVICE_HANDLER( eeprom_r )
|
||||
{
|
||||
return ((eeprom_read_bit(device) & 0x01) << 11);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return ((eeprom->read_bit() & 0x01) << 11);
|
||||
}
|
||||
|
||||
|
||||
@ -353,9 +354,10 @@ static WRITE16_DEVICE_HANDLER( eeprom_w )
|
||||
{
|
||||
if ( ACCESSING_BITS_8_15 )
|
||||
{
|
||||
eeprom_write_bit(device, data & 0x0800);
|
||||
eeprom_set_cs_line(device, (data & 0x0200) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom_set_clock_line(device, (data & 0x0400) ? CLEAR_LINE: ASSERT_LINE );
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x0800);
|
||||
eeprom->set_cs_line((data & 0x0200) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_clock_line((data & 0x0400) ? CLEAR_LINE: ASSERT_LINE );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -567,9 +567,9 @@ static const char *const galgames_eeprom_names[5] = { GALGAMES_EEPROM_BIOS, GALG
|
||||
static READ16_HANDLER( galgames_eeprom_r )
|
||||
{
|
||||
tmaster_state *state = space->machine().driver_data<tmaster_state>();
|
||||
device_t *eeprom = space->machine().device(galgames_eeprom_names[state->m_galgames_cart]);
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>(galgames_eeprom_names[state->m_galgames_cart]);
|
||||
|
||||
return eeprom_read_bit(eeprom) ? 0x80 : 0x00;
|
||||
return eeprom->read_bit() ? 0x80 : 0x00;
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( galgames_eeprom_w )
|
||||
@ -580,13 +580,13 @@ static WRITE16_HANDLER( galgames_eeprom_w )
|
||||
|
||||
if ( ACCESSING_BITS_0_7 )
|
||||
{
|
||||
device_t *eeprom = space->machine().device(galgames_eeprom_names[state->m_galgames_cart]);
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>(galgames_eeprom_names[state->m_galgames_cart]);
|
||||
|
||||
// latch the bit
|
||||
eeprom_write_bit(eeprom, data & 0x0001);
|
||||
eeprom->write_bit(data & 0x0001);
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(eeprom, (data & 0x0002) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom->set_clock_line((data & 0x0002) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
}
|
||||
|
||||
@ -656,7 +656,7 @@ static WRITE16_HANDLER( galgames_cart_sel_w )
|
||||
{
|
||||
case 0x07: // 7 resets the eeprom
|
||||
for (i = 0; i < 5; i++)
|
||||
eeprom_set_cs_line(space->machine().device(galgames_eeprom_names[i]), ASSERT_LINE);
|
||||
space->machine().device<eeprom_device>(galgames_eeprom_names[i])->set_cs_line(ASSERT_LINE);
|
||||
break;
|
||||
|
||||
case 0x00:
|
||||
@ -664,12 +664,12 @@ static WRITE16_HANDLER( galgames_cart_sel_w )
|
||||
case 0x02:
|
||||
case 0x03:
|
||||
case 0x04:
|
||||
eeprom_set_cs_line(space->machine().device(galgames_eeprom_names[data & 0xff]), CLEAR_LINE);
|
||||
space->machine().device<eeprom_device>(galgames_eeprom_names[data & 0xff])->set_cs_line(CLEAR_LINE);
|
||||
galgames_update_rombank(space->machine(), data & 0xff);
|
||||
break;
|
||||
|
||||
default:
|
||||
eeprom_set_cs_line(space->machine().device(galgames_eeprom_names[0]), CLEAR_LINE);
|
||||
space->machine().device<eeprom_device>(galgames_eeprom_names[0])->set_cs_line(CLEAR_LINE);
|
||||
galgames_update_rombank(space->machine(), 0);
|
||||
logerror("%06x: unknown cart sel = %04x\n", cpu_get_pc(&space->device()), data);
|
||||
break;
|
||||
|
@ -491,13 +491,14 @@ static WRITE32_DEVICE_HANDLER( tmmjprd_eeprom_write )
|
||||
if (mem_mask == 0xff000000)
|
||||
{
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x01000000);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x01000000);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x04000000) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_cs_line((data & 0x04000000) ? CLEAR_LINE : ASSERT_LINE );
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom->set_clock_line((data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
}
|
||||
|
||||
@ -528,7 +529,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_SERVICE( 0x20, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) // CHECK!
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) // CHECK!
|
||||
|
||||
PORT_START("PL1_1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(1)
|
||||
|
@ -1715,14 +1715,14 @@ static INPUT_PORTS_START( blswhstl )
|
||||
KONAMI16_LSB( 2, IPT_UNKNOWN, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("EEPROM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
|
||||
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( glfgreat )
|
||||
@ -1811,7 +1811,7 @@ static INPUT_PORTS_START( ssriders )
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("EEPROM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* ?? TMNT2: OBJMPX */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) /* ?? TMNT2: NVBLK */
|
||||
@ -1820,9 +1820,9 @@ static INPUT_PORTS_START( ssriders )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( ssridr4p )
|
||||
@ -1849,7 +1849,7 @@ static INPUT_PORTS_START( ssridr4p )
|
||||
KONAMI16_LSB( 4, IPT_UNKNOWN, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("EEPROM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* ?? TMNT2: OBJMPX */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) /* ?? TMNT2: NVBLK */
|
||||
@ -1858,9 +1858,9 @@ static INPUT_PORTS_START( ssridr4p )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Same as 'ssridr4p', but additional Start button for each player.
|
||||
@ -1889,7 +1889,7 @@ static INPUT_PORTS_START( ssrid4ps )
|
||||
KONAMI16_LSB( 4, IPT_UNKNOWN, IPT_START4 )
|
||||
|
||||
PORT_START("EEPROM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* ?? TMNT2: OBJMPX */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) /* ?? TMNT2: NVBLK */
|
||||
@ -1898,9 +1898,9 @@ static INPUT_PORTS_START( ssrid4ps )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Version for the bootleg, which has the service switch a little different */
|
||||
@ -1928,16 +1928,16 @@ static INPUT_PORTS_START( sunsetbl )
|
||||
KONAMI16_LSB( 4, IPT_UNKNOWN, IPT_START4 )
|
||||
|
||||
PORT_START("EEPROM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( qgakumon )
|
||||
@ -1978,7 +1978,7 @@ static INPUT_PORTS_START( qgakumon )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("EEPROM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* ?? TMNT2: OBJMPX */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) /* ?? TMNT2: NVBLK (needs to be ACTIVE_HIGH to avoid problems) */
|
||||
@ -1987,9 +1987,9 @@ static INPUT_PORTS_START( qgakumon )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( thndrx2 )
|
||||
@ -2006,7 +2006,7 @@ static INPUT_PORTS_START( thndrx2 )
|
||||
|
||||
PORT_START("P2/EEPROM")
|
||||
KONAMI16_LSB( 2, IPT_UNKNOWN, IPT_START2 )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* VBLK?? */
|
||||
@ -2016,9 +2016,9 @@ static INPUT_PORTS_START( thndrx2 )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( prmrsocr )
|
||||
@ -2043,7 +2043,7 @@ static INPUT_PORTS_START( prmrsocr )
|
||||
|
||||
PORT_START("P2/EEPROM")
|
||||
KONAMI16_LSB( 2, IPT_UNKNOWN, IPT_START2 )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM status? - always 1 */
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -2053,9 +2053,9 @@ static INPUT_PORTS_START( prmrsocr )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -1077,7 +1077,7 @@ static READ16_HANDLER( bbakraid_eeprom_r )
|
||||
// ROM code. Failure to return the correct status incurrs a Sound Error.
|
||||
|
||||
int data;
|
||||
data = ((eeprom_read_bit(eeprom) & 0x01) << 4);
|
||||
data = ((eeprom->read_bit() & 0x01) << 4);
|
||||
data |= ((state->m_z80_busreq >> 4) & 0x01); // Loop BUSRQ to BUSAK
|
||||
|
||||
return data;
|
||||
@ -2188,10 +2188,10 @@ static INPUT_PORTS_START( fixeight )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Unknown/Unused
|
||||
|
||||
PORT_START("EEPROM")
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -2966,9 +2966,9 @@ static INPUT_PORTS_START( bbakraid )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -172,13 +172,13 @@ static INPUT_PORTS_START( ultrsprt )
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
|
||||
PORT_START("SERVICE")
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_SERVICE_NO_TOGGLE( 0x08000000, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x01000000, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
|
||||
PORT_START("STICKX1")
|
||||
PORT_BIT( 0xfff, 0x800, IPT_AD_STICK_X ) PORT_MINMAX(0x000,0xfff) PORT_SENSITIVITY(70) PORT_KEYDELTA(10) PORT_PLAYER(1)
|
||||
|
@ -290,10 +290,10 @@ static WRITE32_HANDLER( undrfire_input_w )
|
||||
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
device_t *device = space->machine().device("eeprom");
|
||||
eeprom_set_clock_line(device, (data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(device, data & 0x40);
|
||||
eeprom_set_cs_line(device, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = space->machine().device<eeprom_device>("eeprom");
|
||||
eeprom->set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom->write_bit(data & 0x40);
|
||||
eeprom->set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -524,7 +524,7 @@ static INPUT_PORTS_START( undrfire )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* reserved for EEROM */
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* reserved for EEROM */
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -592,7 +592,7 @@ static INPUT_PORTS_START( cbombers )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* reserved for EEROM */
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* reserved for EEROM */
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -204,13 +204,14 @@ static WRITE32_DEVICE_HANDLER( zeropnt2_eeprom_w )
|
||||
if ( ACCESSING_BITS_24_31 )
|
||||
{
|
||||
// latch the bit
|
||||
eeprom_write_bit(device, data & 0x04000000);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x04000000);
|
||||
|
||||
// reset line asserted: reset.
|
||||
eeprom_set_cs_line(device, (data & 0x01000000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom->set_cs_line((data & 0x01000000) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
// clock line asserted: write latch or select next bit to read
|
||||
eeprom_set_clock_line(device, (data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom->set_clock_line((data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
}
|
||||
|
||||
@ -507,7 +508,7 @@ static INPUT_PORTS_START( zeropnt2 )
|
||||
PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x20000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) // EEPROM
|
||||
PORT_BIT( 0x80000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) // EEPROM
|
||||
|
||||
PORT_START("Y0") /* $800140.b */
|
||||
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
|
||||
|
@ -69,23 +69,28 @@ public:
|
||||
static READ16_DEVICE_HANDLER( eeprom_r )
|
||||
{
|
||||
if(offset)
|
||||
return eeprom_read_bit(device);
|
||||
{
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return eeprom->read_bit();
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
static READ32_DEVICE_HANDLER( eeprom32_r )
|
||||
{
|
||||
return eeprom_read_bit(device);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
return eeprom->read_bit();
|
||||
}
|
||||
|
||||
static WRITE16_DEVICE_HANDLER( eeprom_w )
|
||||
{
|
||||
if(offset)
|
||||
{
|
||||
eeprom_write_bit(device, data & 0x01);
|
||||
eeprom_set_cs_line(device, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom_set_clock_line(device, (data & 0x02) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x01);
|
||||
eeprom->set_cs_line((data & 0x04) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_clock_line((data & 0x02) ? ASSERT_LINE : CLEAR_LINE );
|
||||
|
||||
// data & 8?
|
||||
}
|
||||
@ -93,16 +98,18 @@ static WRITE16_DEVICE_HANDLER( eeprom_w )
|
||||
|
||||
static WRITE32_DEVICE_HANDLER( eeprom32_w )
|
||||
{
|
||||
eeprom_write_bit(device, data & 0x01);
|
||||
eeprom_set_cs_line(device, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom_set_clock_line(device, (data & 0x02) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x01);
|
||||
eeprom->set_cs_line((data & 0x04) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_clock_line((data & 0x02) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
|
||||
static WRITE32_DEVICE_HANDLER( finalgdr_eeprom_w )
|
||||
{
|
||||
eeprom_write_bit(device, data & 0x4000);
|
||||
eeprom_set_cs_line(device, (data & 0x1000) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom_set_clock_line(device, (data & 0x2000) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x4000);
|
||||
eeprom->set_cs_line((data & 0x1000) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom->set_clock_line((data & 0x2000) ? ASSERT_LINE : CLEAR_LINE );
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( flipscreen_w )
|
||||
@ -616,7 +623,7 @@ static INPUT_PORTS_START( aoh )
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) // eeprom bit
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) // eeprom bit
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
@ -325,16 +325,16 @@ static INPUT_PORTS_START( vendet4p )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("EEPROM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* EEPROM ready */
|
||||
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) /* not really vblank, object related. Its timed, otherwise sprites flicker */
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( vendetta )
|
||||
@ -381,16 +381,16 @@ static INPUT_PORTS_START( esckids )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("EEPROM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* EEPROM ready */
|
||||
PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK ) /* not really vblank, object related. Its timed, otherwise sprites flicker */
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( esckidsj )
|
||||
|
@ -401,16 +401,16 @@ static INPUT_PORTS_START( xexex )
|
||||
KONAMI16_LSB(2, IPT_UNKNOWN, IPT_START2 )
|
||||
|
||||
PORT_START("EEPROM")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) /* EEPROM ready (always 1) */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -211,7 +211,7 @@ static INPUT_PORTS_START( xmen )
|
||||
|
||||
PORT_START("EEPROM")
|
||||
PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* EEPROM status - always 1 */
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
|
||||
@ -222,9 +222,9 @@ static INPUT_PORTS_START( xmen )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( xmen2p )
|
||||
@ -240,7 +240,7 @@ static INPUT_PORTS_START( xmen2p )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE2 )
|
||||
PORT_BIT( 0x003c, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* EEPROM status - always 1 */
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
|
||||
@ -251,9 +251,9 @@ static INPUT_PORTS_START( xmen2p )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static CUSTOM_INPUT( xmen_frame_r )
|
||||
@ -277,7 +277,7 @@ static INPUT_PORTS_START( xmen6p )
|
||||
|
||||
PORT_START("EEPROM")
|
||||
PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused? */
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* EEPROM status - always 1 */
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
|
||||
@ -289,9 +289,9 @@ static INPUT_PORTS_START( xmen6p )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(xmen_frame_r, NULL) /* screen indicator? */
|
||||
|
||||
PORT_START( "EEPROMOUT" )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -51,19 +51,22 @@ EEPROM chip: 93C46
|
||||
static WRITE16_DEVICE_HANDLER( eeprom_chip_select_w )
|
||||
{
|
||||
/* bit 0 is CS (active low) */
|
||||
eeprom_set_cs_line(device, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_cs_line((data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
|
||||
static WRITE16_DEVICE_HANDLER( eeprom_serial_clock_w )
|
||||
{
|
||||
/* bit 0 is SK (active high) */
|
||||
eeprom_set_clock_line(device, (data & 0x01) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->set_clock_line((data & 0x01) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
static WRITE16_DEVICE_HANDLER( eeprom_data_w )
|
||||
{
|
||||
/* bit 0 is EEPROM data (DIN) */
|
||||
eeprom_write_bit(device, data & 0x01);
|
||||
eeprom_device *eeprom = downcast<eeprom_device *>(device);
|
||||
eeprom->write_bit(data & 0x01);
|
||||
}
|
||||
|
||||
|
||||
@ -99,7 +102,7 @@ static INPUT_PORTS_START( xorworld )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) /* used for accessing the NVRAM */
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit) /* used for accessing the NVRAM */
|
||||
PORT_DIPNAME( 0x60, 0x40, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
|
||||
PORT_DIPSETTING( 0x60, DEF_STR( Normal ) )
|
||||
|
@ -534,12 +534,12 @@ static INPUT_PORTS_START( zr107 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* PARAACK */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("adc0838",adc083x_sars_read)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom",eeprom_read_bit)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom",eeprom_device,read_bit)
|
||||
|
||||
PORT_START("EEPROMOUT")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_clock_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
|
||||
|
||||
PORT_START("OUT4")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("adc0838", adc083x_cs_write)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user