summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/am9517a.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/machine/am9517a.h')
-rw-r--r--src/emu/machine/am9517a.h17
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();
};