pcsx_rearmed.git
12 years agodrc: add some hack options
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.

12 years agogte: parametrize remaining ops
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.

12 years agogte: disable some MAC overflow checks for ARM
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

12 years agogte: eliminate excessive lims and casts
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.

12 years agogte: pass a pointer to registers as argument
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.

12 years agodrc: try to avoid full constant reload
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

12 years agodrc: fix sub assem_debug print
notaz [Thu, 20 Oct 2011 21:06:33 +0000 (00:06 +0300)]
drc: fix sub assem_debug print

12 years agodrc: avoid invcode checks on close addesses
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.

12 years agogte_arm: some asm experiments
notaz [Wed, 19 Oct 2011 20:07:58 +0000 (23:07 +0300)]
gte_arm: some asm experiments

also removes wrong (?) MAC0 saturation.

12 years agopcnt: measure gte too
notaz [Tue, 18 Oct 2011 22:58:04 +0000 (01:58 +0300)]
pcnt: measure gte too

12 years agodrc: do MVMVA decoding; parametrize handlers
notaz [Tue, 18 Oct 2011 22:54:19 +0000 (01:54 +0300)]
drc: do MVMVA decoding; parametrize handlers

12 years agodrc: finish GTE reg liveness analysis
notaz [Sun, 16 Oct 2011 15:37:49 +0000 (18:37 +0300)]
drc: finish GTE reg liveness analysis

12 years agofrontend/pollux: program MLC2 for TV-out, save/restore regs
notaz [Fri, 14 Oct 2011 21:22:24 +0000 (00:22 +0300)]
frontend/pollux: program MLC2 for TV-out, save/restore regs

12 years agodrc: implement literal dupe merging
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.

12 years agoinline/parametrize rootcounter reads
notaz [Tue, 11 Oct 2011 20:03:03 +0000 (23:03 +0300)]
inline/parametrize rootcounter reads

makes rcnt1 hack impossible though, overclock PSX instead

12 years agopsxcounters: avoid doing excessive updates
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.

12 years agopsxmem: set fixed flag on mappings that really need 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

12 years agorelease r10, for real r10
notaz [Sun, 9 Oct 2011 20:39:30 +0000 (23:39 +0300)]
release r10, for real

12 years agospu: fix gaussian interpolation
notaz [Sun, 9 Oct 2011 22:35:15 +0000 (01:35 +0300)]
spu: fix gaussian interpolation

12 years agofrontend: fix integer-prefer scaler
notaz [Sun, 9 Oct 2011 22:19:06 +0000 (01:19 +0300)]
frontend: fix integer-prefer scaler

12 years agouse faster PSX clock on armv7 devices
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.

12 years agoadd caanoo frontend files, move pandora files
notaz [Sun, 9 Oct 2011 19:15:00 +0000 (22:15 +0300)]
add caanoo frontend files, move pandora files

12 years agopsxcounters: change spu update ~2ms
notaz [Sun, 9 Oct 2011 17:50:16 +0000 (20:50 +0300)]
psxcounters: change spu update ~2ms

old value ~1.4 was weird anyway

12 years agodrc: check for interrupts after RFE
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.

12 years agonew ability to adjust psx cpu clock
notaz [Sun, 9 Oct 2011 00:32:49 +0000 (03:32 +0300)]
new ability to adjust psx cpu clock

12 years agoget rid of old memhandlers
notaz [Sat, 8 Oct 2011 20:50:59 +0000 (23:50 +0300)]
get rid of old memhandlers

12 years agodrc: remove some old inline 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.

12 years agodrc: implement memory access speculation
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

12 years agodrc: implement shiftimm constant propagation
notaz [Thu, 6 Oct 2011 23:27:32 +0000 (02:27 +0300)]
drc: implement shiftimm constant propagation

it's rare, but it happens.

12 years agospu: make "simple" interpolation even more simple
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.

12 years agorecompilation-caused frameskip workaround
notaz [Wed, 5 Oct 2011 20:32:35 +0000 (23:32 +0300)]
recompilation-caused frameskip workaround

12 years agospu/cdda: sync cdda to spu playback
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.

12 years agotry to support more compilers
notaz [Tue, 4 Oct 2011 21:36:03 +0000 (00:36 +0300)]
try to support more compilers

12 years agorewrite memhandlers (write)
notaz [Tue, 4 Oct 2011 20:37:07 +0000 (23:37 +0300)]
rewrite memhandlers (write)

12 years agorewrite memhandlers (read)
notaz [Sun, 2 Oct 2011 15:46:31 +0000 (18:46 +0300)]
rewrite memhandlers (read)

12 years agoyet more random armv5 tweaks
notaz [Fri, 30 Sep 2011 22:13:43 +0000 (01:13 +0300)]
yet more random armv5 tweaks

12 years agogte_arm: implement RTPS, RTPT
notaz [Thu, 29 Sep 2011 22:04:21 +0000 (01:04 +0300)]
gte_arm: implement RTPS, RTPT

12 years agodfxvideo: remove unneeded double division in line code
notaz [Tue, 27 Sep 2011 20:13:08 +0000 (23:13 +0300)]
dfxvideo: remove unneeded double division in line code

12 years agopsxcounters: avoid update on each hsync
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.

12 years agodrc: do gte flag liveness detection
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.

12 years agogte: split arm code for pollux, generate flagless handlers
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.

12 years agofrontend: few more pollux/caanoo tweaks
notaz [Sun, 25 Sep 2011 12:40:31 +0000 (15:40 +0300)]
frontend: few more pollux/caanoo tweaks

12 years agofrontend: menu: don't assume onoff vars are int
notaz [Sun, 25 Sep 2011 12:37:50 +0000 (15:37 +0300)]
frontend: menu: don't assume onoff vars are int

12 years agogte: switch divider back to table
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.

12 years agoadd pollux/caanoo port, refactor things
notaz [Sat, 24 Sep 2011 15:41:41 +0000 (18:41 +0300)]
add pollux/caanoo port, refactor things

12 years agodrc: fix PCSX HLE hack for armv5
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

12 years agoget rid of hard libbz2 dependency
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.

12 years agosupport armv5 build
notaz [Fri, 23 Sep 2011 16:29:03 +0000 (19:29 +0300)]
support armv5 build

12 years agorelease r10
notaz [Thu, 22 Sep 2011 23:22:20 +0000 (02:22 +0300)]
release r10

12 years agofix build on some ARM toolchains
notaz [Fri, 23 Sep 2011 00:07:38 +0000 (03:07 +0300)]
fix build on some ARM toolchains

R1 redefined..

12 years agofrontend: fix a couple of annoyancies
notaz [Thu, 22 Sep 2011 22:47:33 +0000 (01:47 +0300)]
frontend: fix a couple of annoyancies

12 years agospu: handle loop write vs loop flag race (bIgnoreLoop alternative)
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).

12 years agospu: clean up unneeded code
notaz [Thu, 22 Sep 2011 17:26:34 +0000 (20:26 +0300)]
spu: clean up unneeded code

12 years agospu: use last written loop value when starting
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..

12 years agodrc: do modification check in smaller than page granularity
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.

12 years agospu: get rid of pCurr -1, pass right chans to silent handler
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..

12 years agospu: fix a few mixing issues
notaz [Mon, 19 Sep 2011 23:29:28 +0000 (02:29 +0300)]
spu: fix a few mixing issues

12 years agofrontend: always detect region
notaz [Mon, 19 Sep 2011 22:21:18 +0000 (01:21 +0300)]
frontend: always detect region

override later if needed

12 years agodrc: make sure dyna_linker is really called from stub
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.

12 years agodrc: load ra before SD only when needed
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

12 years agofrontend: fix frame limiter issue
notaz [Sun, 18 Sep 2011 00:13:23 +0000 (03:13 +0300)]
frontend: fix frame limiter issue

sleeping too much sometims causes unwanted stuttering..

12 years agospu: don't wait for irq on silent channels
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)

12 years agofrontend: change sound config vars
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

12 years agodrc: handle $ra access in JALR DS too
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..

12 years agodrc: fix $ra evicting on JAL
notaz [Sun, 18 Sep 2011 16:45:38 +0000 (19:45 +0300)]
drc: fix $ra evicting on JAL

hopefully for good this time

12 years agoRevert "drc: ujump DS $ra overwrite fix?"
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?

12 years agoadd fixed frameskip option
notaz [Wed, 14 Sep 2011 22:33:57 +0000 (01:33 +0300)]
add fixed frameskip option

12 years agofix some minor frontend issues
notaz [Wed, 14 Sep 2011 21:33:03 +0000 (00:33 +0300)]
fix some minor frontend issues

12 years agogpu_unai: avoid NULL pointers in span table
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?

12 years agofrontend: show time and battery capacity
notaz [Sat, 13 Aug 2011 19:32:14 +0000 (22:32 +0300)]
frontend: show time and battery capacity

useful for longer gaming sessions

12 years agorelease r9 r9
notaz [Fri, 12 Aug 2011 23:26:51 +0000 (02:26 +0300)]
release r9

12 years agofrontend: split 4:3 scaling options
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.

12 years agogpu_neon: handle 0xEx cmds while frameskiping
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

12 years agogpu_neon: frameskip: skip blits until flipped
notaz [Fri, 12 Aug 2011 21:47:16 +0000 (00:47 +0300)]
gpu_neon: frameskip: skip blits until flipped

12 years agogpu_neon: add peops as temp renderer
notaz [Fri, 12 Aug 2011 10:54:17 +0000 (13:54 +0300)]
gpu_neon: add peops as temp renderer

12 years agogpu_neon: support caching renderers, update rearmed if
notaz [Fri, 12 Aug 2011 10:21:51 +0000 (13:21 +0300)]
gpu_neon: support caching renderers, update rearmed if

12 years agogpu_neon: do list resubmit detection
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..

12 years agogpu_neon: gpu info reads, some bugfixes
notaz [Sat, 18 Jun 2011 23:23:46 +0000 (02:23 +0300)]
gpu_neon: gpu info reads, some bugfixes

12 years agogpu_neon: basic frameskip, change check, minor stuff
notaz [Fri, 17 Jun 2011 22:33:50 +0000 (01:33 +0300)]
gpu_neon: basic frameskip, change check, minor stuff

12 years agogpu_neon: partially support range regs
notaz [Wed, 15 Jun 2011 22:07:35 +0000 (01:07 +0300)]
gpu_neon: partially support range regs

12 years agogpu_neon: vram fixes, list loop detection
notaz [Tue, 14 Jun 2011 10:18:08 +0000 (13:18 +0300)]
gpu_neon: vram fixes, list loop detection

12 years agogpu_neon: split output code, some refactoring
notaz [Sun, 12 Jun 2011 21:43:42 +0000 (00:43 +0300)]
gpu_neon: split output code, some refactoring

12 years agogpu_neon: some cmd/vram io and dma handling
Grazvydas Ignotas [Tue, 7 Jun 2011 21:55:06 +0000 (00:55 +0300)]
gpu_neon: some cmd/vram io and dma handling

12 years agogpu_neon: basic skeleton gpu plugin
Grazvydas Ignotas [Fri, 4 Mar 2011 16:51:55 +0000 (18:51 +0200)]
gpu_neon: basic skeleton gpu plugin

12 years agogpu_unai: redo frameskip
notaz [Thu, 11 Aug 2011 23:37:23 +0000 (02:37 +0300)]
gpu_unai: redo frameskip

the previous code wasn't that functional

12 years agogpu_unai: fix inline asm statements
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.

12 years agogpu_unai: merge code from PCSX4ALL 2.2 release
notaz [Thu, 11 Aug 2011 15:54:42 +0000 (18:54 +0300)]
gpu_unai: merge code from PCSX4ALL 2.2 release

12 years agofrontend: add gpu_unai configuration options
notaz [Thu, 11 Aug 2011 16:39:30 +0000 (19:39 +0300)]
frontend: add gpu_unai configuration options

12 years agofrontend: refactor plugin_lib for maemo
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.

12 years agoadd guncon support
notaz [Mon, 8 Aug 2011 22:16:59 +0000 (01:16 +0300)]
add guncon support

a bit basic but works

12 years agofrontnd: pcnt: enable counters to avoid using ext tools
notaz [Mon, 1 Aug 2011 20:22:04 +0000 (23:22 +0300)]
frontnd: pcnt: enable counters to avoid using ext tools

12 years agodrc: fix page get code in linkage_arm.s
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.

12 years agospu: split out mixing, use NEON for that on ARM
notaz [Mon, 1 Aug 2011 11:07:33 +0000 (14:07 +0300)]
spu: split out mixing, use NEON for that on ARM

12 years agospu: merge DrHell/shalma noise code
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.

12 years agospu: change volume control, default it to 3/4 instead of 1/2
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

12 years agospu: some misc refactoring/cleanup
notaz [Fri, 29 Jul 2011 23:42:28 +0000 (02:42 +0300)]
spu: some misc refactoring/cleanup

12 years agospu: some major reverb refactoring
notaz [Fri, 29 Jul 2011 23:38:52 +0000 (02:38 +0300)]
spu: some major reverb refactoring

some ideas lifted from SPU2-X (Pcsx2)

12 years agospu: parametrize sample generation, interpolation
notaz [Thu, 28 Jul 2011 23:24:05 +0000 (02:24 +0300)]
spu: parametrize sample generation, interpolation

12 years agospu: do adsr on whole buffer
notaz [Thu, 28 Jul 2011 21:31:56 +0000 (00:31 +0300)]
spu: do adsr on whole buffer

this eliminates need to check adsr state for each sample,
we can do multiple at once.
Also use ADSR tables from DrHell/shalma.

12 years agofrontend: add chan display option, for fun mostly
notaz [Thu, 28 Jul 2011 21:25:41 +0000 (00:25 +0300)]
frontend: add chan display option, for fun mostly