NESE - An NES emulator
How to use
nese [path-to-ines-file]
Pre-built binaries
- Go to Action > Build and Upload Artifacts > Artifacts
Things that worked
- CPU (No invalid op codes)
- PPU (Sprite and Background rendering)
- Control
- CHR Ram (even on mapper 0)
- Saves
Things that not worked
- iNes 2.0
Super mario brothers (IDK why) (CMP set flags fault)
Tetris (BG not render while playing) (forgot to implement single screen mirroring)
- Audio (I got no idea how audio work)
Default Control
Debug feature
Button |
Feature |
F2 |
Play & Pause the emulator |
F3 |
Step frame |
F4 |
Print PPU debug info to console |
F5 |
Enable logging (slow the emulator down dramatically) |
F6 |
Draw 2 pattern table on screen |
F7 |
Fast forward |
Player 1
Key |
Button |
A |
Space |
B |
LShift |
Select |
LCtrl |
Start |
E |
Up |
W |
Down |
S |
Left |
A |
Right |
D |
Player 2
Key |
Button |
A |
J |
B |
K |
Select |
L |
Start |
/ |
Up |
↑ |
Down |
↓ |
Left |
→ |
Right |
← |
Currently supported mappers
- Mapper 0
- Mapper 1
- Mapper 2
- Mapper 3
- Mapper 4 (Very buggy, idk why)
How to build
This project used zig 0.12.0
References