Nintendo Switch Gets Internal Trinket Hardmod

If you haven’t been following the Nintendo Switch hacking scene, the short version of the story is that a vulnerability was discovered that allows executing code on all versions of the Switch hardware and operating system. In fact, it’s believed that the only way to stop this vulnerability from being exploited is for Nintendo to release a new revision of the hardware. Presumably there are a lot of sad faces in the House of Mario right about now, but it’s good news for us peons who dream of actually controlling the devices we purchase.

To run your own code on Nintendo’s latest and greatest, you must first put it into recovery mode by shorting out two pins in the controller connector, and then use either a computer or a microcontroller connected to the system’s USB port to preform the exploit and execute the binary payload. It’s relatively easy, but something you need to do every time you shut the system down. But if you’re willing to install an Adafruit Trinket M0 inside your Nintendo Switch, you can make things a little easier.

Stemming from work done by [atlas44] and [noemu], the final iteration of this mod was created by [Quantum-cross]. The general idea is to strip down the Trinket M0 board to as small as possible by removing the USB port and a few capacitors, and then install it inside the Switch’s case. By wiring it up to power, the back of the USB-C connector, and the controller connector, the Trinket can interact with all the key components involved in the exploit.

You can even use the Switch’s USB port to update the firmware on the Trinket to load different payloads, though in his walkthrough video after the break, [xboxexpert] mentions eventually this won’t really be necessary as the homebrew software environment on the Switch matures. Indeed, there will almost certainly come a time when performing this exploit on every boot of the system will be made unnecessary, rendering this modification obsolete. But until then, this is a pretty slick way of getting your feet wet in the world of Switch hacking.

It was only six months or so back that we were reading about the first steps towards running arbitrary code on the Nintendo Switch, and just a few months prior to that we saw people experimenting with controlling the system with a microcontroller.

Continue reading “Nintendo Switch Gets Internal Trinket Hardmod”

Unlocking Animal Crossing’s Debug Mode

Originally released on the Nintendo 64 in 2001, Animal Crossing was the first entry into what has become a massively successful franchise. But while the game has appeared on more modern Nintendo consoles, most recently Android and iOS, the version released on the GameCube holds a special place in many fan’s hearts. The GameCube version was the first time those outside of Japan got a taste of the unique community simulation offered by Animal Crossing, and maintains a following nearly 20 years after its release.

[James Chambers] has recently been investigating creating mods for the GameCube version of Animal Crossing, and in the process uncovered some interesting references to a debug mode. That launched a deep dive into the game’s assembly code in an attempt to find what the debug functions did and if they could be enabled without having to patch the game ROM. In the end, he was able to find a push button code that enables debug mode on the retail copy of the game.

[James] starts by using the debugger provided by the Dolphin GameCube emulator to poke around and figure out exactly what flags need to be modified to activate the debug mode. This leads to a few interesting finds, such as being able to pop up a performance monitor graph and some build info. Eventually he finds the proper incantation to bring up a functional debug display in the game, but there was still the mystery of how you do it on the real hardware with a retail copy of the game.

It wouldn’t be unreasonable to think that some special dongle or development version of the GameCube would be required to kick the game into debug mode. But through careful examination of the code path, [James] was able to figure out that hitting a specific combination of buttons on the controller was all that was required to use the debug mode on the stock game. Once the debug mode is started, a controller plugged into the second port allows the user to navigate through options and perform tasks. Not everything is currently understood, but some progress has been made, such as figuring out how to add items to your inventory.

It’s hardly Nintendo’s most popular console, but there’s still a healthy interest in GameCube hacking as the machine approaches its 20th anniversary. We recently saw some impressive work being done to reverse engineer the system’s wireless controllers, though some people are more interested in just cutting the thing in half.

[Thanks to Tim Trzepacz for the tip.]

Reverse-Emulating NES: Nintendception!

This is a stellar hack, folks. [Tom7] pulled off both full-motion video and running a Super Nintendo game on a regular old Nintendo with one very cute trick. And he gives his presentation of how he did it on the Nintendo itself — Nintendo Power(point)! The “whats” and the “hows” are explained over the course of two videos, also embedded below.

In the first, he shows it all off and gives you the overview. It’s as simple as this: Nintendo systems store 8×8 pixel blocks of graphics for games on their ROM cartridges, and the running program pulls these up and displays them. If you’re not constrained to have these blocks stored in ROM, say if you replaced the cartridge with a Raspberry Pi, you could send your own graphics to be displayed.

He demos a video of a familiar red-haired English soul-pop singer by doing just that — every time through the display loop, the “constant” image block is recalculated by the Raspberry Pi to make a video. And then he ups the ante, emulating an SNES on the Pi, playing a game that could never have been played on an NES in emulation, and sending the graphics block by block back to the Nintendo. Sweet!

The second video talks about how he pulled this off in detail. We especially liked his approach to an epic hack: spend at least a day trying to prove that it’s impossible, and when you’ve eliminated all of the serious show-stoppers, you know that there’s a good chance that it’ll work. Then, get to work. We also learned that there were capacitors that looked identical to resistors used in mid-80s Japan.

These are long videos, and the first one ends with some wild speculation about how a similar human-brain augmentation could take a similar approach, replacing our “memories” with computed data on the fly. (Wait, what?!? But a cool idea, nonetheless.) There’s also another theme running through the first video about humor, but frankly we didn’t get the joke. Or maybe we just don’t know what’s funny. Comments?

None of that matters. A SNES game was played in an NES by pushing modified graphics from a “ROM” cartridge in real-time. And that’s awesome!

If you want more Nintendo-in-Nintendo goodness, check out this NES ROM that’s also a zip file that contains its own source code. If you compile the source, you get the zip file, which if you unzip gives you the source to compile. Right?

Continue reading “Reverse-Emulating NES: Nintendception!”

Game-Ception: Pokemon Red Playable Inside Minecraft

If you’ve ever wanted to take a dive into and visualize a game’s code, this could be a seminal example in a literal sense. After twenty-one months of effort, the entire Pokemon Red game is now playable inside Minecraft.

[Mr. Squishy] is the mad genius behind this project, laboriously re-coding the game literally block by block. A texture pack is needed for the specific sprites, but otherwise it is playable without mods. It’s not immediately apparent when loading in to the level, but chip your way through the floor of the stadium and you are confronted by something awe-inspiring: sprawling constructions, like great soaring cliffs, comprising approximately 357,000 command blocks — equating to the same in lines of code. Every animation, tracked stat, attack and their effects, the various pokemon and their properties, and so on are rendered in the game’s physical space for you to wander through.

Beneath that are levels of maps, positional data, properties of those areas, NPCs, and a clever glitch that [Mr. Squishy] used to keep everything loaded at once.

Continue reading “Game-Ception: Pokemon Red Playable Inside Minecraft”

Reverse Engineering Nintendo Labo Waveform Cards

The Nintendo Switch portable gaming system is heavily locked down to prevent hacking, but the Labo add-on looks like it might be a different matter. The Labo is a series of add-on devices made of cardboard that does things like turn the Switch into a musical keyboard that plays a waveform on a card that you slot in. [Hunter Irving] decided to try a bit of reverse engineering on these cards to see if he could 3D print his own. Spoilers: he could.

[Hunter] started by taking one of the cards that come with the Labo and looking at the layout. These cards are, like the rest of the Labo, very simple: they are just shaped pieces of card that fit into the back of the keyboard add-on. When you press a button, the Switch camera reads the card to create the waveform. So, the process involved figuring out the required dimensions of the card to create a template. [Hunter] then created simple waveforms (square, sine, sawtooth) in Inkscape, and used this to create a 3D printable waveform card. A quick bit of 3D printing later, he had several cards ready, and these worked without problems. As well as the synthetic waveforms, he tried real ones, such as an organ, taking the waveform shape from the zoomed-in sample and using that to print. This post describes the process nicely and offers downloads of 9 sample cards and a template to create your own.

We suspect that this is only scratching the surface of what can be done with the Switch, Labo, and some ingenuity. Unlike the Switch itself, the Labo seems to be built for hacking, using simple, easy to use components to create surprisingly complex mechanisms that could be adapted for any number of purposes.

We’re sure this isn’t the only Labo hack we’ll be covering over the coming year. Not sure what all the fuss is about? Read our reporting on its arrival.

Beat This Mario Block Like It Owes You Money

People trying to replicate their favorite items and gadgets from video games is nothing new, and with desktop 3D printing now at affordable prices, we’re seeing more of these types of projects than ever. At the risk of painting with too broad a stroke, most of these projects seem to revolve around weaponry; be it a mystic sword or a cobbled together plasma rifle, it seems most gamers want to hold the same piece of gear in the physical world that they do in the digital one.

But [Jonathan Whalen] walks a different path. When provided with the power to manifest physical objects, he decided to recreate the iconic “Question Block” from the Mario franchise. But not content to just have a big yellow cube sitting idly on his desk, he decided to make it functional. While you probably shouldn’t smash your head into the thing, if you give it a good knock it will launch gold coins into the air. Unfortunately you have to provide the gold coins yourself, at least until we get that whole alchemy thing figured out.

Printing the block itself is straightforward enough. It’s simply a 145 mm yellow cube, with indents on the side to accept the question mark printed in white and glued in. A neat enough piece of decoration perhaps, but not exactly a hack.

The real magic is on the inside. An Arduino Nano and a vibration sensor are used to detect when things start to get rough, which then sets the stepper motor into motion. Through an ingenious printed rack and pinion arrangement, a rubber band is pulled back and then released. When loaded with $1 US gold coins, all you need to do is jostle the cube around to cause a coin to shoot out of the top.

If this project has got you interested in the world of 3D printed props from the world of entertainment, don’t worry, we’ve got you covered.

Continue reading “Beat This Mario Block Like It Owes You Money”

LEGO Meets Nintendo Switch

As you probably know, the Nintendo Switch is the incredibly popular console of the moment. You of course also know that LEGO has been popular since the beginning of recorded history. So it was only a matter of time before somebody decided that these two titans of youthful entertainment needed to combine up like some kind of money-printing Voltron. You know, for science.

[Vimal Patel], a known master of all things plastic brick related, decided to take up the challenge with a few experimental LEGO accessories for the Switch. These add-ons are largely designed to make playing the Switch a bit more comfortable, but represent an interesting first step to more complex hardware modifications down the road.

The key to these experiments are a set of 3D printed rails which allow you to attach standard LEGO parts to the Switch. With the rails installed, [Vimal] demonstrates a simple “kick stand” which improves the system’s stability when not being used in handheld mode.

A few different steering wheel modifications are also demonstrated, which use an impressive bit of engineering to move the controller’s analog stick left and right with rotational input on the wheel. Both variations are shown in-use with Mario Kart, and seem to do the job.

It will be interesting to see what kind of projects will be made possible at the intersection of Switch and LEGO when Nintendo Labo goes live later this month.

Continue reading “LEGO Meets Nintendo Switch”