summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/abcbus/abcbus.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/abcbus/abcbus.h')
-rw-r--r--src/devices/bus/abcbus/abcbus.h81
1 files changed, 41 insertions, 40 deletions
diff --git a/src/devices/bus/abcbus/abcbus.h b/src/devices/bus/abcbus/abcbus.h
index 716a177248d..638d460efa3 100644
--- a/src/devices/bus/abcbus/abcbus.h
+++ b/src/devices/bus/abcbus/abcbus.h
@@ -132,7 +132,8 @@ public:
// optional operation overrides for ABC 1600
virtual int abcbus_csb() { return 1; }
virtual uint8_t abcbus_ops() { return 0xff; }
- virtual void abcbus_tren(int state) { }
+ virtual uint8_t abcbus_tren() { return 0xff; }
+ virtual void abcbus_tren(uint8_t data) { }
virtual void abcbus_prac(int state) { }
virtual uint8_t abcbus_exp() { return 0xff; }
virtual int abcbus_xcsb2() { return 1; }
@@ -191,52 +192,52 @@ public:
void write_c4(uint8_t data) { if (m_card) m_card->abcbus_c4(data); }
uint8_t xmemfl_r(offs_t offset) { return m_card ? m_card->abcbus_xmemfl(offset) : 0xff; }
void xmemw_w(offs_t offset, uint8_t data) { if (m_card) m_card->abcbus_xmemw(offset, data); }
- DECLARE_READ_LINE_MEMBER( csb_r ) { return m_card ? m_card->abcbus_csb() : 1; }
+ int csb_r() { return m_card ? m_card->abcbus_csb() : 1; }
uint8_t ops_r() { return m_card ? m_card->abcbus_ops() : 0xff; }
uint8_t exp_r() { return m_card ? m_card->abcbus_exp() : 0xff; }
- DECLARE_READ_LINE_MEMBER( xcsb2_r ) { return m_card ? m_card->abcbus_xcsb2() : 1; }
- DECLARE_READ_LINE_MEMBER( xcsb3_r ) { return m_card ? m_card->abcbus_xcsb3() : 1; }
- DECLARE_READ_LINE_MEMBER( xcsb4_r ) { return m_card ? m_card->abcbus_xcsb4() : 1; }
- DECLARE_READ_LINE_MEMBER( xcsb5_r ) { return m_card ? m_card->abcbus_xcsb5() : 1; }
- DECLARE_WRITE_LINE_MEMBER( tren_w ) { if (m_card) m_card->abcbus_tren(state); }
- DECLARE_WRITE_LINE_MEMBER( prac_w ) { if (m_card) m_card->abcbus_prac(state); }
-
- DECLARE_WRITE8_MEMBER( cs_w ) { write_cs(data); }
- DECLARE_READ8_MEMBER( rst_r ) { return read_rst(); }
- DECLARE_READ8_MEMBER( inp_r ) { return read_inp(); }
- DECLARE_WRITE8_MEMBER( out_w ) { write_out(data); }
- DECLARE_READ8_MEMBER( stat_r ) { return read_stat(); }
- DECLARE_WRITE8_MEMBER( c1_w ) { write_c1(data); }
- DECLARE_WRITE8_MEMBER( c2_w ) { write_c2(data); }
- DECLARE_WRITE8_MEMBER( c3_w ) { write_c3(data); }
- DECLARE_WRITE8_MEMBER( c4_w ) { write_c4(data); }
- DECLARE_READ8_MEMBER( xmemfl_r ) { return xmemfl_r(offset); }
- DECLARE_WRITE8_MEMBER( xmemw_w ) { xmemw_w(offset, data); }
-
- DECLARE_READ_LINE_MEMBER( irq_r ) { return m_irq; }
- DECLARE_READ_LINE_MEMBER( nmi_r ) { return m_nmi; }
- DECLARE_READ_LINE_MEMBER( pren_r ) { return m_pren; }
- DECLARE_READ_LINE_MEMBER( trrq_r ) { return m_trrq; }
- DECLARE_READ_LINE_MEMBER( xint2_r ) { return m_xint2; }
- DECLARE_READ_LINE_MEMBER( xint3_r ) { return m_xint3; }
- DECLARE_READ_LINE_MEMBER( xint4_r ) { return m_xint4; }
- DECLARE_READ_LINE_MEMBER( xint5_r ) { return m_xint5; }
+ int xcsb2_r() { return m_card ? m_card->abcbus_xcsb2() : 1; }
+ int xcsb3_r() { return m_card ? m_card->abcbus_xcsb3() : 1; }
+ int xcsb4_r() { return m_card ? m_card->abcbus_xcsb4() : 1; }
+ int xcsb5_r() { return m_card ? m_card->abcbus_xcsb5() : 1; }
+ uint8_t read_tren() { return m_card ? m_card->abcbus_tren() : 0xff; }
+ void write_tren(uint8_t data) { if (m_card) m_card->abcbus_tren(data); }
+ void prac_w(int state) { if (m_card) m_card->abcbus_prac(state); }
+
+ void cs_w(uint8_t data) { write_cs(data); }
+ uint8_t rst_r() { return read_rst(); }
+ uint8_t inp_r() { return read_inp(); }
+ void out_w(uint8_t data) { write_out(data); }
+ uint8_t stat_r() { return read_stat(); }
+ void c1_w(uint8_t data) { write_c1(data); }
+ void c2_w(uint8_t data) { write_c2(data); }
+ void c3_w(uint8_t data) { write_c3(data); }
+ void c4_w(uint8_t data) { write_c4(data); }
+
+ int irq_r() { return m_irq; }
+ int nmi_r() { return m_nmi; }
+ int pren_r() { return m_pren; }
+ int trrq_r() { return m_trrq; }
+ int xint2_r() { return m_xint2; }
+ int xint3_r() { return m_xint3; }
+ int xint4_r() { return m_xint4; }
+ int xint5_r() { return m_xint5; }
// card interface
- DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_irq = state; m_write_irq(state); }
- DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi = state; m_write_nmi(state); }
- DECLARE_WRITE_LINE_MEMBER( rdy_w ) { m_write_rdy(state); }
- DECLARE_WRITE_LINE_MEMBER( resin_w ) { m_write_resin(state); }
- DECLARE_WRITE_LINE_MEMBER( pren_w ) { m_pren = state; m_write_pren(state); }
- DECLARE_WRITE_LINE_MEMBER( trrq_w ) { m_trrq = state; m_write_trrq(state); }
- DECLARE_WRITE_LINE_MEMBER( xint2_w ) { m_xint2 = state; m_write_xint2(state); }
- DECLARE_WRITE_LINE_MEMBER( xint3_w ) { m_xint3 = state; m_write_xint3(state); }
- DECLARE_WRITE_LINE_MEMBER( xint4_w ) { m_xint4 = state; m_write_xint4(state); }
- DECLARE_WRITE_LINE_MEMBER( xint5_w ) { m_xint5 = state; m_write_xint5(state); }
+ void irq_w(int state) { if (m_irq != state) { m_irq = state; m_write_irq(state); } }
+ void nmi_w(int state) { m_nmi = state; m_write_nmi(state); }
+ void rdy_w(int state) { m_write_rdy(state); }
+ void resin_w(int state) { m_write_resin(state); }
+ void pren_w(int state) { if (m_pren != state) { m_pren = state; m_write_pren(state); } }
+ void trrq_w(int state) { if (m_trrq != state) { m_trrq = state; m_write_trrq(state); } }
+ void xint2_w(int state) { m_xint2 = state; m_write_xint2(state); }
+ void xint3_w(int state) { m_xint3 = state; m_write_xint3(state); }
+ void xint4_w(int state) { m_xint4 = state; m_write_xint4(state); }
+ void xint5_w(int state) { m_xint5 = state; m_write_xint5(state); }
protected:
// device-level overrides
virtual void device_start() override;
+ virtual void device_reset() override;
devcb_write_line m_write_irq;
devcb_write_line m_write_nmi;
@@ -271,7 +272,7 @@ void abcbus_cards(device_slot_interface &device);
void abc1600bus_cards(device_slot_interface &device);
-typedef device_type_iterator<abcbus_slot_device> abcbus_slot_device_iterator;
+typedef device_type_enumerator<abcbus_slot_device> abcbus_slot_device_enumerator;
#endif // MAME_DEVICES_ABCBUS_ABCBUS_H