From b7f6335ae3a13a251504e952bc0d9c442d904858 Mon Sep 17 00:00:00 2001 From: smurf3tte <75271109+smurf3tte@users.noreply.github.com> Date: Mon, 14 Dec 2020 22:03:08 -0800 Subject: [PATCH] GameSettings: Disable "Store EFB Copies to Texture Only" for Final Fantasy Crystal Chronicles This fixes the crash at Goblin Wall: https://bugs.dolphin-emu.org/issues/9915 A patch (for the US release only) that fixes the game's buffer overrun bug is included as an alternative with lower performance cost. It is disabled by default. --- Data/Sys/GameSettings/GCC.ini | 6 +++++- Data/Sys/GameSettings/GCCE01.ini | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Data/Sys/GameSettings/GCC.ini b/Data/Sys/GameSettings/GCC.ini index a23e4365a5..5b84adf7e0 100644 --- a/Data/Sys/GameSettings/GCC.ini +++ b/Data/Sys/GameSettings/GCC.ini @@ -17,4 +17,8 @@ SafeTextureCacheColorSamples = 512 [Video_Hacks] EFBEmulateFormatChanges = True - +# With this setting enabled, the memory corruption caused by a game bug is not +# faithful to real hardware, leading to a crash at Goblin Wall. Note that with +# DeferEFBCopies enabled (the default), Dolphin still doesn't match hardware. +# Instead, the corruption disappears, which is arguably better than parity. +EFBToTextureEnable = False diff --git a/Data/Sys/GameSettings/GCCE01.ini b/Data/Sys/GameSettings/GCCE01.ini index 97cf1d7fab..0c03724b84 100644 --- a/Data/Sys/GameSettings/GCCE01.ini +++ b/Data/Sys/GameSettings/GCCE01.ini @@ -1,10 +1,10 @@ # GCCE01 - FINAL FANTASY Crystal Chronicles -[OnLoad] -# Add memory patches to be loaded once on boot here. - [OnFrame] -# Add memory patches to be applied every frame here. +# Fix incorrect bounds check before an EFB to RAM copy that causes buffer overruns. +# With this patch enabled, it is safe to set EFBToTextureEnable = True. +$Fix buffer overrun bug (crash at Goblin Wall) +0x80017B16:word:0x00003430 [ActionReplay] # Add action replay cheats here.