diff options
Diffstat (limited to 'src/devices/bus/a2bus/a2mockingboard.h')
-rw-r--r-- | src/devices/bus/a2bus/a2mockingboard.h | 51 |
1 files changed, 30 insertions, 21 deletions
diff --git a/src/devices/bus/a2bus/a2mockingboard.h b/src/devices/bus/a2bus/a2mockingboard.h index 44acff10006..539363c1f10 100644 --- a/src/devices/bus/a2bus/a2mockingboard.h +++ b/src/devices/bus/a2bus/a2mockingboard.h @@ -28,10 +28,12 @@ class a2bus_ayboard_device: public: DECLARE_WRITE_LINE_MEMBER( via1_irq_w ); DECLARE_WRITE_LINE_MEMBER( via2_irq_w ); - void via1_out_a(uint8_t data); - virtual void via1_out_b(uint8_t data); - void via2_out_a(uint8_t data); - virtual void via2_out_b(uint8_t data); + u8 via1_in_a() { return m_porta1; } + u8 via2_in_a() { return m_porta2; } + void via1_out_a(u8 data); + virtual void via1_out_b(u8 data); + void via2_out_a(u8 data); + virtual void via2_out_b(u8 data); protected: // construction/destruction @@ -42,20 +44,20 @@ protected: virtual void device_add_mconfig(machine_config &config) override; // overrides of standard a2bus slot functions - virtual uint8_t read_c0nx(uint8_t offset) override { return 0xff; } - virtual void write_c0nx(uint8_t offset, uint8_t data) override { } - virtual uint8_t read_cnxx(uint8_t offset) override; - virtual void write_cnxx(uint8_t offset, uint8_t data) override; + virtual u8 read_c0nx(u8 offset) override { return 0xff; } + virtual void write_c0nx(u8 offset, u8 data) override { } + virtual u8 read_cnxx(u8 offset) override; + virtual void write_cnxx(u8 offset, u8 data) override; void add_common_devices(machine_config &config); required_device<via6522_device> m_via1; - required_device<via6522_device> m_via2; + optional_device<via6522_device> m_via2; required_device<ay8913_device> m_ay1; required_device<ay8913_device> m_ay2; - uint8_t m_porta1; - uint8_t m_porta2; + u8 m_porta1; + u8 m_porta2; }; class a2bus_mockingboard_device : public a2bus_ayboard_device @@ -63,7 +65,7 @@ class a2bus_mockingboard_device : public a2bus_ayboard_device public: a2bus_mockingboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual void via1_out_b(uint8_t data) override; + virtual void via1_out_b(u8 data) override; protected: virtual void device_add_mconfig(machine_config &config) override; virtual void device_reset() override; @@ -73,7 +75,7 @@ protected: private: DECLARE_WRITE_LINE_MEMBER(write_via1_cb2); - uint8_t m_portb1; + u8 m_portb1; int m_last_cb2_state; }; @@ -82,16 +84,16 @@ class a2bus_phasor_device : public a2bus_ayboard_device public: a2bus_phasor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - void via1_out_b(uint8_t data) override; - void via2_out_b(uint8_t data) override; + void via1_out_b(u8 data) override; + void via2_out_b(u8 data) override; protected: virtual void device_add_mconfig(machine_config &config) override; - virtual uint8_t read_c0nx(uint8_t offset) override; - virtual void write_c0nx(uint8_t offset, uint8_t data) override; - virtual uint8_t read_cnxx(uint8_t offset) override; - virtual void write_cnxx(uint8_t offset, uint8_t data) override; + virtual u8 read_c0nx(u8 offset) override; + virtual void write_c0nx(u8 offset, u8 data) override; + virtual u8 read_cnxx(u8 offset) override; + virtual void write_cnxx(u8 offset, u8 data) override; required_device<ay8913_device> m_ay3; required_device<ay8913_device> m_ay4; @@ -110,10 +112,17 @@ public: protected: virtual void device_add_mconfig(machine_config &config) override; - virtual uint8_t read_c0nx(uint8_t offset) override; - virtual void write_c0nx(uint8_t offset, uint8_t data) override; + virtual void via1_out_b(u8 data) override; + + virtual u8 read_c0nx(u8 offset) override; + virtual void write_c0nx(u8 offset, u8 data) override; + virtual u8 read_cnxx(u8 offset) override; + virtual void write_cnxx(u8 offset, u8 data) override; required_device<tms5220_device> m_tms; + +private: + u8 m_last_cnxx_addr; }; // device type definition |