summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/kc/kc.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/kc/kc.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/kc/kc.h')
-rw-r--r--src/devices/bus/kc/kc.h13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/devices/bus/kc/kc.h b/src/devices/bus/kc/kc.h
index 9c510fe62cd..fdb9cd467ce 100644
--- a/src/devices/bus/kc/kc.h
+++ b/src/devices/bus/kc/kc.h
@@ -13,7 +13,7 @@
#pragma once
-#include "softlist_dev.h"
+#include "imagedev/cartrom.h"
/***************************************************************************
TYPE DEFINITIONS
@@ -94,7 +94,7 @@ protected:
// ======================> kccart_slot_device
-class kccart_slot_device : public kcexp_slot_device, public device_image_interface
+class kccart_slot_device : public kcexp_slot_device, public device_cartrom_image_interface
{
public:
// construction/destruction
@@ -113,21 +113,12 @@ public:
// image-level overrides
virtual image_init_result call_load() override;
- 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 "kc_cart"; }
virtual const char *file_extensions() const noexcept override { return "bin"; }
// slot interface overrides
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
-
-protected:
- // device_image_interface implementation
- virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
};
// device type definition