summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/acorn/system/8k.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/acorn/system/8k.cpp')
-rw-r--r--src/devices/bus/acorn/system/8k.cpp16
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());
}