summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-05Merge remote-tracking branch 'libretro/master' into pico-feneonloop
2021-05-05Revert "Remove BIOS reserved translation area"neonloop
This reverts commit fb7ca09b019248b9a0aba481ea55386f71053d73. It seems that commit broke rolling in Minish Cap when using the ARM dynarec.
2021-04-28Fix invalid memory map entriesnegativeExponent
2021-04-27Fix Vita port and likely some Linux/Android hidden issuesDavid Guillen Fandos
Using an invalid SP makes Vita crash (for an unkown reason) and makes things like C signal handlers crash (luckily Retroarch doesn't use them). It is also a violation of the ABI and not a great idea. Recycled some little used registers to free SP. Perf should be roughly the same.
2021-04-26Fix RTC support for MIPSDavid Guillen Fandos
2021-04-19Restored older GBC_BASE_RATE to fix sound popping (thanks, eggs!)neonloop
2021-04-18USB headphone detectionneonloop
This checks for USB hotplugging every 60 times audio is written. This can be adjusted to favor performance vs reacting to hotplugs more quickly. There are some errors that appear when unplugging the headset because it tries to write audio to a device that has disappeared.
2021-04-09Include eggs' smoothness edits to drowsnug's upscalerneonloop
2021-04-04Fix palette writes in MIPSDavid Guillen Fandos
Was not writing to the right address (but decoded memory was working). Most game worked well except those that depend on modifying the existing palette bits (instead of copying from ROM/RAM). Fixes several games.
2021-04-03Do not use stack in mips stubsDavid Guillen Fandos
No need for it (faster) and avoid mis-aligning it across calls
2021-04-03Add instruction tracing, for testing purposesDavid Guillen Fandos
2021-04-02Adds a "smooth subpixel" upscalerneonloop
Thanks to drowsnug for the original implementation of a subpixel scaler. This scaler uses the core of that one, but smooths the transition in the new pixels added during scaling. If you think of the scaler as 4x integer scaling of the GBA screen, and assigning each of those pixels to a subpixel, each subpixel takes the value of 50% the pixel assigned, 25% of the pixel to its left, and 25% of the pixel to its right. With the pixels: BGRBGRBGRBGR AAAABBBBCCCC ^--- this subpixel will be 1/4 A[G] + 1/2 B[G] + 1/4 B[G] The first and last pixels in each batch are not blended with the previous / next batch to keep them sharp.
2021-04-02Add function decorators for easier debugging / profilingDavid Guillen Fandos
2021-03-31Adds built-in BIOS supportneonloop
If an official BIOS exists in the right place, it will be used. Otherwise, the built-in BIOS will be used.
2021-03-31Merge remote-tracking branch 'libretro/master' into pico-feneonloop
2021-03-30Improve indirect jumps in ARMDavid Guillen Fandos
Handle already translated blocks in the ARM asm to speed up indirect branches (affect some games more than others)
2021-03-30Improve ARM store handlersDavid Guillen Fandos
2021-03-27Add CROSS_COMPILE rulestwinaphex
2021-03-27Merge pull request #120 from davidgfnet/masterAutechre
Fixes and improvements for MIPS and ARM
2021-03-26Fix 16 bit RAM stores (VRAM and OAM) in ARMDavid Guillen Fandos
2021-03-26Improve ARM store accessesDavid Guillen Fandos
2021-03-26Move OAM RAM to stubs alsoDavid Guillen Fandos
Makes accesses more efficient for MIPS. Make accesses also fast for palette reads.
2021-03-26Move OAM update flag to a registerDavid Guillen Fandos
Fix a small bug in MIPS dynarec that affects non -G0 targets
2021-03-26Merge pull request #119 from jdgleaver/dingux-beta-fixAutechre
Fix OpenDingux Beta build
2021-03-26Fix OpenDingux Beta buildjdgleaver
2021-03-26Drop buffer size to 8192neonloop
2021-03-25Add od-betatwinaphex
2021-03-23Merge pull request #118 from davidgfnet/masterAutechre
2021-03-23Move caches to stub files to get around gcc 10David Guillen Fandos
Seems that using the __atribute__ magic for sections is not the best way of doing this, since it injects some default atributtes that collide with the user defined ones. Using assembly is far easier in this case. Reworked definitions a bit to make it easier to import from assembly. Also wrapped stuff around macros for easy and less verbose implementation of the symbol prefix issue.
2021-03-23Merge pull request #117 from davidgfnet/asmfixes2Autechre
Make ewram memory linear
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-23Merge pull request #116 from davidgfnet/masterAutechre
Export double symbol to cover Win but also Apple compilers
2021-03-23Export double symbol to cover Win but also Apple compilersDavid Guillen Fandos
2021-03-22Merge pull request #115 from davidgfnet/masterAutechre
Fix Windows compilers symbol names
2021-03-22Fix Windows compilers symbol namesDavid Guillen Fandos
2021-03-22Merge pull request #114 from davidgfnet/masterAutechre
Adding Normmatt's BIOS as a built-in BIOS
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-18Merge pull request #112 from davidgfnet/masterAutechre
Enable runtime dynarec enable/disable
2021-03-18Merge pull request #113 from davidgfnet/asmfixes2Autechre
asm fixes for clang
2021-03-18asm fixes for clangDavid Guillen Fandos
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-17Merge pull request #111 from davidgfnet/masterAutechre
Remove BIOS reserved translation area
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-17Merge pull request #110 from davidgfnet/masterAutechre
Rewrite the MIPS stub backend to add OpenDingux
2021-03-16Simplify open load handling for MIPS and fix other archesDavid Guillen Fandos
Also rewrite a bit memory handlers for smaller functions.
2021-03-16Add Dingux supportDavid Guillen Fandos
Uses a different cache primitive and a differend madd(u) encoding. Also added a flag for BGR vs RGB color output (since PSP is assuming to be BGR for speed). Aside from that the ABI required some special function calls for PIC.
2021-03-16Remove old handlers from mips/stubDavid Guillen Fandos
2021-03-16Rewrite of the MIPS dynarec stubsDavid Guillen Fandos
This allows us to emit the handlers directly in a more efficient manner. At the same time it allows for an easy fix to emit PIC code, which is necessary for libretro. This also enables more platform specific optimizations and variations, perhaps even run-time multiplatform support.
2021-03-16Merge pull request #109 from jdgleaver/post-process-fixAutechre
Ensure post processing configuration is correctly reset in retro_deinit()