in

A NesTs Nintendo Entertainment System (NES) Emulator Written in React


NesTs Nintendo Entertainment System (NES) Emulator

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:

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

GitHub

https://github.com/ognis1205/nests


Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

GIPHY App Key not set. Please check settings

Apple MacBook Pro With Enhanced Display Resolution to Arrive Later This Year

Google Warns of a New Way Hackers Can Make Malware Undetectable on Windows