X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fr3000a.c;h=fbccdea4f21929563416dd567f507a431d1e44bf;hb=da65071fd7ceac663bb951b13da2563d7b16431d;hp=53a5ebac5eb5b9fdf561579b676c1b8c0ebcd910;hpb=7b75929b9415646b25d9211975556f5466024a94;p=pcsx_rearmed.git diff --git a/libpcsxcore/r3000a.c b/libpcsxcore/r3000a.c index 53a5ebac..fbccdea4 100644 --- a/libpcsxcore/r3000a.c +++ b/libpcsxcore/r3000a.c @@ -69,7 +69,6 @@ void psxReset() { BiosLikeGPUSetup(); // a bit of a hack but whatever - BiosBooted = FALSE; if (!Config.HLE) { psxExecuteBios(); if (psxRegs.pc == 0x80030000 && !Config.SlowBoot) @@ -244,11 +243,12 @@ void psxJumpTest() { void psxExecuteBios() { int i; - for (i = 0; psxRegs.pc != 0x80030000 && i < 5000000; i++) - psxCpu->ExecuteBlock(); - if (psxRegs.pc == 0x80030000) - BiosBooted = TRUE; - else - SysPrintf("BIOS boot timeout - custom BIOS?\n"); + for (i = 0; i < 5000000; i++) { + psxCpu->ExecuteBlock(EXEC_CALLER_BOOT); + if ((psxRegs.pc & 0xff800000) == 0x80000000) + break; + } + if (psxRegs.pc != 0x80030000) + SysPrintf("non-standard BIOS detected (%d, %08x)\n", i, psxRegs.pc); }