diff options
Diffstat (limited to 'src/devices/bus/nes/aladdin.h')
-rw-r--r-- | src/devices/bus/nes/aladdin.h | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/devices/bus/nes/aladdin.h b/src/devices/bus/nes/aladdin.h index de6725bb9f1..9014bf6969a 100644 --- a/src/devices/bus/nes/aladdin.h +++ b/src/devices/bus/nes/aladdin.h @@ -24,7 +24,7 @@ public: virtual ~aladdin_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 set_cart_size(uint32_t size) { m_rom_size = size; m_rom_mask = (size / 0x4000) - 1; } @@ -50,6 +50,16 @@ class nes_aladdin_slot_device : public device_t, friend class nes_aladdin_device; public: // construction/destruction + template <typename T> + nes_aladdin_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts) + : nes_aladdin_slot_device(mconfig, tag, owner, (uint32_t)0) + { + option_reset(); + opts(*this); + set_default_option(nullptr); + set_fixed(false); + } + nes_aladdin_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual ~nes_aladdin_slot_device(); @@ -72,7 +82,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(uint32_t offset, uint8_t data) { if (m_cart) m_cart->write_prg(offset, data); } protected: @@ -83,11 +93,6 @@ protected: DECLARE_DEVICE_TYPE(NES_ALADDIN_SLOT, nes_aladdin_slot_device) -#define MCFG_ALADDIN_MINICART_ADD(_tag, _slot_intf) \ - MCFG_DEVICE_ADD(_tag, NES_ALADDIN_SLOT, 0) \ - MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, nullptr, false) - - //---------------------------------- // // Aladdin Minicart implementation @@ -155,8 +160,8 @@ public: // construction/destruction nes_aladdin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual DECLARE_READ8_MEMBER(read_h) override; - virtual DECLARE_WRITE8_MEMBER(write_h) 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; |