skidau
303b0f6b6d
Test the audio loop with aligned addresses. Fixes the high pitched squeal in Muramasa.
2012-10-29 14:03:28 +11:00
skidau
882d5161f8
Merge branch 'Capcom-Music-Loop'
...
* Capcom-Music-Loop:
Removed the fake DMA wait time as it is no longer needed after the aram-dma-fixes branch is merged. This fixes the Resident Evil 2/3 cutscene audio in DSP LLE mode. Fixes issue 2723.
Changed the loop end address detection to an exact match with the current address for ADPCM audio. Fixes the non-looping music in PN03.
2012-10-28 13:36:34 +11:00
skidau
421a75493c
Removed the fake DMA wait time as it is no longer needed after the aram-dma-fixes branch is merged. This fixes the Resident Evil 2/3 cutscene audio in DSP LLE mode. Fixes issue 2723.
...
Removed the ADPCM format detection from the previous commit as it broke the audio looping in Knockout Kings 2003.
2012-10-23 00:30:01 +11:00
skidau
b2a01dc348
Changed the loop end address detection to an exact match with the current address for ADPCM audio. Fixes the non-looping music in PN03.
...
Fixes issue 3998.
2012-10-22 22:59:35 +11:00
skidau
28bc5eca37
Added a check for out of bounds memory accesses. Fixes Avatar: The Last Airbender (GC).
2012-08-17 22:14:35 +10:00
skidau
0efd4e5c29
Skipped the ZCompLoc pass if the result can be determined at compile time. Brings back the speed lost by r146b02615c07.
2012-08-06 09:29:01 +10:00
skidau
00df727d2f
Optimised the JitCache struct size from 88 bytes to 80 bytes. Thanks to Lioncash for the patch.
2012-07-23 22:15:34 +10:00
skidau
c57640dfbd
Implemented proper timing in the "No audio output" back-end.
2012-07-01 17:07:58 +10:00
skidau
b4ec836aca
Removed the offset if the ZCompLoc GREATER or LESS function is used. Fixes the invisible player in THPS3.
2012-06-29 18:47:49 +10:00
skidau
1d9ac2f6e1
Removed the check for changed JIT blocks before invalidation. Fixes the slow speed in Zelda: Ocarina of Time Master Quest.
...
Fixes issue 5454.
2012-06-09 18:48:15 +10:00
skidau
d74c50b942
OSX build fix for BPStructs. Thanks to pauldacheez for the fix.
2012-06-02 11:28:43 +10:00
skidau
bb4c9e2205
Fixed "Failed to compile pixel shader" error when Per-Pixel Lighting is enabled. Thanks to slmpika for the fix.
2012-06-02 11:25:44 +10:00
skidau
b0d271db3c
Changed MOVDDUP to use MOVSD on non-SSE3 CPU's.
...
Added DMA wait time under DSP HLE mode.
Fixes Knockout Kings 2003.
2012-06-02 10:06:47 +10:00
skidau
99b7c91df5
Checked if dcbst instructions are preceded by dcbt. If it is, the game is prefetching memory into the data cache, and not loading new code. In these cases, the JIT cache will no longer be flushed. Fixes the frequent "Clearing code cache" issue in games like "The Last Story".
2012-05-31 22:09:33 +10:00
skidau
b79d8d9e10
Fixed the Cheat Search. Patch by nagosaki.
2012-05-26 15:45:58 +10:00
skidau
146b02615c
Merge rodolfoosvaldobogado's zcomploc code (Graphic_Fixes branch)
2012-05-26 13:47:07 +10:00
skidau
a54e72640f
Merge branch 'misc-speedups'
...
* misc-speedups:
fixed and reenabled and slightly optimized the JIT version of fcmpo/fcmpu.
slightly more precise speed percent display (this is really minor)
a small thread synchronization speedup for dual core mode. it's most noticeable in games where the CPU is running behind compared to the GPU.
Conflicts:
Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp
The Fifo.cpp changes from rdaefb3b550e2 was not merged as there was no performance benefit.
2012-05-26 12:35:08 +10:00
skidau
5a8ad92302
Changed a JMP that needed to be a far JMP in JITIL.
2012-05-15 09:32:21 +10:00
skidau
b27f471488
Invalidated the JIT cache when the dcbst instruction is used.
2012-05-13 21:07:03 +10:00
skidau
48bf5c739d
Changed the block linker to work on physical addresses. Checked whether the code has changed before invalidating it. Fixes the cut-scenes in Tales of Graces.
...
Fixes issue 2933.
2012-05-12 21:43:39 +10:00
skidau
ec0ddb476e
Fixed texture encoding in DX11. Thanks to wordmanwords for the patch.
2012-05-06 10:51:38 +10:00
skidau
1587cb3738
Fixed texture encoding. Fixes the interaction with objects in Another Code R. Thanks to wordmanwords for the patch.
...
Fixes issue 5405.
2012-05-05 11:21:05 +10:00
skidau
0e812cb187
JIT32 fix.
...
Added wbfs to the File Open list.
2012-05-04 07:00:30 +10:00
skidau
7885e63deb
Added wbfs support. Thanks to lordlyhobo for the patch. Fixes issue 859.
2012-05-04 00:09:01 +10:00
skidau
a1b3eaffb7
Reverted the ES changes from r0fc390b55226. Fixes the crash that occurred when loading a channel from the sysmenu.
2012-05-03 23:32:32 +10:00
skidau
e5d527340d
Optimised the JIT path.
2012-05-03 23:17:15 +10:00
skidau
d7f468a781
Applied the "Hide cursor" fix to the Pause button.
2012-05-03 20:57:22 +10:00
skidau
f28e0cff15
Merge branch 'ARAM' of https://code.google.com/p/dolphin-emu into ARAM
...
* 'ARAM' of https://code.google.com/p/dolphin-emu :
Fixed ARAM DMA overflow situations. Fixes issue 4952.
Conflicts:
Source/Core/Core/Src/HW/DSP.cpp
2012-05-01 22:22:39 +10:00
skidau
1b15cd0b60
Added preliminary support for ARAM memory map mode "4".
...
Fixes issue 3410.
2012-05-01 22:05:48 +10:00
skidau
2540fe0606
Fixed ARAM DMA overflow situations. Fixes issue 4952.
2012-05-01 21:31:21 +10:00
skidau
30d6d22816
Merge Conflicts:
...
Source/Core/Core/Src/PowerPC/PowerPC.cpp
2012-05-01 21:00:57 +10:00
skidau
d015f0926a
Fixed a typo and some far jumps in the JIT.
2012-05-01 20:52:35 +10:00
skidau
d557c913e8
Reset the performance counters at the start of the each block.
2012-05-01 20:42:01 +10:00
skidau
389823a749
Changed the performance monitor check to a compile time check instead of run-time.
2012-05-01 20:42:00 +10:00
skidau
cdace9d776
Added preliminary support for the Gekko CPU Performance Monitor. Fixes Harry Potter and the Prisoner of Azkaban.
2012-05-01 20:42:00 +10:00
skidau
75fbbcae40
Merge branch 'JIT-Exceptions'
...
* JIT-Exceptions:
JitIL code cleanup
Changed the JIT code to make the FPU exception timing more accurate. The exception is now triggered at the first FP instruction instead of the start of the block. Rearranged the JIT exception code for a tiny speed-up. Only external exceptions are checked at the end of the block. All other exceptions are checked at the time they occur.
Fixes issue 5382.
Conflicts:
Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp
2012-05-01 20:35:12 +10:00
skidau
05040379e9
JitIL code cleanup
2012-05-01 20:26:05 +10:00
skidau
15d3c45159
Reset the performance counters at the start of the each block.
2012-04-29 00:10:20 +10:00
skidau
853d12b42c
Changed the performance monitor check to a compile time check instead of run-time.
2012-04-28 22:47:55 +10:00
skidau
103e73030f
Added preliminary support for the Gekko CPU Performance Monitor. Fixes Harry Potter and the Prisoner of Azkaban.
2012-04-28 20:42:45 +10:00
skidau
330f63df80
Corrected the file offset within the FST of virtual disks (used by the DVD Root path function).
2012-04-28 11:21:55 +10:00
skidau
8878ae5fc3
Merge branch 'AudioStreaming'
...
* AudioStreaming:
Reset the stream playing flag on init.
force VolumeDirectory to align files to 32KB (only streaming audio files really need to be aligned...)
Removed the DTK Music option. It is now always enabled.
Added the response for audio streaming disc offset requests. Generate an AI interrupt at the end of the audio streaming loop. Fixes Pac-man Fever and the background music in Eternal Darkness.
Fixed the erroneous looping in audio streaming games like Eternal Darkness and Zoids: Battle Legends. Thanks for the tip, tueidj.
2012-04-23 22:40:58 +10:00
skidau
f0e1b4c1dd
Reset the stream playing flag on init.
2012-04-23 22:15:23 +10:00
skidau
5ceef0c513
Removed the DTK Music option. It is now always enabled.
2012-04-23 05:02:43 +10:00
skidau
f0a5214a3f
Added the response for audio streaming disc offset requests. Generate an AI interrupt at the end of the audio streaming loop. Fixes Pac-man Fever and the background music in Eternal Darkness.
2012-04-23 04:47:31 +10:00
skidau
8ff3954069
Added the memcheck for stXx.
2012-04-21 21:38:57 +10:00
skidau
7038a841bd
Fixed the erroneous looping in audio streaming games like Eternal Darkness and Zoids: Battle Legends. Thanks for the tip, tueidj.
...
Fixes issue 5378.
2012-04-21 15:50:07 +10:00
skidau
13b66df125
Changed the JIT code to make the FPU exception timing more accurate. The exception is now triggered at the first FP instruction instead of the start of the block.
...
Rearranged the JIT exception code for a tiny speed-up. Only external exceptions are checked at the end of the block. All other exceptions are checked at the time they occur.
2012-04-15 21:34:15 +10:00
skidau
a488b2c0ca
Fixed the rerecord counter when using more than one save state. Patch by rdragoon.
2012-04-13 19:50:44 +10:00
skidau
5d9ac22d58
Added a "Keep window on top" option in the graphics options.
2012-04-08 10:29:49 +10:00
skidau
cce63e7bdb
Fixed ARAM DMA overflow situations. Fixes issue 4952.
2012-04-07 07:35:25 +10:00
skidau
f7ce27c91d
Fixed the audio streaming "blocks left" register by making it zero-based. Fixes DreamMix TV World Fighters (GameCube).
2012-04-02 22:14:11 +10:00
skidau
995a84e06a
Removed CGDisplayCapture from the OSX fullscreen mode code, fixing full-screen mode. Thanks to celgilles for the patch.
...
Fixes issue 5331.
2012-03-31 13:48:40 +11:00
skidau
f30aebf8d7
Added a check for TMEM overflows while preloading textures. Thanks to NeoBrainX for the tip.
2012-03-25 21:35:57 +11:00
skidau
fa2b4cd8fc
Quick fix for minimum number of cheat codes needed to activate Gecko.
2012-03-25 04:13:41 +00:00
skidau
33e20cf76d
Added a check for active Gecko codes before installing the Gecko code handler.
...
Fixes issue 5279.
2012-03-23 23:36:23 +11:00
skidau
41bcf657f8
Adjusted the DX9 offset of the Sampling address to more closely match what we are seeing in games.
...
Fixes issue 5305.
2012-03-23 23:20:19 +11:00
skidau
c4fbb6e377
Checked PRELOAD_MODE to determine if TMEMODD or TMEMEVEN should be used.
...
Fixes issue 5212.
2012-03-23 22:10:48 +11:00
skidau
006923e871
Disabled zcomploc while update_enable has been set in zmode. Fixes zcomploc in F-Zero GX.
2012-03-22 20:36:41 +11:00
skidau
5e2fd45203
Merge fix
2012-03-20 21:01:15 +11:00
skidau
a60a0825a3
Merged 'FifoBusy' branch. Thanks
...
to marcosvitali.
Added an external exception check when the CPU writes to the FIFO. This allows
the CPU time to service FIFO overflows. Fixes random hangs caused by FIFO
overflows and desyncs like in "The Last Story" and "Battalion Wars 2". Thanks
to marcosvitali for the research.
Added some code to unlink invalidated blocks so that the recompiled block can be
linked (speed-up).
This release still fixed the hangs produced by fifo overflow without sacrifice
performance. For example you can test Tutorial moves at the beginning of The last history now
is fluid 30/60.
Fixed possibles random hangs in DC mode.
Fixed hangs in DC mode in (Simpsons, Monkey Island, Pokemon XD, etc)
Implemented accurate management of Pixel Engine Interrupts. Now the GPU loop
is stopped when a PE Interrupt needs to be managed and resumed when Pixel Engine
finish.
Fixed Metroid Prime 3 and 2 desync. And other games with desync because of
FIFO Reset. That happens because FIFO_RW_DISTANCE_HI must be written first, for checking
fifo.CPReadWriteDistance == 0, so some fifo resets was not managed in the right
way.
Fixed Super Monkey Ball in some cases when the game write the
WriteReadDistance need to be safe like the SafeCPRead.
Improved the CheckException for the GatherPipe writes in JIT, now only the
External Exceptions are processed.
Fixed definitely Pokemon XD in dual core mode. This game is doing something
not allowed. It attach to CPU the same fifo attached to the GPU in multibuffer
mode. I added a check to prevent overwrite the GPU FIFO with the CPU FIFO. If
the game do that on breakpoint the solution can fail.
Fixed ReadWriteDistance calc when CPRead > CPWrite.
Added Token and Finish cause to GP Jit checking.
Additional cleanup in CommandProcessor.
Fixes issue 5209
Fixes issue 5055
Fixes issue 4889
Fixes issue 4061
Fixes issue 4010
Fixes issue 3902
2012-03-20 19:37:25 +11:00
skidau
281d7531a3
Fixed a crash on exit by calling DefWindowProc after the WM_DESTORY message has been received. Patch by eddie.willett.
...
Fixes issue 4588.
Fixes issue 5285.
2012-03-19 21:51:26 +11:00
skidau
cfbcaa2cc6
Linux build fix
2012-03-18 23:37:38 +11:00
skidau
05692b1e7e
Sped up to the Dolphin debugger by not checking for breakpoints when stepping.
...
Fixed the JIT cache, invalidating one instruction length at a time.
Fixed a bug where the JIT cache did not get invalidated when stepping.
Disabled fused instructions in the debugger.
2012-03-16 20:08:05 +11:00
skidau
8ed6ea3b07
Sped up the Dolphin debugger in JIT mode by splitting a block only while stepping or when it contains a breakpoint. The block is invalidated when a breakpoint is set or cleared.
...
Fixed a bug in the JitCache where the JIT icache was not being invalidated when a block containing the instruction was destroyed.
2012-03-15 21:48:19 +11:00
skidau
0ed8af2287
Forced reload of the native Gecko Code handler if the game overwrites it.
...
Fixes issue 5225.
2012-03-13 23:41:40 +11:00
skidau
dc79d68e72
Added the corresponding change from r352ab2ba4394 into JITIL.
...
Tidied some code.
2012-03-13 22:35:11 +11:00
skidau
bf76b802a7
Fixed the in-built Dolphin profiler.
2012-03-10 16:24:13 +11:00
skidau
a53916ff5d
Changed the detection of FIFO write addresses to writes at the gather pipe boundary. This speeds up games which frequently write to the gather pipe like the pre-rendered movies in The Last Story.
...
Added some code to unlink invalidated blocks so that the recompiled block can be linked (speed-up).
2012-03-04 23:42:33 +11:00
skidau
5de8366db2
Made the invalidation of the FIFO write JIT blocks more selective (efficient). Fixes the slowdown in the House of the Dead: Overkill cutscenes.
2012-03-04 08:10:46 +11:00
skidau
874e17e504
Added the corresponding change from r9e649ce79850 to JITIL.
2012-03-03 15:41:55 +11:00
skidau
9e649ce798
Added additional checks to ensure that only a FIFO breakpoint exception is handled. This fixes the hangs in games like de Blob, Xenoblade and Super Mario Galaxy introduced by r9e398fd41802.
2012-03-03 14:26:39 +11:00
skidau
9e398fd418
Added an external exception check when the CPU writes to the FIFO. This allows the CPU time to service FIFO overflows. Fixes random hangs caused by FIFO overflows and desyncs like in "The Last Story" and "Battalion Wars 2". Thanks to marcosvitali for the research.
...
Fixes issue 5209.
Fixes issue 5150.
Fixes issue 5055.
Fixes issue 4889.
Fixes issue 4061.
Fixes issue 4010.
Fixes issue 3902.
2012-03-02 18:53:41 +11:00
skidau
b8bef29bcc
Fixed a divide by zero error in the hash functions
2012-02-25 20:36:49 +11:00
skidau
25eae39b7c
Rearranged the SSE detection. Patch by lordlyhobo.
...
Fixes issue 5172.
2012-02-06 20:51:24 +11:00
skidau
8f83a89416
Removed the busy-wait from DSP LLE on thread. Reduces the CPU usage in this scenario by around a third.
2012-02-05 17:18:11 +11:00
skidau
c53283185d
Added an error check for invalid contents in ES_OPENCONTENT. Fixes Jungle Speed and Doc's Punch Out.
...
Fixes issue 3035.
2012-02-05 16:16:33 +11:00
skidau
ea2e0e9063
Added the HID2.WPE condition to dcbz. Fixes issue 5114.
2012-02-04 13:25:04 +11:00
skidau
ebca41e78b
Merge branch 'Wiimote'
2012-01-03 22:23:45 +11:00
skidau
a812e3bd3d
Removed the "Reload MemCard on load state" hack as it is no longer needed with the new save states system.
...
Fixes issue 4898.
2012-01-03 01:24:20 -05:00
skidau
32755aa48c
Reordered the safe write path of the stfd instruction.
2012-01-03 01:24:19 -05:00
skidau
daf7e96521
Fixed the safe write path of the stfd instruction in the JIT. Fixes issue 4001.
2012-01-03 01:24:18 -05:00
skidau
b9547a07f5
Updated the Gecko code handler to the latest version from Gecko OS 1.9.3.1.
...
Added a check to ensure that the number of codes fits in memory (maximum 231 codes).
Store a copy of codehandler.bin in the Sys directory.
2012-01-03 01:24:17 -05:00
skidau
318d3cff02
Added a note to try the native code handler in the error message window.
...
Added copyright notices.
2012-01-03 01:24:16 -05:00
skidau
69b2d4ddc1
Changed the Gecko code handling to the native code handler. This provides full compatibility with all Gecko codes.
...
To use the native code handler, place the kenobiwii.bin file into the Sys directory. Dolphin will silently fall-back to the emulated code handler if the file is not there.
Fixes issue 4561.
2012-01-03 01:24:14 -05:00
skidau
ca287e7957
Removed the "Reload MemCard on load state" hack as it is no longer needed with the new save states system.
...
Fixes issue 4898.
2012-01-03 15:36:32 +11:00
skidau
d399e6b26d
Reordered the safe write path of the stfd instruction.
2012-01-03 10:20:20 +11:00
skidau
67e38fb6c6
Fixed the safe write path of the stfd instruction in the JIT. Fixes issue 4001.
2012-01-03 01:17:52 +11:00
skidau
6b0d21efa7
Merge branch 'Gecko'
2012-01-02 15:21:58 +11:00
skidau
f4d8e527b5
Updated the Gecko code handler to the latest version from Gecko OS 1.9.3.1.
...
Added a check to ensure that the number of codes fits in memory (maximum 231 codes).
Store a copy of codehandler.bin in the Sys directory.
2012-01-02 15:14:30 +11:00
skidau
96600ef48d
Added a note to try the native code handler in the error message window.
...
Added copyright notices.
2012-01-02 13:53:39 +11:00
skidau
ba545ec1e9
Build fix
2012-01-01 18:09:39 +11:00
skidau
e4b4a65346
Merge branch 'PowerPC'
2012-01-01 16:17:52 +11:00
skidau
5a914744a2
Added some support for the OE flag. Thanks to j4ck.fr0st for the tip.
2012-01-01 16:12:53 +11:00
skidau
c53593a40a
Moved the Audio Throttle option to the Framelimit drop-down. The Audio Throttle should never be used alongside the frame limiter as that can cause audio sync issues.
2012-01-01 14:32:54 +11:00
skidau
80504efcdf
Changed the Gecko code handling to the native code handler. This provides full compatibility with all Gecko codes.
...
To use the native code handler, place the kenobiwii.bin file into the Sys directory. Dolphin will silently fall-back to the emulated code handler if the file is not there.
Fixes issue 4561.
2011-12-31 15:18:48 +11:00
skidau
cfee6d8473
Stubbed the /dev/usb/oh1 path. Fixes issue 4936.
2011-12-31 09:51:41 +11:00
skidau
f7ef58ff9a
Removed the VID/PID validation for Wiimotes allowing Dolphin to detect third party wiimotes with a VID/PID that is different to Nintendo's.
...
Checked for timeouts reported by the bluetooth stack.
Added RVL-CNT-01-TR detection.
2011-12-29 21:18:35 +11:00
skidau
1df7af35e9
Reset errno to zero before testing it after the strtoul call. Fixes issue 5078.
2011-12-29 12:05:36 +11:00
skidau
cc6f90c7d5
Enabled memory breakpoints under JIT in the debugger.
2011-11-05 19:42:06 +11:00