Skip to content

StardustGogeta/NES-Emulator

Repository files navigation

NES-Emulator

GitHub Top Language GitHub Issues CodeFactor CMake Microsoft C++ Code Analysis GitHub Repo Size CMake Version C++ Version

An incomplete NES emulator made using SDL2 and C++23.

Roadmap

  • Basic source code layout
  • ROM file input and processing
  • Continuous integration / static analysis tool setup
  • Official CPU opcode emulation
  • Full unofficial CPU opcode emulation
  • Finish nestest support
  • Additional CPU tests
  • PPU emulation
  • Display support
  • Mapper support
  • Testing with game ROMs

Quick-Start Instructions

Prerequisites

  • cmake
  • gcc / MinGW / MSVC (with C++23 standard)
  • libsdl2-dev (if on Linux)

In order to build this, create a folder named build, navigate to this folder, and run

cmake .. -G "Unix Makefiles"
make

This will create a bin folder in the repository and build the project from the source.

Alternatively, building should be possible with the Ninja, MinGW Makefiles, and Visual Studio 17 2022 generators, as well. Examples of these are shown in the GitHub Actions automated builds.


References