More Ignore address in gpu (#16303)

* More Ignore address 0 in gpu

Fix #16297

* Change to ignore bad memory access

* Update SoftGpu.cpp

---------

Co-authored-by: Henrik Rydgård <hrydgard@gmail.com>
This commit is contained in:
sum2012 2024-09-18 17:48:22 +08:00 committed by GitHub
parent fb80ad6370
commit 0bce42cc33
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 0 deletions

View File

@ -918,6 +918,9 @@ void GPUCommon::Execute_Call(u32 op, u32 diff) {
const u32 target = gstate_c.getRelativeAddress(op & 0x00FFFFFC);
if (!Memory::IsValidAddress(target)) {
ERROR_LOG(Log::G3D, "CALL to illegal address %08x - ignoring! data=%06x", target, op & 0x00FFFFFF);
if (g_Config.bIgnoreBadMemAccess) {
return;
}
UpdateState(GPUSTATE_ERROR);
return;
}

View File

@ -1237,6 +1237,9 @@ void SoftGPU::Execute_Call(u32 op, u32 diff) {
const u32 target = gstate_c.getRelativeAddress(op & 0x00FFFFFC);
if (!Memory::IsValidAddress(target)) {
ERROR_LOG(Log::G3D, "CALL to illegal address %08x - ignoring! data=%06x", target, op & 0x00FFFFFF);
if (g_Config.bIgnoreBadMemAccess) {
return;
}
gpuState = GPUSTATE_ERROR;
downcount = 0;
return;