Skip to content
/ nests Public
forked from ognis1205/nests

NES Emulator Written in TypeScript/React

License

Notifications You must be signed in to change notification settings

cjke/nests

 
 

Repository files navigation

NesTs Nintendo Entertainment System (NES) Emulator

License: GPL v3

Screenshot of Donkey Kong Screenshot of Super Mario Brothers Screenshot of Legend of Zelda

Summary

You can play online demo HERE. TypeScript/React.js NES emulator implementation for My Own Learning Porpose. The implementation is NOT fully faithfull to the original NES hardware and some codes are still messy.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.

Key-Mappings

NES Button Keyboard
Arrow-Right
Arrow-Down
Arrow-Left
Arrow-Up
SELECT Space
START Return
A X
B Z

Roadmap

The following is a checklist of features and their progress:

  • Console
    • NTSC
  • CPU
    • Official Instructions
    • Unofficial Instructions
    • Interrupts
  • PPU
    • VRAM
    • Background
    • Sprites
    • NTSC TV Artifact Effects
    • Emphasize RGB/Grayscale
  • APU
    • AudioWorklet
    • Pulse Channels
    • Triangle Channels
    • Noise Channels
    • Delta Mulation Channel
  • Inputs
  • Memory
  • Cartridge
    • Battery-backed Save RAM
    • iNES Format
    • NES 2.0 Format
    • Mappers
      • NROM (Mapper 0)
      • SxROM/MMC1 (Mapper 1)
      • UxROM (Mapper 2)
      • CNROM (Mapper 3)
      • TxROM/MMC3 (Mapper 4)
      • ExROM/MMC5 (Mapper 5)
  • Misc
    • Reimplement UI/UX for smartphone users
    • GitHub page
    • Unit/Integration tests
    • Refactor Source Codes
    • Error Handling
    • Documentation
    • Make Things Responsive

About

NES Emulator Written in TypeScript/React

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 93.7%
  • CSS 6.1%
  • JavaScript 0.2%