notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
attempt to fix build
[pcsx_rearmed.git]
/
libpcsxcore
/
r3000a.c
diff --git
a/libpcsxcore/r3000a.c
b/libpcsxcore/r3000a.c
index
8b7cfbf
..
fbccdea
100644
(file)
--- a/
libpcsxcore/r3000a.c
+++ b/
libpcsxcore/r3000a.c
@@
-67,8
+67,13
@@
void psxReset() {
psxHwReset();
psxBiosInit();
psxHwReset();
psxBiosInit();
- if (!Config.HLE)
+ BiosLikeGPUSetup(); // a bit of a hack but whatever
+
+ if (!Config.HLE) {
psxExecuteBios();
psxExecuteBios();
+ if (psxRegs.pc == 0x80030000 && !Config.SlowBoot)
+ BiosBootBypass();
+ }
#ifdef EMU_LOG
EMU_LOG("*BIOS END*\n");
#ifdef EMU_LOG
EMU_LOG("*BIOS END*\n");
@@
-237,7
+242,13
@@
void psxJumpTest() {
}
void psxExecuteBios() {
}
void psxExecuteBios() {
- while (psxRegs.pc != 0x80030000)
- psxCpu->ExecuteBlock();
+ int i;
+ 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);
}
}