bfirsh / jsnes

A JavaScript NES emulator.
https://jsnes.org
Apache License 2.0
6.13k stars 831 forks source link

Fix stuff #449

Open anzz1 opened 8 months ago

anzz1 commented 8 months ago

embed example:

This earlier commit 161865d didn't really fix anything, it merely moved the wrong speed issue from devices with native samplerate of 48000 to ones which have native rate of 44100. It was never correct, as the output samplerate must match the one set in nes.opts.sampleRate because the frames are timed according to this samplerate.

Another way would be to define the AudioContext.sampleRate in the AudioContext() ctor but this would add an unnecessary resampling step. Better to use the device native samplerate and time it to that.

Also cleaned up some functions and variables which don't exist / aren't used. Overall this codebase is in dire need of refactoring and cleanup but on the other hand it works fine (after this PR) so I guess why fix when it ain't broken.