Implementing MegaTextures On Real Nintendo 64 Hardware

As amazing and groundbreaking as the Nintendo 64 was, over the years it has also become synonymous with blurry textures and liberal use of Gouraud shading as its most strongly defining visual features. In a recent video, [James Lambert] covers how the system’s minuscule 4 kB texture memory (TMEM) can be circumvented using mipmapping. By loading progressively more detailed textures (each in 4 kB chunks) in a level-of-detail (LoD), the visual fidelity can be maximized while keeping rendering speeds relatively zippy, as the real-time demo proves.

Determining which textures are visible to the player.

This project was made for the N64brew 2023, with the source code available on [James]’s GitHub account. Although impressive, it bears noting that mipmapping was not an unknown approach in 1996, and many approaches were used to work around the N64’s physical limitations.

In the case of mipmapping, [James]’s demo perfectly demonstrates the problematic nature of mipmapping, as it dramatically increases the storage requirements for the textures, hitting 40 MB just for this one single room, for a system that supports up to 64 MB cartridges.

Ultimately, this shows that the 4 kB TMEM was not the only issue with the N64, with the limited (and expensive) mask ROMs for the cartridges proving to be an insurmountable obstacle that systems like Sony’s PlayStation largely did not have to contend with. With roomy 650 MB+ optical storage, the PS1 got instead tripped up by the glacial access and loading speeds of optical media and its soggy-potato-powered GPU.

Seeing demonstrations like these manage to wonderfully highlight the bottlenecks in these old consoles, and makes one wonder about what could have been, even in an era before 1 TB solid-state drives and direct resource streaming between GPU and said storage.

Continue reading “Implementing MegaTextures On Real Nintendo 64 Hardware”

A Nintendo 64 controller with a USB adapter

Play N64 Games The Right Way With This Classic Controller Adapter

Game consoles typically support a limited number of input devices, meaning that console games are often completely optimized for the default controller supplied with that platform. Nintendo’s tendency to completely reinvent their controllers pretty much every generation can therefore become a little irritating, especially when they also enable their newer consoles to play games from their back catalog. So when [Robson Couto] found that using the Switch’s Joy-Cons was a bit awkward for playing emulated Nintendo 64 games, he decided to figure out how to connect real N64 controllers to a Nintendo Switch.

While you can buy modern N64-style controllers for the Switch, even straight from Nintendo themselves, [Robson] thought it would be way more interesting to reuse an old controller and implement the translation step from scratch. In the video (embedded below) he takes a deep dive into all the timing details of the N64 controller protocol, which is basically a 1-wire setup, and explains how to use an STM32F411 BlackPill board to read out the controller’s buttons and joystick.

Next, he explores how to map the resulting data to the USB HID protocol used by the Switch. Most of the buttons have a clear one-on-one mapping, but since the “minus”, “capture” and “home” buttons are missing on the N64 controller, he chose to map these to button combinations unlikely to be used during regular gameplay. [Robson] also ran into the common issue of the analog joystick having a poorly-defined maximum range, for which he added a rudimentary auto-calibration feature.

Finally, he designed and 3D-printed a neat enclosure for his system with an N64 controller port on one side and a USB port on the other. By 3D-printing the whole thing he also avoided having to either source the non-standard connector or permanently modify his hardware. The end result of [Robson]’s project is an unobtrusive gadget that connects classic controllers to modern hardware – but of course, the reverse process is very much possible, too. If you want, you can even play N64 games with a mouse and keyboard.

Continue reading “Play N64 Games The Right Way With This Classic Controller Adapter”

TinyTendo Is A Miniscule Yet Real NES

These days, it’s possible to get a single-board computer the size of a stick of gum. This will give you the power to emulate thousands of games and you can run one off batteries inside a handheld of your own devising. [Redherring32] took an altogether more creative and old-school approach with the TinyTendo, however. This is one pocket-sized NES that actually runs on genuine hardware. (Nitter)

The feat was achieved by drastically reducing the size of the original NES hardware to make it fit into a Game Boy style form factor. Key to this work was creating a custom cut-sized motherboard which uses original Nintendo DIP chips that have been machined down to become more like QFN-style surface mount packages. With that done, the chips can be assembled onto the TinyTendo PCB which is even smaller than a contemporary Raspberry Pi 3. It’s all assembled in a custom case, with USB C for charging and a bright and colorful LCD screen.

The TinyTendo is designed to use mini-cartridges created by [Bucket Mouse], a hacker who’s no stranger to impressive custom Game Boy hardware. By virtue of running genuine NES hardware, there’s also the possibility that the TinyTendo could play full-sized NES carts with a simple adapter.

This project has been a long time in the making; we first looked at [Redherring32]’s efforts back in 2021. It begs the question why the original NES was so big when Nintendo clearly had plenty of space to spare in those hefty DIP packages! It’s amazing what can be done with some creativity and perseverance. Continue reading “TinyTendo Is A Miniscule Yet Real NES”

A Guided Tour Of The NES

No matter your age or background, there’s an excellent chance you’ll recognize the Nintendo Entertainment System (NES) at first glance. The iconic 8-bit system not only revitalized the gaming industry, but helped to establish the “blueprint” of console gaming for decades to come. It’s a machine so legendary and transformative that even today, it enjoys a considerable following. Some appreciate the more austere approach to gaming from a bygone era, while others are fascinated with the functional aspects of console.

The NesHacker YouTube channel is an excellent example of that latter group. Host [Ryan] explores the ins and outs of the NES as a platform, with a leaning towards the software techniques used to push the system’s 6502 processor to the limits. Even if you aren’t terribly interested in gaming, the videos on assembly programming and optimization are well worth a watch for anyone writing code for vintage hardware.

Continue reading “A Guided Tour Of The NES”

Pokemon ROM Hacks Brought To The Real World

If you were a kid anywhere in the last 30 years, it was nearly impossible to avoid at least some exposure to the Pokemon franchise. Whether that’s through games like Red and Blue to Scarlet and Violet, the brief summer everyone played Pokemon Go, or to other media such as the trading card game or anime, it seems to have transcended generations and cultures fairly thoroughly. And, if you’ve consumed all there is of official Pokemon video gaming, you may be surprised to know there are a number of slightly modified games floating around out there that can be translated onto game carts just like their official counterparts.

[imablisy] has played a lot of these ROM hack games but always within something like a virtual console or emulator, so he wanted something physical which would work on original hardware of the era. For this he’s making physical copies of Flora Sky and Vega, which are based on Pokemon Emerald and Fire Red originally for the Game Boy Advance. To get the cart he found a bunch of Mother 3 cartridges to use as the donor. From there he backed up his Emerald and Fire Red cartridges, modified the ROMs with the modifications, and then sent those new ROMs to overwrite the data on the Mother 3 cartridges.

A playable cartridge is only half of the build, though. He wants these to look and feel like real Pokemon games, so he added a color-appropriate translucent case and also printed custom holographic labels for each. It might seem straightforward, but from the style of [imablisy]’s video it’s clear he is very familiar with processes like these, from the artwork all the way to the hardware and software side. We’re also pleased no classic hardware was damaged during this build, much like this version of Doom on an NES cart which used a common game for the donor to upset the least number of collectors.

Continue reading “Pokemon ROM Hacks Brought To The Real World”

Breadboarding A Game Boy From Scratch

The original Nintendo Game Boy is a stout piece of hardware in a solid plastic enclosure. [Raphael Stäbler] recreated the popular handheld on a breadboard instead, in a fully-functional way, to boot.

[Raphael]’s build doesn’t rely on a real Game Boy CPU or components. Instead it’s emulated with the aid of a Teensy 4.1 microcontroller. [Raphael] coded up an emulator from scratch, instruction by instruction, something he’s documented on his own blog. The Teensy is placed on a breadboard, and hooked up with a series of 8 buttons to serve as the controls. Audio output is via a LM386 acting as a simple audio amp, hooked up with an original Game Boy speaker for more authentic sound. Display is thanks to a FT81x display driver running a small LCD. Games are loaded via an SD card formatted in the FAT32 file system.

While it’s not as ergonomic as the original Nintendo console, it works, and works well! It’s an impressive project to see the Game Boy recreated from scratch inside a powerful microcontroller. We’ve seen other projects go to similar lengths before. Video after the break.

Continue reading “Breadboarding A Game Boy From Scratch”

Kirby Sucks, Literally

What’s common between one of the most legendary video game characters of all time and a fume extractor ? They both suck. [Chris Borge] is not an electronics hobbyist and only does some occasional soldering. This made his regular fume extractor bulky and inconvenient to position where needed. What could serve him better would be a small extractor that could be attached to a clip or an arm on his helping hand accessory. Being unable to find an off-the-shelf product or a suitable 3d printed design that he liked, he built the Kirby 40mm Fume Extractor.

His initial idea was for a practical design more suited to his specific needs. But somewhere along the way, the thought of a Kirby fan popped up in his head, and it was too good an idea to pass up. Several Kirby fan designs already existed, but none that satisfied [Chris]. Getting from paper sketch to CAD model required quite an effort but the result was worth the trouble, and the design was quite faithful to the original character features. The main body consists of two halves that screw together, and an outlet grill at the back. The body has space for a 40 mm fan and a 10 mm charcoal filter in the front. The wires come out the back, and connect directly to a power supply barrel jack. Arms and eyes are separate pieces that get glued to the body. The feet glue to an intermediate piece, which slides in a dove tail grove in the body. This allows Kirby to be tilted at the right position for optimum smoke extraction.

While Kirby served the purpose, it still didn’t meet the original requirement of attaching to a clip or arm on the helping hand. So [Chris] quickly designed a revised, no-frills model which is essentially a square housing to hold the fan and the filter. It has a flexible stand so it can be placed on a bench. And it can also be attached to the helping hand, making it a more utilitarian design. This design has the charcoal filter behind the fan, but he also has a third design for folks who prefer to have the filter at the front.

He now had a more useful, practical fume extractor, but he couldn’t bring himself to discard his original Kirby. So he printed a couple more 3D parts so that Kirby could fit the end of his vacuum cleaner hose. Now, Kirby sits on his bench, and helps suck up all the bits and bobs of trash on his workbench. We’re sure Kirby is quite pleased with his new role.

Continue reading “Kirby Sucks, Literally”