psxbios: Improve WaitEvent behaviour according to documentation
authorgameblabla <gameblabla@openmailbox.org>
Thu, 18 Jul 2019 00:02:48 +0000 (02:02 +0200)
committergameblabla <gameblabla@openmailbox.org>
Thu, 18 Jul 2019 00:04:34 +0000 (02:04 +0200)
commitd95c9dcb57f71bf0b8b7bff8579763080c7a10af
tree189735cfa811ae9ebf6a6cbe4c6d5deac6830370
parent391b1d5b1fe4f68676835058af609535feb798a9
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.
libpcsxcore/psxbios.c