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