From: notaz Date: Wed, 7 Sep 2011 22:39:47 +0000 (+0300) Subject: handle div by 0 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=804e743b41827d1e8a5337d04638f0a578319893;p=gpsp.git handle div by 0 --- 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;