summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/cpc/cpc_rom.h
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2022-01-06 20:59:02 -0500
committer AJR <ajrhacker@users.noreply.github.com>2022-01-06 20:59:02 -0500
commit23bbd37da65e7d9783b8fa697039fa85257fa6de (patch)
tree6970df7d29d7751e560baf251af7ad173f143429 /src/devices/bus/cpc/cpc_rom.h
parent20adc731c24b8be2f7b963c8ed6a41829f7f5617 (diff)
device_image_interface: Interface overhaul
- Remove the iodevice_t classification, which was not used that much and was incomplete anyway. Image device implementations must now provide their own instance names and brief instance names. Several new parent classes have been created to make it easier to use the old standard names. - Change must_be_loaded from a pure virtual function to be overridden in implementations to a getter for a base class property that can be set on the host side (as was formerly made possible for NES, MD and "generic" cartridge slots) but defaults to false for all types. This restrictive property has been unset for a small number of cases. - Create parent classes for paper tape and magnetic tape devices. At present these are dummy classes that do little to nothing, but may help unify implementations in the future. - Change several member functions to take std::string_view parameters rather than const std::string & or const char *. - Make update_names take into account brief names, as discussed in PR #2555. - Remove the obsolete uses_file_extension function (which used thread-unsafe strtok). * portfolio_ccm_slot: Change image type from "cartridge" to "memcard" * i7220, datapack: Add custom instance names that weren't there before * pc11: Add note
Diffstat (limited to 'src/devices/bus/cpc/cpc_rom.h')
-rw-r--r--src/devices/bus/cpc/cpc_rom.h9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/devices/bus/cpc/cpc_rom.h b/src/devices/bus/cpc/cpc_rom.h
index 5f36de39fcf..a9932dd57a8 100644
--- a/src/devices/bus/cpc/cpc_rom.h
+++ b/src/devices/bus/cpc/cpc_rom.h
@@ -12,12 +12,13 @@
#pragma once
#include "cpcexp.h"
+#include "imagedev/cartrom.h"
/*** ROM image device ***/
// ======================> cpc_rom_image_device
-class cpc_rom_image_device : public device_t, public device_image_interface
+class cpc_rom_image_device : public device_t, public device_rom_image_interface
{
public:
// construction/destruction
@@ -28,12 +29,6 @@ public:
virtual image_init_result call_load() override;
virtual void call_unload() override;
- virtual iodevice_t image_type() const noexcept override { return IO_ROM; }
-
- virtual bool is_readable() const noexcept override { return true; }
- virtual bool is_writeable() const noexcept override { return false; }
- virtual bool is_creatable() const noexcept override { return false; }
- virtual bool must_be_loaded() const noexcept override { return false; }
virtual bool is_reset_on_load() const noexcept override { return true; }
virtual const char *image_interface() const noexcept override { return "cpc_rom"; }
virtual const char *file_extensions() const noexcept override { return "rom,bin"; }