Small logging changes. Pause core if Jit64 tries to compile at 0.

This commit is contained in:
Shawn Hoffman 2011-12-10 18:42:49 -08:00
parent b62cac2ca9
commit 62858c8c14
3 changed files with 15 additions and 14 deletions

View File

@ -69,9 +69,10 @@ void GetStringVA(std::string& _rOutBuffer, u32 strReg)
char ArgumentBuffer[256]; char ArgumentBuffer[256];
u32 ParameterCounter = 4; u32 ParameterCounter = 4;
u32 FloatingParameterCounter = 1; u32 FloatingParameterCounter = 1;
char* pString = (char*)Memory::GetPointer(GPR(strReg)); char *pString = (char*)Memory::GetPointer(GPR(strReg));
if (!pString) { if (!pString)
//PanicAlert("Invalid GetStringVA call"); {
ERROR_LOG(OSREPORT, "r%i invalid", strReg);
return; return;
} }

View File

@ -641,7 +641,7 @@ u8 *GetPointer(const u32 _Address)
_dbg_assert_msg_(MEMMAP, 0, "GetPointer from IO Bridge doesnt work"); _dbg_assert_msg_(MEMMAP, 0, "GetPointer from IO Bridge doesnt work");
case 0xc8: case 0xc8:
// EFB. We don't want to return a pointer here since we have no memory mapped for it. // EFB. We don't want to return a pointer here since we have no memory mapped for it.
return 0; break;
default: default:
return m_pPhysicalRAM + (_Address & RAM_MASK); return m_pPhysicalRAM + (_Address & RAM_MASK);
@ -653,25 +653,22 @@ u8 *GetPointer(const u32 _Address)
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bWii) if (SConfig::GetInstance().m_LocalCoreStartupParameter.bWii)
return m_pPhysicalEXRAM + (_Address & EXRAM_MASK); return m_pPhysicalEXRAM + (_Address & EXRAM_MASK);
else else
return 0; break;
case 0xe: case 0xe:
if (_Address < (0xE0000000 + L1_CACHE_SIZE)) if (_Address < (0xE0000000 + L1_CACHE_SIZE))
return GetCachePtr() + (_Address & L1_CACHE_MASK); return GetCachePtr() + (_Address & L1_CACHE_MASK);
else else
return 0; break;
default: default:
if (bFakeVMEM) if (bFakeVMEM)
return m_pVirtualFakeVMEM + (_Address & FAKEVMEM_MASK); return m_pVirtualFakeVMEM + (_Address & FAKEVMEM_MASK);
else
{
if (!Core::g_CoreStartupParameter.bMMU &&
!PanicYesNoT("Unknown pointer %#08x\nContinue?", _Address))
Crash();
return 0;
}
} }
ERROR_LOG(MEMMAP, "Unknown Pointer %#8x PC %#8x LR %#8x", _Address, PC, LR);
return NULL;
} }

View File

@ -418,7 +418,10 @@ const u8* Jit64::DoJit(u32 em_address, PPCAnalyst::CodeBuffer *code_buf, JitBloc
} }
if (em_address == 0) if (em_address == 0)
PanicAlert("ERROR : Trying to compile at 0. LR=%08x", LR); {
Core::SetState(Core::CORE_PAUSE);
PanicAlert("ERROR: Compiling at 0. LR=%08x CTR=%08x", LR, CTR);
}
if (Core::g_CoreStartupParameter.bMMU && (em_address & JIT_ICACHE_VMEM_BIT)) if (Core::g_CoreStartupParameter.bMMU && (em_address & JIT_ICACHE_VMEM_BIT))
{ {