Inexpensively Replace A Worn Out N64 Joystick

The Nintendo 64 is certainly a classic video game system, with amazing titles like Mario Kart 64 and Super Smash Bros that are still being played across the world today. But, like finding new parts for a classic car, finding an original controller that doesn’t have a sad, wobbly, worn-out joystick is getting to be quite the task. A common solution to this problem is to replace the joystick with one from a Gamecube controller, but the kits to do this are about $20USD, and if that’s too expensive then [Frenetic Rapport] has instructions for doing this hack for about $2.

The first iteration of using a Gamecube stick on an N64 controller was a little haphazard. The sensitivity was off and the timing wasn’t exactly right (very important for Smash Bros.) but the first kit solved these problems. This was the $20 kit that basically had a newer PCB/microcontroller that handled the Gamecube hardware better. The improvement which drove the costs down to $2 involves modifying the original PCB directly rather than replacing it.

While this solution does decrease the cost, it sacrifices the new potentiometer and some of the easier-to-work-with jumpers, but what was also driving this project (in addition to cost) was the fact that the new PCBs were becoming harder to get. It essentially became more feasible to simply modify the existing hardware than to try to source one of the new parts.

Either way you want to go, it’s now very easy to pwn your friends in Smash with a superior controller, rather than using a borked N64 controller you’ve had for 15 years. It’s also great to see hacks like this that come together through necessity and really get into the meat of the hardware. Perhaps we’ll see this controller ported to work with other versions of Super Smash Bros, too!

Mustachioed Nintendo Virtual Boy Gone Augmented Reality

Some people just want to watch the world burn. Others want to spread peace, joy and mustaches. [Joe Grand] falls into the latter group this time around. His latest creation is Mustache Mayhem, a hack, video game, and art project all rolled into one. This is a bit of a change from deconstructing circuit boards or designing electronic badges, but not completely new for [Joe], who wrote SCSIcide and Ultra SCSIcide for the Atari 2600 back in the early 2000’s.

Mustache Mayhem is built into a Nintendo Virtual Boy housing. The Virtual Boy itself was broken, and unfortunately was beyond repair. [Joe] removed most of the stock electronics and added a BeagleBone Black, Logitech C920 webcam, an LCD screen and some custom electronics. He kept the original audio amplifier, speakers, and controller connector. Angstrom Linux boots into [Joe’s] software, which uses OpenCV to detect faces and overlay mustaches. Gameplay is simple: Point the console at one or more faces. If you see a mustache, press the A button on the controller! The more faces and mustaches on-screen at once, the more points, or “mojo” the player gets. The code is up on Github, and can be built with Xcode targeted to the Mac, or directly on the BeagleBone Black.

[Joe’s] goal for the project was to make a ridiculous game that looks like it could have come out in the 90’s. He also used Mustache Mayhem as a fun way to learn some new skills which will come in handy for more serious projects in the future.

We caught up with [Joe] for a quick interview about his new creation.

How did you come up with the idea for Mustache Mayhem?

blockI was selling a bunch of my video game collection at PRGE (Portland Retro Gaming Expo) a few years ago and had a broken Virtual Boy that no one bought. A friend of mine was at the table and said I had to do something with it. I thought “People wear cosplay and walk around at conventions, so what if I could do something with the Virtual Boy that you could walk around with?” That was the seed.

A few months later, Texas Instruments sent me the original production release of the BeagleBone Black (rev. A5A). Eighteen months after that I actually started the project. The catalyst was to do something for an upcoming Portland, OR art show (Byte Me 4.0), which is an annual event that shows off interactive technology-based artwork. I wrote up a little description and got accepted. I had less than 2 months to actually get things working and it ended up taking about a month of full-time work. It was much more work than I expected for such a silly project. I originally was going to do something along the lines of walking around in a Doom-like perspective and shooting people when their faces were detected.

That would be pretty darn cool. How did you get from Doom to Mustaches? 

I saw a TI BeagleBoard demo called “boothstache” which drew mustaches on faces and tweeted the pictures. I thought that doing something non-violent with mustaches would be more suitable (and funny) to actually show my kids. I also secretly wanted to use this project as a way to experiment with Linux, write some code, and learn about face detection and image processing with OpenCV, which I plan to use for some actual computer security research in the future. Mustache Mayhem turned out to be a super cool project and I’m really happy with it. I sort of feel guilty spending so much time on it, since it’s basically just a one-off prototype, but I just got so obsessed with making it exactly as I wanted.

You mentioned on your website that Mustache was “designed to challenge the paradigms of personal privacy and entertainment.” What exactly did you mean there?

Continue reading “Mustachioed Nintendo Virtual Boy Gone Augmented Reality”

[darNES] Stores Cached Netflix on NES Cartridge

Let’s play a quick word association game: Peanut butter…jelly. Arches…golden. NES…Netflix?  That last one sounds like a stretch, but the [darNES] development team had a Hack Day and a dream.  They started with cached Netflix data and ended up playing it on an ordinary NES. (YouTube link)

The data was pre-converted so that the video frames were stored as tilesets and stored in the ROM image. [Guy] used the NES memory mapper (MMC3) to swap the frames. [darNES] had originally planned to use a Raspberry Pi in the cartridge to handle the video conversion and networking, but had to change gears and make a static ROM image due to time constraints and resource availability.

Accessing the Netflix data is just like the days of yore – load the cartridge into an unmodified NES and hit the power button (they didn’t even need to blow on it!). A bare-bones Netflix gallery appears. You can move the white cursor on the screen with the NES controller’s D-pad. House of Cards was the choice, and true to form, the next screen shows you a synopsis with a still image and gives you the option to Play. Recommend is also there, but obviously won’t work in this setup. Still, it got a chuckle out of us. [darNES] admits that due to time issues they did not optimize the color palette for the tilesets. They plan to release more of the technical info this week, but have already given us some hints on their Hacker News thread.

Check out the videos after the break to see the video they fit onto a 256K NES cartridge.

Continue reading “[darNES] Stores Cached Netflix on NES Cartridge”

SNES Controller Modified to be Completely Wireless

[Pat] was looking for a way to wirelessly control his Fire TV unit. He could have just went with one of many possible consumer products, but he decided to take it a step further. He modified a unit to fit inside of an original SNES controller. All of the buttons are functional, and the controller even features a wireless charger.

[Pat] started out with a Bluetooth video game controller marketed more playing video games on tablets. The original controller looked sort of like an XBox controller in shape. [Pat] tore this controller open and managed to stuff the guts into an original SNES controller. He didn’t even have to remove the original SNES PCB. [Pat] mentions that it was rather tedious to rewire all of the buttons from the original controller, but in the end it wasn’t too difficult. The only externally visible modification to the original controller is a small hole that was made for a power button.

In order to make this unit completely wireless, [Pat] also installed a Qi wireless charging module. Now, placing the controller on a charging pad will charge up the small LiPo battery in just about 45 minutes. This controller would be the perfect addition to a RetroPi or other similar project. If you’re not into Bluetooth, you can try using a Logitech receiver instead. Continue reading “SNES Controller Modified to be Completely Wireless”

Add Extra Storage to Your PS4 With Retro Flair

[Frank] came up with a clever way to extend the storage of his PS4. He’s managed to store his digital PS4 games inside of storage devices in the shape of classic NES cartridges. It’s a relatively simple hack on the technical side of things, but the result is a fun and interesting way to store your digital games.

He started out by designing his own 3D model of the NES cartridge. He then printed the cartridge on his Ultimaker 3D printer. The final print is a very good quality replica of the old style cartridge. The trick of this build is that each cartridge actually contains a 2.5″ hard drive. [Frank] can store each game on a separate drive, placing each one in a separate cartridge. He then prints his own 80’s style labels for these current generation games. You would have a hard time noticing that these games are not classic NES games at first glance.

Storing the game in cartridge form is one thing, but reading them into the PS4 is another. The trick is to use a SATA connector attached to the PS4’s motherboard. [Frank’s] project page makes it sound like he was able to plug the SATA cable in without opening the PS4, by attaching the connector to a Popsicle stick and then using that to reach in and plug the connector in place. The other end of the SATA cable goes into a custom 3D printed housing that fits the fake NES cartridges. This housing is attached to the side of the PS4 using machine screws.

Now [Frank] can just slide the cartridge of his choice into the slot and the PS4 instantly reads it. In an age where we try to cram more and more bits into smaller and smaller places, this may not be the most practical build. But sometimes hacking isn’t about being practical. Sometimes it’s simply about having fun. This project is a perfect example. Continue reading “Add Extra Storage to Your PS4 With Retro Flair”

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”

Game Boy with Lithium Batteries and USB

[Alan] procured a few Game Boys from a Yahoo auction with the intent of using them for some other projects, but one of the Game Boys was shipped with a very corroded battery which had eaten up one of the terminals. When [Alan] had repaired it, he was left with a Game Boy with no battery terminal at all, so he decided to splice in some lithium-ion batteries.

Not only does the Game Boy now have a new battery pack, but [Alan] was able to source a USB charger to handle the batteries’ charging needs. However, he realized that his battery pack was 3.7 volts, while the Game Boy only needed 3 volts. To lower the voltage of the battery pack to the required voltage, [Alan] grabbed a 1N4148 diode and put it in series with the battery pack, which also helps prevent any accidental reverse polarity.

This isn’t the most technically advanced Game Boy hack we’ve ever seen but it’s great to see new life breathed into these classic video game systems. Not to mention that [Alan] saved some lithium batteries from the landfill!