Commit Graph

1510 Commits

Author SHA1 Message Date
ayuanx efc7cd6581 Sanity check, this could help us to figure out the ARAM DMA crash.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4956 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-25 09:48:27 +00:00
Shawn Hoffman 675e984514 fix issue caused by r4941: ppc debugger would think the instruction size was 0, which is rarely a good thing
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4952 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-24 18:29:50 +00:00
Glenn Rice 177ec96472 Make sure wiiuse is cleaned up on exit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4947 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-24 14:14:47 +00:00
Shawn Hoffman d81555108c gcc buildfix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4942 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-24 06:51:32 +00:00
Shawn Hoffman 2f8a6f86b9 quiet some compile-time warnings
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4941 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-24 04:49:33 +00:00
LPFaint99 ed8742dd4d Fix changing disc on win32, (my dumb mistake, strlen doesnt include \0)
make changing disc a little less ugly
Fixes issue 2114

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4939 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-24 03:17:42 +00:00
hrydgard 420d2bc502 (Minor timer library code cleanup)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4917 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-21 19:55:01 +00:00
Marko Pusljar 49d9180266 small fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4915 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-21 14:30:52 +00:00
LPFaint99 98583da7ba Reenable my change from r3999, works correctly now due to godisgovernment's change in r4437 (adding EXIDEVICE_NONE)
Fixes issue 1152.
Fixes issue 1229.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4913 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-21 06:35:58 +00:00
Sonicadvance1 d70bb07580 These are required to be set to get JIT and JITIL working in OSX, will be looking in to it a bit to see why these break it, if I can
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4897 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-19 20:59:18 +00:00
j4ck.fr0st 832a616cb0 removed now obsolete build configurations Release_JITIL from vcproj and jittest from scons
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4896 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-19 20:21:17 +00:00
j4ck.fr0st 05b1bfd733 linux build fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4894 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-19 19:50:31 +00:00
hrydgard 39d570dc70 (linux build fix)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4893 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-19 19:44:04 +00:00
hrydgard 562ed5e8a5 forgot a file, sorry
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4892 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-19 19:35:16 +00:00
hrydgard 576990c5a3 JitIL is no longer a separate .exe/binary - it's now a simple option, Dolphin.exe now contains both cores.
Advantages:
* Less confusion for users
* No need to build twice to make sure you didn't break something
* Easier to switch between the cores for testing

Disadvantages:
* None, as far as I can tell :) Maybe some extra code complexity, but not much.

Also break some include chains that caused <windows.h> to get included into everything, slowing down the build on Windows. There's more to do here though, there's still a lot of files that get it included that don't need it at all.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4891 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-19 19:28:27 +00:00
j4ck.fr0st 8fec36b22a position and size of the main window are now saved (fixes issue 2035)
Note that running in debug mode (Dolphin.exe -d) still maximizes the window and stores that size aswell.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4879 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-18 18:01:03 +00:00
skidau 335c056586 Fixed the button states in the toolbar when loading, starting, and stopping a game.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4877 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-18 12:10:51 +00:00
skidau 9df31a9747 Implemented tlbie instruction
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4875 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-18 04:39:01 +00:00
skidau 8245e4115d Fix for saving SaveStates - VirtualEFB does not exist any more, so do not try to save it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4874 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-18 03:55:54 +00:00
hrydgard 53408a695f Fix EFB reads in fastmem mode by removing the EFB mapping (forces it to go through the right handlers). Enable fastmem mode in x64. 1-2% speed boost overall maybe :p
Disable the Redundant MOV warning in release mode, it's only enabled in debug builds now.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4870 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 21:28:39 +00:00
hrydgard 3e01152793 Shader Disk Cache implementation for D3D. Saves generated shaders on disk. Eliminates "freeze jerks" in D3D plugin the _second_ and later times you play something.... not much to do about the first time. The D3D shader compiler is just slow.
Also assorted cleanup around the shader code.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4869 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 17:44:09 +00:00
hrydgard f50e3cf5fe Add code for frsqrtex to JIT. Disable the table-based implementation in the interpreter until we find something that it actually fixes, so far it seems like it breaks stuff.
Assorted cleanup around the JIT of flags that we don't need anymore.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4867 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 11:47:35 +00:00
Shawn Hoffman 4927e5607e Do ARAM DMA less often, and in larger chunks. hopefully it adds some speed, but probably only a tiny amount.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4865 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 07:20:15 +00:00
skidau 59e7c19380 drkIIRaziel reversed engineered the frsqrte instruction providing hardware accurate emulation.
The algorithm and lookup table are 99% accurate which is far better than the approximation that Dolphin had previously.

The frsqrte instruction is used for a lot of 3D graphics functions so this change may help fix graphics glitches.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4864 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 04:29:44 +00:00
hrydgard b61b04352e Stop Story Mode in F-Zero GX from crashing. Story mode still doesn't work though, it just stops.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4862 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 01:16:16 +00:00
hrydgard b84a1823b2 Hopefully fix all remaining quantizer issues in Mario Kart Wii:
* must use a truncating float-to-int conversion, for example.
  * introduce optimized variants of the single value psq_st operation (JIT only).
  * fix bug in SafeWriteRegToReg when swap = false

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4861 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 22:44:49 +00:00
hrydgard 4aeec95513 Temporarily disable a couple of unsafe quantizer optimizations. they will return in a better form.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4858 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 20:05:37 +00:00
hrydgard 48e3f0e17f delete some leftovers
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4856 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 19:06:11 +00:00
hrydgard 901316e61b (assorted cleanup and reindent that didn't belong in the quantizer change)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4855 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 19:01:00 +00:00
hrydgard 1848e93790 RIP "Optimize Quantizers" option. Now using the safe quantizer code from JITIL in all builds.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4854 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 19:00:09 +00:00
skidau efe20c93e8 In the Interpreter, marked mtmsr as an "end of block" instruction, making it consistent with the JIT tables.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4849 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 04:43:07 +00:00
skidau fa5823ad9a Minor bugfix to the TLB cache
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4848 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 03:55:53 +00:00
skidau b3b7ed2a2f FPU NaN and negative zero fixes. Verified against the real hardware.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4847 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 03:43:16 +00:00
j4ck.fr0st 5cd81033c3 Taking screenshots now creates an extra folder for each Game ID.
Fixes Issue 1905

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4842 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15 16:11:06 +00:00
Shawn Hoffman c7e055d1f5 small buildfix for debug
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4840 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-15 15:28:21 +00:00
skidau 9c264a1047 Implemented MMU:
* 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
2010-01-15 14:39:27 +00:00
hrydgard 75c1661e19 Fix mtsrin/mfsrin instructions. Not likely to change anything since they are only used by MMU code which doesn't work right anyway.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4837 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-14 22:16:12 +00:00
Marko Pusljar d7b4175605 JITIL : fixes games that require "EnableFPRF=True" under jitil
- Super Monkey Ball
- Super Monkey Ball 2
- Virtua Striker 2002
- ...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4836 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-14 16:59:52 +00:00
ayuanx 571a47ef9a This could alleviate the suffering of dual core synchronization a bit.
But I doubt you would notice it in most cases.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4830 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-14 10:52:14 +00:00
hrydgard 2db709aeb6 Add "Auto Aspect Ratio" to both graphics plugins. It's the new default, so you can forget about switching aspect manually from now on. In the Auto mode, aspect ratio is automatically set depending on whether it's a Wii or GC game, and whether the global Wii Widescreen setting has been set. There is still the possibility to override, which can be useful for the very few GC games that do support widescreen.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4828 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 21:11:02 +00:00
ayuanx 5aac8a5437 Fixes Issue 2004
This also mutes the sound when paused in Debug mode.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4825 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 14:18:13 +00:00
ayuanx 429691ce96 This should settle the FIFO BP critical games like Metroid Prime 2
G2ME01.ini

[Video]
FIFOBPHack = 1

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4823 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 11:42:04 +00:00
ayuanx ecdcffc7cf Fixes Issue 1997
This also makes the CP FIFO hack obsolete.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4821 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-13 09:03:55 +00:00
ayuanx 98ce4c4d8f Dedicate Wii SD Card & Wii USB Keybaord settings
When they are disabled, you get over 50% speed boost in Wii Menu.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4804 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-11 11:56:17 +00:00
nakeee 345f922549 1. Removed the waitfordeath time out as it seems to crash dolphin every now and then
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
2010-01-11 07:14:30 +00:00
LPFaint99 183804e442 Small unicode fix for extracting files (ISOProperties.cpp)
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
2010-01-11 05:07:56 +00:00
fgfemperor 175162e661 Fixed Issue 1979 - Crash when scanning WAD files with no title information...
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
2010-01-09 22:03:20 +00:00
ayuanx f472e2904d Now Progressive Scan actually works for those games that really depend on this setting (Try Mario Kart Wii)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4798 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-09 17:11:59 +00:00
daco65 6575f9d03a error 003 fix when booting system menu 4.2. note that the 0x45 doesn't actually have a name tho
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4796 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-08 22:11:18 +00:00
ayuanx a3cfafcd12 1. Expanded Framelimit range from 20 to 120 in case someone wants to run a little faster than full speed but still controllable not like wild OFF.
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
2010-01-08 21:57:31 +00:00
ayuanx 9ed2d1957a This should fix Issue 1960
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
2010-01-08 11:25:51 +00:00
ayuanx 9cbd508181 1. This should fix Issue 1625 (Bizarre Auto Frame Limit)
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
2010-01-07 20:01:41 +00:00
fgfemperor 64167bcb60 Now you can switch between Emulated and Real WiiMotes, connect more Real Wiimotes and even pair them up (if you have MS BT Stack) during gameplay!
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
2010-01-06 19:26:52 +00:00
ayuanx 516f7a4ca1 An attempt to fix Issue 1919 (Multi-Wiimote Freezing)
Please test.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4787 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-05 17:39:06 +00:00
nakeee ea4225f9fd Cleanup of the Device usb code, now we don't compare u32 to NULL.
Please someone who knows the code take a look to make sure I got it right.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4785 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-05 08:07:06 +00:00
bztdlinux cbf5929276 Patch from stgn:
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
2010-01-04 01:28:47 +00:00
ayuanx 72b1570e08 Fixed Issue 1928
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
2010-01-03 23:05:52 +00:00
skidau e55c3793b6 Readded the "Loading settings from" log at the INFO log level.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4772 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-01 20:12:31 +00:00
skidau 746b9eeaab Stop spamming the file log without being asked to. Removes the "Loading settings from" and "Starting application" notices being written to the file log when the file log was not enabled.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4770 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-01 09:13:08 +00:00
sl1nk3.s 5877961354 Some fixes to Stop() process.
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
2010-01-01 03:55:39 +00:00
fgfemperor 7359b3b2a6 Now Dolphin officially supports multiple REAL WiiMotes!
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
2010-01-01 00:38:24 +00:00
ayuanx 2788222be3 Fixed Issue 1888, marco.calautti's patch
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4761 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-31 18:37:47 +00:00
ayuanx d4a1b97ac9 Fixed OpenGL shutdown issue in single core mode.
Thanks to sl1nk3.s

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4758 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-30 16:26:16 +00:00
ayuanx 151ff28ab7 Fixed mem leak caused by not releasing pad & wiimote plugin when shutdown
Fixed main frame crash after shutdown

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4755 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-30 14:37:12 +00:00
ayuanx 97779ea295 1. Proper shutdown, hopefully no crash anymore (Continuation of skidau's work)
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
2009-12-30 09:00:43 +00:00
skidau a93a30e688 Fix for negative zero in fnmsubsx (interpreter)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4742 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-29 09:11:26 +00:00
ayuanx d62d6b0c33 Now Dolphin officially supports Multi-WiiMote (up to 4)
* 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
2009-12-27 19:31:02 +00:00
XTra.KrazzY 4d6b14cc97 Tiny memleak fix?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4733 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-26 16:21:03 +00:00
ayuanx 6014fa6524 Oh Yeah! Now ASK!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4731 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-26 14:16:21 +00:00
Shawn Hoffman 37a5be0e00 remove dvd threading. shouldn't hurt performance - should make doing anything dealing with DI access a lot more sane (especially for GC)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4730 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-26 02:57:17 +00:00
ayuanx 4240cf9053 Wiimote: More work, don't ask, no answer
nJoy: Maybe this could reactivate multi-pad?

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4729 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-25 22:10:56 +00:00
ayuanx 06218e9ebb Sound System Rework: Phase 2 (cont'ed)
. Fixed super fast refresh rate issue

. Recovered <TAB> shortcut key for ThrottleSkipping

. Removed redundant "soundstream->Update()" in DSPLLE
  (Thanks to LordMark)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4728 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-25 11:59:04 +00:00
magumagu9 eddafd450e Fix an extremely silly copy-paste error.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4727 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-24 05:21:07 +00:00
ayuanx 9eea60ca69 Sound System Rework: Phase 2
. 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
2009-12-23 15:34:14 +00:00
skidau 0d0a7c515f JITIL fixes:
* 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
2009-12-23 10:51:02 +00:00
Shawn Hoffman fa19e7f299 Fix a small mistake with ecowx/eciwx opcodes (thanks ayuanx)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4721 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-23 08:14:23 +00:00
ayuanx 24d8839793 Sound System Rework: Phase 1
. 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
2009-12-22 07:26:30 +00:00
Shawn Hoffman 0da21aa115 SI: still works with things that check status reg, also doesn't make games like MK:DD hang.
(there's plenty to be done in SI, but for now...it "just works" ;p )

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4715 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-22 06:45:00 +00:00
Shawn Hoffman 5e7607b700 replace SI_DUMMY with SI_NONE, an actual null device.
tweak SI a little so that it doesn't block things which block on the status reg.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4713 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-21 07:39:57 +00:00
ayuanx 97090337e3 WC24 config and mailbox files
Don't let the BIN suffix mislead you, they are not binary code

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4709 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-18 12:09:17 +00:00
ayuanx 077768501b Now Mario Kart Wii can create/read/write save file correctly.
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
2009-12-18 08:54:45 +00:00
luigi2us e39b844af6 FileIO: one more experiment: now MKWii can be played without a save file AND saves its data successfully!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4707 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-17 22:56:03 +00:00
luigi2us 0176879e45 IPC: let's try that: when reopening a device, return the device's ID, rather than an error code.
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
2009-12-17 19:45:13 +00:00
Shawn Hoffman bb81ea26ca implement ppc opcodes eciwx/ecowx in interpreter. I think it's safe to do nothing for eieio
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4705 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-17 19:17:22 +00:00
luigi2us 734daf362b FileIO: update m_FileLength upon writes, so that MKWii doesn't end up seeking in rksys.dat at incredibly huge offsets.
MKWii still fails to create a new save file.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4704 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-17 19:11:40 +00:00
Shawn Hoffman f2c060d8cb Implement some previously unknown gekko/flipper cpuid-type regs
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4698 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-16 08:59:18 +00:00
Shawn Hoffman 19f3ed11c7 Small fix for loading wii dol/elfs with no disc present. Now EmulatedBS2() returns true only if apploader has run (since if it hasn't, we need to load the code ourselves)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4695 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-14 19:24:55 +00:00
Shawn Hoffman 2d10a47c2b fix issue where loading wii game then loading gc game would cause garbage audio
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4690 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-14 01:20:56 +00:00
Shawn Hoffman fffc4e7fe3 re-add enough of the wierdo audio buffer from MEM1 hackish-thing for wii sports to work...someone needs to convince me that this is actual behavior ;p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4689 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-13 18:16:16 +00:00
Shawn Hoffman 4fe3e46725 Add the mixer change from issue 1479 (use sleep(1) instead of cpu yield)
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
2009-12-13 07:42:15 +00:00
ayuanx fad1fa4e3d Improved XTra.KrazzY's Mute-On-Pause a bit, so it won't cost any CPU time when it is not used.
Revert old Zelda-TP hack, though it really shouldn't be there...



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4684 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-12 22:30:53 +00:00
ayuanx 7be17e6531 An attempt to fix Issue 1749.
Whoever has "Zelda - Twilight Princess" please also test this revision.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4683 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-12 17:02:43 +00:00
Shawn Hoffman 57d2f39cb0 fs/fileIO: add enum for open mode, and struct for NANDStat.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4682 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-11 21:36:26 +00:00
ayuanx a751efcc6e Trying to constrain the seek position when file is empty doesn't work out either, sorry.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4680 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-11 10:32:33 +00:00
ayuanx 0e5dc5b2ce Oops, a quick bug.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4679 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-11 09:57:18 +00:00
ayuanx 2b7d1d294b Cleanup FS and FILEIO a bit.
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
2009-12-11 09:47:30 +00:00
ayuanx d901fd2e38 [Regression] Fixed the loading of some WADs that were broken (again! :() since r4646.
Added /dev/usb/hid into hardware device list.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4675 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-10 20:24:27 +00:00
ayuanx 9f06dd9a0a An attempt to resolve the issue roused by r4660, it needs tests though.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4672 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-10 16:44:42 +00:00
Shawn Hoffman cf55a09e08 some cleanup in IPC_HLE_Device_usb. Add /dev/usb/hid as a null device. Just nag me if i've messed up /dev/usb/oh1/57e/305, so much moving around o_o
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4670 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-10 09:16:34 +00:00
Shawn Hoffman 805bd8ec28 VolumeDirectory: allow loading of arbitrary apploader and dol. Code cleaning around the bootup logic.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4668 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-10 09:16:10 +00:00