Need help with nes-js?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

takahirox
131 Stars 21 Forks MIT License 157 Commits 3 Opened issues

Description

JavaScript NES(Famicom) emulator

Services available

!
?

Need anything else?

Contributors list

# 218
JavaScr...
augment...
Three.j...
3D
156 commits

nes-js

This is JavaScript NES(Famicom) emulator which runs on browser.

Demo

Demo

Demo with Three.js (It has a performance issue!)

WebVR Demo with Three.js (It has a serious performance issue!)

AR Demo with Three.js and jsartoolkit5 (It has a performance issue!)

Screenshot

Screen shot

Screen shot with Three.js

Features

  • iNES format rom image support
  • Renders with Canvas
  • Audio support with WebAudio
  • Runs on browser

Browser

How to use

  
  

NPM

How to install

$ npm install nes-js

How to build

$ npm install
$ npm run all

Default key configuration

This table shows the key - joypad configuration set by

  window.onkeydown = function(e) { nes.handleKeyDown(e); };
  window.onkeyup = function(e) { nes.handleKeyUp(e); };

| key | joypad | |--------------|--------| | enter | start | | space | select | | cursor-left | left | | cursor-up | up | | cursor-right | right | | cursor-down | down | | x | A | | z | B |

APIs

T.B.D.

  • NesJs
    • Nes
    • setRom()
    • setDisplay()
    • setAudio()
    • bootup()
    • run()
    • handleKeyDown()
    • handleKeyUp()
    • Rom
    • Display
    • Audio

TODO

  • Performance optimization
  • Support more many mappers
  • Support unofficial CPU instructions
  • Gamepad API support

Links

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.