mirror of
https://github.com/holub/mame
synced 2025-05-09 15:51:48 +03:00
Fix device/config merge errors.
This commit is contained in:
parent
f0444c1b89
commit
ce7f337cc1
@ -91,7 +91,8 @@ eeprom_device::eeprom_device(const machine_config &mconfig, const char *tag, dev
|
|||||||
m_clock_line(CLEAR_LINE),
|
m_clock_line(CLEAR_LINE),
|
||||||
m_sending(0),
|
m_sending(0),
|
||||||
m_locked(false),
|
m_locked(false),
|
||||||
m_reset_delay(0)
|
m_reset_counter(0),
|
||||||
|
m_data_buffer(0)
|
||||||
{
|
{
|
||||||
m_default_data.u8 = NULL;
|
m_default_data.u8 = NULL;
|
||||||
memset(downcast<eeprom_interface *>(this), 0, sizeof(eeprom_interface));
|
memset(downcast<eeprom_interface *>(this), 0, sizeof(eeprom_interface));
|
||||||
@ -182,9 +183,9 @@ void eeprom_device::device_start()
|
|||||||
save_item(NAME(m_locked));
|
save_item(NAME(m_locked));
|
||||||
save_item(NAME(m_serial_count));
|
save_item(NAME(m_serial_count));
|
||||||
save_item(NAME(m_latch));
|
save_item(NAME(m_latch));
|
||||||
save_item(NAME(m_reset_delay));
|
save_item(NAME(m_reset_counter));
|
||||||
save_item(NAME(m_clock_count));
|
save_item(NAME(m_clock_count));
|
||||||
save_item(NAME(m_data_bits));
|
save_item(NAME(m_data_buffer));
|
||||||
save_item(NAME(m_read_address));
|
save_item(NAME(m_read_address));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -319,13 +320,13 @@ int eeprom_device::read_bit()
|
|||||||
int res;
|
int res;
|
||||||
|
|
||||||
if (m_sending)
|
if (m_sending)
|
||||||
res = (m_data_bits >> m_data_bits) & 1;
|
res = (m_data_buffer >> m_data_bits) & 1;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (m_reset_delay > 0)
|
if (m_reset_counter > 0)
|
||||||
{
|
{
|
||||||
/* this is needed by wbeachvl */
|
/* this is needed by wbeachvl */
|
||||||
m_reset_delay--;
|
m_reset_counter--;
|
||||||
res = 0;
|
res = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -356,7 +357,7 @@ void eeprom_device::set_cs_line(int state)
|
|||||||
|
|
||||||
m_serial_count = 0;
|
m_serial_count = 0;
|
||||||
m_sending = 0;
|
m_sending = 0;
|
||||||
m_reset_delay = m_reset_delay; /* delay a little before returning setting data to 1 (needed by wbeachvl) */
|
m_reset_counter = m_reset_delay; /* delay a little before returning setting data to 1 (needed by wbeachvl) */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -380,13 +381,13 @@ void eeprom_device::set_clock_line(int state)
|
|||||||
{
|
{
|
||||||
m_read_address = (m_read_address + 1) & ((1 << m_address_bits) - 1);
|
m_read_address = (m_read_address + 1) & ((1 << m_address_bits) - 1);
|
||||||
if (m_data_bits == 16)
|
if (m_data_bits == 16)
|
||||||
m_data_bits = m_addrspace[0]->read_word(m_read_address * 2);
|
m_data_buffer = m_addrspace[0]->read_word(m_read_address * 2);
|
||||||
else
|
else
|
||||||
m_data_bits = m_addrspace[0]->read_byte(m_read_address);
|
m_data_buffer = m_addrspace[0]->read_byte(m_read_address);
|
||||||
m_clock_count = 0;
|
m_clock_count = 0;
|
||||||
logerror("EEPROM read %04x from address %02x\n",m_data_bits,m_read_address);
|
logerror("EEPROM read %04x from address %02x\n",m_data_buffer,m_read_address);
|
||||||
}
|
}
|
||||||
m_data_bits = (m_data_bits << 1) | 1;
|
m_data_buffer = (m_data_buffer << 1) | 1;
|
||||||
m_clock_count++;
|
m_clock_count++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -428,14 +429,14 @@ void eeprom_device::write(int bit)
|
|||||||
if (m_serial_buffer[i] == '1') address |= 1;
|
if (m_serial_buffer[i] == '1') address |= 1;
|
||||||
}
|
}
|
||||||
if (m_data_bits == 16)
|
if (m_data_bits == 16)
|
||||||
m_data_bits = m_addrspace[0]->read_word(address * 2);
|
m_data_buffer = m_addrspace[0]->read_word(address * 2);
|
||||||
else
|
else
|
||||||
m_data_bits = m_addrspace[0]->read_byte(address);
|
m_data_buffer = m_addrspace[0]->read_byte(address);
|
||||||
m_read_address = address;
|
m_read_address = address;
|
||||||
m_clock_count = 0;
|
m_clock_count = 0;
|
||||||
m_sending = 1;
|
m_sending = 1;
|
||||||
m_serial_count = 0;
|
m_serial_count = 0;
|
||||||
logerror("EEPROM read %04x from address %02x\n",m_data_bits,address);
|
logerror("EEPROM read %04x from address %02x\n",m_data_buffer,address);
|
||||||
}
|
}
|
||||||
else if ( (m_serial_count > m_address_bits) &&
|
else if ( (m_serial_count > m_address_bits) &&
|
||||||
command_match((char*)(m_serial_buffer),m_cmd_erase,strlen((char*)(m_serial_buffer))-m_address_bits) )
|
command_match((char*)(m_serial_buffer),m_cmd_erase,strlen((char*)(m_serial_buffer))-m_address_bits) )
|
||||||
|
@ -117,7 +117,8 @@ protected:
|
|||||||
int m_clock_line;
|
int m_clock_line;
|
||||||
int m_sending;
|
int m_sending;
|
||||||
int m_locked;
|
int m_locked;
|
||||||
int m_reset_delay;
|
int m_reset_counter;
|
||||||
|
UINT16 m_data_buffer;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user