Age | Commit message (Collapse) | Author |
|
Gated MIPS_HAS_R2_INSTS not used at the moment. Tested with qemu.
|
|
This is required in PS2 but could also make older dingux devices run
gpsp on retroarch
|
|
|
|
|
|
|
|
Cleans up a ton of whitespace in cpu.c (like 100KB!) and improves
readability of some massive decode statements.
Added an optimization for PC-relative loads (pool load) in ROM (since
it's read only and cannot possibily change) that directly emits an
immediate load. This is way faster, specially in MIPS/x86, ARM can be
even faster if we rewrite the immediate load macros to also use a pool.
|
|
Some minor formating too
|
|
This works on both interpreter and dynarec.
Tested in MIPS, ARM and x86, still needs some more testing, some edge
cases can be buggy.
|
|
|
|
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.
|
|
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
Make it better and more generic. Add support for MIPS32 and fix the
messy PSP code.
|
|
Fix some small issues, mainly associated with undefined behaviour
expressions
|
|
|
|
|
|
|
|
|
|
|