NEStation is a web NES emulator frontend (based on jsnes), which supports two-player Net Play via WebRTC's p2p data channels.
Created by [r]labs.
- 🐎 Fullspeed NES Emulation
- 🌐 Low-latency online play
- 📦 ROM Drag & Drop - Easy UX
- 🔀 Swap P1 and P2 at any time
- ⌨️ Configurable controls
- 🎮 Gamepad support
- 📺 CRT TV emulation
- jsnes: The core of the emulator
- quickp2p: A library to quickly connect two peers through WebRTC
- React: The well-known UI framework
- NES.css: An awesome NES-themed css library
WebRTC does everything it can to connect you with your partner, but things may fail on rare network configurations. In those cases, a quick workaround could be enabling a DMZ on one side.
Then you may want to increase the Buffer size, in Settings. Lower values offer less input lag, but they can produce stuttering if network latency is not low enough. Try increasing it until it works well.
Well, not all the NES mappers are supported. Feel free to raise an issue here with the game you're trying to run.
Make sure you have your speakers' default format set as 96000Hz at most:
nvm use
npm install
npm start
npm run build