diff options
Diffstat (limited to 'src/devices/bus/acorn/system/8k.cpp')
-rw-r--r-- | src/devices/bus/acorn/system/8k.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/devices/bus/acorn/system/8k.cpp b/src/devices/bus/acorn/system/8k.cpp index 97939b7362f..b83544d3c8f 100644 --- a/src/devices/bus/acorn/system/8k.cpp +++ b/src/devices/bus/acorn/system/8k.cpp @@ -98,6 +98,7 @@ acorn_8k_device::acorn_8k_device(const machine_config &mconfig, const char *tag, void acorn_8k_device::device_start() { + save_item(NAME(m_ram)); } //------------------------------------------------- @@ -112,11 +113,11 @@ void acorn_8k_device::device_reset() if (ram_addr == 0x0000) // BLK0 { - space.install_ram(0x1000, 0x1fff); + space.install_ram(0x1000, 0x1fff, m_ram); } else { - space.install_ram(ram_addr, ram_addr + 0x1fff); + space.install_ram(ram_addr, ram_addr + 0x1fff, m_ram); } uint16_t rom_addr = (m_links->read() & 0xf0) << 9; @@ -136,16 +137,13 @@ void acorn_8k_device::device_reset() // IMPLEMENTATION //************************************************************************** -image_init_result acorn_8k_device::load_rom(device_image_interface &image, generic_slot_device *slot) +std::pair<std::error_condition, std::string> acorn_8k_device::load_rom(device_image_interface &image, generic_slot_device *slot) { - uint32_t size = slot->common_get_size("rom"); + uint32_t const size = slot->common_get_size("rom"); // socket accepts 2K and 4K ROM only if (size != 0x0800 && size != 0x1000) - { - image.seterror(IMAGE_ERROR_UNSPECIFIED, "Invalid size: Only 2K/4K is supported"); - return image_init_result::FAIL; - } + return std::make_pair(image_error::INVALIDLENGTH, "Invalid size: Only 2K/4K is supported"); slot->rom_alloc(0x1000, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE); slot->common_load_rom(slot->get_rom_base(), size, "rom"); @@ -154,5 +152,5 @@ image_init_result acorn_8k_device::load_rom(device_image_interface &image, gener uint8_t *rom = slot->get_rom_base(); if (size <= 0x0800) memcpy(rom + 0x0800, rom, 0x0800); - return image_init_result::PASS; + return std::make_pair(std::error_condition(), std::string()); } |