summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ss50/interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ss50/interface.h')
-rw-r--r--src/devices/bus/ss50/interface.h42
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