Commit Graph

2443 Commits

Author SHA1 Message Date
skidau f7ce27c91d Fixed the audio streaming "blocks left" register by making it zero-based. Fixes DreamMix TV World Fighters (GameCube). 2012-04-02 22:14:11 +10:00
LPFaint99 6bfb8c9597 small fix to writing memorycards, open as r+b so the file is not cleared when opening. should eliminate the 0byte memory card files reported http://forums.dolphin-emulator.com/showthread.php?tid=21964 http://forums.dolphin-emulator.com/showthread.php?tid=22631 http://forums.dolphin-emulator.com/showthread.php?tid=22098 2012-03-31 14:03:19 -07:00
Matthew Parlane 5c27e27a4a Oops how did that compile... 2012-03-31 16:26:41 +13:00
Matthew Parlane 763916a779 Comments about DVDLowAudioBufferConfig 2012-03-30 20:13:29 -07:00
Matthew Parlane 404a6b9ba8 Fixes issue 5330. 2012-03-30 20:10:48 -07:00
LPFaint99 f7c17c6351 Merge branch 'GCMemcardFixes' 2012-03-29 14:39:01 -07:00
NeoBrainX 2356def0d4 Merge branch 'fifoplayer_updates'.
This adds an "Analyzer" tab to the fifoplayer dialog which allows to conveniently browse through all register pokes that are being sent by the game each frame.
There's also a search function, but it doesn't work all that well for anything but simple searches at the moment. However, I'm merging this anyway since I'm not sure if I'm going to finish this.

Note that due to recent fifo changes, it's not yet possible to run fifoplayer in dual-core mode.
2012-03-29 22:50:45 +02:00
Sacha 5f85815922 Remove inherited variable that was no longer used. Clean up. 2012-03-29 17:01:59 +10:00
Shawn Hoffman 2ee5e5cebc Merge branch 'scons-removal' 2012-03-28 00:02:04 -07:00
Shawn Hoffman 48eb791a4e Merge remote-tracking branch 'timowiren/master' 2012-03-25 13:21:25 -07:00
Shawn Hoffman 48bfca3c86 Merge remote-tracking branch 'adlr/macwiimote' 2012-03-25 13:15:38 -07:00
Shawn Hoffman d15740daf1 Merge branch 'wxw3-update' 2012-03-25 12:27:38 -07:00
Timo Wiren cb92805445 Spaces to tabs. Removed a comment. 2012-03-25 13:01:26 +03:00
skidau fa2b4cd8fc Quick fix for minimum number of cheat codes needed to activate Gecko. 2012-03-25 04:13:41 +00:00
Timo Wiren 11959a3781 Matching new and delete. 2012-03-24 19:41:13 +02:00
skidau 33e20cf76d Added a check for active Gecko codes before installing the Gecko code handler.
Fixes issue 5279.
2012-03-23 23:36:23 +11:00
Andrew de los Reyes d3361494ce WiiremoteReal for Mac: Find Wiimotes by name.
The decided way to find Wii Remotes is by their bluetooth name, so
this patch introduces common code to identify if a given string is a
valid Wiimote name.

On Mac, when scanning bluetooth, consult the function with all found
bluetooth devices.
2012-03-22 20:55:41 -07:00
Andrew de los Reyes 93b78d7139 WiimoteReal for Mac: Send commands on interrupt channel.
There are two ways to send commands to Wii Remotes:

- On command channel, with a first byte of 0x52. This works on
  Nintendo RVL-CNT-01, but not Nintendo RVL-CNT-01-TR wiimotes.

- On interrupt channel, with a first byte of 0xa2. This works on
  Nintendo RVL-CNT-01 and Nintendo RVL-CNT-01-TR wiimotes.

This patch switches Mac from the former to the latter. Windows and
Linux remain unchanged.
2012-03-22 20:17:28 -07:00
Andrew de los Reyes af8690a7d8 Revert "Add Support for Wii Motion Plus INSIDE Wii Remotes on Mac OS X."
This reverts commit c9dfcf8cf7.

That commit attempted to support all Wii Remotes on Mac OS X, but the
logic was incorrect, and as a result the original (non-TR) Wii Remotes
were broken by that change.

Future patches will address this problem in a better way.
2012-03-22 20:06:52 -07:00
Shawn Hoffman 56b1373baf Remove scons-related files 2012-03-25 12:55:02 -07:00
Shawn Hoffman f7423a0a4f Merge branch 'master' into wxw3-update
Conflicts:
	Source/Core/DolphinWX/Src/LogWindow.cpp
2012-03-22 17:57:38 -07:00
Matthew Parlane d95e31af3f Fixes issue 4932 AGAIN :D 2012-03-22 22:52:12 +13:00
Matthew Parlane dc1cde4581 Re-enabled stfs, was caused by fast fp, thanks delroth! 2012-03-22 17:25:43 +13:00
Pierre Bourdon 70b6c4280f Compile with /fp:precise instead of /fp:fast in release mode on Windows
/fp:fast was introducing FP precision problems, and mixing it with some
/fp:precise code caused strange game behaviors, DSI exceptions and freezes.

This commit should fix most of the issues introduced by 3.0-73 (r95517a97).

Thanks to hatarumoroboshi@hotmail.com for tracking a lot of these Win32 bugs.

Fixes issue 4906.
Fixes issue 5138.
Probably fixes (not tested) issue 5067.
2012-03-21 22:43:44 +01:00
skidau 5e2fd45203 Merge fix 2012-03-20 21:01:15 +11:00
skidau a60a0825a3 Merged 'FifoBusy' branch. Thanks
to marcosvitali.

Added an external exception check when the CPU writes to the FIFO.  This allows
the CPU time to service FIFO overflows.  Fixes random hangs caused by FIFO
overflows and desyncs like in "The Last Story" and "Battalion Wars 2".  Thanks
to marcosvitali for the research.

Added some code to unlink invalidated blocks so that the recompiled block can be
linked (speed-up).

This release still fixed the hangs produced by fifo overflow without sacrifice
performance. For example you can test Tutorial moves at the beginning of The last history now
is fluid 30/60.

Fixed possibles random hangs in DC mode.
Fixed hangs in DC mode in (Simpsons, Monkey Island, Pokemon XD, etc)
Implemented accurate management of Pixel Engine Interrupts.  Now the GPU loop
is stopped when a PE Interrupt needs to be managed and resumed when Pixel Engine
finish.

Fixed Metroid Prime 3 and 2 desync. And other games with desync because of
FIFO Reset. That happens because  FIFO_RW_DISTANCE_HI must be written first, for checking
fifo.CPReadWriteDistance == 0, so some fifo resets was not managed in the right
way.

Fixed Super Monkey Ball in some cases when the game write the
WriteReadDistance need to be safe like the SafeCPRead.

Improved the CheckException for the GatherPipe writes in JIT, now only the
External Exceptions are processed.

Fixed definitely Pokemon XD in dual core mode. This game is doing something
not allowed. It attach to CPU the same fifo attached to the GPU in multibuffer
mode. I added a check to prevent overwrite the GPU FIFO with the CPU FIFO. If
the game do that on breakpoint the solution can fail.

Fixed ReadWriteDistance calc when CPRead > CPWrite.

Added Token and Finish cause to GP Jit checking.

Additional cleanup in CommandProcessor.



Fixes issue 5209
Fixes issue 5055
Fixes issue 4889
Fixes issue 4061
Fixes issue 4010
Fixes issue 3902
2012-03-20 19:37:25 +11:00
Matthew Parlane 14ea442382 srawx fixed thanks to boo toe. 2012-03-20 19:51:42 +13:00
Shawn Hoffman c0992cc73e Build fix:
Don't use isascii() - just do it ourselves
Bump required wxw version (for shared libs)
There still seems to be linking issues on some linux distros, I can't reproduce it though...
2012-03-19 23:16:01 -07:00
Shawn Hoffman dd5df17688 forgot to save my buffer :( 2012-03-19 12:07:47 -07:00
Shawn Hoffman cf52029b51 Check if the game's ID is valid before accessing it to set the ntsc u/j register. Prevents discs without a real ID from crashing dolphin. 2012-03-19 11:12:40 -07:00
Shawn Hoffman ff6023df27 Change wxString(<string>, wxConvUTF8) method of creating unicode from filenames to wxSafeConvertMB2WX()
(Just applied to FrameTools.cpp for now)
Allows one to properly restart Pokémon by hitting play :P

Ignore non-ASCII strings passed to DisplayMessage(). These strings would end up going to renderer display and statusbar/titlebar, which can't handle them properly.
2012-03-19 10:37:15 -07:00
Matthew Parlane 418f46ea72 Fixed memory leak. And added braces to match the rest of the switch statement in FileIO. 2012-03-19 18:08:16 +13:00
marcosvitali 20eca1bf7e Ive fixed definitely Pokemon XD in dual core mode. This game is doing something not allowed. It attach to CPU the same fifo attached to the GPU in multibuffer mode. I added a check to prevent overwrite the GPU FIFO with the CPU FIFO. If the game do that on breakpoint the solution can fail.
Fixed ReadWriteDistance calc when CPRead > CPWrite.
Added Token and Finish cause to GP Jit checking.
2012-03-18 22:54:58 -03:00
Shawn Hoffman c5d746f3d8 remove scons files from VS projects 2012-03-18 06:41:12 -07:00
Matthew Parlane 8479d5bdf7 Some code clean up. I am terrible at coding styles... 2012-03-18 21:50:07 +13:00
Matthew Parlane 6fe495e1aa Fixed Pokepark 2! Maybe... :D Don't trust save states, although I think they are correct. File fd's were too large. Let me know if file related loading stops working in some games. fds are many to 1, not 1 to 1. ES has two instances available at a time. Sadly a clean up requires changing IWII_IPC_HLE_Device Constructor, as a deviceID doesn't make much sense per device. I won't do this until we have less branches :| 2012-03-18 21:00:23 +13:00
skidau 05692b1e7e Sped up to the Dolphin debugger by not checking for breakpoints when stepping.
Fixed the JIT cache, invalidating one instruction length at a time.
Fixed a bug where the JIT cache did not get invalidated when stepping.
Disabled fused instructions in the debugger.
2012-03-16 20:08:05 +11:00
skidau 8ed6ea3b07 Sped up the Dolphin debugger in JIT mode by splitting a block only while stepping or when it contains a breakpoint. The block is invalidated when a breakpoint is set or cleared.
Fixed a bug in the JitCache where the JIT icache was not being invalidated when a block containing the instruction was destroyed.
2012-03-15 21:48:19 +11:00
skidau 0ed8af2287 Forced reload of the native Gecko Code handler if the game overwrites it.
Fixes issue 5225.
2012-03-13 23:41:40 +11:00
skidau dc79d68e72 Added the corresponding change from r352ab2ba4394 into JITIL.
Tidied some code.
2012-03-13 22:35:11 +11:00
Matthew Parlane b37c468039 Fixes issue 5269
Sorry guys but I needed to disable stfs so that Pokepark 2 would not freeze(?). Feel free to put some effort in to finding out why, I do not understand Jit sorry.
2012-03-13 23:42:30 +13:00
marcosvitali 352ab2ba43 Improved the CheckException for the GatherPipe writes in JIT, now only the External Exceptions are processed.
We Didn't Check 0x0008000 in PowerPC::ppcState.msr this was killing the performance, this also fix a hang when this check is performed.
SMG for example.
Deleted the HiWatermark condition from GPFifo.
Please test games affected in this  Revision 9e649ce798, and games affected in this Revision b0f75f17ae.
I do not want to excite the game players of 'The Las Story', but Could test again the random hangs with this rev?

Thanks
2012-03-13 01:44:10 -03:00
skidau bf76b802a7 Fixed the in-built Dolphin profiler. 2012-03-10 16:24:13 +11:00
Matthew Parlane 880992b10f Fixed DoState and removed unneeded class variable. 2012-03-07 00:22:55 +13:00
Matthew Parlane 53d2d9718f Fixes issue 2917 and possibly others like 5232 2012-03-06 23:32:13 +13:00
Matthew Parlane e8e2c241d7 delroth pointed out that it should be "starts with" not "contains". Unlikely this has ever affected anyone.... 2012-03-06 23:31:59 +13:00
Matthew Parlane 614c43029f fixed files so they can have more than one handle opened at a time. 2012-03-06 23:31:48 +13:00
marcosvitali b0f75f17ae This release still fixed the hangs produced by fifo overflow without sacrifice performance.
For example you can test Tutorial moves at the beginning of The last history now is fluid 30/60.
Shuffle2: I've delete the hacky line, I think is not necessary anymore. Additional some clean in CommandProcessor.
Please test The Last Story and others games affected in the previous commits and give me a feedback.
2012-03-05 02:40:10 -03:00
skidau a53916ff5d Changed the detection of FIFO write addresses to writes at the gather pipe boundary. This speeds up games which frequently write to the gather pipe like the pre-rendered movies in The Last Story.
Added some code to unlink invalidated blocks so that the recompiled block can be linked (speed-up).
2012-03-04 23:42:33 +11:00
skidau 5de8366db2 Made the invalidation of the FIFO write JIT blocks more selective (efficient). Fixes the slowdown in the House of the Dead: Overkill cutscenes. 2012-03-04 08:10:46 +11:00