summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/devices/machine/eeprom.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/devices/machine/eeprom.cpp b/src/devices/machine/eeprom.cpp
index 38244596f05..05f5fd04be9 100644
--- a/src/devices/machine/eeprom.cpp
+++ b/src/devices/machine/eeprom.cpp
@@ -302,7 +302,7 @@ void eeprom_base_device::nvram_write(emu_file &file)
uint32_t eeprom_base_device::internal_read(offs_t address)
{
if (m_data_bits == 16)
- return m_data[address * 2 + NATIVE_ENDIAN_VALUE_LE_BE(0,1)] | (m_data[address * 2 + NATIVE_ENDIAN_VALUE_LE_BE(1,0)] << 8);
+ return reinterpret_cast<u16 *>(m_data.get())[address];
else
return m_data[address];
}
@@ -316,9 +316,7 @@ uint32_t eeprom_base_device::internal_read(offs_t address)
void eeprom_base_device::internal_write(offs_t address, uint32_t data)
{
if (m_data_bits == 16)
- {
- m_data[address * 2 + NATIVE_ENDIAN_VALUE_LE_BE(0,1)] = data;
- m_data[address * 2 + NATIVE_ENDIAN_VALUE_LE_BE(1,0)] = data >> 8;
- } else
+ reinterpret_cast<u16 *>(m_data.get())[address] = data;
+ else
m_data[address] = data;
}