What Do You Get When A Raspberry Pi Pico Flashes A Nintendo 64

The joke was when the Nintendo 64 first hit the streets around a quarter century ago, that the 64 in the name referred not to the technology on board, but to the excessive cost of the cartridges. Whatever the truth in that, it’s something now completely laid to rest by [Konrad Beckmann] with his Nintendo 64 flash cart powered by a Raspberry Pi Pico (Nitter Link).

The schematic is surprisingly simple, in that the Pico does everything required to both interface to the N64 and to an SD card to hold the software. The clever work is done by the RP2040 firmware, which can be found along with the hardware details in the “develop” branch of the project’s GitHub repository. And while the earliest version was a Raspberry Pi Pico with a host of jumper wires, the more polished version focuses on a custom PCB and bare RP2040 chip.

Perhaps the N64 hasn’t received the attention it should have over the years, overshadowed as it was by its competitors such as the original PlayStation, but it’s projects like this one which remind us that there’s still life in Nintendo’s ’90s flagship. Speaking of which, if you were on Team Sony back in the day but still want to put your Pi Pico to use, check out this DIY PlayStation Memory Card we covered recently.

Realtime Shadows On N64 Hardware

Although the Nintendo 64 console has in the minds of many been relegated to the era of ‘firmly obsolete graphics’, since its graphic processor’s (GPU’s) lineage traces directly to the best which SGI had to offer in the 1990s, it too supports a range of modern features, including dynamic shadows. In a simple demo, [lambertjamesd] demonstrates how this feature is used.

As can be seen in the demonstration video (linked after the break), this demo features a single dynamic light, which casts a shadow below the central object in the scene, with a monkey object floating around that casts its own shadow (rendered into an auxiliary frame buffer). This auxiliary buffer is then blended into the main buffer, as explained by [ItzWarty] over at /r/programming on Reddit.

This effectively means that the main scene uses a shadow volume, which was used extensively with Doom 3. The primary reasons for why the N64 didn’t use shadow volumes all over the place was due to the limitations this places on the shadow caster (objects) in the scene, such as the need to be convex, and overlap is likely to lead to artifacts and glitches.

Doom 3 would fix this with the use of a stencil buffer that would further refine the basic dynamic lighting support on the N64, which ultimately would lead to the fancy video game graphics we have today. And which no doubt will look properly obsolete in another decade again, as usual.

Continue reading “Realtime Shadows On N64 Hardware”

The Legend Of Zelda: Decompiled

Keeping source code to programs closed is something that is generally frowned upon here for plenty of reasons. Closed source code is less secure and less customizable, but unfortunately we won’t be able to convince everyone of the merits of open source code any time soon. On the other hand, it is possible to decompile some of those programs whose source remains behind locked doors in an attempt to better understand that code, and one of the more impressive examples of that of late is this project which has fully decompiled The Ocarina of Time.

To get started with the code for this project, one simply needs to clone the Git repository and then use a certain set of software tools (depending on the user’s operating system) to compile the ROM from the source code. From there, though, the world is your rupee-filled jar. Like we’ve seen from other decompiled games, any number of enhancements to the original game can be made including increasing the frame rate, improving the graphics, or otherwise adding flourishes that wouldn’t otherwise be there.

The creators of this project do point out that this is still a work-in-progress as only one of the 18 versions have been completed, but the fact that the source code they have been able to decompile builds a fully-working game when recompiled speaks to how far along it’s come. We’ve seen similar processes used for other games before that also help to illustrate how much improvement is possible when re-writing old games from their source code.

Thanks to [Lazarus] for the tip!

Continue reading “The Legend Of Zelda: Decompiled”

Mouse And Keyboard Controls On The N64

The Nintendo 64 was one of the consoles that properly heralded in the era of 3D gaming. However, its controller is of a design we wouldn’t consider ideal today. For the FPS games that were so popular on the N64, a mouse and keyboard could do much better. [The Hypocaust] set out to make it happen.

The N64 polls the controller and receives button and analog stick data in return. Four bytes are sent by the controller, with 14 bits covering the buttons and 8 bits covering the horizontal and vertical axes of the analog stick, respectively. Thus, if keyboard presses and mouse movements from a PC could be pumped to a microcontroller which reformatted the data into signals the N64 could understand, everything would work nicely.

Initial attempts to get things working with code borrowed from a [James Read] faced an issue of a 3-second lag between keypresses and actions reaching the N64. Upgrading to a faster microcontroller only made things worse, taking the lag out to a full 16 seconds. The problem? The code borrowed for the project was storing keypresses in a buffer that was creating the delay. Once eliminated, the system worked.

An installer for the software is available, but you’ll have to be comfortable with running a strange executable if you want to use it. We’ve seen similar work before too, such as the USB64 project. Video after the break.

Continue reading “Mouse And Keyboard Controls On The N64”

Turning GameCube & N64 Pads Into MIDI Controllers

It’s fair to say that the Nintendo 64 and GameCube both had the most unique controllers of their respective console generations. The latter’s gamepads are still in high demand today as the Smash Bros. community continues to favor its traditional control scheme. However, both controllers can easily be repurposed for musical means, thanks to work by [po8aster].

The project comes in two forms – the GC MIDI Controller and the N64 MIDI Controller, respectively. Each uses an Arduino Pro Micro to run the show, a logic level converter, and [NicoHood’s] Nintendo library to communicate with the controllers. From there, controller inputs are mapped to MIDI signals, and pumped out over traditional or USB MIDI.

Both versions come complete with a synth mode and drum mode, in order to allow the user to effectively play melodies or percussion. There’s also a special mapping for playing drums using the Donkey Konga Bongo controller with the GameCube version. For those eager to buy a working unit rather than building their own, they’re available for purchase on [po8aster’s] website.

It’s a fun repurposing of video game hardware to musical ends, and we’re sure there’s a few chiptune bands out there that would love to perform with such a setup. We’ve seen other great MIDI hacks on Nintendo hardware before, from the circuit-bent SNES visualizer to the MIDI synthesizer Game Boy Advance. Video after the break.

Continue reading “Turning GameCube & N64 Pads Into MIDI Controllers”

A Model Of Dry Humor

If you want to see a glorious combination of model bananas in a treehouse mixed with a lot of tongue-in-cheek humor, you will appreciate [Studson]’s build video. Video also after the break. He is making an homage to Donkey Kong 64 from 1999, which may be a long time ago for some folks’ memory (Expansion Pak). Grab a piece of your favorite banana-flavored fruit and sit tight for joke delivery as dry as his batch of baked bark.

The treehouse uses a mixture of found material and crafting supplies. In a colorful twist, all the brown bark-wielding sticks are green, while the decorative greenery came from a modeling store shelf. It all starts with a forked branch pruned from the backyard and a smooth-sided container lid that might make you look twice the next time you nuts are buying a bin of assorted kernels. If you thought coffee stirrers couldn’t be used outside their intended purpose, prepare to have your eyes opened, but remember to wear eye protection as some of the wood clippings look like they could achieve escape velocity. The key to making this look like an ape abode, and not a birdhouse, is the color choices and finishing techniques. Judging by the outcome and compared to the steps, making a model of this caliber is the sign of an expert.

If you wish to binge on wooden Donkey Kong, we can grant your desire, but if you prefer your treehouses life-sized, this may launch your imagination.

Continue reading “A Model Of Dry Humor”

RetroArch Open Hardware Aims For Plug-and-Play

At its core, the RetroArch project exists to make it easier to play classic games on more modern hardware. The streamlined front-end with its tailored collection of emulators helps take the confusion out of getting your favorite game from decades past running on whatever gadget you please, from your smartphone to the venerable Raspberry Pi. But there’s always room for improvement.

In a recent blog post, the folks behind RetroArch took the wraps off of an exciting hardware project that’s been in the works for about a year now. Referred to simply as “RetroArch Open Hardware”, the goal is to develop a fully open source cartridge adapter that will integrate seamlessly with the RetroArch software. Just plug in your original cartridge, and the game fires right up like back in the good old days.

Now to be clear, this isn’t exactly a new idea. But the team at RetroArch explain that previous devices that blurred the line between hardware and emulation have been expensive, hard to find, and worst of all, proprietary. By creating an open hardware project, they hope to truly unleash this capability on the community. Instead of having to deal with one vendor, multiple companies will be free to spin up their own clones and potentially even improve the core design. Should none of the ones on the market fit your particular needs, you’d even be free to build your own version,

What’s more, the gadget will also make it easier to create your own ROMs from cartridges you own. By appearing to the operating system as a USB Mass Storage device, users can literally drag and drop a game ROM to their computer’s desktop. No arcane software fired off from the command line; as much as we might enjoy such things, it’s not exactly intuitive for the gaming community at large. The same technique will also allow users to backup their saved progress before it’s inevitably lost to the ravages of time. The device demonstrated by the team currently only works on Nintendo 64 games, but presumably compatibility with be expanded to other cartridges in the future.

Over the years, we’ve seen a number of hombrew devices designed to read and copy game cartridges. We’ve even seen some rather polished examples that were released as open hardware. But those devices never had the public backing of such a well known group in the emulation scene, and we’re excited to see what kind of development and adoption can be spurred on by this level of legitimacy.

[Thanks to Nick for the tip.]