diff options
author | yz70s <yz70s@users.noreply.github.com> | 2019-12-28 21:32:17 +0100 |
---|---|---|
committer | yz70s <yz70s@users.noreply.github.com> | 2019-12-28 21:48:06 +0100 |
commit | 62673f90f70db22fcb135e2ba204c203b94a68a8 (patch) | |
tree | cb58a065b6da1b91ff2169ddf214ba930aa3505b | |
parent | 9776c4f36f08f886e28f70d3a2546cb27b5bb6c5 (diff) |
naomi: add support for external irq line, used by dimm board, to dc_state class (nw)
-rw-r--r-- | src/mame/includes/dc.h | 3 | ||||
-rw-r--r-- | src/mame/machine/dc.cpp | 10 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/mame/includes/dc.h b/src/mame/includes/dc.h index 1dade3c1212..e7f85f620f3 100644 --- a/src/mame/includes/dc.h +++ b/src/mame/includes/dc.h @@ -53,7 +53,7 @@ class dc_state : public driver_device uint8_t indirect; uint8_t start; uint8_t sel; - }m_g2_dma[4]; + } m_g2_dma[4]; virtual void machine_start() override; virtual void machine_reset() override; @@ -84,6 +84,7 @@ class dc_state : public driver_device DECLARE_WRITE16_MEMBER( soundram_w ); DECLARE_WRITE_LINE_MEMBER(aica_irq); DECLARE_WRITE_LINE_MEMBER(sh4_aica_irq); + DECLARE_WRITE_LINE_MEMBER(external_irq); required_device<sh4_base_device> m_maincpu; diff --git a/src/mame/machine/dc.cpp b/src/mame/machine/dc.cpp index 3fb65d363b4..c81382b5661 100644 --- a/src/mame/machine/dc.cpp +++ b/src/mame/machine/dc.cpp @@ -748,6 +748,16 @@ WRITE_LINE_MEMBER(dc_state::sh4_aica_irq) dc_update_interrupt_status(); } +WRITE_LINE_MEMBER(dc_state::external_irq) +{ + if (state) + dc_sysctrl_regs[SB_ISTEXT] |= IST_EXT_EXTERNAL; + else + dc_sysctrl_regs[SB_ISTEXT] &= ~IST_EXT_EXTERNAL; + + dc_update_interrupt_status(); +} + MACHINE_RESET_MEMBER(dc_state,dc_console) { dc_state::machine_reset(); |