A NES Emulator written fun and learning

View the Project on GitHub


ANESE (Another NES Emulator) is a cycle accurate Nintendo Entertainment System Emulator written for fun and learning.

Hopefully, it will support most popular titles :smile:

I am aiming for clean, performant, and interesting C++11 code, with a emphasis on keeping the source readable, maintainable, and comprehensible.

It is being built with cross-platform in mind, with builds being tested on MacOS, Linux (Ubuntu), and Windows regularly, with strict compiler flags, and regular cppcheck linting.

Lastly, I actively avoiding looking at the source codes of other NES emulators during early development, since IMO, half the fun of writing a emulator is figuring things out yourself :grin:


ANESE tries to keep external dependencies to a minimum

ANESE uses CMake, so make sure you have it installed.

# in ANESE root
mkdir build
cd build
cmake ..

Building on Windows has been tested with VS 2017


Until I get around to writing a proper UI for it, ANESE needs to be called from the commandline: anese [rom_file]

On Windows, make sure the executable can find SDL2.dll.