summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/hd63450.h
diff options
context:
space:
mode:
author cracyc <cracyc@users.noreply.github.com>2021-06-02 15:13:52 -0500
committer cracyc <cracyc@users.noreply.github.com>2021-06-02 15:13:52 -0500
commita9170dccb8be59bd1cb5905bd97fce088cd275e0 (patch)
treed7c6a5075a42c89ea5665d25e51598464cb583bb /src/devices/machine/hd63450.h
parent20adc9790ec7859eab3f4522b5931388395d7c2a (diff)
hd63450: start handling bus errors
Diffstat (limited to 'src/devices/machine/hd63450.h')
-rw-r--r--src/devices/machine/hd63450.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/devices/machine/hd63450.h b/src/devices/machine/hd63450.h
index 5aa17321090..33ffd8b1097 100644
--- a/src/devices/machine/hd63450.h
+++ b/src/devices/machine/hd63450.h
@@ -49,6 +49,16 @@ public:
DECLARE_WRITE_LINE_MEMBER(drq3_w);
uint8_t iack();
+ enum {
+ ERR_RESET = 0,
+ ERR_FREE_BUS_RETRY = 3,
+ ERR_RETRY = 4,
+ ERR_BUS = 5,
+ ERR_HALT = 6,
+ ERR_NONE= 7
+ };
+ void bec_w(offs_t offset, uint8_t data) { m_bec = data; }
+
void single_transfer(int x);
void set_timer(int channel, const attotime &tm);
@@ -97,6 +107,7 @@ private:
bool m_drq_state[4];
int8_t m_irq_channel;
+ uint8_t m_bec;
// tell if a channel is in use
bool dma_in_progress(int channel) const { return (m_reg[channel].csr & 0x08) != 0; }