diff options
author | gameblabla | 2019-07-18 02:02:48 +0200 |
---|---|---|
committer | gameblabla | 2019-07-18 02:04:34 +0200 |
commit | d95c9dcb57f71bf0b8b7bff8579763080c7a10af (patch) | |
tree | 189735cfa811ae9ebf6a6cbe4c6d5deac6830370 /libpcsxcore/r3000a.h | |
parent | 391b1d5b1fe4f68676835058af609535feb798a9 (diff) | |
download | pcsx_rearmed-d95c9dcb57f71bf0b8b7bff8579763080c7a10af.tar.gz pcsx_rearmed-d95c9dcb57f71bf0b8b7bff8579763080c7a10af.tar.bz2 pcsx_rearmed-d95c9dcb57f71bf0b8b7bff8579763080c7a10af.zip |
psxbios: Improve WaitEvent behaviour according to documentation
Nocash says it should return 0 if Event is unused, which it already does so it might be safe to remove the warning about it.
(see why below)
Then, it says that it should return 1 if event is ready (EvStALREADY). When that happens, it should also set it to ready (EvStACTIVE),
unless event mode is EvMdINTR. (aka Callback Events)
If it is a callback event, then documentation says it should be stuck in a loop forever.
It also says that it can sometime return 0 (a BUG according to nocash),
especially if it switched from EvStALREADY to EvStACTIVE.
Said return value was previously set to 1, for some reasons. Now that we are covering all the corner cases,
we should be returning 0 instead by default to cover the BUG.
This should cover how most games expects it to behave now and should make it more robust.
Diffstat (limited to 'libpcsxcore/r3000a.h')
0 files changed, 0 insertions, 0 deletions