Age | Commit message (Collapse) | Author |
|
|
|
This reverts commit fb7ca09b019248b9a0aba481ea55386f71053d73.
It seems that commit broke rolling in Minish Cap when using the ARM dynarec.
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
No need for it (faster) and avoid mis-aligning it across calls
|
|
|
|
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.
|
|
|
|
If an official BIOS exists in the right place, it will be
used. Otherwise, the built-in BIOS will be used.
|
|
|
|
Handle already translated blocks in the ARM asm to speed up indirect
branches (affect some games more than others)
|
|
|
|
|
|
Fixes and improvements for MIPS and ARM
|
|
|
|
|
|
Makes accesses more efficient for MIPS. Make accesses also fast for palette
reads.
|
|
Fix a small bug in MIPS dynarec that affects non -G0 targets
|
|
Fix OpenDingux Beta build
|
|
|
|
|
|
|
|
|
|
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.
|
|
Make ewram memory linear
|
|
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.
|
|
Export double symbol to cover Win but also Apple compilers
|
|
|
|
Fix Windows compilers symbol names
|
|
|
|
Adding Normmatt's BIOS as a built-in BIOS
|
|
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).
|
|
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)
|
|
Enable runtime dynarec enable/disable
|
|
asm fixes for clang
|
|
|
|
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.
|
|
Remove BIOS reserved translation area
|
|
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.
|
|
Rewrite the MIPS stub backend to add OpenDingux
|
|
Also rewrite a bit memory handlers for smaller functions.
|
|
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.
|
|
|
|
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.
|
|
Ensure post processing configuration is correctly reset in retro_deinit()
|