public MagicSoundProvider(NES nes, uint infreq) { this.nes = nes; blip = new BlipBuffer(blipbuffsize); blip.SetRates(infreq, 44100); //var actualMetaspu = new Sound.MetaspuSoundProvider(Sound.ESynchMethod.ESynchMethod_V); //1.789773mhz NTSC //resampler = new Sound.Utilities.SpeexResampler(2, infreq, 44100 * APU.DECIMATIONFACTOR, infreq, 44100, actualMetaspu.buffer.enqueue_samples); //output = new Sound.Utilities.DCFilter(actualMetaspu); }
public GambatteLink(CoreComm comm, GameInfo leftinfo, byte[] leftrom, GameInfo rightinfo, byte[] rightrom, object Settings, object SyncSettings, bool deterministic) { GambatteLinkSettings _Settings = (GambatteLinkSettings)Settings ?? new GambatteLinkSettings(); GambatteLinkSyncSettings _SyncSettings = (GambatteLinkSyncSettings)SyncSettings ?? new GambatteLinkSyncSettings(); CoreComm = comm; L = new Gameboy(new CoreComm(comm.ShowMessage, comm.Notify), leftinfo, leftrom, _Settings.L, _SyncSettings.L, deterministic); R = new Gameboy(new CoreComm(comm.ShowMessage, comm.Notify), rightinfo, rightrom, _Settings.R, _SyncSettings.R, deterministic); // connect link cable LibGambatte.gambatte_linkstatus(L.GambatteState, 259); LibGambatte.gambatte_linkstatus(R.GambatteState, 259); L.Controller = LCont; R.Controller = RCont; comm.VsyncNum = L.CoreComm.VsyncNum; comm.VsyncDen = L.CoreComm.VsyncDen; comm.RomStatusAnnotation = null; comm.RomStatusDetails = "LEFT:\r\n" + L.CoreComm.RomStatusDetails + "RIGHT:\r\n" + R.CoreComm.RomStatusDetails; comm.CpuTraceAvailable = false; // TODO comm.NominalWidth = L.CoreComm.NominalWidth + R.CoreComm.NominalWidth; comm.NominalHeight = L.CoreComm.NominalHeight; Frame = 0; LagCount = 0; IsLagFrame = false; blip_left = new BlipBuffer(1024); blip_right = new BlipBuffer(1024); blip_left.SetRates(2097152 * 2, 44100); blip_right.SetRates(2097152 * 2, 44100); SetMemoryDomains(); L.CoreComm.InputCallback = CoreComm.InputCallback; R.CoreComm.InputCallback = CoreComm.InputCallback; }
void InitSound() { blipL = new BlipBuffer(1024); blipL.SetRates(TICKSPERSECOND, 44100); blipR = new BlipBuffer(1024); blipR.SetRates(TICKSPERSECOND, 44100); }