diff options
author | gameblabla | 2019-07-21 17:31:48 +0200 |
---|---|---|
committer | gameblabla | 2019-07-21 17:35:00 +0200 |
commit | 9ee77db131fbb7708c0fdf2dda91dd92c277c20b (patch) | |
tree | 2facd2428a97bc2d3e2e185215d14561486a4998 | |
parent | 0f598f20d1c618933ffd1a02207912915fcd454e (diff) | |
download | pcsx_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.c | 15 |
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; |