Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
NES emulator, written in Go

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

Workaround race condition in startup causing SEGV in glewInit.
latest commit d48a920c13
Scott Ferguson 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.