dorkhub

nestation

🕹️ A NES Emulator frontend with Net Play!

afska
JavaScript7618 forksMITupdated 1 month ago
visit the demogit clone https://github.com/afska/nestation.gitafska/nestation

NEStation

NEStation is a web NES emulator frontend (based on jsnes), which supports two-player Net Play via WebRTC's p2p data channels.

rlabs Created by [r]labs.

Screenshots

nestation-iddle nestation-playing nestation-settings

Key features

  • 🐎 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

Open-source libraries involved

  • jsnes: The core of the emulator
  • peerjs: Simple peer-to-peer with WebRTC
  • React: The well-known UI framework
  • NES.css: An awesome NES-themed css library

Troubleshooting

I can't connect to my friend's party!

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.

I have stuttering issues!

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.

Some games don't work!

Well, not all the NES mappers are supported. Feel free to raise an issue here with the game you're trying to run.

There's a crackling sound!

Make sure you have your speakers' default format set as 96000Hz at most:

sound

Developing

Install

nvm use
npm install

Run the app

npm start

Build

npm run build

more like this

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