Age | Commit message (Collapse) | Author |
|
Yes, it's supposed to have a lot of checks like these.
Also merge some more fixes from PCSX4ALL. (upstream did not have
these as far as i know)
|
|
According to a user on PCSX-Reloaded codeplex (now dead), this fixed loading/saving
in Final Fantasy Tactics.
|
|
- Don't allow malloc to init memory if heap is invalid
According to nocash documentation, malloc will not allocate if heap size
is too small or invalid.
- Also merge some fixes from PCSX4ALL fork by senquack in order to allow
Burning Road to run.
|
|
Always returns dst per documentation.
|
|
This now can be a tricky pony and an improper memset implementation means that
you can't play Tomb Raider 4 properly.
(Trying to put in the eye of horus will just result in Lara sidestepping)
This should hopefully be fixed (and follows nocash doc).
|
|
Always returns dst
|
|
Only return 0 if size is invalid. (0 or 0x7FFFFFFF), return dst if not.
|
|
Nocash documentation say that function refuses to copy any data
if dst is NULL or len greater than 0x7FFFFFFF.
(In any cases, return value is always dst)
|
|
Return 0 for index/rindex if src is 0x00.
|
|
Looks like it is only executed for memory cards, that makes sense i guess.
|
|
Someone reported that this fixed Negcon controls in Ridge Racer Revolution
and Grand Tour Racing.
I doubt this will suffer from regressions ?
|
|
Make sure to return 0xff is no TCBs are available.
Thanks senquack for the proper fix.
|
|
|
|
|
|
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.
|
|
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.
|
|
Returns 0 if src or dst is 0x00.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
It should be closer to the real thing, and this commit and the previous one
definitely fixes the save issues in Digimon World.
|
|
DeliverEvent functions are executed right after writing/reading instead of after setting v0.
This fixes saving in games like LEGO Racers.
|
|
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.
|
|
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.
|
|
RPI: add Mesa override & update vendor library names
|
|
* Update RPI vendor library names to allow compatibility with recent
firmwares that have obsoleted the originally named duplicate libraries.
* Add override to build against VC4 Mesa driver via "VIDEOCORE=no"
|
|
|
|
Fixes: d148d265
|
|
not tested, mostly just guesswork
|
|
it's almost never a good idea, it will override some other mapping
and make things crash
|
|
untested...
|
|
should already be flushed or not matter at this point
|
|
these were kept for compat with Ari64's code, which is removed, see
previous commit messages
|
|
|
|
Because people send patches while using editors that strip blanks
and the patch becomes a mess.
|
|
|
|
I've kept it around to keep the code similar to Ari64's version,
so that it would be easier to merge back his fixes. However Mupen64plus
has long reformatted the code and it kind of went different direction
anyway, so there is no point to keep all this code now.
|
|
|
|
just some unneeded preprocessor check
|
|
github issue #68
|
|
|
|
not tested if it actually reads over 2GB
|
|
|
|
|
|
reported by KP142EH12 and perhaps somebody else I forgot
also take the opportunity to update libpicofe
|
|
also bump libpicofe for mmap fix
|
|
Just copied macros from gcc source code:
https://github.com/gcc-mirror/gcc/blob/113a5d9f83975b703ec06a1d2baa30604d322cf1/libatomic/config/arm/arm-config.h#L54
|
|
|