Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
rounding wrong way is enough to cause nasty timing problems
|
|
HOST_CCREG is not always cc..
|
|
|
|
simplifies event handling code a bit
|
|
there is no reason to use virtual addressing, things can't be remapped
on PSX as there is no MMU anyway. Fixes somewhat related invalidation
bug along the way.
|
|
at least 1 is wrong according to Ryphecha's info,
and breaks at least Wipeout XL.
|
|
This should be closer to what happens on the real thing.
Special thanks to Ryphecha for the idea.
|
|
|
|
intended for caanoo/Wiz, some users want to trade glitches for
performance boost.
|
|
at least the ones from C source, it looks like there could be more.
|
|
also add some missing ones
|
|
checking for overflow where it can't occur is a waste of time,
get rid of that code.
|
|
no more need to load psxRegs in each function and all registers are
reachable by ldrh/strh.
|
|
derive from existing ones if possible
|
|
|
|
yes this makes it possible to miss something, but I hope
it's not going to happen and will deal with it if it does.
|
|
also removes wrong (?) MAC0 saturation.
|
|
|
|
|
|
|
|
doesn't seem to make much difference, but theoretically should help.
|
|
makes rcnt1 hack impossible though, overclock PSX instead
|
|
this may cause missed interrupts in very rare cases,
but performance penalty this makes is surely not worth it.
|
|
also fix unmap
|
|
old value ~1.4 was weird anyway
|
|
this missing check wasn't causing too many problems because
of events on every hsync, which are gone now.
|
|
|
|
|
|
generic code handles it better now.
|
|
try to guess RAM mirror we are going to hit
|
|
it's rare, but it happens.
|
|
|
|
this will probably make cdrom/vsync timing desync situation
worse (those were never in sync anyway) but fix some cdda
related sound stuttering.
Those magic values are used trying to preserve other SPU plugin
compatibility.
|
|
|
|
|
|
|
|
|
|
|
|
no useful work is done on hsync, no reason to interrupt the recompiler
that often, set up events as needed.
|
|
just copy-paste existing code and use _nf handlers from previous patch.
|
|
flagless are unused but will be used later, at least I hope so.
|
|
pandora won't be affected because it uses VFP anyway,
and pollux prefers the table for some reason.
Also send the divider to it's own .c file for future reuse.
|
|
also adds some asserts I did during debugging this
|
|
|
|
R1 redefined..
|
|
There are some games that keep writing in the same 4k page where the
code resides (Alien Ressurection is one such example). I've noticed
those accesses are usually to a small region, so keep range of addresses
that has no code and has been recently accessed and check it when the
writes come.
|
|
in very rare cases add_link() would end up being called with jump to
another block and not stub, which would later cause kill_pointer() to
crash while cleaning jump_out. I'm guessing wrong pointer was being
picked from jump_in by dyna_linker, failing to detect stale cache,
and hoping this will fix it.
|