diff options
Diffstat (limited to 'src/devices/machine/sda2006.cpp')
-rw-r--r-- | src/devices/machine/sda2006.cpp | 20 |
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 |