From 9be927fd7a439bf747ccc60649bfcfe2a1695494 Mon Sep 17 00:00:00 2001 From: ramapcsx2 Date: Sat, 24 Jan 2009 00:13:49 +0000 Subject: [PATCH] Quick fix for the broken frame/vuskip by Nneeve. Doesn't restore it completely, but it'll do for now :) git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@627 a6443dda-0b58-4228-96e9-037be469359c --- pcsx2/VUmicroMem.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pcsx2/VUmicroMem.cpp b/pcsx2/VUmicroMem.cpp index e4e47582c8..e1027f7744 100644 --- a/pcsx2/VUmicroMem.cpp +++ b/pcsx2/VUmicroMem.cpp @@ -40,6 +40,8 @@ static void DummyExecuteVU1Block(void) VU1.vifRegs->stat &= ~4; // also reset the bit (grandia 3 works) } +void (*recVU1EB)(), (*intVU1EB)(); + void vu1MicroEnableSkip() { CpuVU1->ExecuteBlock = DummyExecuteVU1Block; @@ -47,7 +49,7 @@ void vu1MicroEnableSkip() void vu1MicroDisableSkip() { - CpuVU1->ExecuteBlock = CHECK_VU1REC ? recVU1.ExecuteBlock : intVU1.ExecuteBlock; + CpuVU1->ExecuteBlock = CHECK_VU1REC ? recVU1EB : intVU1EB; } bool vu1MicroIsSkipping() @@ -57,6 +59,9 @@ bool vu1MicroIsSkipping() void vuMicroCpuReset() { + recVU1EB = recVU1.ExecuteBlock; + intVU1EB = intVU1.ExecuteBlock; + CpuVU0 = CHECK_VU0REC ? &recVU0 : &intVU0; CpuVU1 = CHECK_VU1REC ? &recVU1 : &intVU1; CpuVU0->Reset();