An installation of digital works by Kevin Stebner aka GreyScreen. The Rom-hack project takes apart pieces from old Nintendo games, and through fresh code, glitches or subversion of text, creates new visual pieces. The pieces themselves are written as new NES works, coded, re-inserted onto NES cartridges which are playable on actual Nintendo hardware, and thus “playable” by the viewing audience.
Presented as a part of the artist in residence program by the EPCOR CENTRE for the Performing Arts.
1 / 2 / 3 / 4
Basically, working within a framework of music and/or poetry, and less so programming, the challenge for this project was mighty high. But ever since I was a lad, growing up on the NES and NES visuals, I’d always been taken by that pixelated imagery, and specifically thatof the NES. I’ve always wanted to make my own games or at least know exactly how NES hardware works.
Each of these pieces was written in ASM/6502 Assembly. So the term “ROM-Hack” might not be entirely accurate, because in a large sense, this is mostly new, original code written for this project. Even the Mario castle there had to be built entirely from scratch from the .chr file in NESST.
Both the Nerdy Night’s and Patater tutorials were infinitely helpful for NES coding. And with that LSDJ love affair, producing chiptune as GreyScreen, hexidecimal was a breeze, but adding binary to the mix was a whole other bag of worms. And coding for the NES requires knowledge of all three: binary, hex and decimal.
The process for this whole thingwould be basically write the code, assemble it to an .NES file in cmd using ASM3. ASM would detect if any of the code was out of place (which half the time something would be). From there we’d test on an emulater/powerpak. Edit and repeat. Ad Nauseum. Once it got to the point where I felt it was finished, I burned each file using an EPROM-burner, to which I then soldered into a board of an old NES game (yes, 3 copies of 10 Yard Fight sacrificed themselves for the cause). I found these two pages particularly helpful for those steps.
And voila! We have a working, running homebrewed NES cartridge.
So many of the tools used for rom-hacks and development are largely outdated, and don’t even run on x86 Windows, so I had a pretty hard time getting a lot of things to work. But my toolbox became:
NESASM3 (code assembler)
NES ScreenTool (assemble and edit nametables/backgrounds),
yy-chr (tile/sprite editing)
PPUSplit (Ripping nametables and .chr files from NES games)
PowerPak (NES flash cart for testing)
FCEUX (best NES emulator I’ve found)
USB CopyNES (prepare rom for EPROM burning)
and of course the cmd fucntion and our trusty Notepad for writing the code.
Needless to say I now have so much more respect for even the very worst of video games, because I now know just how difficult it is to program them. It took me a month to get a sprite on the screen, and another month to get it to do what I wanted. Really, trial and error was likely not the best way to go about coding, but it’s how I had to go about it and just dive in. Just hammer at it for 2 months until the gold comes out.
Major inspirations from the work of Ian Bogost, Cory Arcangel and No Carrier. Huge thank yous to the Epcor Centre, everyone who came to the openning, NES programmers everywhere, Jeff and Matthew for projector lends.
I wanted to have works that could stand on their own, either as installations, or as part of chiptune perfomance. And I’m happy to say they work amply as just that. But in the end, audience playability and manipulation is what made them fun. They are all NES programs through and through, “playable” and “fun” as that entails.
Down below are downloads for the programs themselves. You can run these .nes files on an emulator, they work on the PowerPak… I could even make a few more hard copies (I have 3 more copies of 10 Yard Fight that I would be able to tear apart and enough chips to burn for 3 more copies) should the right offer come for those. Email me should you need something or if you have any questions, I’ll answer as best as I can.
All programs are written for the NES
REAL TALK, MARIO
Why does Mario cointinue to futilely chase after a woman who would clearly rather be kidnapped than be with him? Toad wonders this very thing, and gives Mario some much needed real talk.
Download ROM here. Watch video here.
I originally intended to do a series of NES landscapes, a set of still lifes. But the interactivity of the controller demanded its use. User controls the snowfalls, and allowing for the snow to pile up into a decay of sprites.
Download ROM here.
Directed at the disembodied surviving wolf, post-apocalyptic encouragement scrolls across the black landscape. Courage for the young dires.
Download ROM here.