How Did the Game Genie Work?
The Game Genie was the technological holy grail of my Nintendo-playing childhood. Here was a device that would let me play Super Mario Bros. with infinite lives, or get infinite rockets in Metroid. Here's exactly how it worked, and how people are still using it today.
From the start, the Game Genie was marketed as a "game enhancer," though there's a fine line between "enhancing" and "cheating." In short, it was able to modify games at startup, so you could change them in ways that made your gaming life easier—typical enhancements involved adding lives or weapons, or in rare cases strange things like accessing hidden areas of the game that weren't normally playable.
The NES Game Genie was designed to be crammed into the front of the NES; it stuck out the front and you had to attach game cartridges to the slot on the Game Genie. The Game Genie had a wicked set of connector pins that attached to the NES's slot with a death grip. This connection ended up being a double-edged sword: using the Game Genie could eventually damage your NES's cartridge slot if you inserted and removed it a lot. But if you left it inserted permanently, it effectively replaced the NES cartridge slot, and that connection could be more reliable than inserting and removing games within the NES itself. So the good news was that if you were willing to keep the Game Genie in there forever, it could provide a more reliable connection for your games, and was probably better than blowing into your cartridges.
Here's a totally rad commercial (right down to the Bill and Ted knockoff dudes) explaining, in kid-friendly terms, how the Game Genie worked:
A Slightly More Technical Explanation of the Genie's Magic
When using a Game Genie, the NES started up showing a basic Game Genie menu. On that menu, the player could enter one or more codes, which would modify certain aspects of the game. From there on out, the Game Genie acted as an intermediary between cartridge and NES, intercepting requests and spitting out different results based on the codes that had been entered.
The Game Genie's technical functions were surprisingly basic when examined from a computer science perspective. Each Nintendo game cartridge set up a series of locations within the NES's memory where various pieces of information were stored—the number of lives you had left, the level you began on, the items you had, or even cooler things like the height your character could jump. Sometimes these locations in memory contained simple numbers. By finding these locations (almost always through trial and error—because game developers don't share that information), Game Genie users could then insert new numbers into them. So by finding "How Many Lives Left" in Super Mario Bros., you could switch the standard number of lives (three) with a much bigger number, and play the game with effectively infinite lives. (For the record, apparently the code SXIOPO offers infinite lives for both players in SMB.)
The Game Genie thus used two important pieces of information to make an important effect occur within the game: The location of a variable, and the content of that variable. So to create a Game Genie "code" (their simplified alphabetical interface for inputting memory locations and values to pop into them), an enterprising gamer could find the location, then experiment with possible contents to pop in there—lots of contents could just crash the game, but ultimately you could hit on something usable. By putting those two pieces of information together, you got a code. Codes were traded among gamers, and published in booklets collecting the best ones. Even today, gamers are developing new codes. I spoke to Dain Anderson, founder of NintendoAge.com, about this process. He said:
"One of the interesting aspects of the Game Genie is that
it's an organic piece of hardware whereby codes can be created and changed by anyone at anytime, whether the game is 20 years or 2 years old. Because it acts as a pass-through between the console and cartridge, you can implement changes in real-time. In fact, creating codes has become a bit of a niche for some of the more technical types, and you’ll find many threads on NintendoAge where people are requesting new codes for older games that perform a specific function.
"Creating codes would encompass an entire article, but the nuts and bolts of it is that you use a hex editor inside an emulator like FCEUX, and trace what aspects of the game change as you modify RAM locations. For example, if you take a RAM snapshot and you have three lives left, die, then take another RAM snapshot, you can determine through trial and error, on the changed locations, which affect the number of lives. By changing this memory location, you can create a code that alters the number of lives a player will receive."
If you're a programmer, check out this technical explanation of how the codes work, including snippets of C code used to decode the Game Genie's user-friendly alphabetical codes into programmer-friendly hex values.
Galoob v. Nintendo
The Genie, introduced in 1990, was created by the UK company Codemasters; they originally called it the "Power Pak" (a play on the "Game Pak," Nintendo's official name for its cartridges). The rebranded Game Genie was distributed by Lewis Galoob Toys, Inc. in the U.S. If you're a child of the 1980s, you likely remember Galoob as the company behind Micro Machines (the whole outfit was eventually sold to Hasbro).
Nintendo didn't like the idea of Galoob's gizmo modifying NES games, even though it didn't permanently change the games themselves. Nintendo exerted control over both games and accessories, creating a Seal of Quality which was only granted after Nintendo had evaluated and approved a particular game or piece of hardware for use on the NES. The NES console even had a "lockout chip" that tried to prevent unlicensed games and accessories from working—until enterprising programmers found ways around it. You may notice that the Game Genie did not carry Nintendo's Seal of Quality. Nintendo refused to grant the precious Seal to the device, but that didn't stop Galoob from selling it. Until Nintendo sued Galoob in 1991.
The lawsuit was a fascinating piece of legal argument: Nintendo claimed that Galoob's device modified Nintendo games, creating "derivative works" and thus infringing the copyrights of game makers. (This is fairly similar to the lawsuits of that era regarding music sampling.) If the Game Genie were indeed creating derivative works every time it ran, then those works would either be illegal (if the game maker/copyright holder didn't approve them) or at the very least require some sort of licensing structure by which Galoob would compensate the game maker for them.
Long story short, US courts sided with Galoob. An interesting twist harkened back to the Game Genie's own marketing, which claimed that the Genie "enhanced" games—the court agreed. Patent Arcade writes (emphasis added):
The Ninth Circuit agreed with the district court that no independent work is created by the Game Genie. In making this determination the court made a distinction between products that “enhance” copyrighted works and products that “replace” copyrighted works. In this case, the Game Genie “enhances” the Nintendo game, but it does not “replace” the Nintendo game. The Game Genie, by itself, cannot produce an audiovisual display.
In other words, flipping a few bits in a game really did enhance the game—but the gamer had to buy the original game, plug it in, and then do the bit-flipping him or herself, so there was no damage done to the copyright holder. This is a different story from the music-sampling cases, in which a new song could actually replace the old song being sampled. If Galoob had been selling modified Super Mario Bros. cartridges, that would have been a different matter, but the Game Genie's technology was deemed legally legit, and it continued to sell. (If you're into legal history, read this article discussing the case and a few others.)
In a counter-example of how to handle this sort of product, Sega actually licensed the Game Genie, giving it its Seal of Quality. There were a few restrictions on how the Game Genie worked with Sega games (mainly around not modifying saved games), but at least nobody went to court over it.
Game Action Replay (GAR): An Awesome Way to Void Your Warranty
I spoke to Frankie Viturello, who co-hosts the retro gaming Digital Press webcast, about an interesting gizmo that occasionally shared shelf space with the Game Genie: the Game Action Replay. Viturello said:
"Unlike the Game Genie, which had the financial clout of of manufacturing/distribution by a big toy company, the Game Action Replay was released by a company called "QJ" and found limited distribution in the US in mom-and-pop video and toy stores. You wouldn't find this thing at your local Toys 'R Us.
"The Game Genie [had a hex-editing code system], but this thing had a "save state" feature which would allow the user to immediately save progress to an on-board memory bank. You could power down your NES and power it back up and the Action Replay would allow you to pick up at the exact moment in gameplay that you left off. Unfortunately, you needed to take your NES apart to "install" it! (Warranty voided!)
The GAR had a few other features, including several slow-motion modes (which could cause games to crash). Dain Anderson, the aforementioned founder of NintendoAge.com, also mentioned this bit of wizardry:
The idea behind the GAR is that you could create “save states” of the game you’re currently playing, allowing you to start again at a spot you keep dying in. To use the GAR, a gamer would press SELECT + A Button, and they’d see a flash on the screen indicating the save was successful. They could save up to five states which could be retrieved using SELECT + B Button.
He also mentioned that the device was glitchy, and its use of RAM (rather than ROM) eventually led to the GAR's demise. (Oh well, some things are too beautiful to live.)
Your Game Genie Memories
If you had a Game Genie, what were your favorite codes? Share your memories in the comments. I'm also taking suggestions on next topics for Nintendo explainer articles—hit me with ideas, folks.