diff options
-rw-r--r-- | src/devices/machine/eeprom.cpp | 8 |
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; } |