Nestor is a NES/Famicom emulator.
![]() |
![]() |
![]() |
|---|---|---|
![]() |
![]() |
![]() |
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
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] |
- Nestor uses the Ebitengine library, which requires some dependencies to be installed first. Follow the Ebitengine installation instructions for your platform.
- 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.
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.
![]() |
|---|
| Rom selection window |
![]() |
![]() |
![]() |
|---|---|---|
| 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\
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!
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/.










