Age | Commit message (Collapse) | Author |
|
|
|
[3DS] Tweak compile-time options to increase performance
|
|
|
|
|
|
Fix dynarec crashes on 3DS
|
|
This reverts commit dfcd7153048c2f6d479dfcd328ee2c0e1e0784ed.
|
|
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.
|
|
Merge upstream changes
|
|
Fix second instance runahead without breaking reset
|
|
|
|
This reverts commit 7070d5c660963aec56e1d667211b4a09a62d400d.
|
|
Fix second instance runahead
|
|
Reset is common when using runahead, this seems to prevent crashes
when resets occur rapidly.
|
|
Also prefer MAP_FIXED_NOREPLACE over MAP_FIXED, as it won't remove old memory maps
|
|
|
|
Replace existing gte_divider with MAME's version
|
|
The original code did not have a license header, and as a result was
licensed under the GPLv2 which means that it was impossible to link it
with LGPL code.
The new code originates from MAME and is under a BSD-3-Clause license,
which is GPL-compatible, and also much cleaner.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Update .travis.yml
|
|
Update Makefile.libretro
|
|
Reported by @wwhheerree, closes #152.
|
|
|
|
|
|
Fix Linux build
|
|
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
|
|
Lightrec dynarec
|
|
For some Eboot .PBP game images, when loading a savestate, a zlib error
like 'uncompress failed with -5 for block 5383, sector 86132' would be
output to stdout/stderr. The savestate would still be playable, though.
Traced it down to cdrFreeze() failing to convert cdr.Prev from BCD->int
when calling ReadTrack(). Note that the odd 'cdr.Prev[0]++;' line seems
to be someone's hacky way of forcing ReadTrack() to avoid skipping what
it thinks is a duplicate sector read.
|
|
When gpu.cmd_buffer[] is filling up, and the last 1 or 2 words
in it are the beginning of a new vram read/write cmd, do_cmd_buffer()
would access out-of-bounds, reading garbage pos/size data.
Fixes corrupted gfx in this PS1 .exe test utility:
https://github.com/PeterLemon/PSX/tree/master/CPUTest/CPU/LOADSTORE/LW
(This and all similar tests on Peter's site).
Note that gfx access in this utility is done entirely through cmds given
through GPUwriteData(), i.e. direct CPU->GP0 stores, not DMA.
|
|
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
|
|
This permits the Lightrec dynarec to emit better code.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
|
|
subrepo:
subdir: "deps/mman"
merged: "2d1c576e"
upstream:
origin: "https://github.com/witwall/mman-win32"
branch: "master"
commit: "2d1c576e"
git-subrepo:
version: "0.4.1"
origin: "https://github.com/ingydotnet/git-subrepo.git"
commit: "a04d8c2"
|
|
subrepo:
subdir: "deps/lightrec"
merged: "6c69e10"
upstream:
origin: "https://github.com/pcercuei/lightrec.git"
branch: "master"
commit: "6c69e10"
git-subrepo:
version: "0.4.1"
origin: "https://github.com/ingydotnet/git-subrepo.git"
commit: "a04d8c2"
|
|
subrepo:
subdir: "deps/lightning"
merged: "b0b8eb5"
upstream:
origin: "https://git.savannah.gnu.org/git/lightning.git"
branch: "master"
commit: "b0b8eb5"
git-subrepo:
version: "0.4.1"
origin: "https://github.com/ingydotnet/git-subrepo.git"
commit: "a04d8c2"
|
|
Add input analog axis range modifier
|