Skip to content

About

A simple nes emulator project

Resources

Stars

4 stars

Watchers

1 watching

Forks

Latest commit

 

History

177 Commits

Folders and files

Repository files navigation

Simple-NES

SimpleNES is a simple, work in progress nes emulator. It is designed to run classic NES games and is built with simplicity and portability in mind.

GitHub commit activity GitHub contributors GitHub last commit GitHub Actions Workflow Status


Features

Emulation

  • CPU Emulation:
    • Official instructions
    • Unofficial instructions
  • PPU Rendering:
    • Background rendering
    • Sprite rendering
  • APU Output:
    • Pulse channel 1
    • Pulse channel 2
    • Triangle channel
    • Noise channel
    • Delta Modulation Channel (DMC)

Supported mappers

  • Mapper 00:
    • NROM
  • Mapper 01:
    • MMC1
    • SxROM
  • Mapper 02:
    • UxROM
  • Mapper 07:
    • AxROM
  • Mapper 71:
    • UxROM

Getting Started

Requirements

To build and run the emulator, ensure you have the following installed:

  • CMake (version 3.15 or higher)
  • A GCC compatible compiler
  • CSFML

Setup (portable)

Clone the repository:

git clone https://github.com/EtienneMaire37/Simple-NES
cd Simple-NES

Build the project using CMake:

cmake -B build && cmake --build build --config Release

The executable will be located in the build/bin/ folder.

Usage

  1. Run the emulator:
    simple-nes[.exe] <path-to-rom>
  2. Controls:
Action Key
Controller A C
Controller B X
Controller D-pad Arrow keys
Controller Start LShift
Controller Select LControl
Pause/Resume emulation Space
Change palette Ctrl+P
Reset Ctrl+R
Power-cycle Ctrl+U
Switch TV system (NTSC or PAL) Ctrl+T
Toggle fullscreen F11

Screenshots

Super Mario Bros screenshot

Galaga screenshot

Tetris screenshot

Battletoads screenshot

Ducktales screenshot

Tetris screenshot


Contributing

Suggestions and bug reports can be submitted to Issues.


License

This project is licensed under the MIT License. See the LICENSE file for details.

About

A simple nes emulator project

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages