summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/sharc/sharc.c
diff options
context:
space:
mode:
author Peter Ferrie <peter.ferrie@gmail.com>2015-03-18 20:34:29 -0700
committer Peter Ferrie <peter.ferrie@gmail.com>2015-03-18 20:34:29 -0700
commit9ccdee61fc482894ad3ba132c6d2cfbfa0e9ddcc (patch)
tree09bee8a8846cb21c9d6f6ce549d1aee3dfefb9e7 /src/emu/cpu/sharc/sharc.c
parenteb1e924f294139a499f9a8cb77905c7baa04cd12 (diff)
gradius4: avoid stack overflow when adsp21062 device is reset while inside interrupt handler [Peter Ferrie]
Diffstat (limited to 'src/emu/cpu/sharc/sharc.c')
-rw-r--r--src/emu/cpu/sharc/sharc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/emu/cpu/sharc/sharc.c b/src/emu/cpu/sharc/sharc.c
index 5139c896e37..7505535ff64 100644
--- a/src/emu/cpu/sharc/sharc.c
+++ b/src/emu/cpu/sharc/sharc.c
@@ -355,9 +355,7 @@ void adsp21062_device::device_start()
m_lcstack[i] = 0;
m_lastack[i] = 0;
}
- m_lstkp = 0;
m_pcstk = 0;
- m_pcstkp = 0;
m_laddr.addr = m_laddr.code = m_laddr.loop_type = 0;
m_curlcntr = 0;
m_lcntr = 0;
@@ -682,6 +680,8 @@ void adsp21062_device::device_reset()
m_idle = 0;
m_stky = 0x5400000;
+ m_lstkp = 0;
+ m_pcstkp = 0;
m_interrupt_active = 0;
}