diff options
Diffstat (limited to 'src/devices/bus/nes/karastudio.h')
-rw-r--r-- | src/devices/bus/nes/karastudio.h | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/devices/bus/nes/karastudio.h b/src/devices/bus/nes/karastudio.h index bd712722fe9..fcb481f046e 100644 --- a/src/devices/bus/nes/karastudio.h +++ b/src/devices/bus/nes/karastudio.h @@ -24,7 +24,7 @@ public: virtual ~kstudio_cart_interface(); // reading and writing - virtual DECLARE_READ8_MEMBER(read); + virtual uint8_t read(offs_t offset); uint8_t *get_cart_base() { return m_rom; } void write_prg_bank(uint8_t bank) { m_bank = bank; } @@ -49,6 +49,16 @@ class nes_kstudio_slot_device : public device_t, friend class nes_karaokestudio_device; public: // construction/destruction + template <typename T> + nes_kstudio_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts) + : nes_kstudio_slot_device(mconfig, tag, owner, (uint32_t)0) + { + option_reset(); + opts(*this); + set_default_option(nullptr); + set_fixed(false); + } + nes_kstudio_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual ~nes_kstudio_slot_device(); @@ -68,7 +78,7 @@ public: // slot interface overrides virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override; - virtual DECLARE_READ8_MEMBER(read); + uint8_t read(offs_t offset); void write_prg_bank(uint8_t bank) { if (m_cart) m_cart->write_prg_bank(bank); } protected: @@ -82,11 +92,6 @@ protected: DECLARE_DEVICE_TYPE(NES_KSEXPANSION_SLOT, nes_kstudio_slot_device) -#define MCFG_KSTUDIO_MINICART_ADD(_tag, _slot_intf) \ - MCFG_DEVICE_ADD(_tag, NES_KSEXPANSION_SLOT, 0) \ -MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, nullptr, false) - - //----------------------------------------------- // // Karaoke Studio Expansion cart implementation @@ -130,9 +135,9 @@ public: // construction/destruction nes_karaokestudio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual DECLARE_READ8_MEMBER(read_m) override; - virtual DECLARE_READ8_MEMBER(read_h) override; - virtual DECLARE_WRITE8_MEMBER(write_h) override; + virtual uint8_t read_m(offs_t offset) override; + virtual uint8_t read_h(offs_t offset) override; + virtual void write_h(offs_t offset, uint8_t data) override; virtual void pcb_reset() override; |