Skip to content

Fix stuff#449

Closed
anzz1 wants to merge 3 commits intobfirsh:masterfrom
anzz1:patch-1
Closed

Fix stuff#449
anzz1 wants to merge 3 commits intobfirsh:masterfrom
anzz1:patch-1

Conversation

@anzz1
Copy link
Copy Markdown

@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
anzz1 added 2 commits February 3, 2025 12:05
- add volume slider
- add css mediaquery based auto resize up to 8K screens
- add example for nvram saving/loading
@anzz1 anzz1 closed this Sep 8, 2025
@anzz1 anzz1 deleted the patch-1 branch September 8, 2025 23:02
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.

1 participant