in atari_py/ale_interface/src/common/SoundSDL.cxx [448:494]
bool SoundSDL::load(Deserializer& in)
{
string device = "TIASound";
try
{
if(in.getString() != device)
return false;
uInt8 reg1 = 0, reg2 = 0, reg3 = 0, reg4 = 0, reg5 = 0, reg6 = 0;
reg1 = (uInt8) in.getInt();
reg2 = (uInt8) in.getInt();
reg3 = (uInt8) in.getInt();
reg4 = (uInt8) in.getInt();
reg5 = (uInt8) in.getInt();
reg6 = (uInt8) in.getInt();
myLastRegisterSetCycle = (Int32) in.getInt();
// Only update the TIA sound registers if sound is enabled
// Make sure to empty the queue of previous sound fragments
if(myIsInitializedFlag)
{
SDL_PauseAudio(1);
myRegWriteQueue.clear();
myTIASound.set(0x15, reg1);
myTIASound.set(0x16, reg2);
myTIASound.set(0x17, reg3);
myTIASound.set(0x18, reg4);
myTIASound.set(0x19, reg5);
myTIASound.set(0x1a, reg6);
SDL_PauseAudio(0);
}
}
catch(char *msg)
{
Logger::Error << msg << endl;
return false;
}
catch(...)
{
Logger::Error << "Unknown error in load state for " << device << endl;
return false;
}
return true;
}