ref: 40f341ac7852596d642ff4c3a99898d1cd020592
parent: 78799eaa7a2398d21d7309b681d2f3cd12285808
author: allkern <lisandroaalarcon@gmail.com>
date: Sun Aug 20 10:13:27 EDT 2023
Fix PS-EXE SP loading
--- a/psx/exe.c
+++ b/psx/exe.c
@@ -29,10 +29,13 @@
cpu->pc = hdr.ipc;
cpu->next_pc = cpu->pc + 4;
cpu->r[28] = hdr.igp;
- cpu->r[29] = hdr.ispb + hdr.ispoff;
- cpu->r[30] = cpu->r[29];
- psx_cpu_fetch(cpu);
+ if (hdr.ispb) {+ cpu->r[29] = hdr.ispb + hdr.ispoff;
+ cpu->r[30] = cpu->r[29];
+ }
+
+ log_fatal("PC=%08x SP=%08x (%08x) GP=%08x", cpu->pc, cpu->r[29], hdr.ispb, cpu->r[28]); log_info("Loaded PS-X EXE file \"%s\"", path);--
⑨