- Changed sVU/mVU allocation order and addresses to hopefully solve allocation problems a lot of people were having.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1325 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
cottonvibes 2009-06-04 22:36:14 +00:00
parent d1b5ee9f5f
commit 2ffe0e81f7
4 changed files with 8 additions and 8 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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(

View File

@ -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<vuIndex>();