Age | Commit message (Collapse) | Author |
|
|
|
|
|
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).
|
|
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()
|
|
|
|
Move a few more registers to context
|
|
This gets rid of some more absolute addrs in the MIPS dynarec.
Tested on several platforms, we should be good.
|
|
Move palettes around to simplify MIPS dynarec
|
|
Will move also OAM structures to gain a few cycles per load/store.
Loads can also be optimized for an extra instruction per access.
|
|
Fix typo
|
|
|
|
Improve and simplify dynarec JIT area.
|
|
Also fix a regression on VITA.
Use gcc/OS cache flushing routines for MIPS32 instead of synci
|
|
Improve cache flush magic
|
|
Remove PSP-specific stuff from MIPS backend
|
|
Make it better and more generic. Add support for MIPS32 and fix the
messy PSP code.
|
|
|
|
This is unnecessary since newlib supports all file I/O.
This is needed for other mips ports
|
|
|
|
Remove libco
|
|
While we are at it, use ARM mode for better performance.
|
|
|