diff --git a/pcsx2/x86/iVU0micro.cpp b/pcsx2/x86/iVU0micro.cpp index 9a3e4e5ce6..c4d4e993f2 100644 --- a/pcsx2/x86/iVU0micro.cpp +++ b/pcsx2/x86/iVU0micro.cpp @@ -27,8 +27,8 @@ namespace VU0micro { - void recAlloc() { initVUrec(&VU0, 0); SuperVUAlloc(0); } - void recShutdown() { closeVUrec(0); SuperVUDestroy(0); } + void recAlloc() { SuperVUAlloc(0); initVUrec(&VU0, 0); } + void recShutdown() { SuperVUDestroy(0); closeVUrec(0); } void __fastcall recClear(u32 Addr, u32 Size) { if (useMVU0) clearVUrec(Addr, Size, 0); diff --git a/pcsx2/x86/iVU1micro.cpp b/pcsx2/x86/iVU1micro.cpp index 9b55671f75..4be95d592d 100644 --- a/pcsx2/x86/iVU1micro.cpp +++ b/pcsx2/x86/iVU1micro.cpp @@ -250,8 +250,8 @@ namespace VU1micro namespace VU1micro { - void recAlloc() { initVUrec(&VU1, 1); SuperVUAlloc(1); } - void recShutdown() { closeVUrec(1); SuperVUDestroy(1); } + void recAlloc() { SuperVUAlloc(1); initVUrec(&VU1, 1); } + void recShutdown() { SuperVUDestroy(1); closeVUrec(1);} void __fastcall recClear(u32 Addr, u32 Size) { if (useMVU1) clearVUrec(Addr, Size, 1); diff --git a/pcsx2/x86/iVUzerorec.cpp b/pcsx2/x86/iVUzerorec.cpp index 15ad37ab9c..9b3942d71e 100644 --- a/pcsx2/x86/iVUzerorec.cpp +++ b/pcsx2/x86/iVUzerorec.cpp @@ -342,9 +342,9 @@ void SuperVUAlloc(int vuindex) if (s_recVUMem == NULL) { // upper 4 bits must be zero! - // Changed "first try base" to 0xb800000, since 0x0c000000 liked to fail a lot. (air) - s_recVUMem = SysMmapEx(0x0c000000, VU_EXESIZE, 0x10000000, "SuperVUAlloc"); - + // Changed "first try base" to 0xf1e0000, since 0x0c000000 liked to fail a lot. (cottonvibes) + s_recVUMem = SysMmapEx(0xf1e0000, VU_EXESIZE, 0x10000000, "SuperVUAlloc"); + if (s_recVUMem == NULL) { throw Exception::OutOfMemory( diff --git a/pcsx2/x86/microVU.cpp b/pcsx2/x86/microVU.cpp index 85980e3413..33da63a585 100644 --- a/pcsx2/x86/microVU.cpp +++ b/pcsx2/x86/microVU.cpp @@ -47,7 +47,7 @@ microVUf(void) mVUinit(VURegs* vuRegsPtr) { memset(&mVU->prog, 0, sizeof(mVU->prog)); mVUprint((vuIndex) ? "microVU1: init" : "microVU0: init"); - mVU->cache = SysMmapEx((vuIndex ? 0x0f240000 : 0x0e240000), mVU->cacheSize + 0x1000, 0, (vuIndex ? "Micro VU1" : "Micro VU0")); + mVU->cache = SysMmapEx((vuIndex ? 0x5f240000 : 0x5e240000), mVU->cacheSize + 0x1000, 0, (vuIndex ? "Micro VU1" : "Micro VU0")); if ( mVU->cache == NULL ) throw Exception::OutOfMemory(fmt_string( "microVU Error: Failed to allocate recompiler memory! (addr: 0x%x)", (u32)mVU->cache)); mVUreset();