summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/sharc/sharc.cpp
diff options
context:
space:
mode:
author Ville Linde <villedevs@gmail.com>2021-06-18 17:42:16 +0300
committer Ville Linde <villedevs@gmail.com>2021-06-18 17:42:16 +0300
commit7034c3456d7b8cecaf73e0eae565c4c6f7bfe911 (patch)
tree3881e4824e1bd4836ee3fa810757f6f5024dd1e9 /src/devices/cpu/sharc/sharc.cpp
parentc585ae63ce3d6eabb540c092af11a50a1fb71f08 (diff)
re-enable SHARC recompiler for Gradius 4
Diffstat (limited to 'src/devices/cpu/sharc/sharc.cpp')
-rw-r--r--src/devices/cpu/sharc/sharc.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/devices/cpu/sharc/sharc.cpp b/src/devices/cpu/sharc/sharc.cpp
index 391520f688b..134611079a8 100644
--- a/src/devices/cpu/sharc/sharc.cpp
+++ b/src/devices/cpu/sharc/sharc.cpp
@@ -980,7 +980,15 @@ void adsp21062_device::set_flag_input(int flag_num, int state)
WRITE_LINE_MEMBER(adsp21062_device::write_stall)
{
- m_core->write_stalled = (state == 0) ? false : true;
+ m_core->write_stalled = (state == 0) ? false : true;
+
+ if (m_enable_drc)
+ {
+ if (m_core->write_stalled)
+ spin_until_trigger(45757);
+ else
+ machine().scheduler().trigger(45757);
+ }
}
void adsp21062_device::check_interrupts()