Commit Graph

90 Commits

Author SHA1 Message Date
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
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
ayuanx c3b196541d Added volume control for OpenAL, also improved its performance a bit, but don't expect too much.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4712 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-20 13:54:14 +00:00
ayuanx 51163196d3 Now OpenAL works, at least.
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
2009-12-20 02:23:26 +00:00
ayuanx 7b6a0f9b72 Thread safe.
PS: The OpenAL is a mess.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4710 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-18 19:52:04 +00:00
ayuanx afef9fb5f0 Code cleanup, removed extern declaration in sound streams
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4688 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-13 11:51:29 +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
XTra.KrazzY 6bea0a2f53 Fixed annoying sound when pausing/shutting down (please test for ALL backends) (couldn't do this for CoreAudio and PulseAudio too)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4676 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-10 21:00:52 +00:00
nakeee 3e49599a33 AlsaSound: Applied the fix from issue 1689 makes DSP better
thanks darumo


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4615 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-27 11:52:29 +00:00
XTra.KrazzY a0129e51a3 LUAInterface should have all its functionality now (excluding input/controller management). Now we need a GUI to see how it works. Added new DSP function: ClearAudioBuffer, which clears the audio buffer for pausing. Currently it doesn't work with DSound.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4507 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-07 20:01:39 +00:00
tmator f432250893 CoreAudio for osx : replace all deprecated functions, now it not block dolphin, but it not work, i'm not a sound specialist
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4457 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-23 17:10:27 +00:00
nakeee 5834fa6710 Pulse audio empty struct implementation. Working on it though
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4428 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-15 17:28:23 +00:00
nakeee 8e44891b3a Audio: alsa is now default on linux, scons switch openal off by default (openal=yes to enabled)
minor clean up in audio config code


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4426 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-15 06:50:04 +00:00
Shawn Hoffman feea7ebed5 Turns out that if one fails to use pkg-config to configure alsa, some other ancient library gets linked in or something. - TD-Linux
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4424 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-15 02:04:27 +00:00
nakeee ffe12ec752 OpenCL: added opencl=true option to scons and fixed the case on the way.
Add ifdef for osx ocl include.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4348 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-30 06:49:08 +00:00
Sonicadvance1 804b9e99f8 Add CoreAudio Backend, still needs a bit of work. Will cleanup AudioCommon.cpp, and finish off CoreAudioStream.cpp if I ever get running games working in Snow Leopard. Interpreter seems to run in to a spinlock, dunno why yet, and Jit just crashes out. Core problems is probably something I won't be able to fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4316 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-24 21:35:06 +00:00
Shawn Hoffman 8c5285eddf fix some path issues on OSX, also libao for osx only supports 44.1kHz...awesome...who calls writing the CoreAudio backend so we can kill libao? :D
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4311 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-21 20:28:17 +00:00
nakeee 1619433ae7 DSP: added automatic alsa test.
Should fix issue 1403


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4274 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-15 10:47:19 +00:00
hrydgard 77eb45cb24 hopefully unbreak win32 build. yeah, this was sloppy of me :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4242 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-09 22:56:23 +00:00
hrydgard 987a6185e6 Linux: Alsa backend for the audio plugins. Didn't succeed in reducing latency though, but hopefully will work better than libao - shouldn't hang weirdly at underruns, I hope, like libao does.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4240 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-09 21:26:33 +00:00
Shawn Hoffman 3b76f6dc80 get rid of the '¯' chars in source code...non ascii chars are not really good to have floating around for no reason. http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Non-ASCII_Characters#Non-ASCII_Characters
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4231 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-08 16:07:13 +00:00
LPFaint99 c2b7895f11 set vcproj to unicode for everything except Core, Common, DiscIO, InputCommon, and Plugin_VideoDX9
and wxUSE_UNICODE set to 1 for wx

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3907 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-30 07:11:51 +00:00
XTra.KrazzY c86d2e5129 Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3898 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-28 21:32:10 +00:00
death2droid 73a7686044 Fix up all copyright dates.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3886 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-26 11:51:40 +00:00
Nolan Check a5d65b3b22 No more SleepCurrentThreads in Command Processor. Some Fifo cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3822 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-17 22:57:02 +00:00
Sonicadvance1 15de161f95 Woops, I had changed this line on accident
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3798 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-15 11:37:11 +00:00
Sonicadvance1 e28145fccf Commit to allow Interpreter to work on devices that don't support SSE2, just via simple defines
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3797 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-15 11:36:01 +00:00
Nolan Check d85f5a6937 Rearrange LogManager includes. The main purpose is to make it possible to modify Thread.h without recompiling the whole entire project.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3770 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-12 21:58:32 +00:00
Nolan Check 6800adf4dc Use _beginthreadex
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3736 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-10 20:22:25 +00:00
XTra.KrazzY 92e63e3ac4 Various changes: Fixed linux build, added some zelda ucode RE, added HLE mail logging features
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3704 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-07 15:12:52 +00:00
Sonicadvance1 13290204b4 Woops
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3703 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-07 14:31:43 +00:00
Sonicadvance1 440c0c1d14 Trying to get Dolphin to compile in Xcode, had to rename the Debugger namespace to something else since the name collided in OS X when using Xcode/Cocoa. Everything compiles except for the GL plugin, and the actual main Dolphin program. Will be trying to get them to compile after sleeping
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3701 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-07 14:04:56 +00:00
LPFaint99 a41c1b2d0a add *.user, Win32, and x64 build dir to ignore list for DebuggerUICommon and Unit Tests
add *.aps to ignore list for DolphinWX dir
add eol-style native to 120 or so files

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3689 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-06 02:10:26 +00:00
magumagu9 3034a9fcfc Misc warning fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3668 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-03 23:14:06 +00:00
XTra.KrazzY 46b0fd3c96 1. TAS Groundwork: Saving the state (compression and memory dump to file) is now done on a separate thread (thread-safe). Now state saving is silent and quick.
2. When stopping, GUI doesn't let the user choose another game and effectively crash Dolphin
3. Omitted an unneeded loop in AudioCommon

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3552 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-26 22:36:44 +00:00
hrydgard aecaf271f1 New DSP debugger: step one. (not ready yet, but try loading zelda WW and look at the dsp debugger..).
Had to shuffle around quite a lot of code to be able to extract the CodeView into a library nicely so it can be used from both the main dolphin and the LLE plugin...  also extracted the symboldb code.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3517 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-21 08:39:21 +00:00
John Peterson 5c04af50a4 Attempt to calculate actual refresh rate (i.e. a CPU-GPU synced Mhz), no real success. Anybody have any ideas?
Is there no indication from the game when the screen refresh should occur? No, not what I could find, we currently calculate the refresh rate and m_VBeamPos from the CPU ticks progress. That works perfectly if the CPU and GPU is perfectly synced as in the single core and no-idle skipping mode. So I guess it's possible that the game doesn't indicate when the screen should be refreshed, but rather that the hardware calculate that from the CPU ticks progress. That leaves us with a problem in the dual core and idle skipping modes to calculate a CPU-GPU synced CPU ticks progress.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3447 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-15 04:30:02 +00:00
sl1nk3.s d99deae17d Fix for tatsunoko vs capcom and those wii games getting corrupted memory error
+ a couple of (serious...) fixes for some of my mistakes, and some warning fixes

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3411 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-12 15:47:41 +00:00
hyperiris ff0ec2b3f8 a NEED DEBUG version of openal sound system, nakee, try to FIX it! :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3409 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-12 14:40:50 +00:00
sl1nk3.s 69055f8d42 Tiny crash fix for the wiimote plugin as well as a safer check for the volume in DSP HLE
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3314 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-03 20:09:48 +00:00
sl1nk3.s fa86f37fc3 Added sound volume slider to HLE sound plugin, currently DSound only, unless someone wants to add it to OpenAL :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3262 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-18 19:24:46 +00:00
Sonicadvance1 be61375c01 Fix compile in OSX by reverting my change, dunno why OpenAL is different on my machine. Bit of debug work in nJoy test
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3100 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-28 20:05:00 +00:00
Sonicadvance1 264737fede A compile fix for Linux/OSX in InfoWindow.cpp and also get OSX to stop crashing from loading the audio backend. It's a pretty bad way to do it, but I couldn't find another way. Now to figure out why SMS looks horrible in OSX
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3074 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-25 16:47:45 +00:00
Sonicadvance1 c3926a35ae Only have this in OSX since that is only where it compiles apparently?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3061 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-24 05:42:57 +00:00
Sonicadvance1 599d9e9067 Fix OSX compiling. Still need to rollback nakee's revision 2566 if you want it to link in to a binary though. SMS under my unibody MBP looks like crap, dunno what's wrong
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3059 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-24 01:51:42 +00:00
nakeee 5f862cf297 more scons build fixups
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2960 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-12 21:30:22 +00:00
nakeee 5a9fcaea62 linux compile fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2915 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-07 12:32:11 +00:00
tmator c662713ba0 osx build fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2912 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-07 03:56:21 +00:00
nakeee 405480342a Openal on linux (get stuck but doens't crash)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2876 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-05 14:02:03 +00:00