summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commit62673f90f70db22fcb135e2ba204c203b94a68a8 (patch)
treecb58a065b6da1b91ff2169ddf214ba930aa3505b
parent9776c4f36f08f886e28f70d3a2546cb27b5bb6c5 (diff)
naomi: add support for external irq line, used by dimm board, to dc_state class (nw)
-rw-r--r--src/mame/includes/dc.h3
-rw-r--r--src/mame/machine/dc.cpp10
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();