Skip to content


Subversion checkout URL

You can clone with
Download ZIP
NES emulator, written in Go
Go Makefile

Merge pull request #14 from xaviershay/issue-13-workaround

Workaround race condition in startup causing SEGV in glewInit.
latest commit d48a920c13
@scottferg authored


Build Status

This is an NES emulator, written in Go. It's fairly new and very much a work in progress, so not all games run yet and not all features are implemented. Details are below.

alt text

To build on Linux

Requires Go 1.1

From your GOPATH:

    $ sudo apt-get install libsdl1.2-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libglew1.6-dev libxrandr-dev
    $ go get

To build on OSX

You'll need to install XQuartz in order to run on OSX.

Requires Go 1.1

From your GOPATH:

    $ brew install sdl --with-x11-driver
    $ brew install sdl_gfx sdl_image glew
    $ go get

Run the emulator

    $ Fergulator path/to/game.nes


    A - Z
    B - X
    Start - Enter
    Select - Right Shift
    Up/Down/Left/Right - Arrows

    Save State - S
    Load State - L

    Reset - R

    1:1 aspect ratio - 1
    2:1 aspect ratio - 2
    3:1 aspect ratio - 3
    4:1 aspect ratio - 4

    Emulate overscan - O
    Toggle audio - I

    Toggle pause - P
    Frame Advance - \
    Reload Debug JS - D
    Trigger Mode Event - M

Supported Mappers

  • NROM
  • MMC1
  • MMC2
  • MMC3
  • MMC5

Tested games that run well or are playable

List is in the wiki

Something went wrong with that request. Please try again.