diff options
Diffstat (limited to 'src/devices/bus/c64/exp.h')
-rw-r--r-- | src/devices/bus/c64/exp.h | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/src/devices/bus/c64/exp.h b/src/devices/bus/c64/exp.h index 391827b271f..68974431d56 100644 --- a/src/devices/bus/c64/exp.h +++ b/src/devices/bus/c64/exp.h @@ -36,8 +36,7 @@ #pragma once -#include "softlist_dev.h" -#include "formats/cbm_crt.h" +#include "imagedev/cartrom.h" @@ -51,7 +50,7 @@ class device_c64_expansion_card_interface; class c64_expansion_slot_device : public device_t, public device_single_card_slot_interface<device_c64_expansion_card_interface>, - public device_image_interface + public device_cartrom_image_interface { public: // construction/destruction @@ -83,10 +82,10 @@ public: // cartridge interface uint8_t dma_cd_r(offs_t offset) { return m_read_dma_cd(offset); } void dma_cd_w(offs_t offset, uint8_t data) { m_write_dma_cd(offset, data); } - DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_write_irq(state); } - DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_write_nmi(state); } - DECLARE_WRITE_LINE_MEMBER( dma_w ) { m_write_dma(state); } - DECLARE_WRITE_LINE_MEMBER( reset_w ) { m_write_reset(state); } + void irq_w(int state) { m_write_irq(state); } + void nmi_w(int state) { m_write_nmi(state); } + void dma_w(int state) { m_write_dma(state); } + void reset_w(int state) { m_write_reset(state); } int phi2() { return clock(); } int dotclock() { return phi2() * 8; } int hiram() { return m_hiram; } @@ -95,25 +94,18 @@ public: void set_passthrough(); protected: - // device-level overrides + // device_t implementation virtual void device_start() override; virtual void device_reset() override; - // 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(); } + // device_image_interface implementation + virtual std::pair<std::error_condition, std::string> 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 "c64_cart,vic10_cart"; } virtual const char *file_extensions() const noexcept override { return "80,a0,e0,crt"; } - // slot interface overrides + // device_slot_interface implementation virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override; devcb_read8 m_read_dma_cd; @@ -140,8 +132,8 @@ public: // construction/destruction virtual ~device_c64_expansion_card_interface(); - virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) { return data; }; - virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) { }; + virtual uint8_t c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) { return data; } + virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) { } virtual int c64_game_r(offs_t offset, int sphi2, int ba, int rw) { return m_game; } virtual int c64_exrom_r(offs_t offset, int sphi2, int ba, int rw) { return m_exrom; } |