Age | Commit message (Collapse) | Author |
|
This patch adds big-endian compatibility in gpsp (in general but only
for the interpreter). There's no performance hit for little-endian
platforms (should be a no-op) and only add a small overhead in memory
accesses for big-endian platforms.
Most memory accesses are wrapped with a byteswap instruction and I/O reg
accesses are also rewired for proper access (using macros). Video
rendering has been fixed to also do byteswaps but there's a couple of
games and rendering modes that still seem broken (but they amount to
less than 20 games in my tests with 1K ROMs).
This also adds build rules and CI for NGC/WII/WIIU (untested)
|
|
This works on both interpreter and dynarec.
Tested in MIPS, ARM and x86, still needs some more testing, some edge
cases can be buggy.
|
|
Handle already translated blocks in the ARM asm to speed up indirect
branches (affect some games more than others)
|
|
Fix a small bug in MIPS dynarec that affects non -G0 targets
|
|
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.
|
|
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 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.
|
|
This is unnecessary since newlib supports all file I/O.
This is needed for other mips ports
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
core can't be used as a shared library yet due to the dynarec not
working when compiled with -fPIC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
plus some random tweaks
|
|
this will be used for Caanoo overclocking workaround
|
|
|
|
not using config as it's binary, this is intended to be user editable.
|
|
Don't like ROM dir littering.
Still looking there for .sav and .cht files though.
|
|
|
|
|
|
|
|
..like ignoring real buffer size and not stopping sound thread on exit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|