SNES Controller Has A Pi Zero In The Trunk

We’re no stranger to seeing people jam a Raspberry Pi into an old gaming console to turn it into a RetroPie system. Frankly, at this point it seems like we’ve got to be getting close to seeing all possible permutations of the concept. According to the bingo card we keep here at Hackaday HQ we’re just waiting for somebody to put one into an Apple Bandai Pippin, creating the PiPi and achieving singularity. Get it done, people.

That being said, we’re still occasionally surprised by what people come up with. The Super GamePad Zero by [Zach Levine] is a fairly compelling take on the Pi-in-the-controller theme that we haven’t seen before, adding a 3D printed “caboose” to the stock Super Nintendo controller. The printed case extension, designed by Thingiverse user [Sigismond0], makes the controller about twice as thick, but that’s still not bad compared to modern game controllers.

In his guide [Zach] walks the reader through installing the Raspberry Pi running RetroPie in the expanded case. This includes putting a power LED where the controller’s cable used to go, and connecting the stock controller PCB to the Pi’s GPIO pins. This is an especially nice touch that not only saves you time and effort, but retains the original feel of the D-Pad and buttons. Just make sure the buttons on your donor controller aren’t shot before you start the build.

Adding a little more breathing room for your wiring isn’t the only reason to use the 3D printed bottom, either. It implements a very clever “shelf” design that exposes the Pi’s USB and HDMI ports on the rear of the controller. This allows you to easily connect power and video to the device without spoiling the overall look. With integrated labels for the connectors and a suitably matching filament color, the overall effect really does look like it could be a commercial product.

The SNES controller is an especially popular target for hacks and modifications. From commercially available kits to the wide array of homebrew builds, it there’s plenty of people who want to keep this legendary piece of gaming gear going strong into the 21st century

Continue reading “SNES Controller Has A Pi Zero In The Trunk”

Memory Mapping Methods In The Super Nintendo

Not only is the Super Nintendo an all-around great platform, both during its prime in the 90s and now during the nostalgia craze, but its relative simplicity compared to modern systems makes it a lot more accessible from a computer science point-of-view. That means that we can get some in-depth discussion on how the Super Nintendo actually does what it does, and understand most of it, like this video from [Retro Game Mechanics Explained] which goes into an incredible amount of detail on the mechanics of the SNES’s memory system.

Two of the interesting memory systems the SNES uses are called DMA and HDMA. DMA stands for direct memory access, and is a way for the Super Nintendo to access memory independently of the CPU. The advantages to this are that it’s incredibly fast compared to more typical methods of accessing memory. This isn’t particulalry unique, but the HDMA system is. It allows the SNES to do all kinds of interesting tricks with its video output display like changing color gradients and doing all kinds of masking effects.

If you’re interested in the inner workings of classic consoles like the SNES, this video gets way down in the weeds in the system itself. It’s interesting to see how programmers were able to squeeze more capability from these limited (by modern standards) systems by manipulating memory like the DMA and HDMA systems do.  [Retro Game Mechanics Explained] is a great resource for exploring in-depth aspects of lots of classic games, like how speedrunners can execute arbitrary code in old Mario games.

Continue reading “Memory Mapping Methods In The Super Nintendo”

Slack On The SNES Via Satellite

We love seeing hardware and software from bygone eras getting a new lease on life through modern hacks, as longtime readers can surely attest to. Why leave this stuff to rot in a closet somewhere when it can be pushed into service today? Granted it might not always be the most efficient way to accomplish a task in the 21st century, but at least you’ll net some precious Internet Points for originality.

As a perfect example, take a look at this project which lets you read Slack messages through a Super Nintendo game. If your first thought was that such a thing would involve an unreasonable amount of effort and hoop jumping…then you would be correct. [Bertrand Fan] really had to think outside the box to make this one happen, and even admits a bit of imagination is required on the part of the end-user to use it. But it’s undeniably an original approach, so we hereby bestow the customary Internet Points unto him.

So how does this work, and where do the satellites come in? The key is in a fairly obscure Japanese SNES peripheral called the Satellaview, one of Nintendo’s early attempts at creating an online content delivery system for their consoles. Games designed with Satellaview support would be able to pull down new content from regular satellite broadcasts, not too bad for 1995. This means that if you have the hardware, and happen to own a satellite, you can push your own content into an unmodified SNES. No problem, right?

Alright, [Bertrand] didn’t really use a Satellaview modem plugged into an actual SNES. Plus we’re fairly sure he doesn’t have his own satellite network to broadcast Slack messages with anyway. But it turns out some SNES emulators have support for a virtual Satellaview modem, and there’s even software out there that will let you create new content “downloads” for the system’s included game: BS-X: The Story of The Town Whose Name Was Stolen. All he had to do was connect the dots.

[Bertrand] started by stripping the user interface out of SatellaWave, an open source tool for creating Satellaview content, so that it only need to be provided with an XML file of the content to be “downloaded” by the virtual satellite modem. Using the Slack API, he then came up with way to pull the last 10 messages from a server and push them into his modified version of SatellaWave. Each time somebody posts a new message his software kicks in to produce a new satellite download which automatically gets picked up by the SNES emulator and pops up in the game.

If this is still too practical for you, you can always go all in and run Slack on your Commodore 64.

Continue reading “Slack On The SNES Via Satellite”

Listen To A Song Made From Custom Nintendo LABO Waveform Cards

[Hunter Irving] has been busy with the Nintendo LABO’s piano for the Nintendo Switch. In particular he’s been very busy creating his own custom waveform cards, which greatly expands the capabilities of the hackable cardboard contraption. If this sounds familiar, it’s because we covered his original method of creating 3D printed waveform cards that are compatible with the piano, but he’s taken his work further since then. Not only has he created new and more complex cards by sampling instruments from Super Nintendo games, he’s even experimented with cards based on vowel sounds in an effort to see just how far things can go. By layering the right vowel sounds just so, he was able to make the (barely identifiable) phrases I-LIKE-YOU, YOU-LIKE-ME, and LET’S-A-GO.

Those three phrases make up the (vaguely recognizable) lyrics of a song he composed using his custom waveform cards for the Nintendo LABO’s piano, appropriately titled I Like You. The song is at the 6:26 mark in the video embedded below, but the whole video is worth a watch to catch up on [Hunter]’s work. The song is also hosted on soundcloud.

Continue reading “Listen To A Song Made From Custom Nintendo LABO Waveform Cards”

Adding Bluetooth To Original SNES Controllers

There’s a bunch of companies selling wireless Super Nintendo style controllers out there. You can go on Amazon and get any number of modern pads that at least kinda-sorta look like what came with Nintendo’s legendary 1990’s game console. They’ve got all kinds of bells and whistles, Bluetooth, USB-C, analog sticks, etc. But none of them are legitimate SNES controllers, and for some people that’s just not good enough.

[sjm4306] is one of those people. He wanted to add Bluetooth and some other modern niceties to a legitimate first-party SNES controller, so he picked up a broken one off of eBay and got to work grafting in his custom hardware. The final result works with Nintendo’s “Classic Edition” consoles, but the concept could also work with the original consoles as well as the computer if you prefer your classic games emulated.

A custom ATMEGA328P-powered board polls the controller’s SPI serial shift register in much the same way the original SNES would have. It then takes those button states and sends them out over UART with a HC-05 Bluetooth module. The controller is powered by a 330 mAh 3.7V battery, and a charging circuit allows for easily topping the controller off with a standard USB cable.

A particularly nice touch on the controller is the use of custom light pipes for the status LEDs. [sjm4306] made them by taking pieces of transparent PLA 3D printer filament, heating and flattening the end, and then sanding it smooth. This provides a diffusing effect on the light, and we’ve got to say it looks very good. Definitely a tip to file away for the future.

On the receiving side, this project was inspired by a custom NES Classic Edition Advantage controller we featured last year, and borrows the work creator [bbtinkerer] did to get his receiver hardware talking to the Classic console over I2C.

We’ve seen a number of projects which have added wireless functionality to the classic Super Nintendo controller, but most tend to be more invasive than this one. We like the idea of reading the controller’s original hardware rather than completely gutting it.

Continue reading “Adding Bluetooth To Original SNES Controllers”

Dumping A Zelda SNES ROM, And Learning A Few Things Along The Way

For many of us, being given a big old DIP ROM from nearly thirty years ago and being told to retrieve its contents would be a straightforward enough task. We’d simply do what we would have done in the 1980s, and hook up its address lines to a set of ports, pull its chip select line high, and harvest what came out of the data lines for each address.

But imagine for a minute that an old-fashioned parallel ROM is a component you aren’t familiar with, as [Brad Dettmer] did with the ROM from a SNES Zelda cartridge. We’ve seen plenty of reverse engineering stories with ancient computing gear as their subject, but perhaps it’s time to accept that some of the formerly ubiquitous devices are edging towards that sort of status.

So [Brad] takes us through the process of using the Saleae logic analyser to interrogate the chip while an Arduino stepped through its address lines, and the lesson is probably that while it seems like a sledgehammer to crack a nut it is important to factor in that unfamilarity. If you’d never worked with a 1980s ROM, it would make sense to use the tool you are familiar with, wouldn’t it?

Anyway, all’s well that ends well. While we’re on the subject of Nintendo ROMs, have a read about extracting the boot ROM from a cloned Game Boy.

PC In An SNES Case Is A Weirdly Perfect Fit

For better or for worse, a considerable number of the projects we’ve seen here at Hackaday can be accurately summarized as: “Raspberry Pi put into something.” Which is hardly a surprise, the Pi is so tiny that it perfectly lends itself to getting grafted into unsuspecting pieces of consumer tech. But we see far fewer projects that manage to do the same trick with proper x86 PC hardware, but that’s not much of a surprise either given how much larger a motherboard and its components are.

So this PC built into a Super Nintendo case by [NoshBar] is something of a double rarity. Not only does it ditch the plodding Raspberry Pi for a Mini-ITX Intel i5 computer, but it manages to fit it all in so effortlessly that you might think the PAL SNES case was designed by a time traveler for this express purpose. The original power switch and status LED are functional, and you can even pop open the cart slot for some additional airflow.

[NoshBar] started by grinding off all the protruding bits on the inside of the SNES case with a Dremel, and then pushed some bolts through the bottom to serve as mounting posts for the ASUS H110T motherboard. With a low profile Noctua CPU cooler mounted on top, it fits perfectly within the console’s case. There was even enough room inside to add in a modified laptop charger to serve as the power supply.

To round out the build, [NoshBar] managed to get the original power slider on the top of the console to turn the PC on and off by gluing a spring-loaded button onto the side of the CPU cooler. In another fantastic stroke of luck, it lined up almost perfectly with where the power switch was on the original SNES board. Finally, the controller ports have been wired up as USB, complete with an adapter dongle.

[NoshBar] tells us the inspiration for sending this one in was the Xbox-turned-PC we recently covered, which readers might recall fought back quite a bit harder during its conversion.