Skip to content

dustinbowers/nes-emulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NES Emulator

NOTE: This is still very much a work in progress.

TODO

  • Implement 6502 CPU (minus APU)

    • Official opcodes
    • Unofficial opcodes
    • Ensure cycle accuracy
  • Create 6502 CPU test runner for single-step tests

  • Implement iNES 1.0 ROM parsing

  • Implement Bus-centric architecture (NES wrapper handles orchestration)

  • Implement interrupt handling

    • Non-maskable-interrupts
    • Software-defined interrupts
  • Implement user-input via Joypad 1

  • Implement cycle-accurate DMA transfer through Bus

  • Implement PPU

    • Background nametable rendering
    • 8x8 sprite rendering (with horiz/vert flips)
    • 8x16 sprite rendering
    • Detect sprite-overflow
    • Sprite collision detection
  • Encapsulate mapper logic behind Cartridge trait

  • Implement APU

Resources

About

A mostly cycle-accurate NES emulator [WIP]

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published