SwiftNES
SwiftNES copied to clipboard
Cross-platform NES Emulator written in Swift
SwiftNES
[WIP] Cross-platform NES Emulator written in Swift
Requirements
- Swift 5.0.1 later
- SDL2
- GD Graphics Library
- libsoundio
Roadmap
CPU
- [x] Registers
- [x] Memory map
- [x] Addressing modes
- [x] Official operations
- [x] Unofficial operations
- [x] Interrupt handlers
- [x] Disassembler + nestest logging
PPU
- [x] Registers
- [x] Memory map
- [x] Background rendering
- [x] hardware accurate emulation
- [x] Sprite rendering
- [ ] hardware accurate emulation
- [x] Sprite zero hit
- [x] DMA
- [x] Other flags
- SDL
- [x] Rendering by line buffer
APU
- [x] Pulse wave channels
- [x] Triangle wave channel
- [x] Noise channel
- [x] Sampling by DMC
The implementation has been completed but sounds are strange...
Controllers
- Standard Controller
- [x] Keyboard
- [ ] Joypad
Cartridge, Mappers
- [x] Parse iNES file
- [x] Support mapper 0
Tools
- [ ] Debugger
Goals
Run and play games in cartridges I bought in childhood.
-
[ ] 『戦場の狼』(Commando)