Thara SwiftNES Save

Cross-platform NES Emulator written in Swift

Project README

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

Open Source Agenda is not affiliated with "Thara SwiftNES" Project. README Source: thara/SwiftNES
Stars
29
Open Issues
2
Last Commit
4 months ago
Repository
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating