aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore/new_dynarec/new_dynarec.c
AgeCommit message (Collapse)Author
2020-02-24Fix dynarec crashes on 3DSJustin Weiss
After the dynarec writes new instructions, it has to flush the instruction and data caches. Some of these flush operations are privileged on the 3DS, so the clear cache functions have to run through svcBackdoor. The Nintendo implementation (and CFW reimplementation) of svcBackdoor has a problem where interrupts and context switches will cause crashes. Even though we can disable interrupts in the flush function, there's still a window of time between svcBackdoor being called and the function being run where an interrupt will corrupt the stack. Luma3DS implemements a svcCustomBackdoor call we can use that also runs a function in supervisor mode, but uses an implementation that avoids this problem.
2017-05-03Merge https://github.com/notaz/pcsx_rearmedtwinaphex
2016-10-04(VITA) Use RWX pathFrancisco José García García
2016-09-30Backport drc: fix a mistake from w^x cahngetwinaphex
2016-09-30drc: fix a mistake from w^x changenotaz
Fixes: d148d265
2016-09-28(new_dynarec) Cleanupstwinaphex
2016-09-28(new_dynarec) Updatetwinaphex
2016-09-27Update new_dynarec - working towards a common shared ari64twinaphex
codebase for both mupen64plus and pcsx rearmed - see libretro/ari64
2016-09-27Rearrange files for new_dynarectwinaphex
2016-09-26(VITA) Dynarec workingFrancisco José García García
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.
2014-12-25drc: more timing hacksnotaz
b6e87b2bc096 broke R-Type sound, try to recover.. also check PE2
2014-12-23drc: implement block addr list savingnotaz
should give better experience after savestate load
2014-12-23drc: replace unused reg32 with new reg_sv_flagsnotaz
2013-06-05drc: add a test to catch broken platforms earlynotaz
2013-04-01libretro/ios: enable dynarec, update target namesnotaz
2013-04-01drc: use print wrapper to output errorsnotaz
..for platforms without working printf
2013-03-25Add missing ifdef, move QNX RAM mapping closer to othersCatalystG
2013-03-25Add support for PlayBook/BB10 with libretroCatalystG
2013-03-17drc: timing hacksnotaz
run tiny loops faster, no store penalty
2012-04-29frontend: some menu adjustmentsnotaz
2012-04-18drc: inv: fix ram ofset and mirror handlingnotaz
2012-04-18support emulated RAM mapped at offsetnotaz
Thanks to CatalystG for some initial code and testing.
2012-01-14drc: allow translation cache in data segmentnotaz
useful for Android
2012-01-07drc: do basic current block modification detectionnotaz
const writes only..
2011-12-11drc: fix bad gte unneeded reg assumptionnotaz
2011-12-08drc: move constmap out of regstatnotaz
saves close to 1MB, should help Wiz a bit
2011-11-01drc/gte: decode MVMVA data depsnotaz
2011-10-30drc: fix cycle multiplier codenotaz
rounding wrong way is enough to cause nasty timing problems
2011-10-30drc: some debug code improvementsnotaz
2011-10-30drc: always use physical block addressesnotaz
there is no reason to use virtual addressing, things can't be remapped on PSX as there is no MMU anyway. Fixes somewhat related invalidation bug along the way.
2011-10-30drc: detect dead gte reads toonotaz
2011-10-30drc: add some hack optionsnotaz
intended for caanoo/Wiz, some users want to trade glitches for performance boost.
2011-10-30drc: try to avoid full constant reloadnotaz
derive from existing ones if possible
2011-10-30drc: avoid invcode checks on close addessesnotaz
yes this makes it possible to miss something, but I hope it's not going to happen and will deal with it if it does.
2011-10-30drc: do MVMVA decoding; parametrize handlersnotaz
2011-10-30drc: finish GTE reg liveness analysisnotaz
2011-10-10drc: check for interrupts after RFEnotaz
this missing check wasn't causing too many problems because of events on every hsync, which are gone now.
2011-10-10new ability to adjust psx cpu clocknotaz
2011-10-10get rid of old memhandlersnotaz
2011-10-10drc: implement memory access speculationnotaz
try to guess RAM mirror we are going to hit
2011-10-08drc: implement shiftimm constant propagationnotaz
it's rare, but it happens.