Commit Graph

161 Commits

Author SHA1 Message Date
Pierre Bourdon 9a404ca6d4 Ship by default a free DSP ROM that can handle most games with LLE
At the end of July 2011, LM published a free DSP ROM that works with games
using the Zelda UCode. His ROM only has the code to handle UCode loading and a
few utility functions, the rest is missing. This includes the four large sound
mixing functions used by the AX UCode and the DROM containing coefficients used
for polyphase resampling in AX.

This is an improved, updated version of this ROM, which changes the following:

- We now have a free DROM that works for polyphase resampling by "emulating"
  linear interpolation. The coefficients contained in the DROM are normally a
  list of { c1, c2, c3, c4 } which are used to interpolate a sample value from
  four previous samples:
    out_sample = prev1 * c1 + prev2 * c2 + prev3 * c3 + prev4 * c4

  The coefficients are chosen depending on the fractional part of the current
  position (basically, our position between the previous and the next sample).
  We can use this fact to generate (c1, c2, c3, c4) for each possible
  fractional part so that:
    out_sample = prev3 * curr_pos + prev4 * (1 - curr_pos)

  Which is the formula for linear interpolation between prev3 and prev4. Linear
  interpolation is not as good as polyphase resampling but it still works very
  well and I couldn't really hear any difference between the two. If someone
  wants to generate real polyphase filter coefficients, they are welcome to
  submit a patch.

- The IROM now contains the 4 mixing functions used by the AX UCode: mix_add,
  mix_add_two, mix_add_ramp, mix_add_ramp_two. They are large, inlined
  functions (probably for performance reasons) in the official DSP IROM, our
  version prefers to use a loop. This *should* be more performant with our DSP
  JIT implementation, but I did not benchmark that.

Because the new DSP ROM is working just as well as the official ROM in 95% of
cases, it is now shipped by default with Dolphin and will be used with DSPLLE
if you don't have an official DSP ROM in User/GC. It will still display a panic
alert at every boot to notice you that you are using a non official DSP ROM
made by us, which is not perfect.

Games using the CARD, IPL or GBA UCodes are still broken. I don't know what
games this actually impacts, but this is a very small proportion compared to
what works.
2013-03-16 23:54:55 +01:00
Ryan Houdek 8c1091a21f Merge branch 'master' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
2013-03-15 11:19:52 -05:00
kostamarino@hotmail.com 78d0ff1ab7 Update gameini database according to changes after the FIFO - BP Merge. Remove Fastdiskspeed from various games that no longer need it. Enable dual core and gpu thread synch option for F-Zero GX and Rayman Raving Rabbids. They are both a bit faster now compared to single core (about 20%) and without stability issues when dual core was enabled. 2013-03-12 20:33:01 +02:00
degasus 382be2aabd Merge branch 'master' into GLSL-master
Conflicts:
	.gitignore
2013-03-12 11:28:56 +01:00
degasus b43c2e4d13 use correct color in ascii ari shader
still slow as hell, but it looks much nicer

sorry neobrain :-P
2013-03-11 00:47:43 +01:00
degasus 607ddc5b3f experimental postprocessing 2013-03-08 02:09:59 +01:00
degasus 8b232c7a4d fix "some" pp shaders ... 2013-03-07 19:51:57 +01:00
Ryan Houdek 09e5a7ace7 Change all these pp shaders to GLSL. 2013-03-07 10:47:03 -06:00
degasus 1c125f0fb4 add resolution uniform for pp, 16bit uses this for reducing screen resolution (wtf?) 2013-03-07 17:35:27 +01:00
degasus 800a58f01c reimplement postprocessing and fix one shader as example 2013-03-07 17:00:11 +01: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 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 b83a1e3b66 Disabled "Speed up disc transfer" from the ZTP GC game ini. 2013-02-26 19:39:11 +11:00
kostamarino@hotmail.com 0e4b07ddf9 Update the gameini of F-zero. Efb to Ram is no longer the default choice. 2013-02-25 19:14:36 +02: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
Jordan Woyak 4aeaf3477e Eliminate artifacts in nobanner.png. 2013-02-22 22:17:32 -06:00
Jonathan Jones ba979582e2 Makes the "No banner" banner image theme-able. Current "sexy X" banner included as part of "Boomy" theme.
Fixes issue 6023.
2013-02-22 15:30:07 -05:00
kostamarino@hotmail.com 29d43ef897 Gameini database update. Update/additions of Fifa Street and Open Season (fixes issue 5438). Cleanup of DisableWiimoteSpeaker = 1 (aka Alternate wiimote timing) from the database since it is no longer used. Edit the tales of symphonia projection hack. 2013-02-21 20:34:45 +02: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
kostamarino@hotmail.com 147b500d2d Gameini database update/additions of Sega Soccer Slam, Tomb Raider Underworld, Zapper, SAMURAI WARRIORS KATANA and Tales of Symphonia projection hack. For Tales of Symphonia the preset projection hack values eliminate double image on characters and unlike the previous ones they don't cause any issues and they work with all graphic backends (the main menu text was missing previously and it didn't work with d3d11). It is not enabled by default though, you will have to manually select it like before. 2013-02-01 21:20:56 +02:00
kostamarino@hotmail.com a8d4c78cec Gameini database update. Fixes issue 5135. 2013-01-26 12:12:47 +02: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
Jordan Woyak 3cb4300439 Merge branch 'external-theme' 2013-01-16 19:00:19 -06:00
Jordan Woyak 8456f2ee98 Resize Boomy icons to 24x24px and optipng them. 2013-01-16 17:18:17 -06:00
Jordan Woyak 8d9f0c147c Actually add the Boomy theme to Themes/
Right now the icons are huge. Resize the PNGs to 24x24?
2013-01-16 16:45:03 -06: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
kostamarino@hotmail.com 511342edad Gameini database update. 2013-01-14 02:37:32 +02:00
Jordan Woyak 727851c896 Add Boomy theme to Data dir. (not actually boomy right now, just test images) 2013-01-13 15:41:44 -06:00
NeoBrainX 99246e1d26 Game ini updates for de Blob. 2013-01-10 19:51:10 +01: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 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
NeoBrainX 4798524b75 Dolphin 3.5 release. 2012-12-24 21:29:24 +01:00
Ryan Houdek 532fdada96 Adds the Wii Korean settings file. It was handled in the wii-network branch in rev c42a6f156e. Master handles the settings files differently. Until wii-network merges in to master, this closes issue 5642. 2012-12-14 11:37:26 -06:00
kostamarino@hotmail.com 0c33891aa1 Gameini database updates/additions for: TMNT3, Mystic Heroes, BEACH SPIKERS, Fantastic Four, King Arthur, I-Ninja, FFCC Echoes of Time, Just Dance, Disney Epic Mickey, Shark Tale, Pokemon Channel, Cars 2, Disney Epic Mickey 2: The Power of 2, THE LAST STORY. 2012-11-26 14:31:55 +02: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
kostamarino@hotmail.com 5ce7728b91 Gameini database update/additions for NBA LIVE 06, NBA LIVE 2005, NBA LIVE 2004, NBA Live 2003, Pokemon Colosseum, Dark Summit, 4x4 Evolution 2, Skies of Arcadia Legends, Need For Speed : Hot Pursuit 2, Mission: Impossible Operation Surma, TALES OF SYMPHONIA, CITY RACER, DISNEY'S TARZAN, Blowout, WAVE RACE / BLUE STORM, Pokepark Wii, ONEPIECE UNLIMITED ADVENTURE, ONEPIECE UNLIMITED CRUISE EPISODE 2, Mario & Sonic at the Olympic Winter Games, Worms Battle Islands, Shrek 2, Summoner 2, Rubik's Puzzle World, Kirby's Dream Collection Special Edition. 2012-11-14 18:48:42 +02: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
kostamarino@hotmail.com 7be4f1f747 Gameconfig ini updates/additions: The Ant Bully, WWE Day of Reckoning 1 & 2, Dream Pinball 3d, Pokepark, Spider-Man: Edge of Time, Spider-Man: SD, Another Code:R, Geist, The Incredibles 2, Skies of Arcadia Legends. 2012-09-02 15:08:16 +03:00
kostamarino@hotmail.com e09dd77914 Gameini database update for Monster Hunter Tri, WarioWare: Smooth Moves, Mario Party 9, Pandora's Tower,
MURAMASA: THE DEMON BLADE.
Fixes flickering with keyboard input in Monster Hunter Tri, a black square appearing in WarioWare: Smooth Moves
 during minigames, fixes a mini-game in Mario Party 9 not functioning properly and missing text
 in Pandora's Tower with default settings.
Also a language update..
2012-04-13 18:52:49 +03:00
kostamarino@hotmail.com c82d88302a Gameini database cleanup. Remove the lines below since they are no longer necessary:
SafeTextureCache = True
SafeTextureCacheColorSamples = 128
2012-03-26 03:56:54 +03:00
kostamarino@hotmail.com 54801d93c4 Gameini database update, mostly minor changes reflecting the latest commits made to the repository. 2012-03-25 21:46:04 +03:00
kostamarino@hotmail.com 0861f524d4 Gameini database update. About 142 files updated or added to the database. 2012-03-20 20:41:55 +02:00
NeoBrainX 09217a6c47 Update PokePark Wii game ini. Needs to have texture cache accuracy set to mid setting. 2012-03-06 21:38:33 +01:00
NeoBrainX b251880d8b GameConfig: Remove an empty file 2012-02-24 17:31:17 +01:00
LPFaint99 1f83078b5f add some new game inis 2012-02-01 00:02:49 -08: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
kostamarino@hotmail.com 9829beab42 Gameini database update, mainly changes to the emulation issues lines (make them shorter, with more substance and less bla bla, update outdated stuff). The emulation issues lines can be further improved(this is a start).
Also re - implement the emulation issues column that was reverted, make it a bit bigger since sentences need more words and delete the issues portion of the emustate tooltip since it is unnecessary now.
2011-12-18 14:52:40 +02:00
kostamarino@hotmail.com a58c46be81 Gui change and an update to the gameini database.
The "Notes" column is gone and in it's place an "Emulation Notes" column is placed (it contains the emulationissues lines from the game inis). Notes that contain useful info about the game can be seen with just a glance this way.

Fixes issue 5043.
2011-12-16 21:01:10 +02:00
kostamarino@hotmail.com 1bbd63ebc5 Gameini database cleanup. Fixes improper file endings due to copy paste errors (last line didn't work). Addition of SSX On Tour - fixes issue 5032. Also some small additions/updates. 2011-11-29 17:45:39 +02:00