How The Game Genie Works

Those of us old enough to remember blowing into cartridges will probably remember the Game Genie – a device that plugs in to an NES, SNES, Sega Genesis, or Game Boy that gives the player extra lives, items, changes the difficulty, or otherwise modifies the gameplay. To someone who doesn’t yet know where the 1-up is in the first level of Super Mario Bros., the Game Genie seems magical. There is, of course, a rhyme and reason behind the Genie and [The Mighty Mike Master] put together a great walkthrough of how the Game Genie works.

There are two varieties of Game Genie codes – 6-character codes and 8-character codes. Both these types of codes translate into a 15-bit address in the game ROM (from 0x8000 to 0xFFFF for the 6502-based NES) and a data byte. For the 6-character codes, whenever the address referenced by the Game Genie code is accessed, a specific data byte is returned. Thus, infinite lives become a reality with just a 6-character code.

Some games, especially ones made in the late years of their respective systems, use memory mapping to increase the code and data provided on the cartridges. Since areas of data are constantly being taken in and out of the CPU’s address space, merely returning a set value whenever a specific address is accessed would be disastrous. For this bank-switching setup, the Game Genie uses an 8-bit code; it’s just like the 6-bit code, only with the addition of a ‘compare’ byte. Using an 8-bit code, the Game Genie returns a specific byte if the compare bytes are equal. Otherwise, the Genie lets hands off the original data to the CPU.

Of course, all this information could be gleaned from the original patent for the Game Genie. As for the circuitry inside the Game Genie, there’s really not much aside from an un-Googleable GAL (general array logic) and a tiny epoxied microcontroller. It’s an amazingly simple device for all the amazement it imbued in our young impressionable minds.

Continue reading “How The Game Genie Works”

How To Play A Game Boy Emulator On Chromecast

gameboy-on-chromecast

It’s small, it’s blurry, but it’s working. Here’s a proof of concept for playing emulators on a Chromecast which uses the original Game Boy as an example.

Notice that there are two screens shown in the demo. Out of focus in the background is the television with the Chromecast displaying the game play. In the foreground is a computer with a browser open which lists off the control setup. These are the button mappings for an Xbox 360 controller. The emulator is a JavaScript Game Boy emulator. This is loaded on the Chromecast through a simple html file (called the receiver in the repo). The sender — also a simple html file — loads another JavaScript package on the computer which translates the controller’s button presses to keyboard inputs and sends them out to the receiver.

This puts stars in our eyes about emulator hacks. We’d love to see this boiled down to smartphone and Chromecast as the two pieces of hardware, with the touchscreen as the gaming input.

Continue reading “How To Play A Game Boy Emulator On Chromecast”

Reading Game Boy Carts With I2C

rasgame

After seeing a Game Boy emulator for the first time, [Thijs] was amazed. A small box with just a handful of electronics that turns a Game Boy cartridge into a file able to be run on an emulator is simply magical. [Thijs] has learned a lot about GB and GBC cartridges in the mean time, but still thinks the only way to really learn something is to roll up your sleeves and get your hands dirty. Thus was born [Thijs]’ Game Boy cartridge dumper, powered by a pair of I2C port expanders and a Raspberry Pi.

Inspired by a build to dump ROMs off Super Nintendo games with the help of a Raspberry Pi, [Thijs] grabbed all the hardware necessary to create his own GB cart dumper. A DS Lite cartridge adapter provided the physical connection and a pair of MCP23017 I/O expanders – one soldered to a Slice of PI/O board – provided the electrical connections.

In the end, [Thijs] managed to dump the ROMs off the Japanese editions of Pokemon Yellow and Gold in about 13 minutes. This is a much slower transfer rate of 26 minutes per SNES cart in the post that gave [Thijs] the inspiration for this build. Still, [Thijs] will probably be the first to say he’s learned a lot from this build, especially after some problems with dumping the right banks from the cartridge.

Extreme Game Boy Hack Plays Titles From A Wide Range Of Systems

gameboy-ds-in-original-gb-case

[Akira] can play any Game Boy, GBC, GBA, NES, SNES, or SMS game while on the go thanks to all the work he put into this portable gaming hack. The outside seems familiar; it’s an original Game Boy case. But you should immediately notice that it has a few extra buttons. That’s the first clue that what’s inside isn’t stock… which is a huge understatement.

The idea for the project started off rather simple, but quickly got out of hand (check out the build log for full details on that). He thought it would be nice to have a backlight for the original screen. After mixed results he scrapped the original mainboard and started anew with some Nintendo DS Lite hardware. It had a broken LCD connector so he tried a couple of different fixes to get it working again. After some success he started adding more equipment, like the extra pair of buttons, a better speaker on the battery door, and the microSD add-on you can see above.

You can catch a demo of the finished goods after the jump.

Continue reading “Extreme Game Boy Hack Plays Titles From A Wide Range Of Systems”

A Brick-sized Game Boy Advance SP

gameboy

For a few years now, [Michael] has wanted to put the guts of a Game Boy Advance – the small clamshell version with a backlit LCD – into the classic and comfortable DMG-01 ‘brick’ Game Boy. He’s finally finished with his project, and we’ve got to say it’s looking pretty good.

The build began by excising the backlit LCD from an old clamshell Game Boy Advance and hot gluing it to the screen bezel of an old DMG-01. The cartridge slot from the original ‘brick’ Game Boy remained, but this design decision did require a fair bit of soldering and a length of ribbon cable.

Since [Michael] is using the original cartridge slot found in the original Game Boy, he can’t play any games in the smaller Game Boy Advance cartridge format. Still, it should be possible to build an adapter to fit those smaller cartridges inside the larger Game Boy, and he can always play Tetris and Little Sound DJ, so nothing of value is lost.

Raspberry Pi Is Right At Home Inside Of A Game Boy

IMG_20130201_163325

[Matt] still has his original Game Boy from when he was a kid. He wanted to pull it out and play some of the classics but alas, the screen was broken and he couldn’t find a source for a drop-in replacement. In the end he ordered a used unit and pulled the screen from that one. This left him with a pile of leftover Game Boy parts which turned into a Raspberry Pi case project.

Since the RPi doesn’t have a power switch he thought it would be pretty neat to incorporate the Game Boy power switch. He was able to cut out one section of the original PCB that included the switch and one mounting hole. This kept the switch aligned with the case and gave him some pads to solder the incoming USB cable and the jumper wires to the RPi board. In the image above the power LED is on. He mentions that there was an issue with that circuit; the voltage drop across the LED was messing up the feed to the Pi so it’s disabled for now.

We’ve embedded a couple of images of everything inside the case after the break. If you’re a fan of this hack you should also take a look at the Game Boy hard drive enclosure which uses the same pixel art printed on paper effect for the screen window.

Continue reading “Raspberry Pi Is Right At Home Inside Of A Game Boy”

There’s Something Strange About This Game Boy

emu

What looks to be a stock brick Game Boy with two additional buttons is actually one of the coolest portable mods we’ve ever seen.

Instead of the classic 1989 hardware, the interior of this Game Boy is stuffed with a Dingoo A330 portable emulation machine capable of playing Game Boy, Game Boy Advance, and other 8 and 16-bit console classics.

After a great deal of modification to the original Game Boy enclosure, [Alex] cut down two Game Boy PCBs to wire the D pad, A, B, select and start buttons to the Dingoo. An extra pair of buttons were added and the shoulder buttons present on the Dingoo were emulated with rocker switches placed where the original volume and contrast controls were.

All this and a new color LCD (and screen bezel) means this Game Boy looks nearly stock, save for the addition of an extra pair of buttons. It’s a fabulous piece of work, and we’re exceedingly jealous for [Alex]’s friend receiving this for his birthday.

You can check out this build in action after the break.

Continue reading “There’s Something Strange About This Game Boy”