Resurrecting A Bricked Wii U With A Raspberry Pi Pico

There are reports that some Nintendo Wii U systems out in the wild are falling victim to mysterious failures. As is so often the case, certain error codes have been found in common across failed units out in the community, and [Voultar] decided to investigate to see if he could fix this problem with a little hacking.

[Voultar] wasn’t able to source a Wii U with the much-discussed NAND failure mode, but he was able to source a number of supposedly bricked Wii U systems displaying the error codes 160-0101 and 160-0103. The hack is achieved with an exploit in the Wii U’s USB Host Stack descriptor parsing module, developed by [GaryOderNichts]. It allows the injection of a payload that lets one run unsigned code on the Wii U, achieved via a Raspberry Pi Pico. The Pico is ultimately used to boot off an SD card running a recovery program for the Wii U. By resetting the Wii U’s “coldboot title ID”, it solves the error and gets the console booting properly, as per normal.

[Voultar] was able to fix five consoles displaying the common error messages, which we’d call a win. It’s not going to be a fix for every failed Wii U out there, but if you’ve got the dreaded 160-0101 or -0103 errors, it might be worth a shot.

Continue reading “Resurrecting A Bricked Wii U With A Raspberry Pi Pico”

Perfect Dark: Recompiled

There’s an interesting renaissance of Nintendo 64 gaming, powered by the ability to decompile N64 ROMs back into C code using Ghidra. There are projects around multiple classic games, taking the Ghidra output and renaming the generic function and variable names. There are two approaches to these projects, sometimes happening in parallel. The first is to perfectly recreate the original work, and get a bit-perfect binary that matches the original ROM. The other approach is to fix bugs, optimize the code, and add new features, often porting to new platforms in the process. Right now, we’re seeing the latter happen with 2000’s Perfect Dark.

There is a project by [Ryan Dwyer] to produce a matching C codebase, and that project is functionally complete with an over 99% bit-perfect output. But as impressive as that is, we’re interested in making code even better, and that’s what [fgsfdsfgs] has accomplished with the Perfect Dark port.

The game now runs on Windows or Linux, has mouse support, and runs at a solid 60 frames per second (FPS) at multiple screen resolutions. Want an ultra-widescreen Perfect Dark experience? The upgraded rendering engine handles it wonderfully. Mods? No problem. In the future, the developer is also looking to support high-definition textures.

To play, you do have to provide your own legally sourced copy of the original Perfect Dark game. That is the only way this project is remotely legal, and we suspect that even then it’s in a somewhat grey zone, as a derivative work of a copyrighted game. Big N hasn’t shut the project down, but the Mario 64 port was killed for attempting the same thing. We’ll hope for the best, and enjoy the nostalgia trip in the meanwhile!

Why Game Boy IPS Screens Flicker

The Nintendo Game Boy was a very popular handheld in its time, but its display technology has not aged gracefully. Ripping out the original screen and dropping in a modern IPS LCD is a popular mod, but that often comes with a weird flicker now and then. [makho] is here to explain why.

The problem was that the Game Boy didn’t have any way to do transparency in the original hardware. Instead, sprites that were supposed to be a little bit transparent were instead flickered on and off rapidly. The original LCD was so slow that this flicker would be largely hidden, with the sprites in question looking suitably transparent. However, switch to a modern IPS LCD with its faster refresh rate, and the flickering will be readily visible. So it’s not a bug — it’s something that was intentionally done by developers that were designing for the screen technology of the 1980s, not the 2020s.

IPS screens have become the must-have upgrade for modern Game Boy users. Most would tell you the improved image quality and rich color is worth a little flicker here and there.

Continue reading “Why Game Boy IPS Screens Flicker”

Reverse-Engineered GBA Board Could Come In Handy

Retro gear is beloved, both for what it can do, and what it reminds us of. Nostalgia is a powerful thing, after all. But then, so is corrosion — and the latter has a habit of killing hardware and driving up prices for remaining units. Thankfully, hard workers like [NatalieTheNerd] are out there, creating reproduction PCBs to keep old hardware alive. Her Game Boy Advance (GBA) reproduction PCB is a great tool for the restoration and modding communities.

The board was reverse engineered, with [Natalie] sharing various scans and schematics of the GBA’s motherboard on the Modded Game Boy Club website. The project recreates the AGB-CPU-03 version of the GBA, and is designed to be produced on a 1 mm board with an ENIG process. You can combine the PCB with some salvaged parts and a new shell and build yourself a remarkably fresh GBA, if you so desire.

Beyond it’s intended use, [Natalie] points out the board outlines could be used as a basis for RetroPie or ESP32 projects that fit into a standard Game Boy Advance form factor. We love that idea. We’ve seen [Natalie’s] work before too, in the form of this neat little macropad. Nifty as always!

Can An 8-Bit Light Gun Work On A Modern TV?

It’s an accepted part of retro gaming lore, that 8-bit consoles perform best when used with an original CRT TV. One of the reason for this is usually cited as being because the frame buffer and scaler circuit necessary for driving an LCD panel induces a delay not present on the original, and in particular this makes playing games which relied on a light gun impossible to play. It’s a subject [Nicole Branagan] takes a look at, and asks whether there are any ways to use a classic light gun with a modern TV.

Along the way we’re treated to an in-depth look at the tech behind light gun games, how the gun contained a photodiode which on the NES was triggered by the brief showing of a frame with a white square where the target would sit, and on the Sega consoles by a white screen with an on-board timer counting the screen position at which the gun was aimed.

The conclusion is that the delay means you won’t be playing Duck Hunt or Hogan’s Alley on your 4K TV, but interestingly, all is not lost. There are modified versions of the games that take account of the delay, or an interesting lightgun emulator using a WiiMote. We’d be happy at playing either way, just as long as we can take pot-shots at the annoying Duck Hunt dog.

Light gun image: Evan-Amos, Public domain.

Super NES Cartridge Pulls A Sneaky, Plays Minecraft

Sometimes it’s the little touches and details that make a project. That’s certainly the case with [Franklinstein]’s Super Nintendo (SNES) Cartridge Hard Drive. It might only be an enclosure for a solid-state hard drive with a USB interface, but the attention to detail is what really makes it worth checking out.

A SNES cartridge has a pretty standard clamshell-ish construction, but fitting the solid-state drive plus cable adapter turned out to be a bit of a challenge.

Since [Franklinstein] wanted the cartridge to look as original as possible, careful measuring and cutting was needed to securely fit the drive and provide an unobtrusive USB-C port tucked discreetly into the cartridge’s opening. We like the technique of using a 3D printed fixture to take up the slack on the cable by exactly the right amount, resulting in a 100% rattle-free end product. A custom Minecraft sticker label provides the finishing touch.

Being able to plug it into a computer and actually play Minecraft is a neat gimmick, but it really shows that some careful construction and assembly can be what makes something look like a clean build instead of a hack job. Take a look at additional build detail and pictures, and check out the video of the build, embedded below.

Hey, if sneaky cartridge mod tricks intrigue you, then you’ll absolutely want to check out how it was possible to play DOOM on a NES from a cartridge. Maybe that’s the next evolution for a cartridge with a Minecraft label on it?

Continue reading “Super NES Cartridge Pulls A Sneaky, Plays Minecraft

Automation For The NES

Old hardware might not be anywhere close to as powerful as modern technology, but it does have a few perks. Aesthetics can of course drive the popularity of things like retro gaming systems, but the ease of understanding the underpinnings of their inner workings is also critical. The Nintendo Entertainment System, now nearly four decades old, is a relatively simple machine by modern standards and this lends the system to plenty of modifications, like this controller that allows the system to be somewhat automated.

The original NES controller used a fairly simple shift register to send button presses to the system. The system outputted a latch signal to the controller, the shift register would take as input the current state of the buttons, and then would send them one-by-one to the system at a rate of around 1000 times per second. These signals can be sent without a controller easily enough, too. This build uses a CD4021 shift register, which is the same as the original controller, but instead of reading button states it accepts its inputs from a separate computer via a latching circuit. In this case, the separate computer is a custom design that came about through adapting cassette storage for a 6502-based computer, but it could come from anything else just as easily.

With this system in place, it’s possible to automate gameplay to some extent. Since the system can’t get feedback about the game in its current state, it requires some precise timing to get it to play the game well, and a lot of tuning needs to go into it. This isn’t just a one-off, either. Similar methods are how we get tool-assisted speedruns of games and although these are often done in emulators instead of on real hardware, they can result in some interesting exploits.

Continue reading “Automation For The NES”