Internet advertisement doesn't pay much anymore.

Become a patron
Pin Eight Home

NES Software

Project template | Sound effects editor | RHDE: Furniture Fight | Holy Diver Batman | Graphics editor | Zap Ruder | Thwaite | Password save demo | Russian Roulette | Concentration Room | DPCM ripper



These programs are designed to be run on a Nintendo Entertainment System or compatible console (with a PowerPak or a homemade flash cartridge) or in an NES emulator such as Nintendulator, Nestopia, FCEUX, or Mednafen. (They will most likely not work in older emulators such as NESticle.)

Project template

This is a very simple NES demo, letting the player move a character between two stacks of crates. To create a new NES assembly language project, you can unzip it into a new folder and delete everything after the init code. A Super NES version is also available.

Download NROM template 0.05 or SGROM/SNROM/UNROM/UOROM template 0.05 (source and NES binary).

Sound effects editor

Use this tool to create chiptune sound effects and drum sounds on your NES. You can even export them as assembly language source code for use in a game.

Download Sound Effects Editor day 18 (source and NES binary)

RHDE: Furniture Fight

It is the story of a neighborhood rivalry that got w-a-y out of hand. Trampling each other's gardens was only the beginning. Soon they were shooting off model rockets to blow holes in the walls of the house across the street.

A 2-player battle for the ultimate home. Steal furniture, destroy walls, and perfect your Feng Shui for max points.

Download RHDE day 342 (source and NES binary) or play now in JSNES Arcade

Holy Diver Batman

A program for testing assembly of NES game circuit boards. Burn it onto an EPROM and test it on all your devcarts, or program it to surface-mounted flash through the cart port. If it boots, it tells what works and doesn't work.

Supported mappers: SxROM (1), UxROM (2), TxROM (4), AxROM (7), PNROM (9), FxROM (10), INL-ROM Action 53 (28), BNROM (34), NROM/CNROM/GNROM (66), JxROM (69), IF-12 (78.3), TxSROM (118), UxROM (180)

Download Holy Diver Batman 0.01 test ROMs (12 KiB .7z) or source code (53 KiB .zip)

Graphics editor

An editor for NES background graphics that runs on the NES, along with image conversion tools written in Python. Version 0.05 adds copy and paste and a mode that automatically creates unique tiles.

Download Graphics editor 0.05 (82 KB; source, NES binary, and Python conversion tools)

Zap Ruder

Zapper demo including calibration screens, a table tennis game (move the paddles with dual Zappers), and a port of the Axe music toy.

Download Zap Ruder 0.03 (76 KB; source and NES binary)


Thwaite screen shot

A hippie guitarist who has visited your small town for years has gone rogue and launched ICBMs toward your town. Break out the fireworks that you had been saving for Independence Day, turn them into makeshift anti-ballistic missiles (ABMs), and shoot down the incoming missiles.

Download Thwaite 0.03 (114 KB; source and NES binary) or play now in JSNES Arcade

Password save demo

In the NES's original commercial era, not a lot of games could save because the common way to do so (battery-backed SRAM) was expensive. In fact, the cost of battery save is thought to be responsible for the cancellation of the English version of Mother (the Earthbound prequel) and the NES version of SimCity. Even in 2010, similar solutions (power management IC, ferroelectric RAM) are still expensive, and flash is designed more for machines with big RAM, which the NES is not. So the workaround remains the same as it did in the classic era: password save.

This program demonstrates how to encode a 32-bit number representing the state of a game into an 8-character password and then decode and validate it. It also includes a password entry form suitable for customizing in your own NES games.

Download Password save demo (18 KiB source and binaries)

Russian Roulette

Load the revolver, spin the cylinder, pull the trigger, and hope you don't die. Or play it safe with an NES Zapper.

Download Russian Roulette 0.02 (17 KB source and binaries) or play now in JSNES Arcade

Concentration Room

Concentration Room screen shot

An accident at the biochemical lab has released a neurotoxin, and you've been quarantined after exposure. Maintain your sanity by playing a card-matching game.

The table is littered with 10, 20, 36, 52, or 72 face-down cards. Flip two cards, and if they show the same emblem, you keep them. If they don't, flip them back.

Learn more
Download Concentration Room 0.02 (98 KB source and binaries) or play now in JSNES Arcade


Tetris? Whatever that is, it's not a sport.

Development and ROM hacking tools

PC programs come with reasonably portable source code and a binary for Microsoft Windows.

DPCM ripper

18 rips compressed audio waveforms out of many NES games. 81 encodes RIFF WAVE files to NES audio format for use in NES homebrew. Both are command line tools. An example of how to play back a DPCM file on an NES is also available.

Download (20 KB C source and binaries for Windows)

Download (35 KB C source and binary for Windows and asm source and binary for NES)

Pin Eight NES Tools

These tools comprise a multi-format tile editor, NES nametable editor, and PackBits RLE compressor (C) and decompressor (6502 assembly language). Because the tile editor and compression code are useful for more than just the NES, I have placed them on the PC page.

Read more


© 2000–2019 Damian Yerrick. Some rights reserved: except where otherwise indicated, this site is free content, licensed under your choice of Creative Commons Attribution-ShareAlike 2.5 or GNU Free Documentation License 1.2. Terms apply.