From e512b95445ed2f3509e7afc01b7664c3042e6376 Mon Sep 17 00:00:00 2001 From: Stefanos Kornilios Mitsis Poiitidis Date: Mon, 20 Jan 2014 23:10:00 +0200 Subject: [PATCH] Force block (header) checks by default. - Unstable opts disables them (and only lets hard-coded places) - This fixes shenmue (and possibly many other dynarec crashes) --- core/hw/sh4/dyna/driver.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/hw/sh4/dyna/driver.cpp b/core/hw/sh4/dyna/driver.cpp index bcb262e5d..8d37b95a0 100644 --- a/core/hw/sh4/dyna/driver.cpp +++ b/core/hw/sh4/dyna/driver.cpp @@ -119,6 +119,9 @@ bool DoCheck(u32 pc) { if (IsOnRam(pc)) { + if (!settings.dynarec.unstable_opts) + return true; + pc&=0xFFFFFF; switch(pc) { @@ -128,6 +131,11 @@ bool DoCheck(u32 pc) //Shenmue 2 case 0x348000: + + //Shenmue + case 0x41860e: + + return true; default: