diff options
Diffstat (limited to 'src/devices/bus/ss50/interface.h')
-rw-r--r-- | src/devices/bus/ss50/interface.h | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/src/devices/bus/ss50/interface.h b/src/devices/bus/ss50/interface.h index 0be5f422c98..efffd46e7f0 100644 --- a/src/devices/bus/ss50/interface.h +++ b/src/devices/bus/ss50/interface.h @@ -6,10 +6,10 @@ **********************************************************************/ -#pragma once +#ifndef MAME_BUS_SS50_INTERFACE_H +#define MAME_BUS_SS50_INTERFACE_H -#ifndef MAME_DEVICES_BUS_SS50_INTERFACE_H -#define MAME_DEVICES_BUS_SS50_INTERFACE_H +#pragma once //************************************************************************** @@ -21,7 +21,7 @@ class ss50_card_interface; // ======================> ss50_interface_port_device -class ss50_interface_port_device : public device_t, public device_slot_interface +class ss50_interface_port_device : public device_t, public device_single_card_slot_interface<ss50_card_interface> { friend class ss50_card_interface; @@ -48,16 +48,16 @@ public: void write(offs_t offset, u8 data); // baud rates - DECLARE_WRITE_LINE_MEMBER(f110_w); - DECLARE_WRITE_LINE_MEMBER(f150_9600_w); - DECLARE_WRITE_LINE_MEMBER(f300_w); - DECLARE_WRITE_LINE_MEMBER(f600_4800_w); - DECLARE_WRITE_LINE_MEMBER(f600_1200_w); + void f110_w(int state); + void f150_9600_w(int state); + void f300_w(int state); + void f600_4800_w(int state); + void f600_1200_w(int state); protected: // device-specific overrides - virtual void device_resolve_objects() override; - virtual void device_start() override; + virtual void device_resolve_objects() override ATTR_COLD; + virtual void device_start() override ATTR_COLD; private: // output callbacks @@ -70,7 +70,7 @@ private: // ======================> ss50_card_interface -class ss50_card_interface : public device_slot_card_interface +class ss50_card_interface : public device_interface { friend class ss50_interface_port_device; @@ -83,17 +83,19 @@ protected: virtual void register_write(offs_t offset, u8 data) = 0; // optional overrides - virtual DECLARE_WRITE_LINE_MEMBER(f110_w) { } - virtual DECLARE_WRITE_LINE_MEMBER(f150_9600_w) { } - virtual DECLARE_WRITE_LINE_MEMBER(f300_w) { } - virtual DECLARE_WRITE_LINE_MEMBER(f600_4800_w) { } - virtual DECLARE_WRITE_LINE_MEMBER(f600_1200_w) { } + virtual void f110_w(int state) { } + virtual void f150_9600_w(int state) { } + virtual void f300_w(int state) { } + virtual void f600_4800_w(int state) { } + virtual void f600_1200_w(int state) { } // IRQ/FIRQ/NMI outputs - DECLARE_WRITE_LINE_MEMBER(write_irq) { m_slot->m_irq_cb(state); } - DECLARE_WRITE_LINE_MEMBER(write_firq) { m_slot->m_firq_cb(state); } + void write_irq(int state) { m_slot->m_irq_cb(state); } + void write_firq(int state) { m_slot->m_firq_cb(state); } private: + virtual void interface_pre_start() override; + ss50_interface_port_device *m_slot; }; @@ -104,4 +106,4 @@ DECLARE_DEVICE_TYPE(SS50_INTERFACE, ss50_interface_port_device) void ss50_default_2rs_devices(device_slot_interface &device); //void ss50_default_4rs_devices(device_slot_interface &device); -#endif +#endif // MAME_BUS_SS50_INTERFACE_H |