diff options
Diffstat (limited to 'src/devices/cpu/i86/i186.h')
-rw-r--r-- | src/devices/cpu/i86/i186.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/devices/cpu/i86/i186.h b/src/devices/cpu/i86/i186.h index 01960a619f5..a968f5ef3dd 100644 --- a/src/devices/cpu/i86/i186.h +++ b/src/devices/cpu/i86/i186.h @@ -22,8 +22,8 @@ public: auto tmrout1_handler() { return m_out_tmrout1_func.bind(); } IRQ_CALLBACK_MEMBER(int_callback); - DECLARE_WRITE_LINE_MEMBER(drq0_w) { if(state) drq_callback(0); m_dma[0].drq_state = state; } - DECLARE_WRITE_LINE_MEMBER(drq1_w) { if(state) drq_callback(1); m_dma[1].drq_state = state; } + DECLARE_WRITE_LINE_MEMBER(drq0_w) { m_dma[0].drq_state = state; } + DECLARE_WRITE_LINE_MEMBER(drq1_w) { m_dma[1].drq_state = state; } DECLARE_WRITE_LINE_MEMBER(tmrin0_w) { if(state && (m_timer[0].control & 0x8004) == 0x8004) { inc_timer(0); } } DECLARE_WRITE_LINE_MEMBER(tmrin1_w) { if(state && (m_timer[1].control & 0x8004) == 0x8004) { inc_timer(1); } } DECLARE_WRITE_LINE_MEMBER(int0_w) { external_int(0, state); } @@ -46,7 +46,12 @@ protected: I80186_T_COUNT = I80186_DMA_CR + 2, I80186_T_MAX_A = I80186_T_COUNT + 3, I80186_T_MAX_B = I80186_T_MAX_A + 3, - I80186_T_CONTROL = I80186_T_MAX_B + 2 + I80186_T_CONTROL = I80186_T_MAX_B + 2, + I80186_ISR = I80186_T_CONTROL + 3, + I80186_IRR, I80186_PMR, I80186_ICSR, + I80186_TMRCR, I80186_D0CR, I80186_D1CR, + I80186_I0CR, I80186_I1CR, I80186_I2CR, I80186_I3CR, + I80186_POLL }; i80186_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int data_bus_size); @@ -132,6 +137,7 @@ private: dma_state m_dma[2]; intr_state m_intr; mem_state m_mem; + bool m_last_dma; static const device_timer_id TIMER_INT0 = 0; static const device_timer_id TIMER_INT1 = 1; |