summaryrefslogtreecommitdiff
path: root/libretro.c
AgeCommit message (Collapse)Author
2021-03-31Merge remote-tracking branch 'libretro/master' into pico-feneonloop
2021-03-23Make ewram memory linealDavid Guillen Fandos
This saves a few cycles in MIPS and simplifies a bit the core. Removed the write map, only affects interpreter performance very minimally. Rewired ARM and x86 handlers to support direct access to I/EWRAM (and VRAM on ARM) to compensate. Overall performance is slightly better but code is cleaner and allows for further improvements in the dynarecs.
2021-03-22Adding Normmatt's BIOS as a built-in BIOSDavid Guillen Fandos
Add options to select whether to boot from BIOS (default is no, as it is now) and whether to use the original bios or the builtin one (default is auto, which tries to use the official but falls back to the builtin if not found).
2021-03-21Adds a libpicofe frontend and menusneonloop
Implements: - fast-forward (toggle) - audio-buffer-based frameskip and frame limiting - color-correction (using the libretro code) - lcd ghosting (using the libretro code) - FPS display - input rebinding - emulator key rebinding - scaling (with the old gpsp filters and drowsnug's scaled-nofilter) - saving and savestates - game-specific configuration Not yet implemented: - cheats - fast-forward (hold)
2021-03-17Enable runtime dynarec enable/disableDavid Guillen Fandos
Added a more thorough cache cleanup for reset/mode-change too. Fixed the mmap initialization that ends up leaking memory. Minor x86 asm fixes for Android.
2021-03-17Remove BIOS reserved translation areaDavid Guillen Fandos
This is not really necessary since it can share area with ROM. Performance impact should be very minimal (haven't noticed it myself) and could be compensated (even by a positive offset) if we bump the ROM cache area size. Tested with several dynarecs.
2021-03-16Ensure post processing configuration is correctly reset in retro_deinit()jdgleaver
2021-03-09Add osx-arm64 targettwinaphex
2021-03-08Remove libcoDavid Guillen Fandos
This removes libco and all the usages of it (+pthreads). Rewired all dynarecs and interpreter to return after every frame so that libretro can process events. This required to make dynarec re-entrant. Dynarecs were updated to check for new frame on every update (IRQ, cycle exhaustion, I/O write, etc). The performance impact of doing so should be minimal (and definitely outweight the libco gains). While at it, fixed small issues to get a bit more perf: arm dynarec was not idling correctly, mips was using stack when not needed, etc. Tested on PSP (mips), OGA (armv7), Linux (x86 and interpreter). Not tested on Android though.
2020-11-09Optimise interframe blendingjdgleaver
2020-10-24Overhaul frameskip optionsjdgleaver
2020-10-23Add build-time option to run the emulator in a thread instead of libco ↵jdgleaver
(fixes OpenDingux target)
2020-10-06Cleanupstwinaphex
2020-09-21Add optional colour correction + interframe blendingjdgleaver
2020-09-05Remove ewram from libretro apinegativeExponent
- Removing RETRO_SYSTEM_MEMORY from retro_get_memory_data/size since its incompatible for 2 reasons: 1. gba uses at least 2 blocks of memory, which is not supported 2. the way gpsp's memory block are not contiguous (see memory descriptors)
2020-09-05Add optional battery save using libretro save apinegativeExponent
- Adds core option to allow battery saves using the libretro api (retro_get_memory_data/size) - Initial save size set at 128KB and actual size is automatically determined internally by gba. - This will always assume that a save file is supported since save size or type cannot be determined until gba tries to write to backup memory. - A 128KB block of memory is used as buffer, similar method to VBA Next/Beetle GBA workarounds. Fix https://github.com/libretro/gpsp/issues/72
2020-04-05Fix cheevos supportnegativeExponent
2020-03-10Add automatic frame skippingbmaupin
2020-02-29Merge pull request #64 from justinweiss/3ds-fix-prefetch-aborthizzlekizzle
[3DS] Fix dynarec prefetch aborts
2020-02-29[3DS] Fix dynarec prefetch abortsJustin Weiss
Similar fix to https://github.com/libretro/pcsx_rearmed/pull/390. The Nintendo svcBackdoor can cause stack corruption if an interrupt happens during it, this uses Luma3DS/Rosalina's svcCustomBackdoor instead.
2020-02-28Add manual frame skippingbmaupin
2020-02-27Fix periodic ram_translation_cache crashesbmaupin
2019-11-23Make PSP version to render the image it-self instead of using RetroArchFrancisco Javier Trujillo Mata
2018-08-11add memory hooks for cheat/rumbleSven
2018-05-03Update libretro.c: Add missing input descriptorsHedonium
Add missing L and R descriptors. Fixes #48
2018-01-06Recover 1 frame of input lagTatsuya79
2017-01-24Better error handlingtwinaphex
2016-12-09Report git version with library_versionGregor Richards
2016-10-04(VITA) Dynarec changesFrancisco José García García
2016-10-03(VITA) Dynarec workingFrancisco José García García
2016-08-14(VITA) Dynarec WIPFrancisco José García García
2016-08-08(VITA) Continue WIP - Fix Block for VM alignmentFrancisco José García García
2016-08-08(VITA) Dynarec WIPFrancisco José García García
2015-11-04(3ds) dynarec: map the translation caches to specific addresses ataliaspider
runtime, increases compatibility with loaders that can reloacate each program section seperately. move the svc enabling functions to the frontend.
2015-09-27(ctr/3ds) fix handle leak.aliaspider
2015-09-26add input descriptorsradius
2015-09-11(3DS) add dynarec support when started from a .cia installaliaspider
use libkhax for ninjhax 1.0
2015-04-13allocate gba_screen_pixels on the heap.aliaspider
use linearMemAlign for the 3DS target.
2015-04-08(3DS) enable dynarec support, works only with ninjahax.aliaspider
2014-12-20Change load_gamepak signaturetwinaphex
2014-12-13Create memmap_win32.c for Win32 systems - a mman wrappertwinaphex
2014-12-13Put ifdef around <sys/mman.h> includetwinaphex
2014-12-11Allow core to work without GET_PERF_INTERFACE.Alcaro
2014-12-11Put 'var' variable inside HAVE_DYNAREC ifdef for now to silencetwinaphex
warning
2014-12-10ARM needs special optimized routines for video blending, etc.twinaphex
2014-12-10Turn dynarec enable/disable into core option if HAVE_DYNARECtwinaphex
is defined
2014-12-10We don't need to get rid of idle loop patching for non-dynarectwinaphex
core
2014-12-10Add HAVE_DYNAREC ifdeftwinaphex
2014-12-10add a HAVE_MMAP check, cleanups.aliaspider
2014-12-10use correct save directory.aliaspider