diff options
Diffstat (limited to 'src/devices/bus/electron/cart/slot.h')
-rw-r--r-- | src/devices/bus/electron/cart/slot.h | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/src/devices/bus/electron/cart/slot.h b/src/devices/bus/electron/cart/slot.h index d74b32c0734..0da6bf10610 100644 --- a/src/devices/bus/electron/cart/slot.h +++ b/src/devices/bus/electron/cart/slot.h @@ -96,7 +96,7 @@ #pragma once -#include "softlist_dev.h" +#include "imagedev/cartrom.h" //************************************************************************** @@ -115,7 +115,7 @@ class device_electron_cart_interface; class electron_cartslot_device : public device_t, - public device_image_interface, + public device_cartrom_image_interface, public device_single_card_slot_interface<device_electron_cart_interface> { public: @@ -136,20 +136,16 @@ public: auto irq_handler() { return m_irq_handler.bind(); } auto nmi_handler() { return m_nmi_handler.bind(); } - // image-level overrides - virtual image_init_result call_load() override; + // device_image_interface implementation + virtual std::pair<std::error_condition, std::string> call_load() override; virtual void call_unload() 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 true; } - 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 "electron_cart"; } virtual const char *file_extensions() const noexcept override { return "rom,bin"; } - // slot interface overrides + // device_image_interface implementation virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override; // reading and writing @@ -158,18 +154,15 @@ public: virtual bool present() { return is_loaded() || loaded_through_softlist(); } - DECLARE_WRITE_LINE_MEMBER(irq_w) { m_irq_handler(state); } - DECLARE_WRITE_LINE_MEMBER(nmi_w) { m_nmi_handler(state); } + void irq_w(int state) { m_irq_handler(state); } + void nmi_w(int state) { m_nmi_handler(state); } protected: electron_cartslot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); - // device-level overrides + // device_t implementation virtual void device_start() override; - // device_image_interface implementation - virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); } - device_electron_cart_interface *m_cart; private: |