* Added BAT algorithm
* Page Address translation algorithm is now used in all games
* Added TLB cache
* Temporarily forced JITIL to use the slow memory access for Win32 when playing tlbhack games.
F-ZERO GX is now playable. It works only on JITIL in the 32bit version. It works in both JIT and JITIL on x64.
The MMU code may fix other games that are crashing.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4839 8ced0084-cf51-0410-be5f-012b33b47a6e
use at your own risk as it has been tested only to the point that a real wii recognizes the save on an sd card
Please post test results here or on issue 1945
removed the automated backup when importing from a save.bin
fixed display of pokemon titles in memcardmanager
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4829 8ced0084-cf51-0410-be5f-012b33b47a6e
Goal is complete/near complete RE of DSP_UC_6A696CE7 (GC AX), and hopefully ROM.
From there, seeing the additional changes in other GC AX versions (there are only 4 others, with minor differences), should be "simple".
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4818 8ced0084-cf51-0410-be5f-012b33b47a6e
addis, cmpis, xori operate on ACx.M instead of ACCx
addax, subax, movax use whole AXx reg, not just AXx.L
addpaxz uses whole AXx instead of AXx.H
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4817 8ced0084-cf51-0410-be5f-012b33b47a6e
if it hangs on stop now please report so we can fix it.
2. Change linux to use the same threading module in single core mode as windows
Anyone knows which revision broke dual core mode on linux?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4803 8ced0084-cf51-0410-be5f-012b33b47a6e
Change some PanicYesNo to AskYesNo so that they will always show (WiiSaveCrypted.cpp)
Adds more country filtering options to Gamelist (france, italy, korea, taiwan, and unknown country)
Misc. fixes for potential crashes that can only occur with a corrupted dump == check filesize of a dump before spending time looking for the cause of a crash :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4802 8ced0084-cf51-0410-be5f-012b33b47a6e
Removed the panic alert about HCI_CMD_INQUIRY because it doesn't crash Dolphin or anything like that...
It's called from MiiChannel, when you try to upload your Miis to a WiiMote.
And it works just fine! (except for the warning "Can't find Wiimote by bd: xx:xx:xx:xx:xx:xx", which is really odd)...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4800 8ced0084-cf51-0410-be5f-012b33b47a6e
2. Fixed a bug (for Win 32bit) that reports "No possible memory base pointer found!" even when there IS valid memory base found.
3. Made Metroid Prime 2 (maybe also other games) boot
PS: There is definitely some initialization problem with Dolphin (not found exact location yet), which prevents Metroid Prime 2 from first time booting (If you boot some other GC game first, stop it, then MP2 can boot without problem).
So I added an instant BP hack that can make MP2 boot even at first time.
And I've tested all my games to guarantee it won't break any game that already boots before this hack.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4795 8ced0084-cf51-0410-be5f-012b33b47a6e
Also fixed the crash when clicking OK while having one WiiMote active.
Nunchuck's gravity is kinda wrong, don't know why though, We don't know if it's Wiiuse's fault or if the nunchuk has different vars...
Punchout @ingame the nunchuk gravity also doesn't work...
All the work done by sanchez!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4794 8ced0084-cf51-0410-be5f-012b33b47a6e
Also makes VPS visible as sl1nk3 suggested, so that it won't confuse people with a wrong percentage of speed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4791 8ced0084-cf51-0410-be5f-012b33b47a6e
Now the frame limiter yields on CPU thread, not as before on GPU thread mistakenly
2. Fixed clear of VI interrupts
I guess VI interrupts are not used at all, because they were never cleared before
3. Made GPU thread 0% processor usage when paused whatever your active config is.
I tried the event approach but somehow the thread resume latency is excessively long (Who can tell me why?)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4790 8ced0084-cf51-0410-be5f-012b33b47a6e
All you gotta do is Pause the emulation! That's useful for when your batteries run out during gameplay, for example...
But if you change the WiiMote source (between Emulated, Real or Inactive) you must disconnect and reconnect (Menu Tools -> Connect WiiMote) the WiiMotes affected by the change...
Thanks to jack.fr0st who did all the emulation state notification work!
Now every plugin has a way to know the current emulation state (paused, stopped or playing)
@ayuanx: I thought about doing a PostMessage(g_WiimoteInitialize.hWnd, WM_USER, WIIMOTE_DISCONNECT, current_number); so that the user gets asked to reconnect that WiiMote, trying to avoid having to disconnect and reconnect, but it didn't work because shooting that message only asks to reconnect, doesn't do a disconnect... Do you have any ideas on how to accomplish that?
Also, if anyone could check if Issue 1916 is finally fixed... Or at least when is the cursor being hidden or not...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4789 8ced0084-cf51-0410-be5f-012b33b47a6e
It's really helpful since pairing up using Microsoft's Stack is a real pain!
Thanks to jack.fr0st and sanchez who did most of the work!
Note: IT ONLY WORKS WITH MICROSOFT BLUETOOTH STACK!
Also you should press the Refresh Real WiiMotes button after everything is paired up! (Because it takes a while for the drivers to get installed)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4786 8ced0084-cf51-0410-be5f-012b33b47a6e
so far only tested with NSMB save (which works)
!!backup any existing save before importing save for the same game!!
also adds VS files and folders to the ignore list
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4784 8ced0084-cf51-0410-be5f-012b33b47a6e
JitBlockCache::GetCompiledCodeFromBlock() now casts the correct pointer, which allows the PPC <-> x86 translated code viewer to work.
Fixes issue 1935.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4781 8ced0084-cf51-0410-be5f-012b33b47a6e
Fixed Issue 1917
(Since wxWidgets is not allowed in core, so I moved the popup window to CFrame)
*Maybe* this could also fix Issue 1919?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4780 8ced0084-cf51-0410-be5f-012b33b47a6e
"VideoFifo_CheckEFBAccess()" & "VideoFifo_CheckSwapRequest()" should be moved to a more suitable place than inside function "Fifo_EnterLoop()", which wastes considerable amount of CPU time (exhausting one core completely even when paused) and also makes VPS inaccurate.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4778 8ced0084-cf51-0410-be5f-012b33b47a6e
This also fixed Ikaruga, not sure whether it could fix Metriod Prime. If not, how about disabling EFB copy?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4777 8ced0084-cf51-0410-be5f-012b33b47a6e
This makes the log line a bit too long in my taste so if anyone got
an idea of how to make it look nicer i.e making it optional or adding it only to errors/warnings
do share
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4776 8ced0084-cf51-0410-be5f-012b33b47a6e
2. Fixed Issue 1909
Multi-Nunchuck control problem
3. Updated SYSCONF, which should enable games that require MotionPlus, such as "Wii Sports Resort"
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4773 8ced0084-cf51-0410-be5f-012b33b47a6e
Fixes a crash when the slot selected to use Real WiiMote is greater than the number of Reall WiiMotes connected...
For example: We have 1 Real WiiMote connected, and the user selects the 4th WiiMote as Real WiiMote...
Also Let's you choose between Inactive and Emulated when the game is running... But you must disconnect and connect the wiimote for the emulated to start working (Via Menu -> Tools -> Connect)
I'm trying to figure out a way of allowing change to Real WiiMote while the game is running... It can be done when the game is paused, but I can't find a way of detecting if the game is paused =\
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4771 8ced0084-cf51-0410-be5f-012b33b47a6e
Unbreak linux stop on Single Core, remove an unnecessary wait event, fix DSP HLE/DSP LLE/OGL plugin hang on stop when the config dialog has been opened (nJoy and Wiimote still need to be fixed), avoid the CpuThread to be stuck in the efb/swap loop by setting a flag before the thread is actually shutdown (contrary to r4756 which was setting it.. after :D)
Clear the status bar Framerate/Core message when the game is stopped.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4769 8ced0084-cf51-0410-be5f-012b33b47a6e
Only downside: You can't change between Real and Emulated WiiMotes while the game is running anymore... This is due to the way the Real WiiMotes are assigned to the slots...
I've tested it with 2 real WiiMotes, but I can't see why it wouldn't work with 4!
Also, you can assign Real or Emulated WiiMotes to any one of the four slots that it will be respected!
Happy New Year everybody!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4765 8ced0084-cf51-0410-be5f-012b33b47a6e
- It's worth noticing that both in OGL and D3D the Config options for Always and Auto Hide Cursor have no effect. I can't get (read) those values in D3DBase.cpp ...
* Some more key bindings
* Removes duplicate ifdef _Win32 from VKToString
* Made VKToString a little faster (smarter) (but don't expect any speedups though...)
* Corrects Pal60 name in Config (it was Pal6)
I'm still trying to figure out why the Toggle Fullscreen Button doesn't work...
Also I really thought about commiting my changes to Wiimote_real, which are tested and working for 1 real wiimote, but I need someone to test them with more than one real wiimote (I only have one)... See Issue 1876 ...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4757 8ced0084-cf51-0410-be5f-012b33b47a6e
2. Connect/Disconnect Wiimote on the fly, no need to pause game
PS: Toggling full screen by ESC in DX9 doesn't work yet, it will close Dolphin instead at the time.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4754 8ced0084-cf51-0410-be5f-012b33b47a6e
And I'm afraid there are even more wxString::FromAscii() :(, hopefully they don't need to be displayed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4748 8ced0084-cf51-0410-be5f-012b33b47a6e
Wii games now show their description in the gamelist instead of the company (= always "N/A"), fix SJIS handling using wxString code instead of Win32 code, fixes some broken characters in the gamelist and ISOProperties.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4740 8ced0084-cf51-0410-be5f-012b33b47a6e
* You can connect/disconnect one or more WiiMote from Menu->Tools any time (must pause game first)
* Up to 4 Emulated Wiimotes can work together at the same timer
(PS: "Wiimote_Real" needs to be rewritten to support Multi-WiiMote, and it could be broken already now)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4736 8ced0084-cf51-0410-be5f-012b33b47a6e
This fixes on WiiMote Button Mapping:
Num /
Num *
Num Decimal
Num Separator
Num Lock
Right Alt -> But on keyboards that have "Alt Gr" keys it still gonnal report it as Left Ctrl, because when you press it, the OS sends a Left Ctrl then a Alt key...
Also fixes on SimplePad Button Mapping:
Num Decimal
Num Separator
Num Enter
Num Lock
Right Shift
Right Ctrl
Right Alt
Also it now differs Left (Ctrl|Shift|Alt) from the Right ones...
All keys should be working now... I left "Print Scrn" and "Pause" out because I don't think those can (or should) be bound...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4735 8ced0084-cf51-0410-be5f-012b33b47a6e
Show the correct name for the HOME key when pressed on Button Mapping dialog. (It was displaying "Num 7" when you pressed the Home button (the one above "End")).
Yeah, I know, it really is a silly fix... But hey, it's still a fix! =P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4734 8ced0084-cf51-0410-be5f-012b33b47a6e
. Performance boost
(Completely non-blocking between Sound thread and CPU thread, in the meantime keeping them thread safe)
. Both 32KHz & 48KHz sound can be handled properly now
(But up-sampling is still not implemented, and I don't think any game requires it.)
. Strategy adjustment
When your PC is *NOT* capable to run the game at 100%:
>> DSound Could yield more fluent sound than OpenAL sometimes, but you will lose the sync between video & audio (since audio is played before video to guarantee fluency)
>> OpenAL Ensures video & audio are always sync'ed, but sound could be intermittent(to let slow video catch up)
. Changed default frame limit to: Auto
(Somehow this can dramatically decrease the chance of wiimote desync in game NSMB)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4724 8ced0084-cf51-0410-be5f-012b33b47a6e
* ble involving CR flags was branching the wrong way around.
* xorx now works when sent the same register for both the src and dest
* lbzu disabled (same as JIT) fixing a Dolphin crash
* JITIL provided with the memory exception handler fixing crashes when memory is read out of bounds.
These fixes are able to get F-Zero GX in-game when JIT FloatingPoint is disabled. Once in-game, F-Zero retires the player just like it does in JIT.
This change might fix Dolphin crashes involving JITIL in other games too.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4723 8ced0084-cf51-0410-be5f-012b33b47a6e
. Fixed Sample Rate for DSP
(Now if your CPU is capable to run game at 100%, you will get pure sound without buzz or static noise)
. Fixed Sample Rate for AI
(Now if your CPU is capable to run game at 100%, you will get sync'ed video and audio)
. Fixed Backend list for DSPLLE
. Improved Aduio DMA a bit
(There might be a completely redesign in following phases)
WARNING: The whole rework will take time to complete.
This commit is compilable, but could be unstable.
So you can try it and test it but don't take it as a release rev!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4717 8ced0084-cf51-0410-be5f-012b33b47a6e
- Add an option to enable the EFB scaled copy *TODO find a better place for it to go.
SOIL - Update stb_image to the latest version (1.16 to 1.18)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4716 8ced0084-cf51-0410-be5f-012b33b47a6e
There was a problem with the fog calculations... Now NSMB shows the background, while the fog still works!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4714 8ced0084-cf51-0410-be5f-012b33b47a6e
But Dolphin's sound stream system really needs a rethink.
Because this is the root cause of constant blocking.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4711 8ced0084-cf51-0410-be5f-012b33b47a6e
BTW: I doubt "Zelda Twilight Princess" save file might be broken since r4704, anyone who has got this game please have a test.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4708 8ced0084-cf51-0410-be5f-012b33b47a6e
MKWii can now be played even if you don't have a save file, but it will fail to save and tell the file is corrupted each time you'll launch it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4706 8ced0084-cf51-0410-be5f-012b33b47a6e
Because commenting out this behavior fixes Silent Hill Shattered Memories.
If this commit breaks any game, please report.
PS: There is a EnterCriticalSection in fifo.cpp, which performs the Read Access, but there is no EnterCriticalSection in CommandProcessor.cpp which performs the Write Access, so how can we guarantee the Write Access is atomic?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4694 8ced0084-cf51-0410-be5f-012b33b47a6e
Fix aram handling in wii mode - was doing strange things with aram AND mem2 space - only mem2 exists on wii. Let me know if this breaks anything...
Fix Wii BS2 HLE - don't zero out bytes 6 and 7
Thanks to skidau for finding the ssbb error cause :)
Fixes issue 303
Fixes issue 1479
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4687 8ced0084-cf51-0410-be5f-012b33b47a6e
Fixed issue: XInput trigger source cannot be selected
Added proper close of SDL_Joystick
But still nJoy and Wiimote cannot share the same gamepad. It needs to be figured out how to do it with SDL.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4686 8ced0084-cf51-0410-be5f-012b33b47a6e
PS: Mario Kart Wii cannot create a new savedata because it tries to seek position in file "rksys.dat" with a very huge number even though it already knows the file is newly created, and then write to that file with 2MB data of all zeros (wrong mem addr?).
Can't find a reason yet.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4678 8ced0084-cf51-0410-be5f-012b33b47a6e
changed the blending functions for the logic ops emulation, now the accuracy is the best possible with the functions available in D3D.
if someone is interested i'll post how i get this values :) please test and let me know the results.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4673 8ced0084-cf51-0410-be5f-012b33b47a6e
in D3D and Opengl:
fixed one nasty bug in texture loading where if a dynamic texture keeps his format but the tlut format is changed, the try or reloading the texture in the same texture could cause a hang if the size of the resulting texture is different than the original (size in bytes)
Applied a ugly temporal hack to the texture conversor to solve efb to ram misalignments and effect distortions.
in D3D:
Pseudo implementation of logic ops using basic blending: the first 8 operations are "good approximations", the remaining 8 are bullshit :) if someone have a better approximation to emulate this logic please let me know.
please test if i don't break anything in the process and test Mario kart wee you will get a nice surprise.:)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4656 8ced0084-cf51-0410-be5f-012b33b47a6e
2. Change the frequency of WiiMote report sending to 100Hz which complies with real Wiimote hardware.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4655 8ced0084-cf51-0410-be5f-012b33b47a6e
2) Commented out "SendEventNumberOfCompletedPackets()", I intend to have wider tests on this, if **this revision** causes frequent wiimote de-sync, please report.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4647 8ced0084-cf51-0410-be5f-012b33b47a6e
This enables you to use knife on a keyboard instead of an analog stick in games of "Resident Evil: Umbrella Chronicles" and "Resident Evil: Darkside Chronicles".
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4642 8ced0084-cf51-0410-be5f-012b33b47a6e
How to: First bind Roll & Pitch to "Analog 1" or "Analog 2", then set Roll Degree and Pitch Degree both to: "Free Swing".
Now in games, you can swing your emulated wiimote to Up/Down/Left/Right by simply pushing your binding analog stick to Up/Down/Left/Right.
PS:The swing direction will automatically adjust itself when "Upright Wiimote" option is checked.
Now you can play "Mad World" with emulated wiimote. :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4641 8ced0084-cf51-0410-be5f-012b33b47a6e
opengl: a little code cleanup and possible speedup in texture recreation.
d3d and opengl :plugins corrected the efb alignment when efb to ram is used.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4637 8ced0084-cf51-0410-be5f-012b33b47a6e
No need to use "Sound Loop Hack", so I just removed it.
2. Fixed the WAD game loading issue. What can I say, I have to go though and patch all the WII_IPC_HLE devices to take care of this.
3. Applied tomman's Linux keyboard patch, but I can't test here, no suitable environment.
4. Disabled configuration dialogs when game is running, you have to pause game first to be able to change any configuration. (Which prevents some accidental crash to happen.)
5. Other trivial fixes, no need to mention.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4632 8ced0084-cf51-0410-be5f-012b33b47a6e