summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/eepromser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/eepromser.cpp')
-rw-r--r--src/devices/machine/eepromser.cpp57
1 files changed, 28 insertions, 29 deletions
diff --git a/src/devices/machine/eepromser.cpp b/src/devices/machine/eepromser.cpp
index 2ba5fcc59be..96a469f009e 100644
--- a/src/devices/machine/eepromser.cpp
+++ b/src/devices/machine/eepromser.cpp
@@ -2,8 +2,6 @@
// copyright-holders:Aaron Giles
/***************************************************************************
- eepromser.c
-
Serial EEPROM devices.
****************************************************************************
@@ -106,13 +104,13 @@
Issues with:
- kickgoal.c - code seems wrong, clock logic writes 0-0-0 instead of 0-1-0 as expected
- overdriv.c - drops CS, raises CS, keeps DI=1, triggering extraneous start bit
+ kickgoal.cpp - code seems wrong, clock logic writes 0-0-0 instead of 0-1-0 as expected
+ overdriv.cpp - drops CS, raises CS, keeps DI=1, triggering extraneous start bit
***************************************************************************/
#include "emu.h"
-#include "machine/eepromser.h"
+#include "eepromser.h"
@@ -155,24 +153,24 @@ ALLOW_SAVE_TYPE(eeprom_serial_base_device::eeprom_state);
// eeprom_serial_base_device - constructor
//-------------------------------------------------
-eeprom_serial_base_device::eeprom_serial_base_device(const machine_config &mconfig, device_type devtype, const char *tag, device_t *owner, eeprom_serial_streaming enable_streaming)
- : eeprom_base_device(mconfig, devtype, tag, owner),
- m_command_address_bits(0),
- m_streaming_enabled(bool(enable_streaming)),
- m_output_on_falling_clock_enabled(false),
- m_do_cb(*this),
- m_state(STATE_IN_RESET),
- m_cs_state(CLEAR_LINE),
- m_last_cs_rising_edge_time(attotime::zero),
- m_oe_state(CLEAR_LINE),
- m_clk_state(CLEAR_LINE),
- m_di_state(CLEAR_LINE),
- m_locked(true),
- m_bits_accum(0),
- m_command_address_accum(0),
- m_command(COMMAND_INVALID),
- m_address(0),
- m_shift_register(0)
+eeprom_serial_base_device::eeprom_serial_base_device(const machine_config &mconfig, device_type devtype, const char *tag, device_t *owner, eeprom_serial_streaming enable_streaming) :
+ eeprom_base_device(mconfig, devtype, tag, owner),
+ m_command_address_bits(0),
+ m_streaming_enabled(bool(enable_streaming)),
+ m_output_on_falling_clock_enabled(false),
+ m_do_cb(*this),
+ m_state(STATE_IN_RESET),
+ m_cs_state(CLEAR_LINE),
+ m_last_cs_rising_edge_time(attotime::zero),
+ m_oe_state(CLEAR_LINE),
+ m_clk_state(CLEAR_LINE),
+ m_di_state(CLEAR_LINE),
+ m_locked(true),
+ m_bits_accum(0),
+ m_command_address_accum(0),
+ m_command(COMMAND_INVALID),
+ m_address(0),
+ m_shift_register(0)
{
}
@@ -193,6 +191,7 @@ void eeprom_serial_base_device::device_start()
// save the current state
save_item(NAME(m_state));
save_item(NAME(m_cs_state));
+ save_item(NAME(m_last_cs_rising_edge_time));
save_item(NAME(m_oe_state));
save_item(NAME(m_clk_state));
save_item(NAME(m_di_state));
@@ -607,8 +606,8 @@ void eeprom_serial_base_device::execute_write_command()
// STANDARD INTERFACE IMPLEMENTATION
//**************************************************************************
-eeprom_serial_s29x90_device::eeprom_serial_s29x90_device(const machine_config &mconfig, device_type devtype, const char *tag, device_t *owner, eeprom_serial_streaming ignored)
- : eeprom_serial_93cxx_device(mconfig, devtype, tag, owner, eeprom_serial_streaming::ENABLE)
+eeprom_serial_s29x90_device::eeprom_serial_s29x90_device(const machine_config &mconfig, device_type devtype, const char *tag, device_t *owner, eeprom_serial_streaming ignored) :
+ eeprom_serial_93cxx_device(mconfig, devtype, tag, owner, eeprom_serial_streaming::ENABLE)
{
enable_output_on_falling_clock(true);
}
@@ -1079,14 +1078,14 @@ void eeprom_serial_x24c44_device::di_write(int state) { base_di_write(state); }
// macro for defining a new device class
#define DEFINE_SERIAL_EEPROM_DEVICE(_baseclass, _lowercase, _uppercase, _bits, _cells, _addrbits) \
-eeprom_serial_##_lowercase##_##_bits##bit_device::eeprom_serial_##_lowercase##_##_bits##bit_device(const machine_config &mconfig, const char *tag, device_t *owner, eeprom_serial_streaming enable_streaming) \
- : eeprom_serial_##_baseclass##_device(mconfig, EEPROM_##_uppercase##_##_bits##BIT, tag, owner, enable_streaming) \
+eeprom_serial_##_lowercase##_##_bits##bit_device::eeprom_serial_##_lowercase##_##_bits##bit_device(const machine_config &mconfig, const char *tag, device_t *owner, eeprom_serial_streaming enable_streaming) : \
+ eeprom_serial_##_baseclass##_device(mconfig, EEPROM_##_uppercase##_##_bits##BIT, tag, owner, enable_streaming) \
{ \
size(_cells, _bits); \
set_address_bits(_addrbits); \
} \
-eeprom_serial_##_lowercase##_##_bits##bit_device::eeprom_serial_##_lowercase##_##_bits##bit_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) \
- : eeprom_serial_##_baseclass##_device(mconfig, EEPROM_##_uppercase##_##_bits##BIT, tag, owner, eeprom_serial_streaming::DISABLE) \
+eeprom_serial_##_lowercase##_##_bits##bit_device::eeprom_serial_##_lowercase##_##_bits##bit_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : \
+ eeprom_serial_##_baseclass##_device(mconfig, EEPROM_##_uppercase##_##_bits##BIT, tag, owner, eeprom_serial_streaming::DISABLE) \
{ \
size(_cells, _bits); \
set_address_bits(_addrbits); \