summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/sda2006.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/sda2006.cpp')
-rw-r--r--src/devices/machine/sda2006.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/devices/machine/sda2006.cpp b/src/devices/machine/sda2006.cpp
index 853e5cf871d..99b4a41d9f7 100644
--- a/src/devices/machine/sda2006.cpp
+++ b/src/devices/machine/sda2006.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Tomasz Slanina
#include "emu.h"
-#include "machine/sda2006.h"
+#include "sda2006.h"
//-------------------------------------------------
//
@@ -114,9 +114,10 @@ void sda2006_device::nvram_default()
// .nv file
//-------------------------------------------------
-void sda2006_device::nvram_read(emu_file &file)
+bool sda2006_device::nvram_read(util::read_stream &file)
{
- file.read(m_eeprom_data, EEPROM_CAPACITY);
+ auto const [err, actual] = read(file, m_eeprom_data, EEPROM_CAPACITY);
+ return !err && (actual == EEPROM_CAPACITY);
}
//-------------------------------------------------
@@ -124,22 +125,23 @@ void sda2006_device::nvram_read(emu_file &file)
// .nv file
//-------------------------------------------------
-void sda2006_device::nvram_write(emu_file &file)
+bool sda2006_device::nvram_write(util::write_stream &file)
{
- file.write(m_eeprom_data, EEPROM_CAPACITY);
+ auto const [err, actual] = write(file, m_eeprom_data, EEPROM_CAPACITY);
+ return !err;
}
-READ_LINE_MEMBER( sda2006_device::read_data )
+int sda2006_device::read_data()
{
return m_latch^1;
}
-WRITE_LINE_MEMBER( sda2006_device::write_data )
+void sda2006_device::write_data(int state)
{
m_latch = state;
}
-WRITE_LINE_MEMBER( sda2006_device::write_enable )
+void sda2006_device::write_enable(int state)
{
if( (m_write_state ^ state) && (!state)){ //falling edge
m_is_end_o_stream = true;
@@ -148,7 +150,7 @@ WRITE_LINE_MEMBER( sda2006_device::write_enable )
m_write_state = state;
}
-WRITE_LINE_MEMBER( sda2006_device::write_clock )
+void sda2006_device::write_clock(int state)
{
if( (m_clock_state ^ state) && (!state)) { // falling edge