A7800Hawk: TIA sound fixes

This commit is contained in:
alyosha-tas 2017-07-02 17:59:38 -04:00 committed by GitHub
parent fee2f865cc
commit 447fdd1275
3 changed files with 11 additions and 12 deletions

View File

@ -35,15 +35,10 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
// Execute TIA cycles
public void Execute(int cycles)
{
// do the audio sampling
if (_hsyncCnt == 113 || _hsyncCnt == 340)
{
LocalAudioCycles[AudioClocks] += (short)(AUD[0].Cycle() / 2);
LocalAudioCycles[AudioClocks] += (short)(AUD[1].Cycle() / 2);
AudioClocks++;
}
{
LocalAudioCycles[AudioClocks] += (short)(AUD[0].Cycle() / 2);
LocalAudioCycles[AudioClocks] += (short)(AUD[1].Cycle() / 2);
AudioClocks++;
}
public byte ReadMemory(ushort addr, bool peek)

View File

@ -19,10 +19,10 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
public void GetSamplesSync(out short[] samples, out int nsamp)
{
short[] ret = new short[_spf * 2];
short[] ret = new short[AudioClocks * 2];
nsamp = AudioClocks;
GetSamples(ret);
samples = ret;
nsamp = _spf;
samples = ret;
}
public void GetSamplesAsync(short[] samples)

View File

@ -23,6 +23,10 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
ser.Sync("FrameStartCycles", ref _frameStartCycles);
ser.Sync("FrameEndCycles", ref _frameEndCycles);
AUD[0].SyncState(ser);
AUD[1].SyncState(ser);
ser.EndSection();
}
}
}