NES emulator written in Odin.
- Debugger view with some debugging features
- Menu view to interact with the emulator
- Save states
- Controller support
- CRT Shader toggle
- (Partial) Sound
- Enough emulation accuracy to run Battletoads and hundreds of other games perfectly.
- Supported Mappers: NROM, MMC1, UXROM, CNROM, MMC3, GxROM, AxROM
M - Toggle menu view
F1 - Save to selected slot
F4 - Load from selected slot
P - Pause
WASD - (NES Controller) Arrows
H - (NES Controller) A button
J - (NES Controller) B button
Y - (NES Controller) Select button
U - (NES Controller) Start button
D-pad - Arrows
A - A Button
X - B Button
View Button - Select
Menu Button - Start
- Improve sound
- Implement DMC
- Finish implementing PPUMASK features
- Fix Dragon Warrior
- Fix Batman
- Implement more popular mappers
- In-app ROM selection
odin run src -out:lucynes.exe
It will not run if the default ROM isn't in the roms directory. If you want to play a specific ROM, you can...:
odin build src -o:speed -out:lucynes.exe
lucynes [path-to-rom]
Example, after building:
lucynes roms/Castlevania.nes (assuming Castlevania.nes is in the roms directory, in the same directory as the lucynes executable.