summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/cbm2/user.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/cbm2/user.h')
-rw-r--r--src/devices/bus/cbm2/user.h29
1 files changed, 14 insertions, 15 deletions
diff --git a/src/devices/bus/cbm2/user.h b/src/devices/bus/cbm2/user.h
index 6bb6bba33c6..df31b854c51 100644
--- a/src/devices/bus/cbm2/user.h
+++ b/src/devices/bus/cbm2/user.h
@@ -39,7 +39,7 @@ class cbm2_user_port_device;
// ======================> device_cbm2_user_port_interface
// class representing interface-specific live cbm2_expansion card
-class device_cbm2_user_port_interface : public device_slot_card_interface
+class device_cbm2_user_port_interface : public device_interface
{
public:
virtual uint8_t cbm2_d1_r() { return 0xff; }
@@ -67,8 +67,7 @@ protected:
// ======================> cbm2_user_port_device
-class cbm2_user_port_device : public device_t,
- public device_slot_interface
+class cbm2_user_port_device : public device_t, public device_single_card_slot_interface<device_cbm2_user_port_interface>
{
public:
// construction/destruction
@@ -93,23 +92,23 @@ public:
void d1_w(uint8_t data) { if (m_card != nullptr) m_card->cbm2_d1_w(data); }
uint8_t d2_r() { uint8_t data = 0xff; if (m_card != nullptr) data = m_card->cbm2_d2_r(); return data; }
void d2_w(uint8_t data) { if (m_card != nullptr) m_card->cbm2_d2_w(data); }
- DECLARE_READ_LINE_MEMBER( pb2_r ) { return m_card ? m_card->cbm2_pb2_r() : 1; }
- DECLARE_WRITE_LINE_MEMBER( pb2_w ) { if (m_card != nullptr) m_card->cbm2_pb2_w(state); }
- DECLARE_READ_LINE_MEMBER( pb3_r ) { return m_card ? m_card->cbm2_pb3_r() : 1; }
- DECLARE_WRITE_LINE_MEMBER( pb3_w ) { if (m_card != nullptr) m_card->cbm2_pb3_w(state); }
- DECLARE_WRITE_LINE_MEMBER( pc_w ) { if (m_card != nullptr) m_card->cbm2_pc_w(state); }
- DECLARE_WRITE_LINE_MEMBER( cnt_w ) { if (m_card != nullptr) m_card->cbm2_cnt_w(state); }
- DECLARE_WRITE_LINE_MEMBER( sp_w ) { if (m_card != nullptr) m_card->cbm2_sp_w(state); }
+ int pb2_r() { return m_card ? m_card->cbm2_pb2_r() : 1; }
+ void pb2_w(int state) { if (m_card != nullptr) m_card->cbm2_pb2_w(state); }
+ int pb3_r() { return m_card ? m_card->cbm2_pb3_r() : 1; }
+ void pb3_w(int state) { if (m_card != nullptr) m_card->cbm2_pb3_w(state); }
+ void pc_w(int state) { if (m_card != nullptr) m_card->cbm2_pc_w(state); }
+ void cnt_w(int state) { if (m_card != nullptr) m_card->cbm2_cnt_w(state); }
+ void sp_w(int state) { if (m_card != nullptr) m_card->cbm2_sp_w(state); }
// cartridge interface
- DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_write_irq(state); }
- DECLARE_WRITE_LINE_MEMBER( cia_sp_w ) { m_write_sp(state); }
- DECLARE_WRITE_LINE_MEMBER( cia_cnt_w ) { m_write_cnt(state); }
- DECLARE_WRITE_LINE_MEMBER( flag_w ) { m_write_flag(state); }
+ void irq_w(int state) { m_write_irq(state); }
+ void cia_sp_w(int state) { m_write_sp(state); }
+ void cia_cnt_w(int state) { m_write_cnt(state); }
+ void flag_w(int state) { m_write_flag(state); }
protected:
// device-level overrides
- virtual void device_start() override;
+ virtual void device_start() override ATTR_COLD;
devcb_write_line m_write_irq;
devcb_write_line m_write_sp;