dorkhub

SaltyNES

A NES emulator in WebAssembly

workhorsy
C++866 forksGPL-3.0updated 4 years ago
visit the demogit clone https://github.com/workhorsy/SaltyNES.gitworkhorsy/SaltyNES

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

more like this

TachiSnap

TachiSnap — Pixel Snapper for animation pixel artists. Rust + WebAssembly client-side tool for cleaning up AI-generated…

HTML50

RaylibWasm

.Net 10 (.Net 8+) webassembly starter project using raylib-cs nuget 7.0.2 and raylib 5.5

C#50

smb-vanilla-port

A C and C++ decompilation of the NES games "Super Mario Bros" and "Super Mario Bros: The Lost Levels"

C51

search

search projects, people, and tags