Commit Graph

22 Commits

Author SHA1 Message Date
pierre b80e207a8a Core/DSPCore: Make JIT work on 64 bit hosts
This is the safe variant that does not assume other
functions use R11 for &g_dsp.r, which they actually do.
So there is a lot unnecessary reloading of the register
getting emitted.

There are a few small changes exploiting pointers known
at emission time and making use of MComplex math.

Also renames m_LLEplaying to m_AIplaying in Core/AudioCommon.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6245 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-01 23:23:13 +00:00
pierre ce1057f17d Core/AudioCommon: Feed bigger audio chunks to the output devices in case of underrun.
This should eliminate the crackling with alsa and pulseaudio backends and replace it
with much nicer pauses. This is only interesting for audio backends that do not
respect Mixer::GetNumSamples() and should not impact users able to run the DSPLLE at
full speed.

The cost of this is an added LLE audio latency of about 0.06 s in the continuous
playback case. If that is too much, lower the low watermark.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6239 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-28 21:43:38 +00:00
Ignacio Farias cf078067e7 Reverted change from r6100 to previous version. That thing broke some games audios. With audio throttle off, possessing audio was disabled. Now I'm working on a workaround, stay tunned.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6106 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-17 15:45:12 +00:00
Ignacio Farias 56d916bf93 Corrected writing error on previous commit :). Now should compile correctly. Thanks God for the advise
"
/trunk/Source/Core/AudioCommon/Src/Mixer.cpp   r6100   line 145:
145: 	{
oops, wrong brace? "

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6101 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-16 15:45:18 +00:00
Ignacio Farias fd5f7ba6b4 Hy, this is my first commit, and i hope it is not bad xD.
- First change is for Mixer.cpp, I've just re-added the functionality lost in r4724, so, if you disable audio throttle, games like donkey kong jungle beat, will work properly.

- Second change points to a doubt comment on UCode_Zelda_Voice.cpp, where it did not know here PB.NeedsReset came from. Well, the answer is it came from line 03b2 of the dumped Ucode, so when PB.IsBlanck equals to zero, PB.NeedsReset is zero too.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6100 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-16 15:22:53 +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
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 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
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
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
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
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
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
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
nakeee 37d513c53b Added dtk sound mixing to audiocommon (should work with LLE now)
And also moved all common setting to audiocommonconfig


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2796 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-30 09:55:50 +00:00
nakeee 5d9871e85e Fixed Null sound
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2783 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-28 23:04:57 +00:00
sl1nk3.s 632e3bfc85 A little fix for the Throttle, it wasn't getting the correct sample_rate thus was too fast
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2774 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-28 14:08:06 +00:00
omegadox eb0cab140f Some code cleanup
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2768 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-28 08:57:34 +00:00
nakeee bffe311b3e Fixed stop of DSP HLE+LLE and some clean up(reset all variables in DSound creation)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2760 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-27 11:06:52 +00:00
nakeee f4a1f1c7e1 crash fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2758 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-26 10:50:52 +00:00
nakeee fff663e8c7 Attempt to move mixer to audio common, it's a bit more complicated than I expected
so please check I didn't break anything in hle



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2756 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-26 09:29:14 +00:00