aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore/psxbios.c
AgeCommit message (Collapse)Author
2019-07-18psxbios: Improve WaitEvent behaviour according to documentationgameblabla
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.
2019-07-18psxbios: Better realloc implementationgameblabla
This should be closer to the real behaviour as described by nocash. It doesn't do any bcopy though but it shouldn't be too much different other than that.
2019-07-18psxbios : Add checks for strncatgameblabla
Returns 0 if src or dst is 0x00.
2019-07-18psxbios: Add todigit implementationgameblabla
Based on CTRX's code : https://github.com/machinamentum/CTRX/blob/master/bios/source/libc.c#L152 I'm not aware of any games using it but it doesn't hurt to have it and it should work fine.
2019-07-18psxbios: Adds putc and getc implementationgameblabla
getc will need to be fixed later but this should do as it is. No issues with putc. Both are similar to psxBios_read and psxBios_write, except size is 1.
2019-07-18psxbios: Return 0x1f801814 for gpu_abort_dmagameblabla
Nocash documentation says that it returns the I/O address. I doubt any games use it so but it doesn't hurt to have it.
2019-07-18psxbios: Better EnterCiritcal implementationgameblabla
Nocash documentation says it should return 0 if one or none of the bits were changed and return 1 of both bits were set. This fixes Medievil 2, which would freeze upon starting up a game and this properly fixes Digimon World crashing (with fixed strcat implementation). It also possibly fix other games.
2019-07-18psxbios: Add checks for card_write, card_readgameblabla
This also implements a bug which allows writes to 0x400 (Is supposed to only accept sector number between 0..3FFh). Function should return 0 if sector is invalid.
2019-07-18psxbios: Merging improved card_info function from upstreamgameblabla
It should be closer to the real thing, and this commit and the previous one definitely fixes the save issues in Digimon World.
2019-07-18psxbios: Merging fixes from upstream.gameblabla
DeliverEvent functions are executed right after writing/reading instead of after setting v0. This fixes saving in games like LEGO Racers.
2019-07-18psxbios: Add checks to PAD_initgameblabla
Nocash documentation says that function fails if type is not 0x20000000 or 0x20000001. In case of failure, it should return 0. If not, then it should return 2. This fixes input in Digimon World.
2019-07-18psxbios: Add checks to strcatgameblabla
Nocash documentation says that function fails if src or dst is 0. If so, then it must return 0. This fix is required for fixing crash on bootup in Digimon World.
2014-12-21psxbios: don't crash on negative lengthnotaz
Contra Legacy of War does memset(..., -1)
2014-12-21psxbios: merge from pcsxr r90224-r90227notaz
Author: weimingzhi psxbios: format()
2013-11-04psxbios: fix NULL use warnings on newer GCCsnotaz
2013-03-15psxbios: merge from pcsxrnotaz
ckain's overflow fix (patch 13685)
2013-01-18psxbios: handle u modifiernotaz
2012-12-17make non-zlib save compression possiblenotaz
2012-09-13silence some 64bit related warningsnotaz
still need to fix savestate compat
2011-12-05move some gpu status handling to corenotaz
this removes need to update each gpu plugin when this stuff is changed
2011-06-07psxbios: fix some -Wall warningsnotaz
2011-01-16bios: implement psxBios__card_channotaz
used by at least R-Type Delta.
2011-01-16bios: firstfile delivers an event on real bios, so do thatnotaz
2010-12-28bios: fix firstfile() return valuenotaz
it should only return dir when finds a match, bufile macro already does that.
2010-12-23init some forgotten stuffnotaz
otherwise glitches happen if certain games are ran in a row.
2010-12-16psxbios: make noisy bios prints optionalnotaz
2010-11-16pcsxr-1.9.92PCSX* teams