Arduino Provides No Fuss SNES-To-USB Conversion

Even for those of us who are fans of retrocomputing, it’s fair to say that not everyone plays their old-school games on real old-school hardware. The originals are now fragile and expensive, and emulators are good enough that if the gaming experience is all you’re after there’s little point in spending all that cash.

There’s one place in which the originals sometimes have the edge though, the classic controllers are the personal interface with the game. So when [Dome] found a SNES controller in an Akibahara shop, of course he picked it up. How to make it talk to a PC? Tuck an Arduino Pro Micro inside it, of course!

What we like about this project is that instead of ripping out the original electronics it instead hooks the Arduino board onto the original serial interface. We might have made a Nintendo socket to USB box to keep the original cable, but either way, the SNES (technically Super Famicom, because it’s a Japanese market unit) original stays true to its roots. The Arduino polls the clock line at the speed of the console, reads the result, and translates it to a USB interface for the computer. There’s a full run-down of the code and how it was made, should you wish to try.

Of course, if you don’t always have a PC handy, you could also put the whole computer in the controller.

Photoshop image of the NES game Metroid on a Super Nintendo cartridge.

NES Classic Metroid Ported To Equally Classic Super Nintendo

There was a time early in the development of the Super Nintendo (SNES) where the new console was to feature backwards compatibility with NES games. The solution would have required a cumbersome cartridge adapter and a hard switch on every console to flip the CPU into 8-bit mode. Unfortunately, it was not meant to be — outside of the first public demo of the console, little evidence exists to suggest the gamers would have been able to supercharge their old NES carts on their Super Nintendo.

But thanks to the impressive port of Metroid to the SNES by [infidelity], we can imagine what such a capability might have been like. There’s more on offer here than reduced sprite flicker. There are additional frames of animation compared to the original, so now Samus’ arm cannon stays consistent rather than magically switching arms when turning around. A complete save game system from the Famicom Disk System version has also been implemented as well, with the traditional three slots. Although purists can still utilize the password system if they so choose.

Ultimately the most impressive inclusion of [infidelity]’s work is the MSU-1 enhancement chip implementation. Fun video intro sequences lead into the main menu where players can select the accompanying soundtrack. There’s the original 8-bit music remapped onto the SNES sound chip, the expanded 8-bit version from the Famicom Disk System, the reimagined sound of Metroid Zero Mission, or a full orchestral score. It really is the sort of situation where there are no wrong answers.

While you’re here, check out this post about bringing Poke’mon ROM hacks into physical cartridge form.

Continue reading “NES Classic Metroid Ported To Equally Classic Super Nintendo”

A tiny TV playing Super Mario All-Stars

The SF1 Mini Is A Homebrew Version Of An Obscure Nintendo Console

The Super NES is arguably the best known console of the 16-bit era. It typically came in the form of a grey box with either grey or purple buttons, and an angular or streamlined design, depending on whether you lived in North America, Europe or Asia. Compact and mini versions followed later, but there were also a few lesser-known models released during the SNES’s heyday in the early 1990s. One of these was the Sharp SF1: a CRT television with a built-in Super Nintendo. The cartridge slot was located at the top, with the controllers connecting at the front. The internal video connection even provided better image quality than a typical SNES setup.

Some light soldering required.

The SF1 was never sold outside Japan and is quite rare nowadays. But even if you can find one, the bulky CRT will take up a lot of space in your home. [Limone] therefore decided to build himself a smaller replica instead. His “SF1 mini” comes in a 3D printed case that holds a 5.5″ TFT screen, stereo speakers, and connections for game paks and game pads.

Thankfully, [Limone] didn’t sacrifice an original SNES to make this project: instead, he used a DIY Super Nintendo kit developed by a company called Columbus Circle. This kit contains a modern replica of a SNES motherboard and is intended for custom builds like this. However, the layout of the motherboard didn’t match [Limone]’s intended design, so he desoldered several components and re-attached them using a huge web of magnet wire. An RGB-to-HDMI converter connects the SNES’s video output to the TFT screen and provides for remarkably sharp graphics.

[Limone] explains the build process in detail in the video embedded below (in Korean, with English subs available). We’ve seen a couple of neat SNES replicas, some small and some particularly tiny, but this has to be the first SF1 replica.

Continue reading “The SF1 Mini Is A Homebrew Version Of An Obscure Nintendo Console”

Game Boy Becomes Super Game Boy With A Pair Of Pis

For the Nintendo aficionados of the 90s, the Super Game Boy was a must-have cartridge for the Super Nintendo which allowed gamers to play Game Boy games on your TV. Not only did it allow four-color dot-matrix gaming on the big screen, but it let you play those favorite Game Boy titles without spending a fortune on AA batteries. While later handhelds like the PSP or even Nintendo Switch are able to output video directly to TVs without issue, the original Game Boy needed processing help from an SNES or, as [Andy West] shows us, it can also get that help from a modern microcontroller.

Testing the design before installing it in the NES case.

The extra processing power in this case comes from a Raspberry Pi Pico which is small enough to easily fit inside of a donor NES case and also powerful enough to handle the VGA directly. For video data input, the Pico is connected to the video pins on the Game Boy’s main board through a level shifter. The main board is also connected to a second Pico which handles the controller input from an NES controller. Some fancy conversion needed to be done at this point because although the controller layouts are very similar, they are handles by the respective consoles completely differently.

With all of the technical work largely out of the way, [Andy] was able to put the finishing touches on the build. These included making sure the power buttons, status LEDs, and reset button all functioned, and restoring the NES case complete with some custom “Game Guy” graphics to match the original design of the Game Boy. We commend the use of original Game Boy hardware in this build as well, which even made it possible for [Andy] and his wife to play a head-to-head game of Dr. Mario through a link cable with another Game Boy. If you’re looking for a simpler way of playing on original hardware without burning a hole in your wallet buying AA batteries, take a look at this Game Boy restoration which uses a Lithium battery instead.

Continue reading “Game Boy Becomes Super Game Boy With A Pair Of Pis”

A SNES Music Player You Can Control With A Browser

Listening to chiptunes on an emulator or software-based player is fine, but sometimes you just gotta have that real hardware charm. [Kazhuu] is one such enthusiast who feels this way, and set about building a hardware player for SNES chiptunes that can be controlled from a browser.

The build relies on an Arduino Micro to control the SNES Audio Processing Unit (APU), featuring the Nintendo S-SMP as produced by Sony and designed by Ken Kutaragi. Yes, the father of the PlayStation designed the capable wavetable synthesis chip in the Super Nintendo, and it’s that same hardware that [Kazhuu]’s project interfaces with modern hardware.

With the Arduino’s IO lines hooked up to the APU, song data can be piped out to the Arduino over a serial connection to a PC. This can be handled by a Python script, or more intuitively via a browser-based front-end. This uses WebUSB in order to take input from the browser and then send data out over the USB-serial connection to the Arduino.

It’s a neat demonstration of both working with vintage Nintendo sound hardware and how to code modern browser applications to work with embedded systems. If you’re a SEGA kid, though, you might prefer this build instead. Video after the break.

Continue reading “A SNES Music Player You Can Control With A Browser”

Dominate Video Calls With Game Boy Camera Webcam

We can’t promise it will all be positive, but there’s no question you’ll be getting plenty of attention when you join a video call using the Game Boy Camera. Assuming they recognize you, anyway. The resolution and video quality of the 1998 toy certainly hasn’t aged very well, and that’s before it gets compressed and sent over the Internet.

From a technical standpoint, this one is actually pretty simple, if rather convoluted. [RetroGameCouch] hasn’t modified the Game Boy Camera in any way, he’s just connected it to the Super Game Boy, which in turn is slotted into a Super Nintendo. From there the video output of the SNES is passed through an HDMI converter, and finally terminates in a cheap HDMI capture device. His particular SNES has been modified with component video, but on the stock hardware you’ll have to be content with composite.

The end result of all these adapters and cables is that the live feed from the Game Boy Camera, complete with the Super Game Boy’s on-screen border, is available on the computer as a standard USB video device that can be used with whatever program you wish. If you’re more interested in recovering still images, we’ve recently seen a project that lets you pull images from the Game Boy Camera over WiFi.

Continue reading “Dominate Video Calls With Game Boy Camera Webcam”

Understanding Custom Signal Protocols With Old Nintendos

For retro gaming, there’s really no substitute for original hardware. As it ages, though, a lot of us need to find something passable since antique hardware won’t last forever. If a console isn’t working properly an emulator can get us some of the way there, but using an original controller is still preferred even when using emulators. To that end, [All Parts Combined] shows us how to build custom interfaces between original Nintendo controllers and a PC.

The build starts by mapping out the controller behavior. Buttons on a SNES controller don’t correspond directly to pins, rather a clock latches all of the button presses at a particular moment all at once during each timing event and sends that information to the console. To implement this protocol an Adafruit Trinket is used, and a thorough explanation of the code is given in the video linked below. From there it was a simple matter of building the device itself, for which [All Parts Combined] scavenged controller ports from broken Super Nintendos and housed everything into a tidy box where it can be attached via USB to his PC.

While it might seem like a lot of work to get a custom Nintendo controller interface running just because he had lost his Mega Man cartridge, this build goes a long way to understanding a custom controller protocol. Plus, there’s a lot more utility here than just playing Mega Man; a method like this could easily be used to interface other controllers as well. We’ve even seen the reverse process where USB devices were made to work on a Nintendo 64.

Continue reading “Understanding Custom Signal Protocols With Old Nintendos”