From e4d18e3a8b7cd37cb90f277548ab45caa0efba81 Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Tue, 13 Nov 2012 16:50:42 +0100 Subject: [PATCH] Bound the iteration on the PB list when processing updates. Fixes freezes introduced in 3.0-807 with DSPHLE on some AX games. Apparently logic doesn't apply inside the HW/DSPHLE/UCodes directory. --- Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp index c63929fe8f..74c9d24db4 100644 --- a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp +++ b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp @@ -342,7 +342,7 @@ bool CUCode_AX::AXTask(u32& _uMail) // Fixing this would require rewriting most of the AX HLE. u32 block_addr = uAddress; AXPB pb; - while (block_addr) + for (int i = 0; block_addr && i < NUMBER_OF_PBS; i++) { if (!ReadPB(block_addr, pb)) break;