glitchNES is an open source software project for the Nintendo Entertainment System. This software causes graphical glitches similar to hardware circuit-bending. The current version is 0.2.

Version 0.2 is vastly different than 0.1, using both controllers and featuring more graphics banks, as well as controls created with live performance in mind. Be sure to check out the readme's of both versions, which outline technical details as well as button configurations. glitchNES works on emulators, the PowerPak, and of course EPROM carts. You'll see different results depending on what you use.

Click here to go to the glitchNES page on

Remember that glitchNES preview video I posted the other day? If not, see this thread: … glitchnes/

Well, it featured graphic data and screens ripped from NES games. I used the PPUSplit tool by Batsly Adams to do this. Now its your turn.

How to use the PPUSplit tool by Batsly Adams

This tool is used to split the FCEUX "PPU Memory" dump from the Hex Editor. Why would you want to split it up? So you can use it in glitchNES, of course!

What you'll need:

glitchNES 0.2 (see above)
PPUSplit for your OS (see below)
YY-CHR (tile editor)
FCEUX (emulator)

1. Load up your favorite game in FCEUX.

2. Find the screen you want to rip, then pause the game.

3. Go to the "Debug" menu and choose "Hex Editor"

4. In the Hex Editor, go to the "File" menu and choose "Dump to file", then "PPU Memory". Name it anything you want.

5. Open up the PPUSplit tool. Click the "OPEN" button and browse to the file you saved in step 4.

6. You'll now have 4 files in the same directory as the file from step 4: one .NAM file, one .PAL file, and two .CHR files.

7. Open up both CHR files in YY-CHR and figure out which one you need for the he background that you were trying to rip. This step requires your brain. Use it.

8. Copy and paste that CHR file into one of the slots of the glitchnes.chr file. Let's pretend you chose the first page, zero.

9. Next, move the .NAM and .PAL file into the directory. Let's pretend they are smb.nam and smb.pal.

10. In the glitchNES source code, under the zero (first) slot for the palette, it currently says: .INCBIN "pal0.pal". Change that to "smb.pal".

11. A bit further down under pic0 it says: .INCBIN "order.nam". Change that to "smb.nam".

12. If you didn't fuck up, you should see your ripped screen in glitchNES after you compile it.

13. Did you fuck up? Make sure the CHR, the NAM, and the PAL are all in the same "slot", like pal0, pic0, and the zero/first page of the CHR.

Download PPUSplit here:


Last edited by NO CARRIER (August 9, 2010 5:39 am)

*burns a billion eproms*
thanks bro

Congratulations on a tremendous release!
Here is the arduino setup in action -  sliders control MIDI CC messages in glitchNES.

You can take advantage of "analog" values this way!
CC01: Delay speed (0-127)
CC02: Bank select (0-7)
CC03: Nametable select (0-7)

I'll post a full list when it's finalized. I'll be posting the source/schematic for the modified version of glitchNES + arduino code in the next week or so. If you use a laptop for performances I'm writing a GUI that you can use to control a real NES without picking up a gamepad.

The music in the is video courtesy of the amazing animalstyle.

Last edited by Batsly Adams (August 9, 2010 5:47 am)

Don, Andrew : absolutely fantastic stuff dudes!

This is pretty amazing. Well done.

enso wrote:

Here's some videos from saturdays lisäelämä party and me Vj'ing with v0.2
Sorry about bad audio.

(As you can see, I didn't have much time to edit my own graphics...)

Last edited by KeFF (August 9, 2010 10:44 am)


enso wrote:

this clip is so awesome!

sweet update on glitchNES dude.

\m/ X_x \m/

rock on don!
another amazing release!


omfg jaw on floor you rock two horns up!!!

Excellent stuff here. I'll have to pop this onto my dev cart ASAP.