Age | Commit message (Collapse) | Author |
|
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.
|
|
there are far too many assumptions all over the place that it's not
loaded early
|
|
or at least try to..
|
|
hopefully for good this time
|
|
This reverts commit 2adcd6fad4594a18025b4f00c49e43a23f8f8992.
That "fix" breaks Delta Force Urban Warfare, supposedly not neded
after Ari64's fixes?
|
|
a bit basic but works
|
|
it did not match what was used elsewhere for PCSX,
causing rare crashes due to making bad links..
Also comment get_pointer, it's not obvious what it does.
|
|
tested on the real thing.
|
|
based on pcsrx code.
|
|
also add some missing sanity checks.
|
|
stop it from reading uninitialized LR in some cases..
|
|
relying on PC to check if we already exited was a bad idea,
as cc_interrupt stuff updates the PC already.
|
|
an idea from shalma.
"no card" and response byte 1 behavior tested on real hardware.
|
|
tested on the real thing
|
|
This gives cdda support for eboot
|