diff options
author | 2022-01-06 20:59:02 -0500 | |
---|---|---|
committer | 2022-01-06 20:59:02 -0500 | |
commit | 23bbd37da65e7d9783b8fa697039fa85257fa6de (patch) | |
tree | 6970df7d29d7751e560baf251af7ad173f143429 /src/devices/bus/mc10/mc10_cart.h | |
parent | 20adc731c24b8be2f7b963c8ed6a41829f7f5617 (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/mc10/mc10_cart.h')
-rw-r--r-- | src/devices/bus/mc10/mc10_cart.h | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/devices/bus/mc10/mc10_cart.h b/src/devices/bus/mc10/mc10_cart.h index eba93284325..428316527e2 100644 --- a/src/devices/bus/mc10/mc10_cart.h +++ b/src/devices/bus/mc10/mc10_cart.h @@ -13,7 +13,7 @@ #pragma once -#include "softlist_dev.h" +#include "imagedev/cartrom.h" /*************************************************************************** TYPE DEFINITIONS @@ -25,7 +25,7 @@ class device_mc10cart_interface; class mc10cart_slot_device final : public device_t, public device_single_card_slot_interface<device_mc10cart_interface>, - public device_image_interface + public device_cartrom_image_interface { public: @@ -54,14 +54,7 @@ public: // image-level overrides virtual image_init_result call_load() override; - virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); } - virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; } - - 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 "mc10_cart"; } virtual const char *file_extensions() const noexcept override { return "mcc,rom"; } |