Skip to content

Latest commit

 

History

History
86 lines (61 loc) · 2.59 KB

README.md

File metadata and controls

86 lines (61 loc) · 2.59 KB

SwiftNES

CI Status for macOS on GitHub Action

[WIP] Cross-platform NES Emulator written in Swift

Requirements

  • Swift 5.0.1 later
  • SDL2
  • GD Graphics Library
  • libsoundio

Roadmap

CPU

  • Registers
  • Memory map
  • Addressing modes
  • Official operations
  • Unofficial operations
  • Interrupt handlers
  • Disassembler + nestest logging

PPU

  • Registers
  • Memory map
  • Background rendering
    • hardware accurate emulation
  • Sprite rendering
    • hardware accurate emulation
  • Sprite zero hit
  • DMA
  • Other flags
  • SDL
    • Rendering by line buffer

APU

  • Pulse wave channels
  • Triangle wave channel
  • Noise channel
  • Sampling by DMC

The implementation has been completed but sounds are strange...

Controllers

  • Standard Controller
    • Keyboard
    • Joypad

Cartridge, Mappers

  • Parse iNES file
  • Support mapper 0

Tools

  • Debugger

Goals

Run and play games in cartridges I bought in childhood.

Author

thara