Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
console.log(
"Buffer underrun, running another frame to try and catch up"
);
this.frameTimer.generateFrame();
// desiredSize will be 2048, and the NES produces 1468 samples on each
// frame so we might need a second frame to be run. Give up after that
// though -- the system is not catching up
if (this.speakers.buffer.size() < desiredSize) {
console.log("Still buffer underrun, running a second frame");
this.frameTimer.generateFrame();
}
}
});
this.nes = new NES({
onFrame: this.screen.setBuffer,
onStatusUpdate: console.log,
onAudioSample: this.speakers.writeSample,
sampleRate: this.speakers.getSampleRate()
});
// For debugging. (["nes"] instead of .nes to avoid VS Code type errors.)
window["nes"] = this.nes;
this.frameTimer = new FrameTimer({
onGenerateFrame: Raven.wrap(this.nes.frame),
onWriteFrame: Raven.wrap(this.screen.writeBuffer)
});
// Set up gamepad and keyboard
this.gamepadController = new GamepadController({