summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/i2cmem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/i2cmem.cpp')
-rw-r--r--src/devices/machine/i2cmem.cpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/devices/machine/i2cmem.cpp b/src/devices/machine/i2cmem.cpp
index 74504eb43ce..1197eb00c0c 100644
--- a/src/devices/machine/i2cmem.cpp
+++ b/src/devices/machine/i2cmem.cpp
@@ -23,7 +23,7 @@ there are two standard values.
***************************************************************************/
#include "emu.h"
-#include "machine/i2cmem.h"
+#include "i2cmem.h"
#include <cstdarg>
@@ -75,6 +75,8 @@ DEFINE_DEVICE_TYPE(I2C_X2404P, i2c_x2404p_device, "x2404p", "X2404P I2C Memor
DEFINE_DEVICE_TYPE(I2C_24C08, i2c_24c08_device, "24c08", "24C08 I2C Memory")
DEFINE_DEVICE_TYPE(I2C_24C16, i2c_24c16_device, "24c16", "24C16 I2C Memory")
DEFINE_DEVICE_TYPE(I2C_24C64, i2c_24c64_device, "24c64", "24C64 I2C Memory")
+DEFINE_DEVICE_TYPE(I2C_24C128, i2c_24c128_device, "24c128", "24C128 I2C Memory")
+DEFINE_DEVICE_TYPE(I2C_24C256, i2c_24c256_device, "24c256", "24C256 I2C Memory")
DEFINE_DEVICE_TYPE(I2C_24C512, i2c_24c512_device, "24c512", "24C512 I2C Memory")
//**************************************************************************
@@ -183,6 +185,16 @@ i2c_24c64_device::i2c_24c64_device(const machine_config &mconfig, const char *ta
{
}
+i2c_24c128_device::i2c_24c128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ i2cmem_device(mconfig, I2C_24C128, tag, owner, clock, 0, 64, 0x4000)
+{
+}
+
+i2c_24c256_device::i2c_24c256_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ i2cmem_device(mconfig, I2C_24C256, tag, owner, clock, 0, 64, 0x8000)
+{
+}
+
i2c_24c512_device::i2c_24c512_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) :
i2cmem_device(mconfig, I2C_24C512, tag, owner, clock, 0, 128, 0x10000)
{
@@ -255,8 +267,8 @@ void i2cmem_device::nvram_default()
bool i2cmem_device::nvram_read( util::read_stream &file )
{
- size_t actual;
- return !file.read( &m_data[0], m_data_size, actual ) && actual == m_data_size;
+ auto const [err, actual] = read( file, &m_data[0], m_data_size );
+ return !err && ( actual == m_data_size );
}
//-------------------------------------------------
@@ -266,8 +278,8 @@ bool i2cmem_device::nvram_read( util::read_stream &file )
bool i2cmem_device::nvram_write( util::write_stream &file )
{
- size_t actual;
- return !file.write( &m_data[0], m_data_size, actual ) && actual == m_data_size;
+ auto const [err, actual] = write( file, &m_data[0], m_data_size );
+ return !err;
}