aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgameblabla2019-07-21 17:31:48 +0200
committergameblabla2019-07-21 17:35:00 +0200
commit9ee77db131fbb7708c0fdf2dda91dd92c277c20b (patch)
tree2facd2428a97bc2d3e2e185215d14561486a4998
parent0f598f20d1c618933ffd1a02207912915fcd454e (diff)
downloadpcsx_rearmed-9ee77db131fbb7708c0fdf2dda91dd92c277c20b.tar.gz
pcsx_rearmed-9ee77db131fbb7708c0fdf2dda91dd92c277c20b.tar.bz2
pcsx_rearmed-9ee77db131fbb7708c0fdf2dda91dd92c277c20b.zip
psxbios: Return value is always 1 for CloseTh and ChangeTh.
According to nocash PSX doc, ChangeThread and CloseThread should always return 1. Fix it accordingly.
-rw-r--r--libpcsxcore/psxbios.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/libpcsxcore/psxbios.c b/libpcsxcore/psxbios.c
index 3247402..7c908e3 100644
--- a/libpcsxcore/psxbios.c
+++ b/libpcsxcore/psxbios.c
@@ -1878,12 +1878,10 @@ void psxBios_CloseTh() { // 0f
#ifdef PSXBIOS_LOG
PSXBIOS_LOG("psxBios_%s: %x\n", biosB0n[0x0f], th);
#endif
-
- if (Thread[th].status == 0) {
- v0 = 0;
- } else {
+ /* The return value is always 1 (even if the handle was already closed). */
+ v0 = 1;
+ if (Thread[th].status != 0) {
Thread[th].status = 0;
- v0 = 1;
}
pc0 = ra;
@@ -1899,14 +1897,11 @@ void psxBios_ChangeTh() { // 10
#ifdef PSXBIOS_LOG
// PSXBIOS_LOG("psxBios_%s: %x\n", biosB0n[0x10], th);
#endif
-
+ /* The return value is always 1. */
+ v0 = 1;
if (Thread[th].status == 0 || CurThread == th) {
- v0 = 0;
-
pc0 = ra;
} else {
- v0 = 1;
-
if (Thread[CurThread].status == 2) {
Thread[CurThread].status = 1;
Thread[CurThread].func = ra;