Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Add an option to downscale hi-res views
|
|
Some older devices that use gpu_unai don't have a high enough
resolution to display all of the pixels in high-res mode. There's a
setting in unai to skip rendering of these pixels, but it's not
connected to the libretro frontend, and does not appear to be used in
the gpulib implementation at all.
This commit adds a gpu_unai setting, Enable Hi-Res Downscaling, that
will enable pixel skipping and blit only the pixels actually rendered
into a buffer no larger than 384x240. This buffer is then treated as
the actual framebuffer by gpulib and the libretro frontend.
|
|
|
|
Log interface
|
|
- Setting this option enabled can cause graphics issues.
|
|
|
|
- Remove unnecessary accumulator, cleanup and comments
- Add "Emulated Mouse Sensitivity" core option with range from 0.05 to 2.00, with 1.00 as normal mouse movement.
|
|
- Tested with Final Doom. Worked great.
|
|
Add support for frontend message interface v1
|
|
|
|
- For systems that can only run in interpreter mode for whatever reasons.
|
|
Silences some [-Wformat-truncation=] and [-Wstringop-truncation]
|
|
- Using retro_memory_descriptors[] for memmap creates a list of address for a game. At the moment, its quite long and can cover up the log window.
Since there is only 1 pointer used, using the traditional retro_get_memory_map/data works enough for this purpose.
- Move the use of memory descriptors to debug build.
|
|
- move input query into separate functions
- move internal fps display to separate function
|
|
- Apply style nits
|
|
- This adds a core option to hide some input options like multitaps, player ports 3-8 and analog-related fine-tuning options.
- also combine dynarec-only options in one #define directive
|
|
|
|
- This PR fixes core options and moves them to the related dynarec modes where they are implemented.
LIGHTREC = relates to platforms that supports the new Lightrec mode
NEW_DYNAREC = relates to previous dynarec implementation that is still used for some 32bit devices
- Dynarec Recompiler core option, both dynarec implementation can be enabled or disabled
|
|
- This should stop unnecessary RETRO_ENVIRONMENT_GET_VARIABLE callback and log spamming
|
|
|
|
- Core sometime freeze while loading content during the loading of the core options. Moving update_variables() from retro_init to retro_load_game() fixes the problem, on my case at least.
- Also apply fix as suggested in this issue page: https://github.com/libretro/pcsx_rearmed/issues/373
|
|
Make sure to only do it with lightrec and not ARM dynarec.
|
|
This reverts commit cf98d473a9ddaa6a77bed1cb5af706a4cd50b8b0.
|
|
Automatically disable lightrec when no bios is present
|
|
Fixes https://github.com/libretro/pcsx_rearmed/issues/404
|
|
added documentation.
|
|
Have dithering disabled by default on 3DS.
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
Reported by @wwhheerree, closes #152.
|
|
Add core option to change axis saturation. Square bounds allow controllers that struggle to fully register diagonal deflections . Very helpful with switch joycons and some android controllers.
|
|
|
|
Update
|
|
|
|
Access psx main memory using retro_memory_map
|
|
|
|
|
|
Basic Guncon support
|
|
svcCreateThread doesn't fully set up thread vars, which causes
svcBreaks / crashes when calling certain functions -- reentrant ones,
for example. threadCreate, etc. are higher-level functions that do all
the correct setup and cleanup.
Since we're treating the thread structure as opaque, calling it an
int_32t seems OK.
|
|
When creating a thread, pcsx was scheduling threads on core 1, which
is the system core. This is usually prevented by the system. Instead,
it should schedule threads on the default core, as suggested by
3dbrew: https://www.3dbrew.org/wiki/Multi-threading
> Games usually create threads using -2.
In the future, we may be able to schedule threads on core 2 on New 3DS
only, if we find it gives better performance.
This was preventing the CDDA thread from starting, which was
preventing CD Audio from playing.
|