2732 Commits

Author SHA1 Message Date
Soren Jorvang
540238cf79 Prepare for the release of Xcode 4, which has working LTO
with static libraries.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7280 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-03 04:35:03 +00:00
Jordan Woyak
4b8ed4f2c8 Remove a pointless cast. Name the DSP thread.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7279 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-03 04:32:37 +00:00
Shawn Hoffman
bda0794adb Reload sysconf file on stop in order to preserve changes committed during emulation
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7277 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-03 00:07:33 +00:00
Glenn Rice
12cd2d41ec Change YieldCPU to sleep(0) like on windows. Time trials show this to be the most effective. Also, when using usleep(1) and dsp on thread the emulator is painfully slow. With the old _mm_pause() the emulator hangs on shutdown. With sleep(0) the emulator is faster, and doesn't hang on shutdown.
Also fix a possible undefined operation (according to gcc).


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7275 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-02 22:19:56 +00:00
Shawn Hoffman
a80429b020 Fix the wiimote speaker problem in the core and remove the HLE patch for it.
Real wiimote tested on windows, untested but should work on linux, dunno about osx.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7272 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-02 12:06:06 +00:00
Glenn Rice
3af93e8cf3 If the DSP LLE can not find the needed ROM files exit the emulator without crashing the application. Also reimplement soren's revision 7195 in a way that works on linux and windows. (This makes it easier to clean up the video backend if the DSP emulator fails to initialize.)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7271 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-02 05:16:49 +00:00
Marko Pusljar
6073600084 DSP: implemented saturation in dsplle-int
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7270 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-01 20:20:04 +00:00
Glenn Rice
a5b471f490 More conversion from char * to std::string.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7266 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-01 03:06:14 +00:00
Glenn Rice
ba54fac9eb Convert GetUserPath to return a std::string instead of a const char *. This simplifies its usage in most cases.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7265 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-28 20:40:15 +00:00
pierre
d56390407f Core/DSP: Access all registers except ST* through the regcache
No speed difference, probably because our basic blocks are
too small to contain more than one access to any register
or used too seldom for multiple accesses to make a difference.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7260 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-27 18:04:35 +00:00
Glenn Rice
217ee43063 Fix a memory leak in the breakpoint window.
Parent message alerts by the active window.  This way if another window is open it isn't pushed behind the main window.  We probably should parent the message alerts by the calling window instead, but this may be good enough.
Make sure there is only one instance of some modeless windows (Cheats Manager and Net Play).


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7257 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-27 02:27:43 +00:00
pierre
8351177738 Core/Core/Src/DSP: Drop the indirect addressing hackery from DSP Jit
Was made possible by the move of Core/DSPCommon to Core/Core.
This should not give a significant speed difference, but frees
another register for register allocator use on x64 and
generally simplifies the code.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7252 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-26 21:30:49 +00:00
Glenn Rice
992f8be5b0 If video backend initialization fails, have the emulator die gracefully instead of crashing the application. Also a little clean up of the passage of the video window handle to the backend and back.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7248 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25 21:14:13 +00:00
Shawn Hoffman
d7a9dc7df8 debugger: better saving/loading of breakpoints/memchecks to file
no more softice style :(

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7240 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25 09:35:56 +00:00
Glenn Rice
7d3ad0b1fe Fix the hang on windows when wiimote refresh is used during a game.
Fixes issue 4161.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7239 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25 05:19:59 +00:00
Shawn Hoffman
ef63bccfc1 vs2010: make -d be passed to debugfast builds launched from vs
revert r7200. instead, wrap the Interpreter_FloatingPoint.cpp in fp:precise for msvc

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7238 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25 04:00:16 +00:00
Shawn Hoffman
de25440bb3 debugger: don't make spacebar step the ppc.
don't call UpdateGUI() each time the statusbar is updated.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7234 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-24 05:59:46 +00:00
skidau
9680d3ac95 Added an option to disable the Wiimote speaker. The checkbox has 3 states:
Ticked = Clear sound but a bit unresponsive to controls
Filled = Same as r7225
Clear = Disable speaker

The option is in the Wii tab of the configuration.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7231 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-23 10:01:04 +00:00
Shawn Hoffman
39573ca959 Use HLE::Patch, so struct order doesn't matter. add a fun symbol :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7228 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-22 16:18:43 +00:00
Shawn Hoffman
85227934d6 unbreak OSPatches[]
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7227 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-22 15:07:38 +00:00
Soren Jorvang
2b6a8c1cf8 Build Speaker.cpp.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7226 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-22 14:06:06 +00:00
skidau
d92aad4430 Added Wiimote speaker support by hack patching out the IsBusyStream function using HLE. DSP LLE is required to process the speaker data. This commit works with real Wiimotes. I have added the code to decode the audio from the emulated wiimotes but have not added the code to output their audio to the PC speakers.
* Added HLE function IsBusyStream which signals that the Wiimote is ready to accept speaker data.  This function is not a conversion from the real PPC code.  It a simple function that returns the "ready" status after being polled.
* Added code to find and patch HLE functions on boot
* Added 4bit Yamaha ADPCM decoder from the ffmpeg project
* Removed some test code
* Added some copyright notices

Fixes issue 438.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7225 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-22 12:48:35 +00:00
Shawn Hoffman
6e4923399e revert r7212 (express users must modify a single line, instead)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7220 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-21 15:17:41 +00:00
Glenn Rice
3b6f7644fd Make log options an AUI window instead of a dialog.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7217 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-21 15:01:00 +00:00
Shawn Hoffman
62cb8ebe46 Force dolphin to use the windows7.1sdk (the windows7.1sdk installer is silly and refuses to recognize that vs2010 exists).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7212 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-20 18:08:20 +00:00
Shawn Hoffman
d93a548983 setup ios revision (makes some wii demos shutup)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7204 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 21:40:03 +00:00
Shawn Hoffman
1f5d54f5a6 Handle NaN in fselx. Fixes issue 4106.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7200 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 09:56:54 +00:00
Soren Jorvang
198e29be07 Call Video_Prepare() before starting the CPU thread.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7194 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-18 23:52:14 +00:00
Soren Jorvang
a51b99795e Also delay video plugin shutdown for the main thread in the non-dual core case.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7192 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-18 14:27:30 +00:00
Soren Jorvang
2183588030 Also don't shut down the video plugin until after HW::Shutdown.
Not sure if this is necessary, but it matches the previous behavior.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7190 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 19:33:50 +00:00
Soren Jorvang
2ce4b29ae2 Initialize video before HW as required by non-USE_WX platforms.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7189 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 19:13:44 +00:00
Soren Jorvang
fa80f4074d OS X' IOBluetooth class requires that device discovery and device
connection establishment be done in the same thread, which caused
problems when the now persistent device connections could be
initiated by either opening the wiimote config dialog or starting
the emulation.

This same thread doesn't necessarily have to be the main (GUI)
thread, but it fits with the current other init case in the wiimote
config dialog and doing it in the main thread and would be required
if we should want to use the IOBluetoothUI framework in the future
for having the user input a pairing key for permanent syncing.

Also move a few other bits of code from the emu thread function
into Init() and Shutdown() so it only does those things that need
to be in that thread's context. I am not sure about video setup
so I have left that in EmuThread() for now.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7188 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 17:51:18 +00:00
skidau
855bcfa40c Added an option for input display. This option shows the controls read by the emulator at each frame. GameCube controls in all four ports have been implemented. Wii controls are todo. The option can be found in the graphics settings. This option is usually used for tool-assisted speed-runs (TAS).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7186 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 09:12:36 +00:00
Marcos Vitali
c7ae0eb0d1 Big Fifo Commit Part2: Now the fifo is more stable than my first commit, so is time...
- ReImplementing Single Core Mode like Dual Core Mode Style.

- Stage 1: My goal is, we have the Fifo, CommandProccessor code the more clear, maintenible and documented possible. When I quit dolphin I want any developer can continue with the work only reading the code.
	
* Big Refactoring: A lot of functions was changed the names, and modularized.
Now the FifoLoop and CatchUpGPU does not exist, was replaced by RunGpu() and RunGpuLoop().
The general idea is modeling the code like the real HW. The fifo is only a buffer where the Write Gather Pipe write the commands and from the Graphic Processor read these.
* Big Clean UP a lot of obsolete code and comments was deleted, like DcFakeWachDog, "Fifo very soon hack", etc.

In the stage 2, I will refactoring more code doing emphasis in the division of CommandProcessor, Fifo, Gpu Emulation. Beside I will comment all functions and variables in the code (Don't worry I will ask for English help for this part ;) )

Please test a lot SC mode and DC mode :)
Thank you so much for testing always and the patience. I don't like broke your favorite game but... you must believe me this part is very sensible, I only try to contribute for have a better and stable dolphin emulator.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7185 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 04:25:21 +00:00
smelenchuk
0cc0618e6d GC input recording: Record the on/off state and the analogue state of the L/R triggers separately (gets rid of an arbitrary numeric constant of 230 which isn't elsewhere in the code and should solve some issues with Metroid Prime recordings).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7179 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-15 23:38:44 +00:00
smelenchuk
d7bda211fd Have playback of input files stop upon reaching the frame count designated in the header, preventing that number from being tampered with and assisting in recording verifiability. Adjusted the "resume recording from end of playback" code to account for playback stopping in the middle of a movie as above.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7176 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-15 17:03:20 +00:00
skidau
fb4c82fb48 Added the feature to allow creating a TAS movie from a save state. To activate this function, start the game and use the "Start recording" command. A save state will be created at that point in time and the emulator will start recording. This results in two files, a .dtm containing the movie and a .dtm.sav which is the save state.
Changes:
* Allow events to be scheduled when the emulator is not running.  This allows the save state event to be added before the emulator starts.
* Removed the Audio back-end init flag from the save state.  This value should not be saved as it is not data relevant to guest machine.
* Allow a recording to be started at any time (apart from when a recording is already being made).
* Updated the status bar and title bar when an on-screen message is shown
* Removed the saving of PEToken from the save state as the FIFO will save this information
* Added a couple Pixel Engine interrupt states to the save state
* Added the copyright notice to the GCPadStatus.h file.

This function is preliminary.  Let us know of any bugs you find or any UI quirks.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7175 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-15 09:07:55 +00:00
Soren Jorvang
c212548f8e Initialize all struct members.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7173 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-14 21:58:53 +00:00
Glenn Rice
0ae8d33149 Some work on changing comments, log messages, and variable and function names to reflect that the plugins are not plugins anymore.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7170 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-14 02:18:03 +00:00
Marcos Vitali
05feabdb49 - Reimplemented FifoReset in other way, only call to GPFifo::ResetGatherPipe() ResetVideoBuffer() in FIFO_RW_DISTANCE_LO when this is equal to "0"
- In the Command Processor Control Register when GPReadEnable is OFF, wait until the fifo lopp finish with thi actual 32 bytes block. This is necessary to have Safe Disabble GP Read in this way AbortFrame is performed by the software, beside this can help to have accurate GPReadEnable OFF.
Please test Metroid Prime 1/2, Guilty Gear XX, X men gc, SMG, and shuffle you can test Harry Potter Prince for WII. :)

PD: The fifo code need a clean very soon.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7158 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-13 02:21:11 +00:00
smelenchuk
0bf25c91ab Have Wiimote update call Frame::SetPolledDevice() so that recordings can track lag frames. (At present, the circumstances in which there actually would be a frame where input isn't polled elude me, but might as well be complete.)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7157 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-13 02:01:31 +00:00
Soren Jorvang
5b75a59d2a Allow building with wxgtk 2.9.2 in Externals.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7155 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-12 22:31:57 +00:00
NeoBrainX
ced7336d27 wx-less: This time WITH the files of awesomeness!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7153 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-12 21:29:51 +00:00
NeoBrainX
bc6f04adae Move BootManager.cpp to Core since it really doesn't do any wx-specific stuff.
This one is for NaturalViolence, since he was so eager to see it :P

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7152 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-12 21:25:49 +00:00
Soren Jorvang
7753937e31 Integrate helper functions from VideoSoftware's VideoConfigDialog
into the shared VideoConfigDiag.

Clean up the list of hotkey defaults a little.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7148 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-12 09:10:11 +00:00
smelenchuk
94d02a23de Tweaks to Wii rerecording for general stability and reliability.
* Better control over which Wiimotes save/load input from input files (general sync improvement).
* Wiimote save stores the ACLQ, allowing maintaining control across save/load (thanks to skid for the idea).
* Wiimote reconnect on save/load now an option - enabled by default to preserve present behaviour.  Disabling this allows the above change to be effective.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7147 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-12 08:25:09 +00:00
skidau
e867341e4f Added hotkeys for most of the commands available in the File and Emulation menus.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7145 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-12 06:46:33 +00:00
smelenchuk
4b69ef3690 add includes to OnFrame.cpp, also have it use the right file (ref previous two commits)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7144 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-12 03:01:54 +00:00
smelenchuk
00daea0ec9 build fix for Win32 for previous commit (sorry guys)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7143 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-12 02:40:31 +00:00
smelenchuk
0d110c41d9 Updates to rerecording behaviour:
* Frame counter is restored properly post-load.
* "Read-only mode" menu option added.  Currently this either causes the movie file to be closed at the end of playback (if enabled) or continues recording past end of playback (if disabled). 
* Can now properly resume recording from a state saved during movie playback.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7142 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-12 02:14:20 +00:00