Age | Commit message (Collapse) | Author |
|
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.
|
|
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).
|
|
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.
|
|
This gets rid of some more absolute addrs in the MIPS dynarec.
Tested on several platforms, we should be good.
|
|
Will move also OAM structures to gain a few cycles per load/store.
Loads can also be optimized for an extra instruction per access.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
straight into execute_arm/execute_thumb functions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
core can't be used as a shared library yet due to the dynarec not
working when compiled with -fPIC
|
|
|
|
|
|
|
|
|