Radio Decoding Swiss Army Knife in a NES Controller

If you wanted to name a few things that hackers love, you couldn’t go wrong by listing off vintage console controllers, the ESP system-on-chip platform, and pocket tools for signal capture and analysis. Combine all of these, and you get the ESP32Thang.

At its heart, the ESP32Thang is based around a simple concept – take an ESP32, wire up a bunch of interesting sensors and modules, add an LCD, and cram it all in a NES controller which helpfully provides some buttons for input. [Mighty Breadboard] shows off the device’s basic functionality by using an RFM69HW module to allow the recording and replay of simple OOK signals on the 433 MHz band. This is a band typically used by all sorts of unlicenced radio gear – think home IoT devices, wireless doorbells and the like. If you want to debug these systems when you’re out and about, this is the tool for you.

This is a fairly straightforward build at the lower end of complexity, but it gets the job done with style. The next natural step up is a Raspberry Pi with a full software defined radio attached, built into a Nintendo DS. If you build one, be sure to let us know. This project might serve as some inspiration.

With the wide availability of SPI and I2C modules these days, combined with the ease of programming provided by the Arduino environment, this is a project that just about any hacker could tackle after passing the blinking LED stage. The fact that integrating such hardware is so simple these days is truly a testament to the fact that we are standing on the shoulders of giants.

Super Mario World Jailbreak Requires no External Hardware

[SethBling] has released a Super Mario World jailbreak that allows players to install a hex editor, then write, install and run their own game mods. What’s more is this all works on unmodified cartridges and SNES hardware. No hardware hacks required.

[Seth] is quick to say he didn’t do all this alone. This mod came to be thanks to help from [Cooper Harasyn] who discovered a save file corruption glitch, [MrCheese] who optimized the hex editor, and [p4plus2] who wrote some awesome mods.

While no soldering and programming of parts are required, installing this mod still requires quite a bit of hardware. Beyond the SNES and cartridge, you’ll need two multitaps, three controllers, and clamps to hold down buttons on the controllers. Even then the procedure will take about an hour of delicate on-screen gymnastics. Once the jailbreak is installed though, it is kept in savegame C, so you only have to do it once.

What does a hex editor allow you to do? Anything you want. Mario’s powerup state can be edited, one memory location can be modified to complete a level anytime you would like. It’s not just modifying memory locations though – you can write code that runs, such as [p4plus2’s] sweet telekinesis mod that allows Mario to grab and move around any enemy on the screen.

It’s always awesome to see old video game hardware being hacked on by a new generation of hackers. We’ve seen similar work done on Super Mario Brothers 3, and an original GameBoy used to pilot a drone, just to name a couple.

Continue reading “Super Mario World Jailbreak Requires no External Hardware”

HDMI Out on the Gameboy Advance

The Gameboy line of handheld systems from Nintendo have been wildly popular, but lack one major thing – a video output. This can be troublesome if you’d like to view the games on a bigger screen, for more comfortable gaming sessions or detail work like producing chiptunes. One option is to use the Gameboy Player for the Gamecube, however that system’s age means you’re out of luck if you want a crisp, clear picture on a modern digital display. Wouldn’t it be great if you could get HDMI output from a Gameboy Advance Instead?

A family resemblance?

When it comes to working with video signals, FPGAs can’t be beat. [Stephen] leverages an FPGA in this project to read the GBA’s video signals and convert them to the modern digital format. Unfortunately, it’s not a seamless install – limited space means the GBA’s screen must be entirely removed, replaced with the adapter in a manner resembling the terrifying Facehugger.

Packaging aside, the output from the device is nothing short of stunning – the graphics are absolutely crystal clear when displayed on a modern HDMI television. This is because the FPGA is capturing the exact digital output from the GBA, and piping it out as HDMI – there’s no analog fuzziness, conversions or noise to spoil the image. Output is a tasty 1280×720, upscaled from the GBA’s original resolution. For more details, check out the forum thread where [Stephen] runs through the build.

The only thing missing  is details – we’d love to know more about the exact hardware used, and any trials and tribulations during the build! As far as we can tell, the build doesn’t stop at just video – a SNES controller is used instead of the original buttons, and we have a feeling sound is being passed over the HDMI channel as well sound is piped to the TV from the GBA’s headphone port.

It’s great to see these projects for old hardware come out – modern hardware has the muscle to achieve things previously unthinkable on retro consoles. We’ve seen similar projects before – like adding VGA to an original Game Boy.

Continue reading “HDMI Out on the Gameboy Advance”

Nintoaster: The Next Generation

The original Nintendo Entertainment System is affectionately called “the toaster” due to the way the cartridge is inserted. [MrBananaHump] decided to take things a bit literally and installed a NES inside an actual toaster. This isn’t [MrBananaHump’s] design, the Nintoaster comes to us from [vomitsaw], who also built the SuperNintoaster. Since [vomitsaw] was kind enough to document his original build, [MrBananaHump] was able to build upon it.

The target toaster for this build was a plastic Sunbeam model found at a thrift store for $5. [MrBananaHump] gutted the toaster and cleaned out years of toast crumbs. The Nintendo mainboard would fit perfectly inside a toaster, except for two things – the RF Modulator and the expansion port. The expansion port was never used in the US version of the NES so it can be desoldered and removed. The RF also needs to be desoldered and relocated.

By far the biggest job in this casemod is hand-wiring each of the 72 pins for the cartridge port. It’s a tedious job, and it probably won’t look pretty. Keep your wires short, and things will probably work thanks to the relatively low clock speed of the NES.

The cartridge goes in one toast slot. [MrBananaHump] mounted his controller ports, power and reset buttons in the second slot. A bit of expanded metal grid completes the slot. Sure, it’s not exactly pretty inside, but with the case on, this becomes a rather nice looking build.

We’ve seen numerous Nintendo casemods over the years, just one other example is this N64 in an N64 controller.

A DIY NES Advantage Controller For The NES Classic

If you were a child of the ’80s, there is a good chance that you had a Nintendo console in your youth, the classic 8-bit NES. And if you were one of those NES owners, it’s therefore probably that the peripheral you lusted after was Nintendo’s arcade-inspired Advantage controller. This replaced the game pad with a full-size arcade joystick and buttons, and has become an expensive and sought-after accessory in the years since.

[Bbtinkerer] has a NES Classic, and having gone through more than one joystick that just wasn’t up to the pressures of intensive gaming, decided to have a go at building one himself. The Advantage was the obvious model to copy, and thanks to the Wii Retropad Adapter project, he was able to do so.

Faithful to the original in its layout, the new Advantage clone features a Turbo mode for rapid fire, though rather than the buttons you’d have had in the ’80s this model features a toggle switch. The joystick mechanism used was a Sanwa JLF, and the buttons were Sanwa OBSF-30s. He’s posted a video showing the finished item being put through its paces.

Continue reading “A DIY NES Advantage Controller For The NES Classic”

The Nintendo PlayStation: Finally Working

The Nintendo PlayStation is not a misnomer. Before the PS1, Sony teamed up with Nintendo to produce a video game console that used CD-ROMs as a distribution platform. These plans fell through, Sony went on to design the PS1, Nintendo the N64, but a few prototype ‘Nintendo PlayStations’ made it out into the wild. One of these unbelievably rare consoles was shipped to a company that eventually went into bankruptcy. The console was found when the contents of an office building were put up for auction, and last year, [Ben Heck] tore it apart.

It’s taken a year, but now this Nintendo PlayStation is finally working. This console now plays audio CDs and games written by homebrewers. The hardware lives, and a console once forgotten lives once more.

The last time [Ben Heck] took a look at the Nintendo PlayStation, the CD-ROM portion of the console was non-functional. The Super Nintendo was still functional, but for this prototype, the CD-ROM was completely self-contained and required a ‘boot cartridge’ of sorts to access anything on a CD. Somehow or another — [Ben] thinks it was a wonky cable or a dead cap — The CD-ROM came to life. Yes, jiggling a cable was the extent of the repair, after spending an inordinate amount of time reverse engineering the console.

With the CD-ROM working, [Ben] got audio playing and tried out of the few homebrew games for this PlayStation prototype. Super Boss Gaiden didn’t quite work because this game was designed to load in chunks. Another game written for this console, Magic Floor, was small enough to fit in the entirety of the CD-ROM’s buffer and loaded correctly. That doesn’t mean the game worked; there are some slight differences between the Nintendo PlayStation emulator and the actual hardware that now exists. [Ben] emailed the author of Magic Floor, and now, after a quarter-century, the Nintendo PlayStation works.

What’s next for the Nintendo PlayStation? Well, now the emulator for this system can correctly reflect the actual hardware, and hopefully the homebrewers can figure out how to write a game for this system.

Continue reading “The Nintendo PlayStation: Finally Working”

Arbitrary Code Execution is in Another Castle!

When one buys a computer, it should be expected that the owner can run any code on it that they want. Often this isn’t the case, though, as most modern devices are sold with locked bootloaders or worse. Older technology is a little bit easier to handle, however, but arbitrary code execution on something like an original Nintendo still involves quite a lot of legwork, as [Retro Game Mechanics Explained] shows with the inner workings of Super Mario Brothers 3.

While this hack doesn’t permanently modify the Nintendo itself, it does allow for arbitrary code execution within the game, which is used mostly by speedrunners to get to the end credits scene as fast as possible. To do this, values are written to memory by carefully manipulating on-screen objects. Once the correct values are entered, a glitch in the game involving a pipe is exploited to execute the manipulated memory as an instruction. The instruction planted is most often used to load the Princess’s chamber and complete the game, with the current record hovering around the three-minute mark.

If you feel like you’ve seen something like this before, you are likely thinking of the Super Mario World exploit for the SNES that allows for the same style of arbitrary code execution. The Mario 3 hack, however, is simpler to execute. It’s also worth checking out the video below, because [Retro Game Mechanics Explained] goes into great depth about which values are written to memory, how they are executed as an instruction, and all of the other inner workings of the game that allows for an exploit of this level.

Continue reading “Arbitrary Code Execution is in Another Castle!”