An NES Emulator written in C++ and partly C#
The final goal of this emulator is to be able to play games up to atleast MMC3 with a decently functioning CPU, PPU and APU to boot.
To use the emulator, run NESLauncher.exe to choose a ROM and start playing.
| Key | Action |
|---|---|
| Arrow Keys | D-Pad |
| Z | A Button |
| X | B Button |
| Enter | Start |
| Backspace | Select |
| Esc | Quit |
- A Simple Launcher made with WindowsForms in C#
- Config file for settings
- Functioning 6502 CPU Core
- Functioning PPU which supports dot by dot rendering, scrolling and sprites
- A very barebones APU
- Generic USB Controller Support
- SDL2
- APU is barebones: only the triangle channel is implemented and the quality isn't optimal.
- Only Mapper 0 (NROM) ROMs are currently supported. MMC1+ support is in progress.
- Balloon Trip mode in Balloon Fight has graphical or logic bugs.
- Finish the APU i.e fix the triangle channel's quality, implement the other channels
- Add save state functionality
- Refactor the CPU's code.
- Organize the code more efficiently in terms of classes in general
- Implement other mappers