Skip to content

arl/nestor

Repository files navigation

Nestor

Release Build Status License: GPL v3

Nestor is a NES/Famicom emulator.

adventures of rad gravity battletoads tsuppari oozumou
castevania prince of persia contra

Features

All these features are planned, but not all of them are implemented yet.

  • Cycle accurate CPU
  • Joystick/Joypad support
  • CRT Shader effects
  • Frame run-ahead
  • NTSC (USA / Japan)
  • PAL (Europe)
  • Save state

Implemented mappers

A NES games cartridge is made up of various circuits and hardware, which varies from game to game. The configuraion and capabilities of such cartridges is commonly called their mapper. Mappers are designed to extend the system and bypass its limitations, such as by adding RAM to the cartridge or even extra sound channels.

Name iNES mapper Implemented
NROM 0 [x]
MMC1 1 [x]
UxROM 2 [x]
CNROM 3 [x]
MMC3 4 [ ]
AxROM 7 [x]
MMC5 10 [ ]
GxROM 66 [x]

Installation

Build from source

  1. Nestor uses the Ebitengine library, which requires some dependencies to be installed first. Follow the Ebitengine installation instructions for your platform.
  2. Install latest Go version, following installation instructions at https://go.dev/doc/install (go1.25+ is required).

Now either clone the repository with git:

git clone https://github.com/arl/nestor.git

then run go install in the repository folder.

Or (the go way) simply run:

go install github.com/arl/nestor@latest

You're good to go, the nestor binary should be in your $GOPATH/bin folder.

Usage

You can either directly run a rom file with:

$ ./nestor /path/to/rom.nes

or start the Graphical User Interface (GUI) mode:

$ ./nestor

Run nestor -help for more options.

UI Screenshots

rom selection
Rom selection window
input config ui emulation config ui video config ui
Input config Emulation config Video config

Upon creation, nestor creates a configuration folder in your home directory:

  • On Linux: ~/.config/nestor/
  • On MacOS: ~/Library/Application Support/nestor/
  • On Windows: %APPDATA%\nestor\

Thanks

Many thanks to:

  • @genbs for the help on macos x!
  • @tommyblue for the paddle!
  • @rasky for ndsemu codebase!
  • NesDev Wifi for the great documentation and community!

License

Nestor is available under the GPL V3 license. Full text here: http://www.gnu.org/licenses/gpl-3.0.en.html

Copyright (C) 2023-2025 Aurélien Rainone

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

About

👾 NES/Famicom emulator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages