A Nintendo Entertainment System (NES) emulator written in C#.
So named since almost all of the work on this was done in various cafés while drinking large quantities of coffee.
Grab the latest build from AppVeyor or build it yourself (see below).
Compile with Visual Studio or from the command line with:
msbuild /property:Configuration=Release Nescafe.sln
Load an iNES ROM using File->Load ROM. The game should start immediately or an error will be displayed indicating why the ROM could not be loaded.
The following iNES mappers are supported:
- Mapper 0 (NROM) - Super Mario Bros., Donkey Kong, Spy vs. Spy
- Mapper 1 (MMC1) - The Legend of Zelda, Castlevania 2, Tetris
- Mapper 2 (UxROM) - Castlevania, Mega Man, Contra
- Mapper 4 (MMC3) - Super Mario Bros. 2, Super Mario Bros 3., Mega Man 3
The NES CPU and PPU have been implemented to a fairly cycle accurate extent. Certain things (eg. sprite evaluation) are not totally cycle accurate, but this doesn't seem to be a problem for the majority of games.
- The NES APU is currently not implemented meaning no audio.
- Battery backed persistent memory is not currently supported
Controls cannot currently be configured.
- Arrow Keys = up,down,left,right
- Z = A
- X = B
- Q = Start
- W = Select
MIT © Rhys Rustad-Elliott