Commit Graph
100 Commits
Author SHA1 Message Date
skidau 4fa61a1e7f Removed the tracking of the FIFO Writes as it was made obsolete by r1d550f4496e4. 2013-03-25 00:57:53 +11:00
skidau 1d550f4496 Forced the external exception check to occur sooner by changing the downcount.
Fixes issue 5825.
2013-03-25 00:47:44 +11:00
skidau a6249b5388 Properly set the DMAState flag while ARAM DMA transfers are underway.
Fixes issue 6118.
2013-03-19 23:03:38 +11:00
skidau afb6f9127a Corrected a typo. 2013-03-15 19:32:47 +11:00
skidau 808eaf7c49 Fixed the Windows 32bit debug build. 2013-03-14 22:18:13 +11:00
skidau 85eab1d262 Used the scheduler to generate the interrupt for IPC. Fixes the ES_LAUNCH games. 2013-03-13 22:23:59 +11:00
skidau 83fc5f4747 Merge branch 'FIFO-BP'
# By skidau (30) and Pierre Bourdon (1)
* FIFO-BP: (31 commits)
  Set g_bSignalTokenInterrupt on the main thread.  Fixes the random hang in Harry Potter: Prisoner of Azkaban.
  Used a scheduled event to generate the ARAM DMA interrupt if the DMA is greater than a certain size.  Fixes NFS:HP2 GC.
  Bumped up the disc transfer speed enough to prevent audio stuttering in Gauntlet: Dark Legacy.
  Enabled Synchronise GPU on "SPEED CHALLENGE - Jacques Villeneuve's Racing Vision".  Required to go in-game.
  Added direct GameCube controller commands to the Serial Interface emulation.  Fixes the controls in MaxPlay Classic Games Volume 1 and the Action Replay disc.
  Increased the FIFO buffer size to 2MB from 1MB.  Fixes Killer 7's Angel boss.
  Used an immediate GenerateDSPInterrupt when transferring data from ARAM to MRAM and a scheduled DSP interrupt when transferring data from MRAM to ARAM.
  Fixes the audio cutting in and out in the Resident Evil GC games using DSP HLE. Triggered the ARAM interrupt by the scheduler instead of directly in function.
  Implemented proper timing for the sample counter in the AudioInterface, removing the previous hack. Cleaned up some of the audio streaming code.
  Skipped the EE check if there is a CP interrupt pending.
  Disabled "Speed up disc transfer" from the ZTP GC game ini.
  Removed the disc seek times for GC games and removed the disc speed option on Wii games. Checked for external exceptions only in mtmsr.
  Delayed the interrupts in the EXI Channel.
  Merge aram-dma-fixes (r76a13604ef49b522281af75675f044d59a74e871)
  Added a patch that bypasses the FIFO reset code in Wallace and Gromit: Project Zoo, allowing it to go in-game.
  Made vertex loading take constant time.
  Increased the cycle time of the vertex command.  Fixes "Speed Challenge: Jacques Villeneuve's Racing Vision".
  Moved the setting of the Finish interrupt signal back to the main thread as it was causing Wii games like Resident Evil 4 (Wii) to hang.
  Profile stores, fp stores and ps stores only to the fifo write addresses list.  This should make the JIT a little faster as it will not be checking for external exceptions unnecessarily.
  ...

Conflicts:
	Source/Core/VideoCommon/Src/PixelEngine.cpp
2013-03-12 19:47:59 +11:00
skidau d3e431af9e Set g_bSignalTokenInterrupt on the main thread. Fixes the random hang in Harry Potter: Prisoner of Azkaban. 2013-03-07 22:16:00 +11:00
skidau 0f1ef49da1 Used a scheduled event to generate the ARAM DMA interrupt if the DMA is greater than a certain size. Fixes NFS:HP2 GC. 2013-03-06 17:08:40 +11:00
skidau 61b01474fa Bumped up the disc transfer speed enough to prevent audio stuttering in Gauntlet: Dark Legacy.
Fixes issue 4644.
2013-03-03 23:35:07 +11:00
skidau 6dbd80d73e Reverted the audio streaming tweak from r7a04ec6f9220dd66147c86baaebc2f9e05d65ead as it was causing audio clipping in some Wii games like Fire Emblem: Radiant Dawn. 2013-03-03 15:20:15 +11:00
skidau 6d1a0f5c2a Enabled Synchronise GPU on "SPEED CHALLENGE - Jacques Villeneuve's Racing Vision". Required to go in-game. 2013-03-02 23:43:37 +11:00
skidau 643f18d28b Added direct GameCube controller commands to the Serial Interface emulation. Fixes the controls in MaxPlay Classic Games Volume 1 and the Action Replay disc. 2013-03-02 22:35:10 +11:00
skidau 5bb6ac8164 Increased the FIFO buffer size to 2MB from 1MB. Fixes Killer 7's Angel boss.
Fixes issue 5415.
2013-03-02 16:18:55 +11:00
skidau 3874b46a93 Used an immediate GenerateDSPInterrupt when transferring data from ARAM to MRAM and a scheduled DSP interrupt when transferring data from MRAM to ARAM.
Changed the maximum timeslice back to 20000 as it was causing slowdown.
2013-03-02 12:37:55 +11:00
skidau 4c6bbec600 Changed the maximum slice length to 1000 from 20000. This makes the emulator check external exceptions more regularly. Fixes the audio cutting in and out in the Resident Evil GC games using DSP HLE.
Triggered the ARAM interrupt by the scheduler instead of directly in function.  Fixes a hang in Mario Super Baseball.

Fixes issue 5825.
Fixes issue 5096.
2013-03-01 20:23:55 +11:00
skidau 73da6f4f3f Merge branch 'master' into FIFO-BP
# By Jordan Woyak (46) and others
# Via Jordan Woyak (2) and others
* master: (70 commits)
  Fixes two memory leaks, one is pretty bad for OSX. Yell at pauldachz if this doesn't work. Or... say thanks.
  Added a BluetoothEnumerateInstalledServices call so that the wiimote remembers the pairing.
  Make ARMJit core default CPU core on ARM architecture
  Fix a StringUtil regression from the arm-noglsl merge
  Small improvement to cmpli/cmpi in ARMJit.
  Merge latest ArmEmitter changes from ppsspp while we're at it.
  Ah. I blame vim on this typo entirely.
  Add disabled code for authenticating wiimotes on Windows.
  Add the missing FPR cache
  Buildfix.
  Yell at the user if they change window size while dumping frames, and some other avi dumping stuff.
  Not sure if this is the right way to handle this, but it makes the save states perfectly stable. That's all that really matters, right?
  Abort loading states from incompatible graphics backends.
  ARM Support without GLSL
  Improve VideoSoftware save states. They are fairly stable, but not perfect. OpcodeDecoder::DoState() needs to be fixed.
  Begin implementing save states to video software. Kind of works, sometimes.
  Make error message for loading save state with wrong dsp engine shorter.
  Abort load state if it uses a different dsp engine, instead of crashing.
  Update the gameini of F-zero. Efb to Ram is no longer the default choice.
  fix last commit by neobrain
  ...

Conflicts:
	Source/Core/VideoCommon/Src/Fifo.cpp
2013-03-01 20:12:56 +11:00
skidau 7a04ec6f92 Implemented proper timing for the sample counter in the AudioInterface, removing the previous hack.
Cleaned up some of the audio streaming code.
2013-03-01 11:51:11 +11:00
skidau 5c4a130688 Added a BluetoothEnumerateInstalledServices call so that the wiimote remembers the pairing. 2013-03-01 10:28:42 +11:00
skidau 0399959c39 Skipped the EE check if there is a CP interrupt pending.
Fixes issue 4336.
2013-03-01 00:59:38 +11:00
skidau b83a1e3b66 Disabled "Speed up disc transfer" from the ZTP GC game ini. 2013-02-26 19:39:11 +11:00
skidau e69c58ee89 Removed the disc seek times for GC games and removed the disc speed option on Wii games.
Checked for external exceptions only in mtmsr.

Fixes issue 5545.
2013-02-26 18:10:02 +11:00
skidau dc98ce5922 Added the addeo instruction to the JIT tables. Fixes Inkub (WiiWare). 2013-02-24 23:05:12 +11:00
skidau 6b28b3929a Delayed the interrupts in the EXI Channel.
Fixes issue 5580.
2013-02-24 21:32:14 +11:00
skidau 40b65fdc04 Merge aram-dma-fixes (r76a13604ef49b522281af75675f044d59a74e871) 2013-02-24 17:10:33 +11:00
skidau ae566d6b3c Merge branch 'aram-dma-fixes' into FIFO-BP
# By Pierre Bourdon
# Via Pierre Bourdon
* aram-dma-fixes:
  Simulate a small delay on GC Memcard operations
2013-02-24 00:11:11 +11:00
skidau bde9a459cd Added a patch that bypasses the FIFO reset code in Wallace and Gromit: Project Zoo, allowing it to go in-game. 2013-02-23 23:50:02 +11:00
skidau d76ca57837 Fixed a JIT timing bug that prevented Eternal Darkness from booting in Single Core mode. 2013-02-22 15:13:49 +11:00
skidau 36f2082a5f Made vertex loading take constant time. Fixes a hang in Gladius. 2013-02-20 23:38:25 +11:00
skidau 351c741906 Merge branch 'master' into FIFO-BP
# By Jordan Woyak (9) and others
* master:
  Fixed a buffer overflow in the OpenAL buffer.
  TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs.
  WII_IPC_HLE_Device_FileIO: don't rebuild the filename on every operation.
  Some cleanup of CWII_IPC_HLE_Device_FileIO: The real file was never kept open for longer than a single operation so there was no point in dealing with it in DoState. Saving the real path in the savestate was also probably a bad idea. Savestates should be a bit more portable now.
  Removing destination on rename when source isn't present doesn't make sense. IOCTL_RENAME_FILE still might not be totally correct.
  Change some CNANDContentLoader logic to what was probably intended. Kills some warn logs when opening Dolphin.
  Let's not CreateDir an empty string every time CreateFullPath is used, logging an error every time.
  Fix a memleak. Probably/maybe improve USBGecko performance.
  Remove the core count from the cpu info OSD message. It was often wrong and not rather important.
  Use omp_get_num_procs to set the number of OpenMP threads rather than our core count detection.
  Bulk send TCP data to the client with the emulated USB Gecko.
  Added the ability to reverse the direction of the force feedback by allowing negative range values.
  Changes/cleanup to TextureCache::Load and other mipmap related code. The significant change is what is now line 520 of TextureCacheBase.cpp: ((std::max(mipWidth, bsw) * std::max(mipHeight, bsh) * bsdepth) >> 1) to TexDecoder_GetTextureSizeInBytes(expanded_mip_width, expanded_mip_height, texformat);
2013-02-19 23:19:29 +11:00
skidau 718a1b5ded Fixed a buffer overflow in the OpenAL buffer. 2013-02-19 23:18:13 +11:00
skidau 123035a192 Bulk send TCP data to the client with the emulated USB Gecko.
Fixes issue 6006.
2013-02-17 15:27:15 +11:00
skidau 1792a9d27b Added the ability to reverse the direction of the force feedback by allowing negative range values.
Fixes issue 5981.
2013-02-17 15:03:10 +11:00
skidau 0e2c3f3483 Increased the cycle time of the vertex command. Fixes "Speed Challenge: Jacques Villeneuve's Racing Vision". 2013-02-16 22:54:10 +11:00
skidau 45efced280 Moved the setting of the Finish interrupt signal back to the main thread as it was causing Wii games like Resident Evil 4 (Wii) to hang. 2013-02-16 18:30:20 +11:00
skidau 0c882cca66 Profile stores, fp stores and ps stores only to the fifo write addresses list. This should make the JIT a little faster as it will not be checking for external exceptions unnecessarily. 2013-02-16 13:54:58 +11:00
skidau 9bff8e00c8 Added preliminary support to synchronise the timing of the CPU and GPU threads. A new option has been added to the game properties for this purpose. This option may help with random freezes in Dual Core mode.
Fixes Gladius and Baten Kaitos: Eternal Wings and the Lost Ocean

Fixes issue 5150.
2013-02-16 12:51:09 +11:00
skidau 51795d8811 Merge branch 'master' into FIFO-BP
# By Jordan Woyak (24) and others
# Via Jordan Woyak (3) and others
* master: (66 commits)
  Reduce some DI command delays. Fix DKCR hanging with DSP HLE. My other games continue to work.
  Video_Software: Fix ZComploc option breaking stuff.
  Video_Software: Fix the ZFreeze option doing nothing.
  Video_Software: Toggable zfreeze and early_z support for testing.
  Fix header guard and definitions not being set to 1
  Add the option to turn on only the EGL interface to use desktop OpenGL with it.
  Change the ugly "no banner" banner to the sexy "X" from the website.
  Fix a crash in the FifoPlayer dialog.
  Use different reply delays for various DI commands. Fixes issue 5983.
  Revert "[bugfix] DX9::TextureCache: Use max_lod instead of min_lod where necessary."
  Fix some potential issues when blending on EFB formats without alpha. Clean up state transition tables.
  Disable play and record buttons if an iso was selected, but is later deselected.
  Disable start/play recording buttons when no iso is selected.
  Only delay DI and fs IPC replies. Fixes issue 5982.
  Fix compilation with SDL2. (based on a patch from matthewharveys) Fixes issue 5971.
  "Fix" using SDL from externals.
  Clean up SDL includes a bit. Maybe fix an SDL2 problem.
  Number "unknown" axes in OSX rather than call them all "unk".
  Revert "Only delay DI command replies." Fix "Wii Party" again.
  Hopefully make wiimote speaker less crappy.
  ...
2013-02-16 11:10:03 +11:00
skidau f26650e55b Removed the updating of PC in the Cleanup function. This was causing Metroid Prime to hang. 2013-02-11 08:42:16 +11:00
skidau 17c4fcfd90 Removed the updating of PC in GenQuantizedStores() as the generated code is static. 2013-02-10 18:40:50 +11:00
skidau 0cafc33eda Moved the token update to the CPU thread. 2013-02-10 18:24:30 +11:00
skidau 056930cac8 Updated PC on a few memory writes that were missed in the FifoBusy branch. Thanks to hk.konpie for the tip.
Fixes issue 5993.
2013-02-10 13:33:56 +11:00
skidau 5f672baca3 Used Atomic functions to update variables shared between the CPU and GPU threads.
Changed the variables from bool to u32 to match the atomic functions.
2013-02-09 17:46:48 +11:00
skidau 2c8c8db731 Used AtomicStore to write to the signal interrupts. 2013-02-03 23:52:18 +11:00
skidau 03d9cca2fe Added a script to copy the OpenAL dll's to the main Dolphin folder on new builds. 2013-02-03 19:02:46 +11:00
skidau 9a4e9da7c2 Set the token and finish interrupt signal from the video thread. This fixes the inconsistent state caused by lag from the scheduler. Fixes Rayman 3: Hoodlum Havoc and Shamu's Deep Sea Adventures.
Fixes issue 5401.
Fixes issue 5589.
2013-02-03 18:05:46 +11:00
skidau 867bfaa696 Changed cmdidle to match the isGpuReadingData flag. Fixes the random freezes in The Last Story. 2013-02-02 20:50:40 +11:00
skidau 2ab1cccbe4 Preset HBeamPos to -1. Fixes NTSC-U N64 VC games.
Fixes issue 5950.
2013-01-29 22:43:56 +11:00
skidau 1b6240f7f9 Changed cmdidle to be idle on breakpoint.
Added low watermark interrupts generated by the gather pipe.

Fixes Gladius from not booting.

Fixes issue 5518.
2013-01-25 20:04:31 +11:00
skidau cff8fe8f77 Revert the fix for the random static audio that would sometimes occur in DSP HLE and DSP LLE. The fix caused the music in Fast - Racing League to play random sounds.
This reverts commit r7bf72a6c8476798ecbb9cdb13ec3a8f0b9858da6.

Fixes issue 5910.
2013-01-22 21:17:29 +11:00
skidau 4cc4abfe25 Preset the HBeam and VBeam to 0 on boot. Fixes Densha de Go Shinkansen EX.
Fixes issue 4882.
2013-01-20 16:11:15 +11:00
skidau 0a5f479250 Added a game property to disable the clearing of the data cache. This is needed by one known game, "Rubik's Puzzle Galaxy: Rush".
Fixes Violin Paradise.
2013-01-20 13:09:38 +11:00
skidau 7e5d877858 Merge branch 'ES_LAUNCH'
Games that are now playable:

Back to the Future: The Game
CSI - Hard Evidence
CSI - Deadly Intent
CSI - Fatal Conspiracy
Red Steel
Metroid Prime: Trilogy
Wii Sports + Wii Sports Resort pack
Sam & Max: Season One
Sam & Max: Beyond Time and Space
Kirby's Dream Collection: Classic Collection
Indiana Jones and the Staff of Kings: Fate of Atlantis


* ES_LAUNCH:
  Fixed SSBB from starting at the mini-games screen.
  Build fix
  Corrected a state bug where newly loaded dols did not have their patches applied.
  Changed the HLE system to allow it to hook the beginning, the end or replace the entire function without changing the GC memory.  Fixes Kirby's Return to Dreamland. Added a way to categorise the type of HLE function.  Currently, there are debug, floating point, memory and generic functions. Added a HLE function for OSGetResetCode (Warm reset).  Fixes the CSI games. Added a switch to disable all of the HLE functions if the idle skipping option is disabled.
  Added some IOS version checks and code to clear memory before loading the dol.
  Added support for Reset (from menu).  Fixes Sam & Max.
  Added an IOS check as games which use IOS older than IOS30 do not need to be HLE'd.  Added some stubs for Reset to Menu and SSBB's load from disc partition.  Fixed loading Fate of Atlantis from the Indiana Jones and the Staff of Kings game.
  Added argument detection and passing to the loaded dol.  This fixes the Wii Sports+Wii Sports Resort bundle pack.
  Added preliminary support for ES_LAUNCH (Wii Multi-boot games) by using HLE to hijack the OSBootDol function.

Conflicts:
	Source/Core/DiscIO/Src/FileSystemGCWii.cpp
2013-01-16 20:22:29 +11:00
skidau 7402a89e6e OSX build fix 2013-01-16 00:14:31 +11:00
skidau a9388ce2e2 Added backwards compatibility with old OpenAL drivers. 2013-01-16 00:10:49 +11:00
skidau 799b032b98 Readd the OpenAL option.
The OpenAL backend requires OpenAL Soft to be installed: http://kcat.strangesoft.net/openal.html

You may need to rename soft_oal.dll to OpenAL32.dll in the Dolphin folder.

Windows users may also need to update their OpenAL drivers by downloading them from

http://connect.creativelabs.com/openal/Downloads/oalinst.zip
2013-01-15 23:14:11 +11:00
skidau 0a4272c96b Merge branch 'OpenAL'
* OpenAL:
  Changed SoundTouch to use float samples, allowing SSE to be used. Made the DPL2 decoder disabled by default. Re-added the audio hack used by the Accurate VBeam emulation option.
  Added a latency setting to the audio settings. Removed the Sample Rate setting.  It is now hardcoded to 48000hz (accurate audio timing).
  Skipped timestretching if the emulator is running below 10% speed to prevent buffer overflows.
  Removed the synchronisation between the CPU thread and the audio thread. Added code to detect and resume from buffer underruns. Disabled the ability to change the DPL2 option after the game has started. Fixed a memory leak that occurred in the DPL2 decoder. Fixed the OSX build.
  Build fix
  Added a Dolby Pro Logic II (DPL2) decoder in the OpenAL backend.  DPL2 audio is decoded to 5.1.  Code adapted from ffdshow. Added an option in the DSP settings to disable the DPL2 decoder in case Dolphin incorrectly detects a 5.1 audio system. Updated the OpenAL files to OpenAL Soft 1.15.1 in the Windows build.
  Removed the system timing hack which was activated when the Accurate VBeam option was enabled.
  Fixed the include directories in Audio Common for the Windows 32bit build.
  Fixed the include directories in Audio Common for the Windows build.
  Messed up the static include line
  Fix include paths and compiling in Linux. Externals soundtouch is 1.7.1, while Ubuntu 12.10 is 1.6.x. Externals soundtouch is compiled with integer samples, while ubuntu is compiled with float samples. Float samples is probably the more common route. If you're going to use soundtouch, you should probably use SAMPLETYPE instead of explicitly choosing short. This probably breaks the windows build since its includes aren't setup.
  OSX: typedef signed char BOOL
  OSX build fix
  Build fix
  Added audio time stretching by using the SoundTouch library.
  Implemented correct audio timing.
  OpenAL for Windows initial commit
2013-01-15 22:40:12 +11:00
skidau 6d4a566bc4 Changed SoundTouch to use float samples, allowing SSE to be used.
Made the DPL2 decoder disabled by default.
Re-added the audio hack used by the Accurate VBeam emulation option.
2013-01-15 22:29:26 +11:00
skidau 1c462a1eca Added a latency setting to the audio settings.
Removed the Sample Rate setting.  It is now hardcoded to 48000hz (accurate audio timing).

Fixes issue 5672.
2013-01-13 00:05:30 +11:00
skidau 73140c7da7 Skipped timestretching if the emulator is running below 10% speed to prevent buffer overflows. 2013-01-11 23:06:20 +11:00
skidau 3632ce6df5 Removed the synchronisation between the CPU thread and the audio thread.
Added code to detect and resume from buffer underruns.
Disabled the ability to change the DPL2 option after the game has started.
Fixed a memory leak that occurred in the DPL2 decoder.
Fixed the OSX build.
2013-01-11 19:42:03 +11:00
skidau ed5a68a504 Build fix 2013-01-11 14:20:22 +11:00
skidau 80f4475e76 Added a Dolby Pro Logic II (DPL2) decoder in the OpenAL backend. DPL2 audio is decoded to 5.1. Code adapted from ffdshow.
Added an option in the DSP settings to disable the DPL2 decoder in case Dolphin incorrectly detects a 5.1 audio system.
Updated the OpenAL files to OpenAL Soft 1.15.1 in the Windows build.

Fixes issue 3023.
2013-01-11 14:03:09 +11:00
skidau 7bf72a6c84 Fixed the random static audio that would sometimes occur in DSP HLE and DSP LLE. 2013-01-11 01:03:18 +11:00
skidau c7ccf7e5c6 Removed the system timing hack which was activated when the Accurate VBeam option was enabled. 2013-01-10 09:11:37 +11:00
skidau ad28986d51 Fixed the include directories in Audio Common for the Windows 32bit build. 2013-01-10 07:55:13 +11:00
skidau d34c847edd Fixed the include directories in Audio Common for the Windows build. 2013-01-10 07:43:59 +11:00
skidau 7600cf106b OSX: typedef signed char BOOL 2013-01-10 00:24:42 +11:00
skidau 8494a439c7 OSX build fix 2013-01-10 00:06:35 +11:00
skidau 91fe5cc821 Build fix
Added SoundTouch as a dependency of AudioCommon.
Removed the "soundtouch_config.h" include on Linux and OSX.
2013-01-09 23:45:13 +11:00
skidau 63b38be97c Added audio time stretching by using the SoundTouch library. 2013-01-09 22:57:32 +11:00
skidau c8c78e0aa9 Implemented correct audio timing.
Fixes issue 5493.
2013-01-07 15:37:08 +11:00
skidau 5240e75be2 Fixed the infinite rumble problem caused by r4d6056f14625. 2013-01-07 12:25:18 +11:00
skidau 6df1dacca8 OpenAL for Windows initial commit 2013-01-07 12:16:04 +11:00
skidau 1d691d7de4 Fixed SSBB from starting at the mini-games screen. 2013-01-06 14:36:38 +11:00
skidau c61b0c7fba Build fix 2013-01-05 12:56:35 +11:00
skidau 1c9c6052d5 Corrected a state bug where newly loaded dols did not have their patches applied. 2013-01-05 12:32:47 +11:00
skidau 4d6056f146 Added GC Steering Wheel emulation.
To set it up, change the Port 1 controller to "Steering Wheel" under the GameCube tab.  This will tell the game that you have a force feedback steering wheel connected.
In the Gamecube Pad Settings, change the Rumble Motor to "Constant".
Configure the controls:

Main Stick Left/Right = Steer Left/Right
Main Stick Up = Accelerate
Main Stick Down = Brake

Thanks to ulao for the device communications info.
2013-01-04 14:08:09 +11:00
skidau 3fd1b4ee83 Removed some debug testing code. 2013-01-01 15:13:18 +11:00
skidau 51603f0522 * Implemented working pedal support.
* Changed the mapping of the steering wheel to:

Main Stick Left/Right = Steer Left/Right
Main Stick Up = Accelerate
Main Stick Down = Brake

* Fixed non-force feedback controllers that were not detected
2013-01-01 13:49:22 +11:00
skidau 5ccbcf455e Added preliminary GameCube Steering Wheel emulation via a PC Force Feedback Steering Wheel. 2012-12-30 13:41:48 +11:00
skidau 95f6685900 Changed the HLE system to allow it to hook the beginning, the end or replace the entire function without changing the GC memory. Fixes Kirby's Return to Dreamland.
Added a way to categorise the type of HLE function.  Currently, there are debug, floating point, memory and generic functions.
Added a HLE function for OSGetResetCode (Warm reset).  Fixes the CSI games.
Added a switch to disable all of the HLE functions if the idle skipping option is disabled.
2012-12-28 14:26:46 +11:00
skidau 05730af724 Added some IOS version checks and code to clear memory before loading the dol. 2012-12-26 23:10:41 +11:00
skidau 0c845728cc Added support for Reset (from menu). Fixes Sam & Max. 2012-12-26 23:10:40 +11:00
skidau 88e273fac1 Added an IOS check as games which use IOS older than IOS30 do not need to be HLE'd. Added some stubs for Reset to Menu and SSBB's load from disc partition. Fixed loading Fate of Atlantis from the Indiana Jones and the Staff of Kings game. 2012-12-26 23:06:43 +11:00
skidau 651cedaac4 Added argument detection and passing to the loaded dol. This fixes the Wii Sports+Wii Sports Resort bundle pack. 2012-12-26 23:06:43 +11:00
skidau fbdf9ba153 Added preliminary support for ES_LAUNCH (Wii Multi-boot games) by using HLE to hijack the OSBootDol function.
Metroid Prime Trilogy is working.  Wii Sports+Wii Sports Resort is not working.  Any games which can be played using the dol replacement trick should work here.

Suspect that the DOL's are meant to receive an argument list which has not been catered for in this code.  This probably also means that the Metroid Prime Trilogy games are locked in Veteran difficulty for the time-being.
2012-12-26 23:06:42 +11:00
skidau aeb5782395 Merge conflict. Fixes issue 5471. 2012-12-06 21:16:27 +11:00
skidau 1071ccbcd5 Added "EnableFPRF = True" to the Beach Spikers game ini. Fixes the flickering textures.
Thanks to hk.konpie for the tip.

Fixes issue 5730.
2012-11-24 00:09:38 +11:00
skidau 085c81da86 Mapped the addco and subfco PowerPC instructions. Fixes Frogger: Hyper Arcade Edition. 2012-11-24 00:04:28 +11:00
skidau f1f212b51b Removed the patches for Wave Race as they are no longer needed.
Fixes issue 3921.
2012-11-04 20:58:07 +11:00
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