diff options
Diffstat (limited to 'src/devices/bus/abcbus/abcbus.h')
-rw-r--r-- | src/devices/bus/abcbus/abcbus.h | 81 |
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 |