notaz [Sun, 23 Oct 2011 20:18:19 +0000 (23:18 +0300)]
rcnt: remove gate guess for cnt 0 and 1
at least 1 is wrong according to Ryphecha's info,
and breaks at least Wipeout XL.
notaz [Sun, 23 Oct 2011 14:53:09 +0000 (17:53 +0300)]
gte: change gte irq workaround
This should be closer to what happens on the real thing.
Special thanks to Ryphecha for the idea.
notaz [Sun, 23 Oct 2011 14:47:38 +0000 (17:47 +0300)]
drc: detect dead gte reads too
notaz [Sun, 23 Oct 2011 01:17:42 +0000 (04:17 +0300)]
drc: add some hack options
intended for caanoo/Wiz, some users want to trade glitches for
performance boost.
notaz [Fri, 21 Oct 2011 22:29:31 +0000 (01:29 +0300)]
gte: parametrize remaining ops
at least the ones from C source, it looks like there could be more.
notaz [Fri, 21 Oct 2011 21:51:48 +0000 (00:51 +0300)]
gte: disable some MAC overflow checks for ARM
also add some missing ones
notaz [Fri, 21 Oct 2011 15:08:57 +0000 (18:08 +0300)]
gte: eliminate excessive lims and casts
checking for overflow where it can't occur is a waste of time,
get rid of that code.
notaz [Thu, 20 Oct 2011 23:18:46 +0000 (02:18 +0300)]
gte: pass a pointer to registers as argument
no more need to load psxRegs in each function and all registers are
reachable by ldrh/strh.
notaz [Thu, 20 Oct 2011 20:58:56 +0000 (23:58 +0300)]
drc: try to avoid full constant reload
derive from existing ones if possible
notaz [Thu, 20 Oct 2011 21:06:33 +0000 (00:06 +0300)]
drc: fix sub assem_debug print
notaz [Wed, 19 Oct 2011 23:17:22 +0000 (02:17 +0300)]
drc: avoid invcode checks on close addesses
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.
notaz [Wed, 19 Oct 2011 20:07:58 +0000 (23:07 +0300)]
gte_arm: some asm experiments
also removes wrong (?) MAC0 saturation.
notaz [Tue, 18 Oct 2011 22:58:04 +0000 (01:58 +0300)]
pcnt: measure gte too
notaz [Tue, 18 Oct 2011 22:54:19 +0000 (01:54 +0300)]
drc: do MVMVA decoding; parametrize handlers
notaz [Sun, 16 Oct 2011 15:37:49 +0000 (18:37 +0300)]
drc: finish GTE reg liveness analysis
notaz [Fri, 14 Oct 2011 21:22:24 +0000 (00:22 +0300)]
frontend/pollux: program MLC2 for TV-out, save/restore regs
notaz [Wed, 12 Oct 2011 23:27:43 +0000 (02:27 +0300)]
drc: implement literal dupe merging
doesn't seem to make much difference, but theoretically should help.
notaz [Tue, 11 Oct 2011 20:03:03 +0000 (23:03 +0300)]
inline/parametrize rootcounter reads
makes rcnt1 hack impossible though, overclock PSX instead
notaz [Mon, 10 Oct 2011 14:38:43 +0000 (17:38 +0300)]
psxcounters: avoid doing excessive updates
this may cause missed interrupts in very rare cases,
but performance penalty this makes is surely not worth it.
notaz [Sun, 16 Oct 2011 00:21:23 +0000 (03:21 +0300)]
psxmem: set fixed flag on mappings that really need it
also fix unmap
notaz [Sun, 9 Oct 2011 20:39:30 +0000 (23:39 +0300)]
release r10, for real
notaz [Sun, 9 Oct 2011 22:35:15 +0000 (01:35 +0300)]
spu: fix gaussian interpolation
notaz [Sun, 9 Oct 2011 22:19:06 +0000 (01:19 +0300)]
frontend: fix integer-prefer scaler
notaz [Sun, 9 Oct 2011 20:06:14 +0000 (23:06 +0300)]
use faster PSX clock on armv7 devices
games that were too slow run better now, but others are too fast now..
I hope this is a good tradeoff.
notaz [Sun, 9 Oct 2011 19:15:00 +0000 (22:15 +0300)]
add caanoo frontend files, move pandora files
notaz [Sun, 9 Oct 2011 17:50:16 +0000 (20:50 +0300)]
psxcounters: change spu update ~2ms
old value ~1.4 was weird anyway
notaz [Sun, 9 Oct 2011 17:00:55 +0000 (20:00 +0300)]
drc: check for interrupts after RFE
this missing check wasn't causing too many problems because
of events on every hsync, which are gone now.
notaz [Sun, 9 Oct 2011 00:32:49 +0000 (03:32 +0300)]
new ability to adjust psx cpu clock
notaz [Sat, 8 Oct 2011 20:50:59 +0000 (23:50 +0300)]
get rid of old memhandlers
notaz [Sat, 8 Oct 2011 13:57:19 +0000 (16:57 +0300)]
drc: remove some old inline memhandlers
generic code handles it better now.
notaz [Fri, 7 Oct 2011 22:55:01 +0000 (01:55 +0300)]
drc: implement memory access speculation
try to guess RAM mirror we are going to hit
notaz [Thu, 6 Oct 2011 23:27:32 +0000 (02:27 +0300)]
drc: implement shiftimm constant propagation
it's rare, but it happens.
notaz [Wed, 5 Oct 2011 21:22:46 +0000 (00:22 +0300)]
spu: make "simple" interpolation even more simple
that division is not worth the quality increase it might give,
also sinc now can be 0 after resets, causing div0 fault.
notaz [Wed, 5 Oct 2011 20:32:35 +0000 (23:32 +0300)]
recompilation-caused frameskip workaround
notaz [Tue, 4 Oct 2011 23:11:18 +0000 (02:11 +0300)]
spu/cdda: sync cdda to spu playback
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.
notaz [Tue, 4 Oct 2011 21:36:03 +0000 (00:36 +0300)]
try to support more compilers
notaz [Tue, 4 Oct 2011 20:37:07 +0000 (23:37 +0300)]
rewrite memhandlers (write)
notaz [Sun, 2 Oct 2011 15:46:31 +0000 (18:46 +0300)]
rewrite memhandlers (read)
notaz [Fri, 30 Sep 2011 22:13:43 +0000 (01:13 +0300)]
yet more random armv5 tweaks
notaz [Thu, 29 Sep 2011 22:04:21 +0000 (01:04 +0300)]
gte_arm: implement RTPS, RTPT
notaz [Tue, 27 Sep 2011 20:13:08 +0000 (23:13 +0300)]
dfxvideo: remove unneeded double division in line code
notaz [Mon, 26 Sep 2011 00:07:51 +0000 (03:07 +0300)]
psxcounters: avoid update on each hsync
no useful work is done on hsync, no reason to interrupt the recompiler
that often, set up events as needed.
notaz [Sun, 25 Sep 2011 19:45:35 +0000 (22:45 +0300)]
drc: do gte flag liveness detection
just copy-paste existing code and use _nf handlers from previous patch.
notaz [Sun, 25 Sep 2011 13:47:14 +0000 (16:47 +0300)]
gte: split arm code for pollux, generate flagless handlers
flagless are unused but will be used later, at least I hope so.
notaz [Sun, 25 Sep 2011 12:40:31 +0000 (15:40 +0300)]
frontend: few more pollux/caanoo tweaks
notaz [Sun, 25 Sep 2011 12:37:50 +0000 (15:37 +0300)]
frontend: menu: don't assume onoff vars are int
notaz [Sun, 25 Sep 2011 12:31:41 +0000 (15:31 +0300)]
gte: switch divider back to table
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.
notaz [Sat, 24 Sep 2011 15:41:41 +0000 (18:41 +0300)]
add pollux/caanoo port, refactor things
notaz [Sat, 24 Sep 2011 15:44:23 +0000 (18:44 +0300)]
drc: fix PCSX HLE hack for armv5
also adds some asserts I did during debugging this
notaz [Fri, 23 Sep 2011 17:51:07 +0000 (20:51 +0300)]
get rid of hard libbz2 dependency
it just keeps getting in my way when trying to run this elsewhere.
notaz [Fri, 23 Sep 2011 16:29:03 +0000 (19:29 +0300)]
support armv5 build
notaz [Thu, 22 Sep 2011 23:22:20 +0000 (02:22 +0300)]
release r10
notaz [Fri, 23 Sep 2011 00:07:38 +0000 (03:07 +0300)]
fix build on some ARM toolchains
R1 redefined..
notaz [Thu, 22 Sep 2011 22:47:33 +0000 (01:47 +0300)]
frontend: fix a couple of annoyancies
notaz [Thu, 22 Sep 2011 19:38:12 +0000 (22:38 +0300)]
spu: handle loop write vs loop flag race (bIgnoreLoop alternative)
it feels this should be better, but shouldn't write much here without
testing really (Heart of Darkness).
notaz [Thu, 22 Sep 2011 17:26:34 +0000 (20:26 +0300)]
spu: clean up unneeded code
notaz [Thu, 22 Sep 2011 16:20:35 +0000 (19:20 +0300)]
spu: use last written loop value when starting
Now that we play silent channels, at least Alien Ressurection wants
this. I should really bring out my PSX and test this properly..
notaz [Wed, 21 Sep 2011 23:11:04 +0000 (02:11 +0300)]
drc: do modification check in smaller than page granularity
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.
notaz [Wed, 21 Sep 2011 01:03:48 +0000 (04:03 +0300)]
spu: get rid of pCurr -1, pass right chans to silent handler
pCurr -1 would work weird with savestates and could screw things up in
general..
notaz [Mon, 19 Sep 2011 23:29:28 +0000 (02:29 +0300)]
spu: fix a few mixing issues
notaz [Mon, 19 Sep 2011 22:21:18 +0000 (01:21 +0300)]
frontend: always detect region
override later if needed
notaz [Mon, 19 Sep 2011 21:01:39 +0000 (00:01 +0300)]
drc: make sure dyna_linker is really called from stub
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.
notaz [Mon, 19 Sep 2011 00:47:44 +0000 (03:47 +0300)]
drc: load ra before SD only when needed
there are far too many assumptions all over the place that it's not
loaded early
notaz [Sun, 18 Sep 2011 00:13:23 +0000 (03:13 +0300)]
frontend: fix frame limiter issue
sleeping too much sometims causes unwanted stuttering..
notaz [Fri, 16 Sep 2011 13:55:31 +0000 (16:55 +0300)]
spu: don't wait for irq on silent channels
no point to do so, breaks other chans if silent ones
interrupt often (Discworld)
notaz [Fri, 16 Sep 2011 00:11:18 +0000 (03:11 +0300)]
frontend: change sound config vars
it seems people out there still have bad sound configs
notaz [Sun, 18 Sep 2011 19:02:37 +0000 (22:02 +0300)]
drc: handle $ra access in JALR DS too
or at least try to..
notaz [Sun, 18 Sep 2011 16:45:38 +0000 (19:45 +0300)]
drc: fix $ra evicting on JAL
hopefully for good this time
notaz [Thu, 15 Sep 2011 22:09:28 +0000 (01:09 +0300)]
Revert "drc: ujump DS $ra overwrite fix?"
This reverts commit
2adcd6fad4594a18025b4f00c49e43a23f8f8992.
That "fix" breaks Delta Force Urban Warfare, supposedly not neded
after Ari64's fixes?
notaz [Wed, 14 Sep 2011 22:33:57 +0000 (01:33 +0300)]
add fixed frameskip option
notaz [Wed, 14 Sep 2011 21:33:03 +0000 (00:33 +0300)]
fix some minor frontend issues
notaz [Sun, 14 Aug 2011 16:45:04 +0000 (19:45 +0300)]
gpu_unai: avoid NULL pointers in span table
are those state combinations really impossible?
notaz [Sat, 13 Aug 2011 19:32:14 +0000 (22:32 +0300)]
frontend: show time and battery capacity
useful for longer gaming sessions
notaz [Fri, 12 Aug 2011 23:26:51 +0000 (02:26 +0300)]
release r9
notaz [Fri, 12 Aug 2011 21:52:11 +0000 (00:52 +0300)]
frontend: split 4:3 scaling options
one for integer scaling, another for aspect scaling.
notaz [Fri, 12 Aug 2011 23:13:13 +0000 (02:13 +0300)]
gpu_neon: handle 0xEx cmds while frameskiping
otherwise things go out of sync
notaz [Fri, 12 Aug 2011 21:47:16 +0000 (00:47 +0300)]
gpu_neon: frameskip: skip blits until flipped
notaz [Fri, 12 Aug 2011 10:54:17 +0000 (13:54 +0300)]
gpu_neon: add peops as temp renderer
notaz [Fri, 12 Aug 2011 10:21:51 +0000 (13:21 +0300)]
gpu_neon: support caching renderers, update rearmed if
notaz [Mon, 25 Jul 2011 15:25:46 +0000 (18:25 +0300)]
gpu_neon: do list resubmit detection
done it a while ago, late commit..
notaz [Sat, 18 Jun 2011 23:23:46 +0000 (02:23 +0300)]
gpu_neon: gpu info reads, some bugfixes
notaz [Fri, 17 Jun 2011 22:33:50 +0000 (01:33 +0300)]
gpu_neon: basic frameskip, change check, minor stuff
notaz [Wed, 15 Jun 2011 22:07:35 +0000 (01:07 +0300)]
gpu_neon: partially support range regs
notaz [Tue, 14 Jun 2011 10:18:08 +0000 (13:18 +0300)]
gpu_neon: vram fixes, list loop detection
notaz [Sun, 12 Jun 2011 21:43:42 +0000 (00:43 +0300)]
gpu_neon: split output code, some refactoring
Grazvydas Ignotas [Tue, 7 Jun 2011 21:55:06 +0000 (00:55 +0300)]
gpu_neon: some cmd/vram io and dma handling
Grazvydas Ignotas [Fri, 4 Mar 2011 16:51:55 +0000 (18:51 +0200)]
gpu_neon: basic skeleton gpu plugin
notaz [Thu, 11 Aug 2011 23:37:23 +0000 (02:37 +0300)]
gpu_unai: redo frameskip
the previous code wasn't that functional
notaz [Thu, 11 Aug 2011 22:17:36 +0000 (01:17 +0300)]
gpu_unai: fix inline asm statements
newer gcc reorders them and was allocating registers wrong due to
incomplete constraints.
Not that this code is any better than what gcc generates anyway,
but whatever.
notaz [Thu, 11 Aug 2011 15:54:42 +0000 (18:54 +0300)]
gpu_unai: merge code from PCSX4ALL 2.2 release
notaz [Thu, 11 Aug 2011 16:39:30 +0000 (19:39 +0300)]
frontend: add gpu_unai configuration options
notaz [Thu, 11 Aug 2011 15:26:28 +0000 (18:26 +0300)]
frontend: refactor plugin_lib for maemo
should give them proper frame limiter, frameskip and also
lightgun support, maybe.
notaz [Mon, 8 Aug 2011 22:16:59 +0000 (01:16 +0300)]
add guncon support
a bit basic but works
notaz [Mon, 1 Aug 2011 20:22:04 +0000 (23:22 +0300)]
frontnd: pcnt: enable counters to avoid using ext tools
notaz [Sun, 31 Jul 2011 20:50:19 +0000 (23:50 +0300)]
drc: fix page get code in linkage_arm.s
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.
notaz [Mon, 1 Aug 2011 11:07:33 +0000 (14:07 +0300)]
spu: split out mixing, use NEON for that on ARM
notaz [Sat, 30 Jul 2011 21:17:17 +0000 (00:17 +0300)]
spu: merge DrHell/shalma noise code
fraction part dropped since it looked suspicious.
notaz [Sat, 30 Jul 2011 20:30:26 +0000 (23:30 +0300)]
spu: change volume control, default it to 3/4 instead of 1/2
because some complain default volume is too low
notaz [Fri, 29 Jul 2011 23:42:28 +0000 (02:42 +0300)]
spu: some misc refactoring/cleanup
notaz [Fri, 29 Jul 2011 23:38:52 +0000 (02:38 +0300)]
spu: some major reverb refactoring
some ideas lifted from SPU2-X (Pcsx2)