SaltyNES
A NES emulator in WebAssembly
OriginGitHub WebAssembly emu
TechnologyCross-platform native emulator (JIT / dynamic)
Available forWeb, Web
View official projectAbout the project
Emulator indexed on PortsNative optimized to run titles from GitHub WebAssembly emu on Web, Web. Offers high compatibility, graphic enhancements, and modern controller support.
Official project information
A NES emulator in WebAssembly. Try it live: http://workhorsy.org/SaltyNES/
Forked from the NaCl C++ version: https://github.com/workhorsylegacy/SaltyNESLegacy
Which is based on vNES: https://github.com/WorkhorsyForks/vNES
Build requirements
cmake 3.4.3 or greater
python 2
SDL2
Build and run in browser
./init_web.sh
./make_web.sh
python -m SimpleHTTPServer 9999
Build and run in desktop
./make_desktop.sh
./SaltyNES game.nes
TODO
-
Remove the mutex, or replace it with std::mutex
-
see if smb3 and punchout work in vnes
-
save memory to localstorage/indexeddb
-
tetris has no backgrounds
-
Try using opengl for the screen to see if it makes painting faster.
-
make fps show in html
-
Make it so the emulator can be restarted without reloading the page
-
Add gamepad support
-
make the emulator easy to embed in other web apps by having hooks for all gui buttons
-
Make it not cache the wasm file, even after shift reload
-
Is there a way to check if running asm.js instead of WebAssembly?
-
Shrink wasm file by removing complex libraries