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

13 years agopsxinterpreter: fix division by zero
notaz [Sat, 25 Jun 2011 17:09:44 +0000 (20:09 +0300)]
psxinterpreter: fix division by zero

Based on info from Ryphecha.

13 years agogpus: return DMA word count to avoid 1 list walk
notaz [Fri, 24 Jun 2011 22:49:35 +0000 (01:49 +0300)]
gpus: return DMA word count to avoid 1 list walk

13 years agoppf.c: backport fix from pcsxr
notaz [Wed, 22 Jun 2011 16:35:29 +0000 (19:35 +0300)]
ppf.c: backport fix from pcsxr

weimingzhi:
-(Infy11)ppf.c: Fixed stuck at start of games with empty CD-ROM ID
(Issue #8266).

13 years agodrc: merge Ari64's patch: 21_debugging_stuff
notaz [Wed, 22 Jun 2011 16:03:50 +0000 (19:03 +0300)]
drc: merge Ari64's patch: 21_debugging_stuff

13 years agodrc: merge Ari64's patch: 20_delay_slot_64bit_register_fix
notaz [Wed, 22 Jun 2011 16:02:33 +0000 (19:02 +0300)]
drc: merge Ari64's patch: 20_delay_slot_64bit_register_fix

13 years agodrc: merge Ari64's patch: 19_arm_typos
notaz [Wed, 22 Jun 2011 15:54:26 +0000 (18:54 +0300)]
drc: merge Ari64's patch: 19_arm_typos

13 years agodrc: merge Ari64's patch: 18_loop_preload_fix
notaz [Wed, 22 Jun 2011 15:52:24 +0000 (18:52 +0300)]
drc: merge Ari64's patch: 18_loop_preload_fix

13 years agodrc: merge part of old Ari64's patch: 09_tlb_offset
notaz [Wed, 22 Jun 2011 15:47:10 +0000 (18:47 +0300)]
drc: merge part of old Ari64's patch: 09_tlb_offset

This one is from previous batch, applying so that the
next patch applies.

13 years agodrc: merge Ari64's patch: 17_branch_target_liveness_analysis
notaz [Wed, 22 Jun 2011 14:46:24 +0000 (17:46 +0300)]
drc: merge Ari64's patch: 17_branch_target_liveness_analysis

13 years agodrc: merge Ari64's patch: 16_continue_after_branch_into_delay_slot
notaz [Wed, 22 Jun 2011 14:17:42 +0000 (17:17 +0300)]
drc: merge Ari64's patch: 16_continue_after_branch_into_delay_slot

13 years agodrc: merge Ari64's patch: 15_dirty_registers_fix
notaz [Wed, 22 Jun 2011 13:26:38 +0000 (16:26 +0300)]
drc: merge Ari64's patch: 15_dirty_registers_fix

13 years agodrc: merge Ari64's patch: 14_dont_save_or_restore_temporary
notaz [Wed, 22 Jun 2011 13:23:34 +0000 (16:23 +0300)]
drc: merge Ari64's patch: 14_dont_save_or_restore_temporary

13 years agodrc: merge Ari64's patch: 13_dummy_loads
notaz [Wed, 22 Jun 2011 13:12:06 +0000 (16:12 +0300)]
drc: merge Ari64's patch: 13_dummy_loads

13 years agodrc: merge Ari64's patch: 12_cycle_count
notaz [Wed, 22 Jun 2011 13:08:46 +0000 (16:08 +0300)]
drc: merge Ari64's patch: 12_cycle_count

13 years agodrc: merge Ari64's patch: 11_dealloc_reg_clear_const_flag
notaz [Wed, 22 Jun 2011 13:07:01 +0000 (16:07 +0300)]
drc: merge Ari64's patch: 11_dealloc_reg_clear_const_flag

13 years agodrc: merge Ari64's patch: 04_constant_address_pagefaults
notaz [Wed, 22 Jun 2011 13:02:04 +0000 (16:02 +0300)]
drc: merge Ari64's patch: 04_constant_address_pagefaults

causes problems in PCSX, so ifdefed out but left there to reduce drift
from Ari64's version.

13 years agodrc: merge Ari64's patch: 03_needed_again
notaz [Wed, 22 Jun 2011 12:55:08 +0000 (15:55 +0300)]
drc: merge Ari64's patch: 03_needed_again

13 years agodrc: merge Ari64's patch: 01_year_2011
notaz [Wed, 22 Jun 2011 12:49:37 +0000 (15:49 +0300)]
drc: merge Ari64's patch: 01_year_2011

13 years agocdrom: remove play pregap hack
notaz [Wed, 22 Jun 2011 12:42:20 +0000 (15:42 +0300)]
cdrom: remove play pregap hack

cdriso code handles this now

13 years agocdriso: handle pregap read/play
notaz [Wed, 22 Jun 2011 12:20:36 +0000 (15:20 +0300)]
cdriso: handle pregap read/play

13 years agocdriso: handle TOC and track timing better
notaz [Tue, 21 Jun 2011 21:17:19 +0000 (00:17 +0300)]
cdriso: handle TOC and track timing better

13 years agofrontend: update file browser filters
notaz [Tue, 21 Jun 2011 21:09:37 +0000 (00:09 +0300)]
frontend: update file browser filters

13 years agofrontend: handle 24bpp in sstate preview
notaz [Sat, 18 Jun 2011 23:21:10 +0000 (02:21 +0300)]
frontend: handle 24bpp in sstate preview

13 years agodfxvideo: decouple from main emu
notaz [Fri, 17 Jun 2011 22:23:27 +0000 (01:23 +0300)]
dfxvideo: decouple from main emu

13 years agoarm_utils: relax alignment requirements
notaz [Thu, 16 Jun 2011 15:43:51 +0000 (18:43 +0300)]
arm_utils: relax alignment requirements

the code needing alignment isn't reached often anyway.

13 years agodrc: re-add bt part that was removed with pass7
notaz [Tue, 14 Jun 2011 16:21:55 +0000 (19:21 +0300)]
drc: re-add bt part that was removed with pass7

..as noticed by Ari64.

13 years agodfinput: return 0xff when the packet ends, like the real thing does
notaz [Tue, 14 Jun 2011 15:55:39 +0000 (18:55 +0300)]
dfinput: return 0xff when the packet ends, like the real thing does

13 years agoenable Wall warnings by default
notaz [Tue, 7 Jun 2011 09:40:49 +0000 (12:40 +0300)]
enable Wall warnings by default

still disable it in some cases (instead of fixing) to avoid
drifting from upstream projects too much.

13 years agopsxbios: fix some -Wall warnings
notaz [Tue, 7 Jun 2011 09:29:58 +0000 (12:29 +0300)]
psxbios: fix some -Wall warnings

13 years agodrc: comment out some broken code
notaz [Tue, 7 Jun 2011 09:38:11 +0000 (12:38 +0300)]
drc: comment out some broken code

13 years agodrc: init vars that gcc thinks can be used uninitialized, just in case
notaz [Tue, 7 Jun 2011 09:36:41 +0000 (12:36 +0300)]
drc: init vars that gcc thinks can be used uninitialized, just in case

13 years agodrc: fix warning in my code
notaz [Tue, 7 Jun 2011 09:34:50 +0000 (12:34 +0300)]
drc: fix warning in my code

13 years agopandora: keep package name between versions
notaz [Mon, 6 Jun 2011 16:48:43 +0000 (19:48 +0300)]
pandora: keep package name between versions

13 years agor3000a: don't patch RAM to work around BIOS
notaz [Mon, 6 Jun 2011 16:43:26 +0000 (19:43 +0300)]
r3000a: don't patch RAM to work around BIOS

BIOS steps over if GTE instructions are interrupted,
we must work around that since we don't emulate the pipeline.

Previous workaround sucks since it hacks emulated RAM..

13 years agocdrom: do a NULL check, some plugins may return that
notaz [Mon, 6 Jun 2011 15:48:41 +0000 (18:48 +0300)]
cdrom: do a NULL check, some plugins may return that

13 years agofrontend: support some emu actions in x11 build
notaz [Mon, 6 Jun 2011 15:46:34 +0000 (18:46 +0300)]
frontend: support some emu actions in x11 build

13 years agofrontend: allow loading states from specified file
notaz [Tue, 5 Apr 2011 20:15:10 +0000 (23:15 +0300)]
frontend: allow loading states from specified file

13 years agoplugins: expand GPUvBlank to pass hcounter pointer
notaz [Mon, 4 Apr 2011 22:13:25 +0000 (01:13 +0300)]
plugins: expand GPUvBlank to pass hcounter pointer

13 years agofrontend: make -psxout cmd arg override config
notaz [Mon, 4 Apr 2011 22:10:01 +0000 (01:10 +0300)]
frontend: make -psxout cmd arg override config

13 years agodfxvideo: allow frameskip in interlace mode too
notaz [Sat, 26 Mar 2011 21:59:09 +0000 (23:59 +0200)]
dfxvideo: allow frameskip in interlace mode too

13 years agor3000a: reset cpu after setting up registers
notaz [Tue, 22 Mar 2011 16:48:48 +0000 (18:48 +0200)]
r3000a: reset cpu after setting up registers

drc depends on some of them

13 years agodrc: start in more consistent state
notaz [Tue, 22 Mar 2011 16:45:15 +0000 (18:45 +0200)]
drc: start in more consistent state

useful when comparing things

13 years agorelease r8 r8
notaz [Mon, 21 Mar 2011 23:04:51 +0000 (01:04 +0200)]
release r8

13 years agodfxvideo: rm some more ZN leftovers
notaz [Mon, 21 Mar 2011 22:33:49 +0000 (00:33 +0200)]
dfxvideo: rm some more ZN leftovers

13 years agotry to align timing with LCD refresh
notaz [Mon, 21 Mar 2011 20:52:38 +0000 (22:52 +0200)]
try to align timing with LCD refresh

13 years agofrontend: nub-as-btn option + gamepad fix
notaz [Mon, 21 Mar 2011 01:15:38 +0000 (03:15 +0200)]
frontend: nub-as-btn option + gamepad fix

13 years agofrontend: input: add hack to allow abs-only devices
notaz [Mon, 21 Mar 2011 00:49:58 +0000 (02:49 +0200)]
frontend: input: add hack to allow abs-only devices

this is for pandora nubs mainly.

13 years agofrontend: input: detect dead devices, always set keynames
notaz [Mon, 21 Mar 2011 00:40:21 +0000 (02:40 +0200)]
frontend: input: detect dead devices, always set keynames

13 years agofrontend: input: kill "merge with defaults" behavior
notaz [Sun, 20 Mar 2011 22:53:19 +0000 (00:53 +0200)]
frontend: input: kill "merge with defaults" behavior

this is hard to maintain and reportedly buggy

13 years agodrc: try even more to not compile code as 64bit
notaz [Sat, 19 Mar 2011 19:57:24 +0000 (21:57 +0200)]
drc: try even more to not compile code as 64bit

..when compiling trash

13 years agofrontend: warn about frameskip problems
notaz [Thu, 17 Mar 2011 21:49:20 +0000 (23:49 +0200)]
frontend: warn about frameskip problems

13 years agodrc: ujump DS $ra overwrite fix?
notaz [Thu, 17 Mar 2011 21:47:26 +0000 (23:47 +0200)]
drc: ujump DS $ra overwrite fix?

13 years agominor debug code updates
notaz [Wed, 16 Mar 2011 23:11:43 +0000 (01:11 +0200)]
minor debug code updates

13 years agodrc: hack for stack-in-RAM-mirror case
notaz [Tue, 15 Mar 2011 00:28:24 +0000 (02:28 +0200)]
drc: hack for stack-in-RAM-mirror case

13 years agodrc: implement ra accesses in ujump DS
notaz [Mon, 14 Mar 2011 23:21:26 +0000 (01:21 +0200)]
drc: implement ra accesses in ujump DS

13 years agofrontend: bios warning bugfix
notaz [Mon, 14 Mar 2011 13:30:40 +0000 (15:30 +0200)]
frontend: bios warning bugfix

13 years agocdrom: merge a fix from PCSX-Reloaded
notaz [Mon, 14 Mar 2011 13:29:22 +0000 (15:29 +0200)]
cdrom: merge a fix from PCSX-Reloaded

13 years agocdrom: restore cdrWrite3 reschedule
notaz [Sun, 13 Mar 2011 23:39:50 +0000 (01:39 +0200)]
cdrom: restore cdrWrite3 reschedule

but only when command is being processed

13 years agofrontend: add screenshot functionality
notaz [Sat, 12 Mar 2011 20:09:04 +0000 (22:09 +0200)]
frontend: add screenshot functionality

13 years agoadd a simple tool to make pocketiso .z images
notaz [Sat, 12 Mar 2011 17:50:42 +0000 (19:50 +0200)]
add a simple tool to make pocketiso .z images

13 years agodfxvideo: make fskip update on vsync too
notaz [Sat, 12 Mar 2011 00:50:00 +0000 (02:50 +0200)]
dfxvideo: make fskip update on vsync too

13 years agofrontend: debug menu adjustment
notaz [Wed, 9 Mar 2011 22:49:38 +0000 (00:49 +0200)]
frontend: debug menu adjustment

13 years agopsxinterpreter: do interrupt test after doing target instruction
SND\notaz_cp [Wed, 9 Mar 2011 22:30:50 +0000 (22:30 +0000)]
psxinterpreter: do interrupt test after doing target instruction

otherwise in case interrupt happens, target insn is executed twice,
causing occasional glitches in Tekken 2.
Also clear branch flag for it - it's not in delay slot.

git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@64369 e17a0e51-4ae3-4d35-97c3-1a29b211df97

13 years agodrc: handle some load delay cases with interpreter
notaz [Wed, 9 Mar 2011 22:38:42 +0000 (00:38 +0200)]
drc: handle some load delay cases with interpreter

place the code together with other PCSX hacks.

13 years agopcsxmem: fix ro write handler
notaz [Tue, 8 Mar 2011 14:09:02 +0000 (16:09 +0200)]
pcsxmem: fix ro write handler

also refactor things a bit (as usual)

13 years agodrc: update invalid_code for RAM when mirrors are touched
notaz [Tue, 8 Mar 2011 13:41:55 +0000 (15:41 +0200)]
drc: update invalid_code for RAM when mirrors are touched

the memhandlers always check RAM locations, even when something
writes to the mirrors.

13 years agospu: fix valgrind errors
notaz [Mon, 7 Mar 2011 17:56:42 +0000 (19:56 +0200)]
spu: fix valgrind errors

13 years agodrc: fix valgrind errors
notaz [Mon, 7 Mar 2011 17:54:14 +0000 (19:54 +0200)]
drc: fix valgrind errors

also makes using_tlb constant so that the compiler can remove leftover
TLB code.

13 years agodrc: rm unneeded writebacks in stubs, as suggested by Ari64
notaz [Mon, 7 Mar 2011 14:38:15 +0000 (16:38 +0200)]
drc: rm unneeded writebacks in stubs, as suggested by Ari64

also fix leftover moves, missed by last cleanup commit.

13 years agofrontend: fix valgrind errors
notaz [Mon, 7 Mar 2011 17:51:58 +0000 (19:51 +0200)]
frontend: fix valgrind errors

also fixes pc build

13 years agorelease r7 r7
notaz [Tue, 1 Mar 2011 23:20:55 +0000 (01:20 +0200)]
release r7

13 years agodfxvideo: turn off strict-aliasing (causes problems)
notaz [Tue, 1 Mar 2011 23:19:29 +0000 (01:19 +0200)]
dfxvideo: turn off strict-aliasing (causes problems)

all that int16/int32 casting is messing it up I guess.

13 years agodfxvideo: use bit31 handling from pcsxr-svn
notaz [Tue, 1 Mar 2011 21:24:30 +0000 (23:24 +0200)]
dfxvideo: use bit31 handling from pcsxr-svn

13 years agodrc: clear dynarec completely on CD image change
notaz [Tue, 1 Mar 2011 17:07:27 +0000 (19:07 +0200)]
drc: clear dynarec completely on CD image change

most likely only BIOS can be reused anyway, no need to stress
invalidation code needlessly (even if it does it all well).

13 years agofrontend: add BIOS warning
notaz [Tue, 1 Mar 2011 15:20:01 +0000 (17:20 +0200)]
frontend: add BIOS warning

this will hopefully reduce forum load

13 years agofrontend: move skin and darken the background
notaz [Tue, 1 Mar 2011 15:13:03 +0000 (17:13 +0200)]
frontend: move skin and darken the background

13 years agodfxvideo: avoid division like plague
notaz [Tue, 1 Mar 2011 00:19:58 +0000 (02:19 +0200)]
dfxvideo: avoid division like plague

13 years agofrontend: commit some debug code
notaz [Mon, 28 Feb 2011 23:02:16 +0000 (01:02 +0200)]
frontend: commit some debug code

13 years agospu: drop unused mono code
notaz [Mon, 28 Feb 2011 22:48:20 +0000 (00:48 +0200)]
spu: drop unused mono code

also merge the mix buffers - the idea was to make use of neon there but
I've decided againt it, it wouldn't improve things much according to
profiling.

13 years agospu: refactor adsr (simplify code)
notaz [Mon, 28 Feb 2011 00:13:23 +0000 (02:13 +0200)]
spu: refactor adsr (simplify code)

13 years agospu: compact chan structure a bit
notaz [Sun, 27 Feb 2011 22:19:48 +0000 (00:19 +0200)]
spu: compact chan structure a bit

13 years agogte_neon: hook into recompiler
notaz [Sat, 26 Feb 2011 21:56:06 +0000 (23:56 +0200)]
gte_neon: hook into recompiler

13 years agogte_neon: implement MVMVA, some fixes
notaz [Sat, 26 Feb 2011 21:15:43 +0000 (23:15 +0200)]
gte_neon: implement MVMVA, some fixes

13 years agogte_neon: trying to improve code
notaz [Fri, 25 Feb 2011 18:02:34 +0000 (20:02 +0200)]
gte_neon: trying to improve code

13 years agogte_neon: implement RTPS and NCLIP
notaz [Fri, 25 Feb 2011 14:07:36 +0000 (16:07 +0200)]
gte_neon: implement RTPS and NCLIP

13 years agogte: starting some NEON code
notaz [Tue, 22 Feb 2011 12:04:47 +0000 (14:04 +0200)]
gte: starting some NEON code

13 years agofrontend: make sure color format is set
notaz [Tue, 22 Feb 2011 12:26:14 +0000 (14:26 +0200)]
frontend: make sure color format is set

13 years agodrc: some PCSX-specific const addr io handlers
notaz [Thu, 17 Feb 2011 16:20:47 +0000 (18:20 +0200)]
drc: some PCSX-specific const addr io handlers

13 years agodrc: add i/o penalty cycles
notaz [Thu, 17 Feb 2011 00:18:15 +0000 (02:18 +0200)]
drc: add i/o penalty cycles

.. as done by some other PSX emus

13 years agodrc: don't pass r3 to memhandlers
notaz [Wed, 16 Feb 2011 23:54:15 +0000 (01:54 +0200)]
drc: don't pass r3 to memhandlers

also don't recalculate cycles after reads - PCSX doesn't queue
any interrupts on reads.

13 years agodrc: merge register types from Ari64's code
notaz [Wed, 16 Feb 2011 21:38:06 +0000 (23:38 +0200)]
drc: merge register types from Ari64's code

but don't merge RAM_OFFSET stuff, I don't want to mess with this yet

13 years agodrc: merge Ari64's patch: 11_reduce_invstub_memory_usage
notaz [Wed, 16 Feb 2011 22:08:48 +0000 (00:08 +0200)]
drc: merge Ari64's patch: 11_reduce_invstub_memory_usage

13 years agodrc: merge Ari64's patch: 10_unnecessary_invalidate
notaz [Wed, 16 Feb 2011 21:52:36 +0000 (23:52 +0200)]
drc: merge Ari64's patch: 10_unnecessary_invalidate

also adjust memhandlers to do inv checks as recompiler no longer does
them for unknown writes.