summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm/arm_emit.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arm/arm_emit.h b/arm/arm_emit.h
index a270a24..a770063 100644
--- a/arm/arm_emit.h
+++ b/arm/arm_emit.h
@@ -1931,6 +1931,9 @@ void execute_swi_hle_div_thumb();
void execute_swi_hle_div_c()
{
+ if (reg[1] == 0)
+ // real BIOS supposedly locks up, but game can recover on interrupt
+ return;
s32 result = (s32)reg[0] / (s32)reg[1];
reg[1] = (s32)reg[0] % (s32)reg[1];
reg[0] = result;