The Proper Use for a Gameboy Advance Carrying Case

About a decade ago, Nintendo released a Game Boy Advance carrying case in the shape of a Game Boy Advance. It was the obvious answer to the original brick Game Boy carrying case every eight year old had in 1990. This jumbo-sized Game Boy Advance case also makes a really good platform for a console mod, which is exactly what [frostefires] got when he put an N64 in one.

This isn’t the first time we’ve seen this bit of old Nintendo paraphernalia used to house an N64. A few years ago, [Hailrazer] used the same GBA carrying case as the body of an N64 build. There were a few shortcomings in that build, most importantly the removal of the D pad.  [frostedfires]’ build fixes this oversight.

Inside the GBA enclosure is a 4.3 inch screen, a replacement Gamecube joystick, an SNES D pad, and of course the entire N64 circuit board with a few modifications.

[frostedfires] entered this into a ‘Shark Tank’-ish  competition at school, and this build was so impressive he won first place. Link to the full build thread here.

Turning A Classic NES Controller Into a Bluetooth Controller

[Pietronet] is like many of us in that he enjoys playing some classic console video games from time to time. He usually plays them on his PC using a Wiimote as a controller. The Wiimote has most of the classic buttons in a comfortable configuration. Plus, it’s got Bluetooth built-in, which makes it easy to pair up to your PC. [Pietronet] decided to take it a step further, though. He managed to cram all of the guts from a Wiimote inside of the original NES controller for a more authentic feel.

The first step was to crack open the Wiimote and locate pads for each button. Once they were located, [Pietronet] used a Dremel to cut the board into a smaller size. He cut off part of the circuit board that contained the directional pad as well as the connector for the nunchuck. Next he had to solder very thin wires to each of the button pads he located earlier.

The original NES controller has a very limited number of buttons, and [Pietronet] wanted to modify the original controller as little as possible. Therefore, he attached a magnetic reed switch to the Wiimote’s sync button. This way if he ever needs to sync the Wiimote to a new console, he can do it by holding a magnet in the right place. This is a function that isn’t often used, so the inconvenience should be negligible.

The next step was to connect the buttons from the original NES controller up to the wires that were added to the Wiimote. [Pietronet] left the original circuit board mostly intact. He did have to cut a small chunk of it away in order to make room for two AAA batteries, but this didn’t affect the functionality of the controller.

The inside of the NES controller had to be cleaned out of various standoffs and plastic bits to make room for all of the extra components. The Wiimote has an LED to indicate that the controller is connected properly. [Pietronet] soldered a red SMD LED in its place on the end of two thin wires. This LED was then placed on the bottom left side of the directional pad. It’s visible through a translucent filter. This allows [Pietronet] to see when the NES controller is synced up properly.

The case fits back together and everything is held in place. The result is what looks and feels like a classic NES controller, only this one has Bluetooth connectivity and a vibration motor. Check out the video demonstration below to get an idea of what it looks like in use. Continue reading “Turning A Classic NES Controller Into a Bluetooth Controller”

Reprogramming Super Mario World from Inside The Game

[SethBling] recently set a world record speed run of the classic Super Nintendo game Super Mario World on the original SNES hardware. He managed to beat the game in five minutes and 59.6 seconds. How is this possible? He actually reprogrammed the game by moving specific objects to very specific places and then executing a glitch. This method of beating the game was originally discovered by Twitch user [Jeffw356] but it was performed on an emulator. [SethBling] was able to prove that this “credits warp” glitch works on the original hardware.

If you watch the video below, you’ll see [SethBling] visit one of the first available levels in the game. He then proceeds to move certain objects in the game to very specific places. What he’s doing here is manipulating the game’s X coordinate table for the sprites. By moving objects to specific places, he’s manipulating a section of the game’s memory to hold specific values and a specific order. It’s a meticulous process that likely took a lot of practice to get right.

Once the table was setup properly, [SethBling] needed a way to get the SNES to execute the X table as CPU instructions. In Super Mario World, there are special items that Mario can obtain that act as a power up. For example, the mushroom will make him grow in size. Each sprite in the game has a flag to tell the SNES that the item is able to act as a power up. Mario can either collect the power up by himself, or he can use his friendly dinosaur Yoshi to eat the power up, which will also apply the item’s effects to Mario.

The next part of the speed run involves something called the item swap glitch. In the game, Mario can collect coins himself, or Yoshi can also collect them by eating them. A glitch exists where Yoshi can start eating a coin, but Mario jumps off of Yoshi and collects the coin himself simultaneously. The result is that the game knows there is something inside of Yoshi’s mouth but it doesn’t know what. So he ends up holding an empty sprite with no properties. The game just knows that it’s whatever sprite is in sprite slot X.

Now comes the actual item swap. There is an enemy in the game called Chargin’ Chuck. This sprite happens to have the flag set as though it’s a power up. Normally this doesn’t matter because it also has a set flag to tell the game that it cannot be eaten by Yoshi. Also, Chuck is an enemy so it actually hurts Mario rather than act as a power up. So under normal circumstances, this sprite will never actually act as a power up. The developers never programmed the game to properly handle this scenario, because it was supposed to be impossible.

If the coin glitch is performed in a specific location within the level, a Chargin’ Chuck will spawn just after the coin is collected. When the Chuck spawns, it will take that empty sprite slot and suddenly the game believes that Yoshi is holding the Chuck in his mouth. This triggers the power up condition, which as we already know was never programmed into the game. The code ends up jumping to an area of memory that doesn’t contain normal game instructions.

The result of all of this manipulation and glitching is that all of the values in the sprite X coordinate table are executed as CPU instructions. [SethBling] setup this table to hold values that tell the game to jump to the end credits. The console executes them and does as commanded, and the game is over just a few minutes after it began. The video below shows the speed run but doesn’t get too far into the technical details, but you can read more about it here.

This isn’t the first time we’ve seen this type of hack. Speed runs have been performed on Pokemon with very similar techniques. Another hacker managed to program and execute a version of single player pong all from within Pokemon Blue. We can’t wait to see what these game hackers come up with next. Continue reading “Reprogramming Super Mario World from Inside The Game”

Fixing An NES For Good

Sometime in the late 80s, the vast collective consciousness of 8-year-olds discovered a Nintendo Entertainment System could be fixed merely by blowing on the cartridge connector. No one knows how this was independently discovered, no one knows the original discoverer, but one fact remains true: dirty pins probably weren’t the problem.

The problem with a NES that just won’t read a cartridge is the ZIF socket inside the console. Pins get bent, and that spring-loaded, VCR-like front loader assembly is the main point of failure of these consoles, even 30 years later. You can get replacement ZIF sockets for a few bucks, and replace the old one using only a screwdriver, but this only delays the inevitable. That ZIF socket will fail again a few years down the line. Finally, there is a solution.

The Blinking Light Win, as this project is called, replaces the ZIF connector with two card-edge slots. One slot connects to the NES main board, the other to the cartridge connector. There’s a plastic adapter that replaces the spring-loaded push down mechanism created for the original ZIF connector, and installation is exactly as easy as installing a reproduction NES ZIF connector.

If you’re wondering why consoles like the SNES, Genesis, and even the top-loader NES never had problems that required blowing into the cartridge connector, it’s because the mere insertion of the cartridge into the slot performed a scrubbing action against the pins. Since the ZIF socket in the O.G. NES didn’t have this, it was prone to failure. Replacing the ZIF with a true card-edge slot does away with all the problems of dirty contacts, and now turns the NES into something that’s at least as reliable as other cartridge-based consoles.

HDMI Out With A Brick Game Boy

A few years ago, some vastly clever people figured out how to listen in on the LCD display on the classic brick Game Boy from 1989. There have been marked improvements over the years, including a few people developing VGA out for the classic Game Boy. Now, the bar has been raised with an HDMI adapter for the Game Boy, designed in such a way that turns everyone’s favorite battery hog into a portable console.

Your classic beige or cleverly named Color Game Boy is composed of two halves. The rear half contains all the important circuitry – the CPU, cartridge connector, and the rest of the smarts that make the Game Boy game. The front half is fairly simple in comparison, just an LCD and a few buttons. By designing an adapter that goes between these two halves, [Zane] and [Joshua] were able to stuff enough circuitry inside the Game Boy to convert the signals going to the LCD to HDMI. Plug that into your TV, and you have a huge modern version of the Super Game Boy, no SNES required.

The HDMIBoy also breaks out the buttons to the classic NES controller connector. With HDMI out and a controller input, the old-school Game Boy become a portable if somehow even more brick-like console.

3DS Homebrew Channel and Custom Firmware

Nintendo has always been very wary about allowing independent and homebrew developers making games for their consoles, and the 3DS is no exception. It’s locked down, and a few 3DS and console hackers have spent years searching for a method that will easily allow anyone to run unsigned code. That day is finally here. The exploit is called NINJHAX, and it allows anyone to install the Homebrew Channel, the repository for everything awesome in the world of 3DS homebrew development.

The latest exploit relies on a bit of code in a retail game – Cubic Ninja – to run unsigned code. This game includes a level editor that allows players to share different levels by QR codes and 3DS’ camera. By carefully crafting one of these QR codes, the 3DS gains the ability to run the Homebrew Channel

If this exploit sounds familiar, you’re right. The most common way to open up a Wii for homebrew development is Smash Stack, an exploit found in Super Smash Bros. Brawl. This exploit also works by modifying custom stages, and opened the door to a wealth of homebrew development for the Wii.

In the video below, [smea] shows off his exploit by starting Cubic Ninja, going to the QR code level editor, then loading up homebrew games. A copy of the game that enables this exploit, Cubic Ninja, is required for this exploit. Last week, you could buy Cubic Ninja for a few dollars on eBay and Amazon. Today, the price has settled around $50, with a few very dumb or very eager people paying up to $300. If you already have the game, you’ll only need to get the homebrew starter kit, generate a QR code, and start installing unsigned code. All the instructions are available on [smeal]’s site.

Continue reading “3DS Homebrew Channel and Custom Firmware”

A Raspberry Pi in a Game Boy Advance SP

It’s not the biggest use of a Raspberry Pi, but running emulators for old game systems is by far the most visible use of the Pi. In fact, putting Pis inside old game systems has led to a resurgence of case modding not seen since the heyday of the Mini-ITX craze of the early ‘aughts.

You’d think every possible Pi casemod had been done by now, but [frostedfires] is still raising the bar with a Pi casemod that stuffs a clone of everyone’s favorite credit card sized computer into a Game Boy Advance SP.

[frostedfires] isn’t using a real Raspi from The Foundataion. Instead, he found the Odroid W, a raspi compatible board that’s about half the size of a model B. It still has everything needed to complete the build – analog video out, a reasonable Linux system, and enough processing power to run Quake III. Right now, [frostedfires] has the screen working – that was taken from a car backup camera. Other than that, the only portion of the build left to go is a few buttons.

This is officially the smallest derivative casemod we’ve ever seen. the previous record holder was the still tiny Game Boy Pocket build from last summer. That build required heavy modifications to the Model B board, though, so if you’re aiming for a smaller build, the Odroid is the way to go.

Thanks to the Bacman forums for yet another great build.