Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix stuff #449

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Fix stuff #449

wants to merge 1 commit into from

Conversation

anzz1
Copy link

@anzz1 anzz1 commented Mar 26, 2024

  • fix mmap is null error (do not emulate frame without rom present)
  • use device native samplerate for correct speed and eliminate resampler lag
  • use static 60fps since NTSC (60Hz) cpu freq is already statically declared in papu

embed example:

  • change default keybinds to the commonly used B=Z / A=X / START=ENTER / SELECT=SHIFT setup
  • make canvas pixel perfect (2x size)
  • add example functions for changing master volume and loading and saving nvram to window.localStorage

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.

- fix mmap is null error (do not emulate frame without rom present)
- use device native samplerate for correct speed and eliminate resampler lag
- use static 60fps since NTSC (60Hz) cpu freq is already statically declared in papu

embed example:
- change default keybinds to the commonly used B=Z / A=X / START=ENTER / SELECT=SHIFT setup
- make canvas pixel perfect (2x size)
- add example functions for changing master volume and loading and saving nvram to window.localStorage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant