Version 4.0.2One month after the 4.0.1 release we're releasing the maintenance release 4.0.2. It turned out that some critical regressions had slipped into the 4.0 release due to the major changes linked to the wii-network branch and the global user directory changes.

In particular, one of the fixed issues was related to incorrect usage of wxWidgets and caused various problems with general Dolphin usage on Windows systems with Unicode characters in their user name (e.g. "François" or "&#12354;&#12356;&#12358;&#12360;&#12362;").

Some rather technical issues caused multiple games to stop booting or to freeze randomly. We've had multiple issue reports on this bug, so it's great to see that we were able to fix this properly.

Version 4.0Très grosse mise à jour !With about 2500 changes since Dolphin 3.5, Dolphin 4.0 is a big release with the addition of several new major features:

Beta support for the Wii official online multiplayer (Documentation) This is a feature that has been coming for a long time. More than two years ago, Matthew Parlane and Shawn Hoffman started working on emulating the Wii Wi-Fi networking API in order to run Wii online multiplayer games inside Dolphin. While it was not an easy change in itself, it also required a lot of modifications to core components of the emulator to be implemented properly (for example asynchronous IPC HLE) and a lot of debugging. It is now working well enough that we are releasing it to the public as a beta: don't expect everything to work, but popular games like Mario Kart Wii or Super Smash Bros Brawl can be played online right now.Alpha support for ARM/Android About two years ago, Ryan Houdek began the implementation of an ARM port of Dolphin, designed to run on powerful mobile phones and other ARM devices in the future. After a long time spent making Dolphin work well on both ARM and x86, Dolphin can now emulate GameCube and Wii games on recent Android phones. This support is still in early alpha stages: crashes happen, it's slow on Qualcomm hardware because of graphics drivers issues, and it is still missing a ton of features. Nowadays, Dolphin on Android is a two man project: Mathew Maidment is helping Ryan with the UI and making the Android version actually usable.Global User directory on Windows (Documentation) This is not exactly a major feature, but it is a big change in how Dolphin works on Windows, and requires user interaction to move from the old configuration system to the new one. Before 4.0, Dolphin configuration was stored next to Dolphin.exe, often causing issues when upgrading to a new version of Dolphin. New versions of Dolphin use a centralized location to store the configuration for all builds, usually My Documents\Dolphin Emulator. The documentation article linked above explains the details of this move, as well as what you need to do to migrate your old configuration to the new system (if you were using Dolphin before).New AX DSP HLE emulation code DSP HLE is the main audio emulation technique used in Dolphin. Before 4.0, it was extremely inaccurate and full of bugs, mostly due to how it was implemented. Dolphin 4.0 introduces a full rewrite of the audio emulation used in 99% of games, fixing hundreds of audio related bugs in Dolphin. On the flip side, it is now required to run a game at full speed to get full speed audio out of it, which is a direct consequence of fixing these bugs.

A lot of more minor changes were also integrated in that new Dolphin release:

New look A new look has been designed by MaJoR for Dolphin (new icon, new icon theme) and implemented on a new version of the Dolphin website by Pierre Bourdon.Wii Balance Board and GC Steering Wheel support Support for these two devices was added respectively by Matthew Parlane and skidau. The Wii Balance Board is not emulated and requires the real device to be used.Wii Remote support improvements Wii Remote background scanning was implemented to more closely match how a real Wii detects remotes, and support for -TR (Wii Motion Plus Inside) remotes was implemented for Mac OS X. A new documentation guide about Wii Remotes on Dolphin was also written by MaJoR to help Windows users with Wiimote issues.Fastmem support for Linux and OS X Fastmem is an optimization for Dolphin's CPU emulation, which was previously only implemented on Windows. Adding Fastmem support on Linux and OS X boosted the performance by 15 to 20% on these platforms.New OpenAL audio backend This audio backend, written by skidau, supports three important features that are not implemented in other backends yet: configurable audio latency, surround sound using the information contained in the Dolby Pro Logic II encoding used by most GameCube and Wii games, and support for sound stretching to make audio slow down when a game does not run at full speed.OpenGL video backend rewrite The Dolphin OpenGL video backend was rewritten by Markus Wick in order to use newer features of OpenGL and be GLES3 compatible. As a result, the OpenGL backend is now the fastest Dolphin video backend on NVIDIA cards.NetPlay stability and usability improvements Before Dolphin 4.0, GameCube NetPlay was at best a curiosity. 4.0 added a lot of NetPlay related changes which makes it actually usable for most games, but sometimes with performance issues. Super Smash Bros Melee players are now using Dolphin for regular online NetPlay tournaments, and it just works. Read the official NetPlay guide for more information.Mac OS X support enhancements This release also adds a few small OS X improvements: the Dolphin DMG bundles are now signed by a valid developer ID and do not require you to disable Gatekeeper to be used. The emulator is also Retina Display aware and handles the logical scaling better on these screens.Icon themes support In addition to shipping with a new default icon theme, Dolphin now allows you to make your own themes and share them with other people.

Version 3.5-1489Revert "Added optimizations to ClassifyFloat/Double functions in Mathutil.cpp and to PPCCache.cpp"

This reverts commit 7aae9ccbc0494cd468a37413d7199061bd1981d2.

Reasons:- no test results have been provided to prove the usefulness of the patch- broken coding style- the author hasn't replied to any criticism

Version 3.5-1488When loading a save state in read only that mismatches the current movie, load the input prior to the save state from the save state's movie, instead of using the current movie's input up to that point.

This prevents desyncing before the save state.

Version 3.5-1487Save sync gpu setting to dtm header.

Version 3.5-1486fix gcc warning, probably also the logic

comparing two char pointers doesn't compare the strings

Version 3.5-1485Revert "Create our OGL context on the same thread in the OpenGL backend. Same issue with Qualcomm not working with threading correctly."

This reverts commit 2697b8c04f9e7c8d0a40bd42db95b4a534947c43.

The context creation may be moved to Video_Prepare, but the window creation isn't allowed to.Eg we set the window title or read the mouse position, both need the window.Also the readback of the window size didn't worked any more.

Version 3.5-1484[Android] When running OpenGL ES 3 backend, we've got to switch the screen coordinates or bad things happen. Adds a Driver bug that causes swap every single flush. Hard requirement currently to see /anything/ on screen.

Version 3.5-1483Remove saturate function define in GLSL since we use clamp everywhere instead. Change the function defines over to just regular defines since Qualcomm can't handle function defines at all it seems.

Version 3.5-1482BPMemory: Assign a more descriptive name to a field in the genmode register.

Version 3.5-1481[Android] Qualcomm glGetShaderInfoLog returns a max of 1024 bytes(tested) for the log, and glGetShaderiv with GL_INFO_LOG_LENGTH /always/ returns 0 on compile failure.

Version 3.5-1480Whoops, look like the previous commit was also the case with VideoDX9

Version 3.5-1479Fix a char buffer destination size in Render.cpp for VideoDX11.

Version 3.5-1478Fix a free that should have been a delete.

Version 3.5-1477Partial revert of 0247b2a97a1d. I'll add a work around for Qualcomm in a bit. Qualcomm shader compiler failing was only due to floating suffixes not whole function defines. Qualcomm video driver devs seem to have a good response time when it comes to OpenGL ES 3 issues.

Version 3.5-1476[Android] Gamepad input. Refactor JNI native functions to all pull from a single class instead of everywhere willy-nilly

Replaces the old, hardcoded shader ID generator with a semi-automatic mechanism that generates IDs from hints in the code generator.

Also introduces a flexible framework to do all kinds of funky stuff with the shader code generation logic. As an example, a uniform usage profile generation class is added (unused for now, though).

Functionality can still be tested by setting the EnableShaderDebugging field in the gfx config to True. Any two shaders which are identified with the same ID will be written to a file and an error message will be written to the Dolphin log.

Version 3.5-1415Fixes Issue 6353 Remove extract apploader/dol from top level

Adding visual aid for the hardware range because that makes it easier to adjust the radius relative to it

Version 3.5-1389Added optimizations to ClassifyFloat/Double functions in Mathutil.cpp and to PPCCache.cpp

Version 3.5-1388Changing the Gecko code comparison from metadata to data comparison

because different data sometimes have the same metadata

Version 3.5-1387Reading shake force from calibration rather than a constant

because that allow maximum force regardless of calibration

Version 3.5-1386Adding condition to CoreTiming state function

because ev->type might be undefined in MODE_READ

Version 3.5-1385Create our OGL context on the same thread in the OpenGL backend. Same issue with Qualcomm not working with threading correctly.

Version 3.5-1384[Android] Properly open the navigation drawer when pressing menu or back in the game list.

Version 3.5-1383[Android] 0.3 Release

Version 3.5-1382[Android] Drop minimum Android version support to 2.3 since there is a /bunch/ of people asking for it.

Version 3.5-1381[Android] Disable OpenGL in the settings menu since it doesn't work yet. Change some theme settings so the back button shows up on screen where needed.

Version 3.5-1380[Android] Qualcomm drivers require that the EGL context is created on the same thread that the OpenGL commands are run on. Crappy driver limitation since eglMakeCurrent should work to let it be on a different thread.

Version 3.5-1379Make auto fullscreen resolution the default.

Version 3.5-1378fix auto fullscreen resolution on linux

Version 3.5-1377Add auto fullscreen resolution option. Not tested on Linux, let me know if it doesn't work (it probably does).

Version 3.5-1349[Android] Beginning of setting menu, doesn't do anything yet.

Version 3.5-1348[Android] Add in the Android Studio project files so one can use Android Studio instead of ADT.

Version 3.5-1347[Android] Copy over the Dolphin shared library to the Android APK build directory so it doesn't need to be manually copied each time.

Version 3.5-1346[Android] Qualcomm driver has a bug where it returns an invalid length for GL_INFO_LOG_LENGTH with glGetShaderiv. Qualcomm drivers seem to max out at ~512bytes returned from glGetShaderInfoLog so this is a reasonable max.

Version 3.5-1345[Android] Support DFF files in the interface.

Version 3.5-1344Merge branch 'ppd' - per pixel depth

use always ppd is a huge gpu performance drop: 20%-50%and always disable it cause some rendering issuesso there is an option againBut this time it's called "Fast Depth Calculation"

Version 3.5-1332[Android] More GLES3 things. Disable Framedumping and MSAA rendering. Remove the HLSL->GLSL shader defines since Qualcomm doesn't support this in their shader compiler. Now they get chosen in our shader generator instead.

Version 3.5-1331[Android] Beginning of GLES3 support.

Version 3.5-1330[Android] Add GLSLES3 to the GLSL version enums. Add in the version and precision qualifier to the shader header.

Version 3.5-1329GL_DEPTH_COMPONENT can't have type of GL_UNSIGNED_BYTE with glTexImage2D. Qualcomm drivers get hit with this but all else don't care.

Version 3.5-1328[Android] Use vsnprintf for the log messages.

Version 3.5-1327[Android] Add in a compiling option for GLES3

Version 3.5-1326[Android] Allow the user to select multiple browse paths.

Version 3.5-1325Fix some of the compiler warnings that have appeared recently.

Version 3.5-1324Build fix

Version 3.5-1323Merge remote-tracking branch 'john-peterson/cheat2'

Version 3.5-1321ogl: report shader compilation issues in the same way as other backends

Version 3.5-1320Forced an exception check on short ARAM DMA transfers.

Version 3.5-1319Immediately process ARAM DMA transfers if they are 1 block in length. Fixes the teleportation in Beyond Good and Evil.

Version 3.5-1251Make dolphin aware of disc revision numbers. Display them under game properties and use them in netplay. Patch by johnwchadwick. Fixed issue 6243.

Version 3.5-1250Remove all tab/space mismatches from the Core project. For anyone working on a branch that heavily involves the core, I am so sorry.

- Also killed off some trailing spaces/tabs.

- Updated the license header to be consistent with the rest of the project (All projects are now done moving over to this)

- Also, killed some dangling else's (where appropriate)

Now all the tab fixing is done. No more of this crap should be needed to be pushed. Rejoice!

Version 3.5-1249Merge branch 'VBeam-fix'

* VBeam-fix: Renamed the VBeam variable for clarity. Fixed VBeam emulation in interlaced mode, removing the hacks in the audio timing. Fixed VBeam emulation in progressive scan mode. Retained the old VBeam speed hack. This option has now been switched so that the accurate behaviour is on by default and the speed hack (inaccurate behaviour) is enabled when the option is checked.

Version 3.5-1246Buildfix for the last commit.

Version 3.5-1245Update the license file text (change SVN to Git) in all projects except Core since I was told a merge was happening soon. So for the sake of the merge going smoothly, I'll fix that when I remove the tab/space mismatches from the Core project.

Also, some tab/space mismatches removed from VideoOGL, and some places I missed in VideoDX[number] projects.

Now, the Core is literally the only project with tab/space mismatches (on a large scale).

Version 3.5-1244Android Related - A tiny simplification/readability change for NativeListView.

In this case, contains functions pretty much the same way, just more readable.

Version 3.5-1243Merge branch 'Android-trash' since it is no longer quite so trashy.

Version 3.5-1204Track the real wiimote rumble state to drop outgoing rumble reports with no effect. This eliminates constant streams of reports in various games that constantly send audio reports. (Just Dance 2, DKCR, etc.) (Speaker data reports are converted to rumble reports when speaker data is disabled.)

Version 3.5-1190Bumped up the LLE period to 12600 as it seemed to be a bit more stable.

Version 3.5-1189Forced an exception check after an interrupt is generated by the DSP. Changed the timing back to 3ms/5ms periods, fixing the slowdown and garbled AX audio. Fixed Accurate VBeam emulation when DSP HLE audio is being used.

Version 3.5-1188Merge branch 'real-wiimote-minor-fixes'

Version 3.5-1181Quick fix to get Zelda: Wind Waker booting again.

Version 3.5-1180Made the timing consistent between DSP HLE and DSP LLE. Fixes Lost Kingdoms II in DSP HLE mode.

Version 3.5-1160Make the GUI show a translated "No audio output" sound backend string.

Version 3.5-1159Fix ARM building.

Version 3.5-1158Pull updated translations from Transifex.

Version 3.5-1157Fix some more strings for translation, and update the catalog.

Version 3.5-1156Suppress warnings.

Version 3.5-1155Fix build on OS X

Version 3.5-1154Merge branch 'new-ax-hle'

GC and Wii games using the AX UCode should now work almost perfectly with DSPHLE. If you get any issue, make sure the "DSP on dedicated thread" option isdisabled, and try setting framelimit to "Audio".

As a side effect, DSP HLE should not desync anymore (making it usable innetplay and TAS) with AX games.

Version 3.5-1122Fix loading of "themes" with non-ascii character names. Fixed issue 6189. Why did GetUserPath return a non-const ref to string..?

Version 3.5-1121We can use unordered_map without pain now!

Version 3.5-1120More log elaborating. Final time I'm doing this.

Logs should actually be somewhat understandable to some people outside of programming and stuff (in a way). It's certainly better than being bombarded by abbreviations when errors/general logging occur, at least.

Version 3.5-1119Update function descriptions in GCPad.cpp and Wiimote.cpp

Add inputs. Those that still need a description are tagged with [Description Needed]

Version 3.5-1118Fix CMake warning.

Version 3.5-1117As requested apply the same changes made by rev 6958822f1957 to the D3D9 backend. handle v-sync changed while the emulation is running. thanks to neobrain for pointing the missing functionality.

Version 3.5-1116Merge branch 'osx-libcxx'

Version 3.5-1108Some more logging typos and clarifications. Missed these in my last commit.

This commit mainly elaborates on some messages a little more. Also fixes some typos that slipped through the last commit.

A large change in text can be seen in EXI_DeviceMemoryCard.cpp. I added more info as to why a write to a memory card may fail. (This actually was a reason I was unable to write to a memcard recently).

Elaborations can be seen in WGL.cpp

I did change some comments in some files that I was correcting logging messages in, however this is only if I spot a typo or if an abbreviation is lower-cased. Even in that case, the amount of changes done to comments is very minimal.

Version 3.5-1107Disable dual source blend until a valid support test is found

Version 3.5-1106Fix some typos and correct some capitalizations in the log messages.

Makes the logging look more orderly and less spammy when spitting out things.

Version 3.5-1105Use a brute force approach to test for Dual source blend support. Sorry for a direct commit to the main branch but i need fast feedback, and i don't want to leave problematic code in the main branch for a long time. if this approach does not work for the drivers with problems will transform dual source blend to an option in the D3D9 backend. I appreciate the help of the people that tested my last commit and thanks to neobrain for pointing this solution.

Version 3.5-1104Add retina display support for Mac.

Version 3.5-1103Fix Intel Ironlake since it doesn't support version 120 of GLSL. I don't have Ironlake so it is hard to test. Dropping the shaders to version 120 worked here for me, ATI may be giving me some slack though.

Version 3.5-1102only apply vsync on changes

nvidia over bumblebee slows down on changes

Version 3.5-1101Fix some strings for translation and update the pot file to include those strings once again.

Version 3.5-1100fixes for my last commit

Version 3.5-1099Implement dual source blending to avoid unneeded alpha pass. this implementation does not work in windows xp (sorry no support for dual source blending there). this should improve speed on older hardware or in newer hardware using super sampling. disable partial fix for 4x supersampling as I'm interested in knowing the original issue with the implementation to fix it correctly. remove the deprecation label from the plugin while I'm working on it.

Version 3.5-1098VideoSoftware: Fail less at clamping.

Version 3.5-1097Recommend Direct3D 11 or OpenGL instead of Direct3D 9.

Version 3.5-1096Clean up blending code a bit.

Version 3.5-1095buildfix for my last commit on Mac OSX

Version 3.5-1094Small Blending logic fix for opengl backend

Version 3.5-1093Removed some redundant code introduced in the last commit.

Version 3.5-1092Rounded the loop addresses to the nearest 16bit value in the loop comparison.

* Fast-EE: Forced the exception check only for ARAM DMA transfers. Removed the Eternal Darkness boot hack and replaced it with an exception check. Reverted rd76ca5783743 as it was made obsolete by r1d550f4496e4. Removed the tracking of the FIFO Writes as it was made obsolete by r1d550f4496e4. Forced the external exception check to occur sooner by changing the downcount.

Version 3.5-1068Fix description of disable fog, and move it to enhancements tab.

Version 3.5-1067Mark the Direct3D9 backend deprecated.

Version 3.5-1066Prefer D3D11 and OpenGL over D3D9 by default.

Version 3.5-1065Switch to using bitfields in the streambuffer class so we can exclude buggy streambuffer types. This disables pinned memory on ATI for GL_ELEMENT_ARRAY_BUFFER because it seems to be buggy. This fixes ATI for me.

Version 3.5-1060Clean up more space/tab mismatches in AudioCommon, Common, and VideoCommon.

Not planning to touch Core since it's the most actively changed part of the project.

Version 3.5-1059Clean up some space/tab mismatches in DiscIO and InputCommon.

Keeps the files consistent.

Version 3.5-1058Missed a few clang compiler flags.

Version 3.5-1057Disabled OSX x86 build since we require 10.7 minimum. This takes support back to late 2006 models. Also, Missed CG framework addition.

Version 3.5-1056GLSL: fix msaa egdes

MSAA is a optimiztion to execute the fragment shader just once per pixel instead per sample.It sounds great, but has a big issue: At edges where the center isn't in the polygon, thefragment would still be executed, but still with the center of the pixel as position.So if some calculations aren't allowed outside the polygon, the result would be invalid.

But the nice one: we can give a hint to each input to be choosen from a valid pixel,so now every pixel will be calculated with valid source.

Version 3.5-1055Properly set the DMAState flag while ARAM DMA transfers are underway.

Version 3.5-1031Ship 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 gamesusing the Zelda UCode. His ROM only has the code to handle UCode loading and afew utility functions, the rest is missing. This includes the four large soundmixing functions used by the AX UCode and the DROM containing coefficients usedfor 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% ofcases, it is now shipped by default with Dolphin and will be used with DSPLLEif you don't have an official DSP ROM in User/GC. It will still display a panicalert at every boot to notice you that you are using a non official DSP ROMmade by us, which is not perfect.

Games using the CARD, IPL or GBA UCodes are still broken. I don't know whatgames this actually impacts, but this is a very small proportion compared towhat works.

Version 3.5-1030GLSL: explicitly check for gl errors for pinned memory

Version 3.5-1029Check for HID wiimote name on Windows instead of assuming everything is a wiimote.

Merge an endless story. The branch name is a lie, it was started as glsl, but now it is a complete reworked opengl3 backend.

It just began with simple changes which aren't supported on osx.They either support ogl2 OR ogl3 core, but mixing isn't allowed.As the branch name says, the vicious circle starts with GLSL, but just implementing one wasn't possible either:- OSX supports only GLSL100 which doesn't support our shaders.- Vertex Array Objects are needed for ogl3, but not supported on ogl2- immediate mode isn't supported any more, so we must implement vertex buffers- uniform buffers are recommended as else we would need tons glUniform- postprocessing shaders have to be converted to glsl- lots of smaller outdated issues and bug fixes :-)

Thanks at all for testing and at Sonic for converting all of our shaders to glsl130

Version 3.5-647Allow playing movies from command line. Also remove some unneeded code.

Version 3.5-646Update 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.

Version 3.5-645decrease d3d vertex buffer size

Version 3.5-644Merge 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

Version 3.5-608Fix JIT from rebasing on PPSSPP ArmEmitter.

Version 3.5-607Rebase ArmEmitter on PPSSPP's base. The loadstores are making my heart cry at this point.

Version 3.5-606Update pot file for recent string changes in the code.

Version 3.5-605Update translations from transifex. Also add the transifix client configuration directory to gitignore.

Version 3.5-604Dolphin needs to be restarted before playing back a wiimote movie, so let's suggest that instead of giving an unhelpful error message.

Version 3.5-603Fix a typo.

Version 3.5-602Wow, I'm dumb. Fix mismatched set/get.

Version 3.5-601Fix a potential issue when someone has a CPU core that isn't available on that host set in the INI file, it would just fail out. Now it defaults to interpreter.

Version 3.5-600Add a comment about Qualcomm in load stores.

Version 3.5-599Fix a potential memory leak in function DecompressBlobToFile in CompressedBlob.cpp

Version 3.5-598Make sure to mask out the FPU rounding mode correctly. Good spot from LionCash.

Version 3.5-597fix debug build

Version 3.5-596Clean up PPCSTATE_OFF

Version 3.5-595fix vertexloader without jit

Version 3.5-594Merge branch 'vertex-loader-cleanup'

Version 3.5-564Add ARM Jit to GUI when built on ARM

Version 3.5-562OK, seriously, buildfix. I shouldn't even have commit access!

Version 3.5-561Buildfix for real.

Version 3.5-560Buildfix!

Version 3.5-559Use standard binary multiple unit symbols for game size display. Use integer math for the calculation as we cannot rely on floats for something as important as game size display!

Version 3.5-558Disable SSE2 check in the GUI when building ARM.

Version 3.5-557Fixed issue 5270. Don't ask me how, I just clean up code and then it works! I think it was int overflow.

Version 3.5-518Windows: Open wiimotes with the FILE_SHARE_WRITE flag like before.

This should fix issues introduced by real-wiimote-scanning.

Version 3.5-517Fix accidental change from libpulse-simple to libpulse

Version 3.5-516Fix ARM build.

Version 3.5-515Kill warning.

Version 3.5-514Eliminate some baseless restrictions in PointerWrap, mainly vector<string> not working.

Version 3.5-513Merge branch 'perfqueries'.

Adds support for PE performance metrics.Used in Super Mario Sunshine's "Scrubbing Sirena Beach" level to determine when enough goop has been cleaned up to finish the level.Also used in TimeSplitters: Future Perfect to determine the appearance of flares around light sources (e.g. sun).

OpenGL and D3D11 only. D3D9 support unlikely to be added unless anyone bothers to do the work.Initial work and D3D11 support by me. Kudos go to Billiard for adding the OpenGL support and reviving development of this branch that way :D

Slightly (~7%) decreases performance when performance metrics are used (and only then).

Version 3.5-421Fixed a JIT timing bug that prevented Eternal Darkness from booting in Single Core mode.

Version 3.5-420Gameini 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.

Version 3.5-416Revert "Don't load level 0 twice for 1-level textures in DX11." and fix it properly. All backend TextureCaches now load level 0 in CreateTexture.

This reverts commit 294cb165ba3449cc4fd96eabb5272e2984a58eb8.

Version 3.5-415Don't load level 0 twice for 1-level textures in DX11.

Version 3.5-414Fixed a buffer overflow in the OpenAL buffer.

Version 3.5-413TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs.

Version 3.5-412WII_IPC_HLE_Device_FileIO: don't rebuild the filename on every operation.

Version 3.5-411Some 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.

Version 3.5-410Removing destination on rename when source isn't present doesn't make sense. IOCTL_RENAME_FILE still might not be totally correct.

Version 3.5-402Changes/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);

Version 3.5-358Merge branch 'compiler-warnings' This shouldn't break anything so I will go ahead and merge it. Disc scrubbing is tested and works. There is a minor change to how the data is read by using the File::IOFile::ReadBytes method instead of directly using fread, but the data read is the same.

Version 3.5-356Modify the gettextize script to add the header and dolphin license to the dolphin-emu.pot file. Also update the pot file once more.

Version 3.5-355Merge branch 'translations-update'

Version 3.5-351Gameini 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.

Version 3.5-350Revert "Toggle full screen when double clicking the render window."

This reverts commit de27f0bea9ff541fddfea8a875b15372d6420f8d.

Version 3.5-349Toggle full screen when double clicking the render window.

Version 3.5-348Fix the majority of the compiler warnings unearthed by the addition of the new warning flags.

Version 3.5-347Re-enable a few more warnings.

Version 3.5-346For each of the recently added warning flags check to see if the compiler supports the flag before adding it.

* 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

Version 3.5-258Merge branch 'unix-fastmem'

Version 3.5-256Fix two unsigned/signed mismatch warnings.

Version 3.5-255Change audio latency setting to a wxSpinCtrl, fixes layout problem on linux.

Version 3.5-254- Made GenRandomCode's 'size' parameter unsigned. Doesn't make sense to have the capability of being able to be negative.

* 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

Version 3.5-228Fix bug: reuse after free. static should not have been used here.

Version 3.5-227Improve an error message.

Version 3.5-226Fix hang on Linux Dolphin close when wiimotes are connected.

Version 3.5-225Make IsValidBluetoothName just check for "Nintendo RVL-" rather than having a bunch of hardcoded names.

Version 3.5-224GetTextureBGRA()'s 'width' and 'height' parameters should be unsigned.

Version 3.5-223This changes Linux to control Wiimotes on the interrupt channel. Which in turn allows -TR wiimotes to work in Linux.

Workaround for issue 5864 disabling parts of an optimization in the JIT. Thisis not the best solution to fix this issue, but at least it does not crash.

Version 3.5-137Revert 30dd9c2 e9d00bf db5f4c8 and bff0fae

Version 3.5-136Fixed the infinite rumble problem caused by r4d6056f14625.

Version 3.5-135Fix some warnings. Changes suggested by nerzhultheking.

Version 3.5-134Added 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:

Version 3.0-886TextureCacheBase: Delete textures completely instead of just invalidating them in ClearRenderTargets. That's what would've been done in the next TCB::Load() call, anyway. Fixes issue 5742.

Additionally, change efb copies to specify 1 as the number of mipmaps because that makes more sense than anything else.

Version 3.0-880If the HOME environment variable isn't set, fall back on to PWD. Closes 5584.

Version 3.0-879Adds the Wii Korean settings file. It was handled in the wii-network branch in rev c42a6f156e2c. Master handles the settings files differently. Until wii-network merges in to master, this closes issue 5642.

Version 3.0-878Fix OSX build once again. Apparently OSX needs to get with the times.

Version 3.0-877PixelShaderGen: Drop some useless and potentially buggy code.

Thanks to glennrics for noticing.

Version 3.0-876OSX build fix for the unordered_map/hash_map issue.

Version 3.0-875Allow input displays to work without an active movie.

Version 3.0-874Clean up gcc/g++ compiler warnings that have accumulated.

Version 3.0-799- Added a new wilcard for importing savegames, which basically shows all saves (gci, gcs and sav). This is set as default (I really got frustrated of having to change the type every single time when making tests for GCMM, and I think it makes more sense at user level to just show all saves regardless the format)

- In icon retrieving I removed the "format check" as it shouldn't really matter to have mixed icon formats. Also removed the "Time splitters hack" as there's no reason for it since we are only checking the last 3 bits and I'm pretty sure having bits 1 and 2 set is the same as having them unset.- Icon retrieving uses AnimSpeed as stop signal (every icon must have an speed set, the first speed that is 0 means there are no more icons)- Also, in icon retrieving I added support for "blank frames"(Luigi's Mansion and Pikmin that I know of). With this the base for icon animation is complete.- Fixed PSOIII savegame patch which was wrong before.

Signed-off-by: LPFaint99

Version 3.0-797Test the audio loop with aligned addresses. Fixes the high pitched squeal in Muramasa.

Version 3.0-796Merge 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.

Version 3.0-793i'm still not using a branch to fix the name of a variable

Version 3.0-792Readd memory card detection for movie code. I deleted this before, intending to move it elsewhere, but never did

Version 3.0-791Fix Snow Leopard compatibility

Checking for clang in Xcode bundle seems pointless, command line tools should be installed.Setting the path explicity to avoid fink/macports/homebrew prevents use of locally installed packages like clang and wxwidgets.Realistically using opencl means the minimum OSX version targetable is 10.6.Correct TARGET_SYSROOT check, add required -mmacosx-version-min to linker flags.Also using wxwidgets gl component.

Version 3.0-790Some code cleaning for my last commit.The amount and size of the buffer is now changed to "new hardware" frienly values and will fall back to the right values if hardware does not support them.My next commit will be to a branch, with my ogl work.

Version 3.0-788More movie cleanup. Removes the remaining globals that didn't need to be global, rearranges some code to make more sense, and removes some redundant code.

Version 3.0-787Misc movie cleanup and fixes

Version 3.0-786Keeping padding right is so hard

Version 3.0-785Save disc changes to .dtm, and load the full movie header every time it's loaded.

Version 3.0-784Hey, long time no commits :).So to compensate lets bring back some speed to the emulation.Change a little the way the vertex are send to the gpu,This first implementation changes dx9 a lot and dx11 a little to increase the parallelism between the cpu and gpu.Ogl: is my next step in ogl is a little more trickier so i have to take a little more time.The original concept is Marcos idea, with my little touch to make it even more faster.What to look for: SPEEEEEDDD :).Please test it a lot and let me know if you see any problem.In dx9 the code is prepared to fall back to the previous implementation if your card does not support the amount of buffers needed.So if you did not experience any speed gains you know where is the problem :).For the ones with more experience and compression of the code please test changing the amount and size of the buffers to tune this for your specific machine.The current values are the sweet spot for my machine.All must Thanks Marcos, I hate him for giving good ideas when I'm full of work.

Version 3.0-776Optimize JitCache::InvalidateICache by maintaining a "valid blocks" bitset

Most of the InvalidateICache calls are for a 32 bytes block: this is the number of bytes invalidated by PowerPC dcb*/icb* instructions. Profiling shows that a lot of CPU time is spent checking if there are any JIT blocks covered by these 32 bytes (using std::map::lower_bound).

This patch adds a bitset containing the state of every 32 bytes block in RAM (JIT cached/not JIT cached). Using that, a 32 bytes InvalidateICache can check in the bitset if any JIT block might be invalidated. A bitset check is a lot faster than an std::map::lower_bound operation, improving performance of JitCache::InvalidateICache by more than 100%.

This function still takes more time than it should - more optimization in this area might be possible (specializing for 32 bytes blocks to avoid useless memcpy, for example).

Version 3.0-775Implement a simple benchmarking mode which logs FPS to a file

Very useful to compare performance between two builds, check the impact of a configuration option, etc. FPS log is stored in User/Logs/fps.txt and is reset each time you launch a game. Only enabled if you check the "Log FPS to file" option in your graphics settings.

Could be improved a bit: currently logs only every 1s (so you can't really see small variations), maybe output more infos to the fps.txt like average/stddev (but Excel/Libreoffice/Google Docs can compute that easily too).

Version 3.0-770Should actually load the backend when it changes via game INI

Version 3.0-769Allow the user to set graphics backend from Game INI. Zero GUI option available for setting.

Version 3.0-768This changes a mmap in MemArena so you don't need 786MB of memory free to actually allocate the 1GB memory space in Linux 32bit. I was also running in to this issue in my development. Kudos to plbl4ster to actually taking the time to research this. Closes issue 5625.

These merges, while in theory improving emulation accuracy, cause issues in other parts of the emulator based on invalid assumptions. memcard-delay fixed some of these issues in the EXI memcard code, but several other problems still exist and I don't have the time to debug that right now.

Version 3.0-765Fix broken build when using SDL from Externals.

The problem here was the logic that detects SDL in the main CMakeLists.txt is not the same as it is in DolphinWX/CmakeLists.txt to set libraries. When using SDL from Externals it failed at link time because -lSDL was never set. This fixes the problem by using the same condition logic to set the libs as used when detecting SDL in the first place.

/dev/shm is not a tmpfs mountpoint on that operating system. Use /tmp but keepthe unlinking to avoid useless disk IO.

Version 3.0-757Merge branch 'memcard-delay'

Version 3.0-755[Linux] Change from using /tmp to /dev/shm in MemArena so we don't cause any disk IO, also unlink file while it is open to allow multiple instances running. This was discussed months ago, but was never implemented for whatever reason.

Version 3.0-754FifoPlayer: Fix fifo log playback in dual-core mode.

Version 3.0-753Use do { ... } while (0) for the *_LOG macros

Without this patch, such code would not compile:

if (cond) WARN_LOG(FOO, "msg");else WARN_LOG(FOO, "msg2");

Version 3.0-752bugfix for memorycard manager. fixes exporting from page > 1 on slot b, thanks to suloku for reporting

Signed-off-by: LPFaint99

Version 3.0-751Added a check for out of bounds memory accesses. Fixes Avatar: The Last Airbender (GC).

Version 3.0-750Revert the recent zcomploc changes including the Graphic_Fixes merge.

Reason:- It's wrong, zcomploc can't be emulated perfectly in HW backends without severely impacting performance.- It provides virtually no advantages over the previous hack while introducing lots of code.- There is a better alternative: If people insist on having some sort of valid zcomploc emulation, I suggest rendering each primitive separately while using a _clean_ dual-pass approach to emulate zcomploc.

Version 3.0-735Fix accesses to the 16 lower pixels of the EFB with OpenGL

The GL EFB cache did not clamp correctly the coordinates when computing the rectangle it needed to cache, leading to negative values being used as indexes and often crashes.

Fixes issue 5510.

Version 3.0-734Optimised the JitCache struct size from 88 bytes to 80 bytes. Thanks to Lioncash for the patch.

Version 3.0-733Use the right modifier for hotkeys on Mac Fixes issue 5324.

Version 3.0-732Merge branch 'bba' OS X support not impl

Version 3.0-721Re-add hack to use SDL/SDL.h ifndef _WIN32.

The correct convention is to use #include SDL.h in all cases but we have to do this so Externals/SDL builds, which isn't in the best shape.

Version 3.0-720Add periodic effects for haptic devices.

This adds support for drivers supporting sine, square and triangle periodic haptic effects. This allows rumble to work on devices/drivers supporting these effects, such as an xbox controller using the xpad driver under Linux.

Version 3.0-684Checked 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".

* 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.

Version 3.0-651Merge branch 'gx-optimization'

This branch reduces the number of useless state flushes in the video emulation layer by checking whether a BP/XF change will have an effect or not. Greatly reduces the number of GL calls per frame.

Thanks to degasus for his help!

Version 3.0-645Merge branch 'hires-tex-improvements'

Version 3.0-638Fixes issue 5428. Thanks delroth.

Version 3.0-637Moved the _FILE_OFFSET_BITS=64 definition before the dependency checks. Fixes compilation on Linux x86.

Version 3.0-636Changed a JMP that needed to be a far JMP in JITIL.

Version 3.0-635Invalidated the JIT cache when the dcbst instruction is used.

Version 3.0-634Changed 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.

Version 3.0-633Implement a better heuristic to detect whether an ELF is for GC or Wii

Version 3.0-632Fix DVD root path for Wii games. Now Wii games can be booted using extracted files instead of a disc image.

Version 3.0-631Fixed texture encoding in DX11. Thanks to wordmanwords for the patch.

Version 3.0-630Fixed texture encoding. Fixes the interaction with objects in Another Code R. Thanks to wordmanwords for the patch.

Fixes issue 5405.

Version 3.0-629Add Wii DVD integrity checking to Dolphin

This allows users to easily check whether their Wii dump is corrupted or notusing the Dolphin properties window. Right click on a game, Properties,Filesystem tab, then right click on the game partition and select "Checkpartition integrity".

This may have some false negatives due to the unused clusters heuristic (seethe comment in VolumeWiiCrypted.cpp). False positives are unlikely.

Version 3.0-601Corrected the file offset within the FST of virtual disks (used by the DVD Root path function).

Version 3.0-600Merge 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.

Version 3.0Tons of bug fixes: This totally deserves to be a major point for this release. There's been roughly 2500 commits between 2.0 and this release, so there are REALLY too many changes to mention. All kinds of stuff from strange UI behavior, crashes, graphical glitches and other sorts of problems were fixed. For example, many games which didn't boot at all in Dolphin are working fine now.Improvements to the user interface: The configuration dialogs were restructured in a more sensible manner to ease emulator usage for new users. The video config dialog received a complete overhaul and features a description panel for each option now.Various feature additions: This release also features support for the Wiimote speaker, EFB format change emulation, a gfx debugger, audio dumping, and many other stuffLow level DSP emulation: Thanks to numerous fixes to the LLE emulator engine, audio emulation in Dolphin is close to perfect now (provided that one has the necessary DSP dumps of course)New API support: Added a D3D11 video backend and an XAudio2 audio backendRemoval of the plugin interface: The 2.0 release already had seen the introduction of plugin rewrites; the new plugins have been brought to feature parity and replaced them so well, that we decided to merge all plugins the Core. Further improvements are better suited as additions in the current infrastructure since this architecture allows for a much better integration with the other parts of Dolphin.Translation support: Recently we introduced supporting for translating Dolphin into any language. However, due to a lack of well-done translations it was decided to only ship a set of eight translations (Arabic, Brazilian Portuguese, French, Greek, Hungarian, Portuguese, Spanish, Turkish) with Dolphin 3.0.Performance/Accuracy: There have been some performance optimizations (especially in the texture decoder), but generally speaking performance decreased in favor of more accurate hardware emulation.Building Dolphin: The Windows build uses MSVC 2010 now, Linux users should use the new CMake build system. OS X people still compile Dolphin via SCons.

Rev 4525Lots of code cleanup and the like, as well as the highlights:

Dolphin GUI:Fix issues with dialog windows accepting keyboard input.

Dolphin Core:Fixed SPS in Soul Calibur 2 with JIT.Fixed the good 'ol TLBHack, which might fool some games into running again.Implement an opcode which makes it possible to get into the NES games in Animal Crossing - unplayable graphics though ;p'Rewrite memory management, hopefully banishing "failed to map 1 gb contiguous memory" 32-bit Dolphin errors to history'Fix Peek_Color bug that was only present in JIT x64 build.Added Lua Interface for scripting actions within dolphin! (Currently loads and runs scripts from file)

Version 4466Dolphin GUI/Integrated Tools:Memcard Manager: Fixed exporting gci filesMany fixes related to the GUI now supporting unicodeMove to wxAUI, which is wxw-speak for GUI with decently modern features TongueGamelist has new, improved look and feel (you can jump to games alphabetically with you keyboard)Added ability to dump full filesystems from GC and Wii discs. For GC discs, this includes the main apploader and dol

* Implementation is enough to get some games running, but requires more work for more games Smile

Many fixes to Netplay featureAllow plugins to be specified from the command lineFix some issues with loading WADsStabilization of savestatesAdded "Reset" function - the equivalent of tapping the reset button

Debugger:Enable editing of registers displayed in the register windowAdd ability to flip between ASCII and floating point values in mem view

OpenGL plugin:Remove unneeded projection hacks

DirectX plugin:Fixed up and FAST! (literally too many fixes for me to list ;p )Enable toggling of safe texture cacheEnable toggling of EFB reads from cpu

Software Graphics plugin (NEW!):Totally new plugin, intended for debugging and very accurate emulation - SLOW, don't feel the need to tell the team to make it faster Smile

DSPLLE plugin:More reversing done, more left to go Smile

DSPHLE plugin:Fix various games booting where they would hang beforeReversing and implementation of many of the more intricate behaviors of ucodes, expect better sound in most games.

DSPSpy:Improve SD interactionFix rom dumping

Misc:OSX build compiles and runs...(yes, even Snow Leopard)OpenCL is being actively worked on to speed up texture conversion and other areas. Not enabled in normal builds yet.Many, many tweaks here and there to increase speed, stability, and code cleanliness

Version 3972:-Wii menu boots again!-Change disk works again!-Frameskipper!!!!!!! game are more playable if they were slow due to gpu.-wiimote is working again.-tons of sound fixes.-more jit speed ups.-DVD covers are reported like a real wii - MP3 now boots again.-multi crashes fixed in games and gui.-some memory leaks fixed.-framelimiter working better.-FPS display is tons better.-lots of work on wii input for linux and macos builds.-work on decompressing wii iso's-Fix "Show EFB copy regions"-TAS support added and working.-FIFO bug fixes.-GH3 Guitar support added to wiimote plugin tested and works fine.-fixed most jittering issues with games. I still rarely see it in 1 game.-Add Taiwan to the Country Codes 20:beta auto frameskipping limit (if framelimit & frameskipping is on, it wont skip more then needed or the maximum you set)

Version 3661:- Good news, the Duel Core bug has been corrected. we can now enjoy ZWW and SMG in its full speed goodness! bins comming soon.- This has to be one of the best releases we have done in a long time! With Super Mario Galaxy and Zelda Wind Waker both having functing sound. Also, Super Mario Galaxy having its Graphical issues fixed and is now completelly playable! Download and post some screen shots on the Super Mario Galaxy thread in the previous news post! Check the svn changes for more details on whats been changed/fixed in the source code.- Mario Kart DD is fully working as well with sound.- We are aware real wiimotes are not working currently and its being looked at now.

Version 3404:Notable changes since the last bi-weekly build:

* Fixed idle skipping in the JITIL build. * Fix handling of various pad modes Luigi's Mansion finally has correct triggers * Some possibly major speed boosts to the JITIL build (try with ProfiledReJIT = True in [Core] section of Dolphin.ini) * More intuitive scaling/resolution settings for the OpenGL plugin. * Mad hax included to patch Wave Race: Blue Storm * Improvements to Wii file handling: some VC games (Zelda: A Link to the Past!) can succeed where they didn't before. Also fixed other things, probably too numerous to mention. * OpenGL: fix leaking of fragment shaders * Some improvements to the wii dvd device, can almost boot from wii menu

New features: * File platform is shown in the gamelist, and it is a sortable category. * WAD files can be shown in the gamelist * Framelimiter added (from Iulius) * Added ability to tack on custom shaders in the OpenGL plugin.