From fa95c0f191d4b78643cb032d4eafe3bdb08431ee Mon Sep 17 00:00:00 2001 From: "Jake.Stine" Date: Mon, 14 Dec 2009 12:37:27 +0000 Subject: [PATCH] Fix bug in BIOS skip hack (which I always forget to test since I never use it personally ;) git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2340 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/Interpreter.cpp | 4 ++-- pcsx2/Linux/pcsx2.cbp | 3 ++- pcsx2/R5900.h | 10 ++-------- pcsx2/x86/ix86-32/iR5900-32.cpp | 8 ++++---- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/pcsx2/Interpreter.cpp b/pcsx2/Interpreter.cpp index b8c39320c4..8ba6a727ef 100644 --- a/pcsx2/Interpreter.cpp +++ b/pcsx2/Interpreter.cpp @@ -385,13 +385,13 @@ static void intExecute() try { while( true ) execI(); - } catch( Exception::ForceDispatcherReg& ) { } + } catch( Exception::ExitCpuExecute& ) { } } static void intCheckExecutionState() { if( GetCoreThread().HasPendingStateChangeRequest() ) - throw Exception::ForceDispatcherReg(); + throw Exception::ExitCpuExecute(); } static void intStep() diff --git a/pcsx2/Linux/pcsx2.cbp b/pcsx2/Linux/pcsx2.cbp index 3efa233542..d1768d95b1 100644 --- a/pcsx2/Linux/pcsx2.cbp +++ b/pcsx2/Linux/pcsx2.cbp @@ -344,7 +344,8 @@ - + + diff --git a/pcsx2/R5900.h b/pcsx2/R5900.h index 93ca0f7835..34cd954f3a 100644 --- a/pcsx2/R5900.h +++ b/pcsx2/R5900.h @@ -32,16 +32,10 @@ namespace Exception // Implementation Note: this exception has no meaningful type information and we don't // care to have it be caught by any BaseException handlers lying about, so let's not // derive from BaseException :D - class ForceDispatcherReg + class ExitCpuExecute { public: - explicit ForceDispatcherReg() { } - }; - - class ExitRecExecute - { - public: - explicit ExitRecExecute() { } + explicit ExitCpuExecute() { } }; } #ifndef __LINUX__ diff --git a/pcsx2/x86/ix86-32/iR5900-32.cpp b/pcsx2/x86/ix86-32/iR5900-32.cpp index 7930d156e5..30471edf38 100644 --- a/pcsx2/x86/ix86-32/iR5900-32.cpp +++ b/pcsx2/x86/ix86-32/iR5900-32.cpp @@ -264,7 +264,7 @@ u32* recGetImm64(u32 hi, u32 lo) if (recConstBufPtr >= recConstBuf + RECCONSTBUF_SIZE) { Console.WriteLn( "EErec const buffer filled; Resetting..." ); - throw Exception::ForceDispatcherReg(); + throw Exception::ExitCpuExecute(); /*for (u32 *p = recConstBuf; p < recConstBuf + RECCONSTBUF_SIZE; p += 2) { @@ -675,7 +675,7 @@ static void recCheckExecutionState() if( GetCoreThread().HasPendingStateChangeRequest() ) { #if PCSX2_SEH - throw Exception::ForceDispatcherReg(); + throw Exception::ExitCpuExecute(); #else // Without SEH we'll need to hop to a safehouse point outside the scope of recompiled // code. C++ exceptions can't cross the mighty chasm in the stackframe that the recompiler @@ -699,7 +699,7 @@ static void recExecute() try { EnterRecompiledCode(); } - catch( Exception::ForceDispatcherReg& ) { } + catch( Exception::ExitCpuExecute& ) { } #else @@ -837,7 +837,7 @@ void recClear(u32 addr, u32 size) static void recExitExecution() { #if PCSX2_SEH - throw Exception::ExitRecExecute(); + throw Exception::ExitCpuExecute(); #else longjmp( m_SetJmp_StateCheck, 1 ); #endif