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
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.
notaz [Tue, 8 Mar 2011 14:09:02 +0000 (16:09 +0200)]
pcsxmem: fix ro write handler
also refactor things a bit (as usual)
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.
notaz [Mon, 7 Mar 2011 17:56:42 +0000 (19:56 +0200)]
spu: 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.
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.
notaz [Mon, 7 Mar 2011 17:51:58 +0000 (19:51 +0200)]
frontend: fix valgrind errors
also fixes pc build
notaz [Tue, 1 Mar 2011 23:20:55 +0000 (01:20 +0200)]
release r7
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.
notaz [Tue, 1 Mar 2011 21:24:30 +0000 (23:24 +0200)]
dfxvideo: use bit31 handling from pcsxr-svn
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).
notaz [Tue, 1 Mar 2011 15:20:01 +0000 (17:20 +0200)]
frontend: add BIOS warning
this will hopefully reduce forum load
notaz [Tue, 1 Mar 2011 15:13:03 +0000 (17:13 +0200)]
frontend: move skin and darken the background
notaz [Tue, 1 Mar 2011 00:19:58 +0000 (02:19 +0200)]
dfxvideo: avoid division like plague
notaz [Mon, 28 Feb 2011 23:02:16 +0000 (01:02 +0200)]
frontend: commit some debug 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.
notaz [Mon, 28 Feb 2011 00:13:23 +0000 (02:13 +0200)]
spu: refactor adsr (simplify code)
notaz [Sun, 27 Feb 2011 22:19:48 +0000 (00:19 +0200)]
spu: compact chan structure a bit
notaz [Sat, 26 Feb 2011 21:56:06 +0000 (23:56 +0200)]
gte_neon: hook into recompiler
notaz [Sat, 26 Feb 2011 21:15:43 +0000 (23:15 +0200)]
gte_neon: implement MVMVA, some fixes
notaz [Fri, 25 Feb 2011 18:02:34 +0000 (20:02 +0200)]
gte_neon: trying to improve code
notaz [Fri, 25 Feb 2011 14:07:36 +0000 (16:07 +0200)]
gte_neon: implement RTPS and NCLIP
notaz [Tue, 22 Feb 2011 12:04:47 +0000 (14:04 +0200)]
gte: starting some NEON code
notaz [Tue, 22 Feb 2011 12:26:14 +0000 (14:26 +0200)]
frontend: make sure color format is set
notaz [Thu, 17 Feb 2011 16:20:47 +0000 (18:20 +0200)]
drc: some PCSX-specific const addr io handlers
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
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.
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
notaz [Wed, 16 Feb 2011 22:08:48 +0000 (00:08 +0200)]
drc: merge Ari64's patch: 11_reduce_invstub_memory_usage
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.
notaz [Wed, 16 Feb 2011 21:27:49 +0000 (23:27 +0200)]
drc: merge Ari64's patch: 08_loop_hoisting
notaz [Wed, 16 Feb 2011 19:31:19 +0000 (21:31 +0200)]
drc: merge Ari64's patch: 07_clear_cache
notaz [Wed, 16 Feb 2011 18:27:50 +0000 (20:27 +0200)]
drc: merge Ari64's patch: 05_dont_write_r0
also get rid of unneeded moves in load_assemble
notaz [Tue, 15 Feb 2011 15:46:54 +0000 (17:46 +0200)]
drc: merge Ari64's patch: 02_xor_zero
notaz [Tue, 15 Feb 2011 23:52:32 +0000 (01:52 +0200)]
drc: get rid of pass 7/provisional_r32 too
notaz [Tue, 15 Feb 2011 15:37:53 +0000 (17:37 +0200)]
drc: fix p32 32K memset stupidity, don't use p32 instead
notaz [Wed, 16 Feb 2011 19:29:41 +0000 (21:29 +0200)]
frontend: minor adjustments
notaz [Tue, 15 Feb 2011 12:14:00 +0000 (14:14 +0200)]
add redump.org SBI support
This is based on PCSX-Reloaded (as usual) but done a bit different,
loaded as .sub file instead of as ppf patch.
notaz [Tue, 15 Feb 2011 12:08:06 +0000 (14:08 +0200)]
cdrom: move pause delay after ACK
This solves FF7 slowdowns and keeps games that need this delay working.
notaz [Mon, 14 Feb 2011 15:31:32 +0000 (17:31 +0200)]
dfxvideo: fill sanity check to prevent crashes
notaz [Fri, 11 Feb 2011 15:42:55 +0000 (17:42 +0200)]
drc: rm x86 stuff - it's unmaintained here
Use Ari64's releases if you need x86 stuff.
notaz [Thu, 10 Feb 2011 22:37:25 +0000 (00:37 +0200)]
dfinput: fix CONFIG_MODE behavior
return config data when in config mode only (like LilyPad does)
notaz [Thu, 10 Feb 2011 22:31:33 +0000 (00:31 +0200)]
main.c: load savestate after prepare
notaz [Thu, 10 Feb 2011 22:02:11 +0000 (00:02 +0200)]
use analog handling from dfinput
notaz [Thu, 10 Feb 2011 21:31:59 +0000 (23:31 +0200)]
frontend: tune frameskip a bit more
also init analog vars as centered (in case they are never updated)
notaz [Thu, 10 Feb 2011 00:31:08 +0000 (02:31 +0200)]
release r6
notaz [Wed, 9 Feb 2011 23:16:49 +0000 (01:16 +0200)]
dfxvideo: fix frameskip issue
if display is never moved/resized, it's never updated in
frameskip mode. Detect this.
notaz [Tue, 8 Feb 2011 16:21:17 +0000 (18:21 +0200)]
add cd swap functionality
notaz [Mon, 7 Feb 2011 23:32:53 +0000 (01:32 +0200)]
frontend: enable SPUIRQWait by default
notaz [Mon, 7 Feb 2011 23:27:36 +0000 (01:27 +0200)]
spu: handle channels better in 'IRQ wait' case
notaz [Mon, 7 Feb 2011 23:21:46 +0000 (01:21 +0200)]
frontend: support ingame actions (state load and such)
notaz [Sun, 6 Feb 2011 22:49:40 +0000 (00:49 +0200)]
frontend: key config: save it and make more intuitive
notaz [Sun, 6 Feb 2011 00:22:05 +0000 (02:22 +0200)]
maemo: update for recent changes, fix warnings
notaz [Sat, 5 Feb 2011 23:27:48 +0000 (01:27 +0200)]
frontend: support analog controller using nubs; some refactoring
also enable frameskip by default, it makes the experience a bit
better on most games.
notaz [Sat, 5 Feb 2011 00:31:47 +0000 (02:31 +0200)]
frontend: redo frame skip/limiter yet again
notaz [Fri, 4 Feb 2011 23:31:47 +0000 (01:31 +0200)]
drc: update memhandler according to pcsxr code
notaz [Fri, 4 Feb 2011 22:27:07 +0000 (00:27 +0200)]
drc: sync gte with interpreter
notaz [Sat, 5 Feb 2011 00:36:44 +0000 (02:36 +0200)]
cdrom: remove cdrWrite3 reschedule
shalma keeps adding and removing it, I think it does more harm then good
notaz [Tue, 8 Feb 2011 15:11:42 +0000 (17:11 +0200)]
cdrom: backport fixes from pcsxr
shalma:
- bios - no cd - fix hangs (diskerror)
- fix cdlplay resume
notaz [Fri, 4 Feb 2011 23:35:13 +0000 (01:35 +0200)]
misc: backport pal detection from pcsxr
notaz [Fri, 4 Feb 2011 23:14:40 +0000 (01:14 +0200)]
psxmem: backport fixes from pcsxr
shalma:
Duke Nukem - Land of Babes - psxmem.c
- Clear correct dynarec area
- Fixes Paradox intro crash
Dukes of Hazard 2 - psxhw.c
- 32-bit spu write
- fix engine noise
notaz [Fri, 4 Feb 2011 23:10:26 +0000 (01:10 +0200)]
interpreter: backport fixes from pcsxr
shalma:
- (nhyone) fix load delay bgez, bgezal
Xenogears - psxinterpreter.c
- lbu v1 - beq v1 = no load delay
- fix battle loading (interpreter only)
notaz [Wed, 9 Feb 2011 12:34:15 +0000 (14:34 +0200)]
dfsound: backport fixes from pcsxr
shalma:
- Align start addresses to 16-bytes
- (Hopkat) registers.c - External loop address align to 16 bytes
- SoundOff prevents new channel from starting
- fixes Jungle Book (buzzing loop hangs)
notaz [Fri, 4 Feb 2011 22:09:39 +0000 (00:09 +0200)]
gte: backport fixes from pcsxr
shalma:
Lego Racers - gte.c
- fix mfc2 r30 (and r29)
- fixes main menu loading
Motor Toon Grand Prix 2 - gte.c
- repair mtc2 - r7,r29
- fixes disappearing objects
Valkyrie Profile - gte.c
- use edgbla value of limH $1000
- fixes world map loading
- seems to work, unverified value
Tales of Destiny 2 - gte.c
- repair SQR - IR output
- fixes underwater lighting
notaz [Fri, 4 Feb 2011 13:51:42 +0000 (15:51 +0200)]
dma: change timing back to 1.92 levels
fixes X-Files, we'll see what it breaks
notaz [Fri, 4 Feb 2011 13:10:07 +0000 (15:10 +0200)]
drc: handle dummy reads in inline_readstub
notaz [Thu, 3 Feb 2011 23:23:18 +0000 (01:23 +0200)]
dfxvideo: fix word access macros
notaz [Thu, 3 Feb 2011 23:05:11 +0000 (01:05 +0200)]
menu: don't override region, fix P.E.Op.S. frameskip
notaz [Thu, 3 Feb 2011 21:56:14 +0000 (23:56 +0200)]
spu: fix xa masking, was causing noise
notaz [Fri, 4 Feb 2011 13:00:03 +0000 (15:00 +0200)]
gpu_unai: support bgr888->rgb565 conversion for maemo
notaz [Thu, 3 Feb 2011 21:37:20 +0000 (23:37 +0200)]
dfxvideo: add bgr888->rgb565 converter for maemo port
notaz [Thu, 3 Feb 2011 14:02:36 +0000 (16:02 +0200)]
maemo: clean up and integrate
Bonapart [Fri, 28 Jan 2011 17:04:12 +0000 (20:04 +0300)]
Maemo frontend
notaz [Sun, 30 Jan 2011 23:59:54 +0000 (01:59 +0200)]
release r5
notaz [Sun, 30 Jan 2011 23:19:54 +0000 (01:19 +0200)]
cdrcimg: support .bz/.znx/eboot formats
not making use of extra .znx data or eboot TOCs yet.
notaz [Sat, 29 Jan 2011 17:47:46 +0000 (19:47 +0200)]
spu: don't stop a channel by adsr if we have potential irq
otherwise we might miss irqs
notaz [Sat, 29 Jan 2011 17:45:37 +0000 (19:45 +0200)]
spu: cleanup build a bit
notaz [Fri, 28 Jan 2011 16:37:47 +0000 (18:37 +0200)]
drc: fall back to interpreter on delay slot link reg dependencies
perhaps until someone implements this in recompiler
used by Tomb Raider 2 at least
notaz [Fri, 28 Jan 2011 15:30:01 +0000 (17:30 +0200)]
cdrom: support cdda playback cursor and autopause/report
some differences from PCSX-Reloaded version
notaz [Wed, 26 Jan 2011 22:35:04 +0000 (00:35 +0200)]
frontend: remove bad configs
notaz [Wed, 26 Jan 2011 22:18:03 +0000 (00:18 +0200)]
gpu_unai: fix P.E.Op.S. save compatibility for good
notaz [Wed, 26 Jan 2011 16:31:27 +0000 (18:31 +0200)]
drc: invalidate RAM mirrors correctly
notaz [Wed, 26 Jan 2011 13:18:17 +0000 (15:18 +0200)]
drc: handle $ra accesses in DS (BxxZAL case only)
also restore asserts for rjump and ujump cases.
notaz [Tue, 25 Jan 2011 23:18:53 +0000 (01:18 +0200)]
cdriso: adjust getTD and getStatus to pcsxr-svn
notaz [Tue, 25 Jan 2011 21:00:55 +0000 (23:00 +0200)]
cdrom: add CdlGetlocP hack
not sure why it's needed, new code caused problems here
but not in pcsxr-svn.
notaz [Tue, 25 Jan 2011 14:51:27 +0000 (16:51 +0200)]
cdrom: merge most of cdrom.c from latest pcsxr (r62214)
most changes pulled are shalma's work
notaz [Mon, 24 Jan 2011 22:58:13 +0000 (00:58 +0200)]
drc: allow CFC1/2 to r0
notaz [Mon, 24 Jan 2011 22:54:51 +0000 (00:54 +0200)]
drc: make BxxZAL implementation complete
notaz [Mon, 24 Jan 2011 17:47:46 +0000 (19:47 +0200)]
drc: try harder to not compile code as 64bit
..when compiling trash
notaz [Mon, 24 Jan 2011 17:26:38 +0000 (19:26 +0200)]
drc: fix COP2 decoding
notaz [Sun, 23 Jan 2011 22:37:03 +0000 (00:37 +0200)]
spu: don't read config, we manage it in frontend
notaz [Sun, 23 Jan 2011 22:34:28 +0000 (00:34 +0200)]
drc: don't leave until we really need to
notaz [Sun, 23 Jan 2011 19:33:35 +0000 (21:33 +0200)]
drc: add support for interpreter calls; use them for branches in delay slots
notaz [Sun, 23 Jan 2011 19:30:52 +0000 (21:30 +0200)]
interpreter: add handling for a branch in delay slot
notaz [Sun, 23 Jan 2011 19:29:29 +0000 (21:29 +0200)]
fix some alignment issues
notaz [Wed, 19 Jan 2011 23:29:38 +0000 (01:29 +0200)]
add watchdog thread to detect lockups
notaz [Wed, 19 Jan 2011 15:26:57 +0000 (17:26 +0200)]
drc: use correct clear size
notaz [Tue, 18 Jan 2011 16:04:58 +0000 (18:04 +0200)]
some frontend adjustments
notaz [Mon, 17 Jan 2011 22:35:36 +0000 (00:35 +0200)]
drc: remove leftover printf