aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore
AgeCommit message (Collapse)Author
2019-07-18psxbios : Several fixes to malloc.gameblabla
- 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.
2019-07-18psxbios: Add checks for memmove.gameblabla
Always returns dst per documentation.
2019-07-18psxbios : Add checks to memset.gameblabla
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).
2019-07-18psxbios: Add checks to memcpy.gameblabla
Always returns dst
2019-07-18psxbios: Add checks for bzero.gameblabla
Only return 0 if size is invalid. (0 or 0x7FFFFFFF), return dst if not.
2019-07-18psxbios: Add checks for bcopygameblabla
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)
2019-07-18psxbios : Add checks to index and rindex callsgameblabla
Return 0 for index/rindex if src is 0x00.
2019-07-18psxbios: Merge upstream fix for Deliverevent in firstfilegameblabla
Looks like it is only executed for memory cards, that makes sense i guess.
2019-07-18psxbios: Should fix input issues in some games.gameblabla
Someone reported that this fixed Negcon controls in Ridge Racer Revolution and Grand Tour Racing. I doubt this will suffer from regressions ?
2019-07-18psxbios: Fix out-of-bounds issue.gameblabla
Make sure to return 0xff is no TCBs are available. Thanks senquack for the proper fix.
2019-07-18Only PCSX4ALL uses ResetIoCycle. Remove it for now.gameblabla
2019-07-18Fixup buread & buwrite being undefined.gameblabla
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.
2017-05-03use pc-relative offsets for PIC toonotaz
2016-09-30drc: fix a mistake from w^x changenotaz
Fixes: d148d265
2016-09-21drc: some vita and 3ds supportnotaz
not tested, mostly just guesswork
2016-09-21drc: avoid MAP_FIXEDnotaz
it's almost never a good idea, it will override some other mapping and make things crash
2016-09-19drc: try to support w^x platforms like iOSnotaz
untested...
2016-09-19drc: remove unnecessary cache flushingnotaz
should already be flushed or not matter at this point
2016-09-18drc: enable and fix warningsnotaz
these were kept for compat with Ari64's code, which is removed, see previous commit messages
2016-09-18drc: mark things staticnotaz
2016-09-18drc: strip eol blanksnotaz
Because people send patches while using editors that strip blanks and the patch becomes a mess.
2016-09-18drc: drop less obvious dead codenotaz
2016-09-18drc: drop heaps of dead codenotaz
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.
2016-04-01fix build on some archsnotaz
just some unneeded preprocessor check
2016-04-01don't use __ARM_ARCH_7A__notaz
github issue #68
2016-03-05large file supportnotaz
not tested if it actually reads over 2GB
2016-02-28psxmem: use rounding that's more likely to worknotaz
2016-02-28drc: handle any immediatenotaz
2015-03-25psxmem: fix error handlingnotaz
also bump libpicofe for mmap fix
2015-02-05dma: some timing hacksnotaz
untested
2015-02-05dma: do some madr updatesnotaz
untested, but makes ff7 behave better with linked lists (dither problem)
2015-02-03frontend: update libpicofenotaz
2015-01-31gte_arm.S: Use ARMv6 if possiblegizmo98
Replace HAVE_ARMv7 with HAVE_ARMv6 if the instructions are supported by ARMv6. ssat, usat and sxth are present under ARMv6: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0473k/dom1361289925707.html
2015-01-31assem_arm.c: Use ARMv6 instructions if possiblegizmo98
Replace HAVE_ARMv7 with HAVE_ARMv6 if the instructions are supported by ARMv6. uxth, sxth and sxtb are present under ARMv6: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0473k/dom1361289925707.html
2015-01-03mingw build fixesnotaz
2014-12-25drc: more timing hacksnotaz
b6e87b2bc096 broke R-Type sound, try to recover.. also check PE2
2014-12-24cdrom: handle old savestates betternotaz
I still have to many of them and use them for testing..
2014-12-23drc: implement block addr list savingnotaz
should give better experience after savestate load