diff options
Diffstat (limited to 'src/emu/machine/am9517a.h')
-rw-r--r-- | src/emu/machine/am9517a.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/emu/machine/am9517a.h b/src/emu/machine/am9517a.h index 3f7b9f61fe4..8e56ddc1a65 100644 --- a/src/emu/machine/am9517a.h +++ b/src/emu/machine/am9517a.h @@ -75,8 +75,8 @@ public: template<class _Object> static devcb_base &set_out_dack_2_callback(device_t &device, _Object object) { return downcast<am9517a_device &>(device).m_out_dack_2_cb.set_callback(object); } template<class _Object> static devcb_base &set_out_dack_3_callback(device_t &device, _Object object) { return downcast<am9517a_device &>(device).m_out_dack_3_cb.set_callback(object); } - DECLARE_READ8_MEMBER( read ); - DECLARE_WRITE8_MEMBER( write ); + virtual DECLARE_READ8_MEMBER( read ); + virtual DECLARE_WRITE8_MEMBER( write ); DECLARE_WRITE_LINE_MEMBER( hack_w ); DECLARE_WRITE_LINE_MEMBER( ready_w ); @@ -94,6 +94,7 @@ protected: virtual void execute_run(); int m_icount; + UINT32 m_address_mask; private: inline void dma_request(int channel, int state); @@ -129,13 +130,14 @@ private: struct { - UINT16 m_address; + UINT32 m_address; UINT16 m_count; - UINT16 m_base_address; + UINT32 m_base_address; UINT16 m_base_count; UINT8 m_mode; } m_channel[4]; + int m_msb; int m_hreq; int m_hack; @@ -157,6 +159,13 @@ class upd71071_v53_device : public am9517a_device public: // construction/destruction upd71071_v53_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + virtual DECLARE_READ8_MEMBER( read ); + virtual DECLARE_WRITE8_MEMBER( write ); + +protected: + // device-level overrides + virtual void device_start(); }; |