diff --git a/stella/src/common/SoundSDL.cxx b/stella/src/common/SoundSDL.cxx index c50ed785b..08c1eca8c 100644 --- a/stella/src/common/SoundSDL.cxx +++ b/stella/src/common/SoundSDL.cxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: SoundSDL.cxx,v 1.45 2009-01-01 18:13:35 stephena Exp $ +// $Id: SoundSDL.cxx,v 1.46 2009-01-19 21:19:59 stephena Exp $ //============================================================================ #ifdef SOUND_SUPPORT @@ -283,7 +283,7 @@ void SoundSDL::setChannels(uInt32 channels) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void SoundSDL::setFrameRate(float framerate) { - // FIXME, we should clear out the queue or adjust the values in it + // FIXME - should we clear out the queue or adjust the values in it? myDisplayFrameRate = framerate; } diff --git a/stella/src/emucore/OSystem.cxx b/stella/src/emucore/OSystem.cxx index 1845cdf66..6709aa0a1 100644 --- a/stella/src/emucore/OSystem.cxx +++ b/stella/src/emucore/OSystem.cxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: OSystem.cxx,v 1.148 2009-01-16 16:38:06 stephena Exp $ +// $Id: OSystem.cxx,v 1.149 2009-01-19 21:19:59 stephena Exp $ //============================================================================ #include @@ -440,6 +440,16 @@ bool OSystem::createConsole(const string& romfile, const string& md5sum) #ifdef CHEATCODE_SUPPORT myCheatManager->loadCheats(myRomMD5); #endif + ////////////////////////////////////////////////////////////////////////// + // For some reason, ATI video drivers for OpenGL in Win32 cause problems + // if the sound isn't initialized before the video + // According to the SDL documentation, it shouldn't matter what order the + // systems are initialized, but apparently it *does* matter + // For now, I'll just reverse the ordering, as suggested by 'zagon' at + // http://www.atariage.com/forums/index.php?showtopic=126090&view=findpost&p=1648693 + // Hopefully it won't break anything else + ////////////////////////////////////////////////////////////////////////// + myConsole->initializeAudio(); myEventHandler->reset(EventHandler::S_EMULATE); if(!createFrameBuffer()) // Takes care of initializeVideo() { @@ -447,7 +457,6 @@ bool OSystem::createConsole(const string& romfile, const string& md5sum) myEventHandler->reset(EventHandler::S_LAUNCHER); return false; } - myConsole->initializeAudio(); #ifdef DEBUGGER_SUPPORT myDebugger->setConsole(myConsole); myDebugger->initialize(); diff --git a/stella/src/gui/AudioDialog.cxx b/stella/src/gui/AudioDialog.cxx index ad079b58c..10769d70e 100644 --- a/stella/src/gui/AudioDialog.cxx +++ b/stella/src/gui/AudioDialog.cxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: AudioDialog.cxx,v 1.31 2009-01-04 22:27:43 stephena Exp $ +// $Id: AudioDialog.cxx,v 1.32 2009-01-19 21:19:59 stephena Exp $ // // Based on code from ScummVM - Scumm Interpreter // Copyright (C) 2002-2004 The ScummVM project @@ -166,6 +166,7 @@ void AudioDialog::saveConfig() Settings& settings = instance().settings(); // Volume + settings.setInt("volume", myVolumeSlider->getValue()); instance().sound().setVolume(myVolumeSlider->getValue()); // Fragsize