pcsx_rearmed.git
13 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.

13 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.

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

13 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.

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

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

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

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

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

13 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

13 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.

13 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.

13 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.

13 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

13 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

13 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.

13 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

13 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

13 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.

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

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

13 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..

13 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

13 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).

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

13 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..

13 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.

13 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..

13 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

13 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

13 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.

13 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

13 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..

13 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)

13 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

13 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..

13 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

13 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?

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

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

13 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?

13 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

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

13 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.

13 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

13 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

13 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

13 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

13 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..

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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.

13 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

13 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

13 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.

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

a bit basic but works

13 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

13 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.

13 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

13 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.

13 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

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

13 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)

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

13 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.

13 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

13 years agospu: handle non-playing channel irqs
notaz [Wed, 27 Jul 2011 17:10:49 +0000 (20:10 +0300)]
spu: handle non-playing channel irqs

13 years agospu: simplify irq and flag handling
notaz [Wed, 27 Jul 2011 17:06:46 +0000 (20:06 +0300)]
spu: simplify irq and flag handling

shalma's recent work taken into account when working on this.
NOT verified on read hardware.

13 years agospu: some refactoring for upcoming optimization attempt
notaz [Tue, 26 Jul 2011 22:33:49 +0000 (01:33 +0300)]
spu: some refactoring for upcoming optimization attempt

13 years agospu: remove adsr stop prevention hack
notaz [Tue, 26 Jul 2011 22:31:21 +0000 (01:31 +0300)]
spu: remove adsr stop prevention hack

it's is not enough for Tron Bonne, so is not useful

13 years agosio: only do IRQ if it's bit has been cleared
notaz [Tue, 26 Jul 2011 16:45:03 +0000 (19:45 +0300)]
sio: only do IRQ if it's bit has been cleared

tested on the real thing.

13 years agoupdate AUTHORS
notaz [Tue, 12 Jul 2011 23:04:19 +0000 (02:04 +0300)]
update AUTHORS

just not to forget this later

13 years agocdrom: partially implement attenuation
notaz [Tue, 12 Jul 2011 22:34:01 +0000 (01:34 +0300)]
cdrom: partially implement attenuation

based on pcsrx code.

13 years agomisc: invaliadte dynarec on HLE file loads
notaz [Tue, 12 Jul 2011 15:45:02 +0000 (18:45 +0300)]
misc: invaliadte dynarec on HLE file loads

also add some missing sanity checks.

13 years agodrc: fix SP mirror hack
notaz [Tue, 12 Jul 2011 15:23:19 +0000 (18:23 +0300)]
drc: fix SP mirror hack

stop it from reading uninitialized LR in some cases..

13 years agodrc: redo fastboot hack
notaz [Mon, 11 Jul 2011 22:29:22 +0000 (01:29 +0300)]
drc: redo fastboot hack

relying on PC to check if we already exited was a bad idea,
as cc_interrupt stuff updates the PC already.

13 years agofrontend: sync with pico code
notaz [Wed, 6 Jul 2011 18:40:06 +0000 (21:40 +0300)]
frontend: sync with pico code

13 years agosio: emulate "card not inserted" state
notaz [Wed, 6 Jul 2011 17:55:33 +0000 (20:55 +0300)]
sio: emulate "card not inserted" state

an idea from shalma.
"no card" and response byte 1 behavior tested on real hardware.

13 years agosio: no DTR resets device
notaz [Wed, 6 Jul 2011 17:16:51 +0000 (20:16 +0300)]
sio: no DTR resets device

tested on the real thing

13 years agofrontend: add memcard change and exe run support
notaz [Wed, 6 Jul 2011 16:08:59 +0000 (19:08 +0300)]
frontend: add memcard change and exe run support

13 years agocdriso: handle eboot and it's TOC, some refactoring
notaz [Sun, 3 Jul 2011 19:01:51 +0000 (22:01 +0300)]
cdriso: handle eboot and it's TOC, some refactoring

This gives cdda support for eboot

13 years agopsxcounters: merge shalma's suggestion
notaz [Tue, 5 Jul 2011 15:45:30 +0000 (18:45 +0300)]
psxcounters: merge shalma's suggestion

http://www.gp32x.com/board/index.php?/topic/57973-pcsx-rearmed/page__view__findpost__p__952577

13 years agocdrom: merge shalma's suggestions
notaz [Thu, 30 Jun 2011 23:33:20 +0000 (02:33 +0300)]
cdrom: merge shalma's suggestions

http://www.gp32x.com/board/index.php?/topic/57973-pcsx-rearmed/page__view__findpost__p__952591

13 years agodfsound: merge shalma's suggestions
notaz [Thu, 30 Jun 2011 23:15:08 +0000 (02:15 +0300)]
dfsound: merge shalma's suggestions

http://www.gp32x.com/board/index.php?/topic/57973-pcsx-rearmed/page__view__findpost__p__952591

13 years agogte_neon: fix MAC0 shift
notaz [Thu, 30 Jun 2011 22:26:35 +0000 (01:26 +0300)]
gte_neon: fix MAC0 shift

13 years agogte: fix MAC0 shift (pcsxr issue #8874, shalma)
notaz [Wed, 29 Jun 2011 23:03:25 +0000 (02:03 +0300)]
gte: fix MAC0 shift (pcsxr issue #8874, shalma)

fixes missing elements in Soul Reaver and Spyro.

13 years agodma: more accurate ICR register handling
notaz [Wed, 29 Jun 2011 16:55:38 +0000 (19:55 +0300)]
dma: more accurate ICR register handling

based on tests on ther real thing.

13 years agodma: don't generate irqs after aborted DMA
notaz [Wed, 29 Jun 2011 11:35:10 +0000 (14:35 +0300)]
dma: don't generate irqs after aborted DMA

An idea from Shalma.
Verified on real thing with DMA2.

13 years agodrc: ifdef out one more 64bit instruction
notaz [Mon, 27 Jun 2011 21:38:21 +0000 (00:38 +0300)]
drc: ifdef out one more 64bit instruction

this is relevant when compiling trash.

13 years agocdrom: make read reschedule optional
notaz [Mon, 27 Jun 2011 15:51:27 +0000 (18:51 +0300)]
cdrom: make read reschedule optional

Some really nasty timing issues, I guess can only be resolved for good
when general timing is good and BIAS is gone.

13 years agodfxvideo: clear lcf when interlace is off
notaz [Mon, 27 Jun 2011 15:31:01 +0000 (18:31 +0300)]
dfxvideo: clear lcf when interlace is off

13 years agocdrom: replace resched hack with another one
notaz [Sun, 26 Jun 2011 19:56:05 +0000 (22:56 +0300)]
cdrom: replace resched hack with another one

almost certainly wrong but hopefully better.

13 years agopandora: minor update to pxml
notaz [Sun, 26 Jun 2011 14:20:13 +0000 (17:20 +0300)]
pandora: minor update to pxml

13 years agodrc: handle division by 0 correctly
notaz [Sun, 26 Jun 2011 00:23:15 +0000 (03:23 +0300)]
drc: handle division by 0 correctly