NES emulator written in C++
Before building this project the following must be installed :
To keep this project platform independent CMake is used to generate the build files.
The following definitions can be used to locate the dependencies if they are not found automatically:
- CMAKE_INCLUDE_PATH
- CMAKE_LIBRARY_PATH
I use vcpkg to install the dependencies on Windows.
vcpkg install glfw3:x64_windows
vcpkg install glew:x64_windows
vcpkg install portaudio:x64_windows
git clone https://github.com/jmckiern/NES-Emulator
cd NES-Emulator
mkdir build
cd build
cmake -G"Visual Studio 15 2017 Win64" -DCMAKE_TOOLCHAIN_FILE=<path-to-vcpkg>/scripts/buildsystems/vcpkg.cmake ..
cmake --build . --target ALL_BUILD --config Release
sudo apt install libglew-dev libglfw3-dev portaudio19-dev
git clone https://github.com/jmckiern/NES-Emulator
cd NES-Emulator
mkdir build
cd build
cmake ..
make
This emulator opens the file passed through the command line arguments. A game can also be dragged onto the executable.
The controls can be set in a settings.ini
file.
The default controls are
Player 1:
Directional Pad - WASD
Select - G
Start - H
A - K
B - J
Player 2:
Directional Pad - Arrow Keys
Select - Keypad 1
Start - Keypad 2
A - Keypad 3
B - Keypad 0
The mappers currently supported are NROM (0), MMC1 (1), UxROM (2), CNROM (3) and MMC3 (4).
Including only games released in the USA, this emulator supports 641 games.