summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Phil Bennett <philipjbennett@users.noreply.github.com>2009-03-04 20:05:57 +0000
committer Phil Bennett <philipjbennett@users.noreply.github.com>2009-03-04 20:05:57 +0000
commit1c544a0426a6a1ff23c0ad21ab3815f509aa2ec9 (patch)
treeaaae443a37d902c3e78e8576a16d805b5e14b971 /src
parent08889a8007a1efa867db3c09547bd9fda85958d6 (diff)
02983 racedriv and clones: Race Drivin' and clones loop after "downloading DSP" screen [Phil Bennett]
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/harddriv.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mame/drivers/harddriv.c b/src/mame/drivers/harddriv.c
index 7e021b7cd01..5db21f6271e 100644
--- a/src/mame/drivers/harddriv.c
+++ b/src/mame/drivers/harddriv.c
@@ -3710,7 +3710,10 @@ static READ32_HANDLER( rddsp32_speedup_r )
int cycles_to_burn = 17 * 4 * (0x2bc - r1 - 2);
if (cycles_to_burn > 20 * 4)
{
- cpu_eat_cycles(space->cpu, cycles_to_burn);
+ int icount_remaining = *cpu_get_icount_ptr(space->cpu);
+ if (cycles_to_burn > icount_remaining)
+ cycles_to_burn = icount_remaining;
+ cpu_adjust_icount(space->cpu, -cycles_to_burn);
memory_write_word(space, r14 - 0x14, r1 + cycles_to_burn / 17);
}
msp_speedup_count[0]++;