Dumping A N64 Development Cartridge Safely

Retro gaming enthusiasts have always had great interest in rarities outside the usual commercial titles. Whether they be early betas, review copies, or even near-complete versions of games that never made it to release, these finds can be inordinately valuable. [Modern Vintage Gamer] recently came across a pre-release version of Turok 3 for the Nintendo 64, and set about dumping and preserving the find. (Video, embedded below.)

With one-off cartridges like these, it’s important to take the utmost care in order to preserve the data onboard. Simply slapping it into a regular console might boot up the game, but carries with it a non-zero chance of damaging the cart. Instead, the first step taken was to dump the cart for archival purposes. When working with a prototype cart, commodity dumpers like the Retrode aren’t sufficient to do the job. [Modern Vintage Gamer] notes that a Doctor V64 or Gameshark with a parallel port could work, but elects to use a more modern solution in the form of the Ultrasave and 64drive.

With the cartridge backed up and duplicated onto the 64drive, the code can be run on a real console without risk of damage to the original. At first glance, the game appears similar to the final retail version. Analysis of the dump using a file comparison tool suggests that the only differences between the “80% Complete” ROM and the retail edition are headers, leading [Modern Vintage Gamer] to surmise that the game may have been rushed to release.

While in this case the dump didn’t net an amazing rare version of a retro game, [Modern Vintage Gamer] does a great job of explaining the how and why of the process of preserving a vintage cartridge. We look forward to the next rare drop that shakes up the retro world; we’ve seen efforts on Capcom arcade boards net great results. Video after the break.

Continue reading “Dumping A N64 Development Cartridge Safely” →

New Controllers On Old Nintendos With USB64

The Nintendo 64 made a big splash when it launched in 1996, not least of all for its innovative controller. Featuring a never-before-or-since seen trident design, and with an analog stick smack bang in the center, it changed what gamers expected from consoles from that day forward. Of course, those controllers are now much worse for wear, and technology has moved on somewhat. The latest development from [Ryzee119] aims to rectify this somewhat.

The result of that work is USB64, a tool designed to allow the use of USB controllers on the Nintendo 64. Using a Teensy 4.1, it builds upon earlier work to get the Xbox 360 controller working on the platform. However, the feature set has been greatly expanded, covering almost any use case imaginable. Mempacks are now efficiently emulated, and save files can be backed up to a PC via SD card. Additionally, the GameBoy Transferpak is emulated, meaning data can be transferred between GameBoy ROMs on an SD card and games on the N64. Even the N64 mouse is supported, and can be emulated with a regular USB mouse. Capable of doing all this for all four players, work is ongoing to increase the number of compatible aftermarket controllers for the utmost flexibility. [Ryzee119] also coded up a useful test ROM for the N64, which is invaluable when debugging controller hardware.

Console controllers take a lot of punishment, particularly from serious gamers, so we’re always eager to see projects that allow modern replacements to be used with old hardware. We’ve featured other great projects in this area before, too!

Hackaday Podcast 075: 3D Printing Japanese Joinery, Android PHONK, One-Armed Time Bandit, And Whistling Bridges

Hackaday editors Mike Szczys and Elliot Williams scoop up a basket of great hacks from the past week. Be amazed by the use of traditional Japanese joinery in a 3D-printed design — you’re going to want to print one of these Shoji lamps. We behold the beautiful sound of a noise generator, and the freaky sound from the Golden Gate. There’s a hack for Android app development using Javascript on an IDE hosted from the phone as a webpage on your LAN. And you’ll like the KiCAD trick that makes enclosure design for existing boards a lot easier.

Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Direct download (60 MB or so.)

Continue reading “Hackaday Podcast 075: 3D Printing Japanese Joinery, Android PHONK, One-Armed Time Bandit, And Whistling Bridges” →

Remote Code Execution On The N64

Some like to garden in their spare time, while others prefer to smoke cigars or fold complicated origami figurines. Security researcher [grifter] [CTurt] seems to enjoy cracking consoles instead, and had a go at exploiting the Nintendo 64 over an obscure modem interface.

The 1990s were a wild time, where games shipped in cartridges. This format opened up crazy possibilities to add additional hardware to the cartridge itself. Perhaps most famously, Nintendo packed in the SuperFX chip to enable 3D graphics on the Super Nintendo. Later on, the N64 game Morita Shogi 64 shipped with an entire telephone modem in the cartridge itself.  The resulting exploit is therefore dubbed “shogihax”.

Armed with a dodgy GameShark and a decompiler, [CTurt] set to work. Through careful parsing of the code, they were able to find a suitable overflow bug in the game when using the modem. Unlike more pedestrian savegame hacks, this not only allowed for the execution of arbitrary code but also the modem interface means that it’s possible to continually stream more data to the console on an ad-hoc basis.

It’s a great hack that takes advantage of a relatively accessible cartridge, rather than relying on more obscure hardware such as the N64DD modem or other rarities. We’ve seen other N64 homebrew hacks before, too. Video after the break.

Thanks to [grifter] for the tip!

Continue reading “Remote Code Execution On The N64” →

Trimmed PCB Makes The Ultimate Portable N64

One of the most impressive innovations we’ve seen in the world of custom handhelds is the use of “trimmed” PCBs. These are motherboards of popular video game consoles such as the Nintendo Wii and Sega Dreamcast that have literally been cut down to a smaller size. As you can imagine, finding the precise shape that can be cut out before the system stops functioning requires extensive research and testing. But if you can pull it off, some truly incredible builds are possible.

Take for example this absolutely incredible clamshell N64 built by [GMan]. After cutting the motherboard down to palm-sized dimensions, he’s been able to create a handheld system that’s only a bit larger than the console’s original cartridges.

Incidentally those original cartridges are still supported, and fit into a slot in the rear of the system Game Boy style. It’s still a bit too chunky for tossing in your pocket, but we doubt you could build a portable N64 any smaller without resorting to emulation.

In the video after the break, [Gman] explains that the real breakthrough for trimmed N64s came when it was found that the system’s Peripheral Interface (PIF) chip could be successfully relocated. As this chip was on the outer edge of the PCB, being able to move it meant the board could get cut down smaller than ever before.

But there’s more than just a hacked N64 motherboard living inside the 3D printed enclosure. [Gman] also designed a custom PCB that’s handling USB-C power delivery, charging the handheld’s 4250 mAh battery, and providing digital audio over I2S. It’s a fantastically professional setup, and you’d be forgiven for thinking the board was part of the original console.

Considering how well designed and built this N64 SP is, it probably will come as no surprise to find this isn’t the first time [Gman] has put something like this together. He used many of the same tricks to build his equally impressive portable Dreamcast last year.

Continue reading “Trimmed PCB Makes The Ultimate Portable N64” →

Perfecting A Bluetooth N64 Controller

Love it or hate it, the Nintendo 64 controller doesn’t seem to be going anywhere. Dedicated fans are still looking for ways to use the unique trilobed controller with modern systems, and they won’t be satisfied until they perfectly replicate the original experience. [Shyri Villar] has been working on perfecting a blend of original and modern hardware that looks very promising.

The project started when [Shyri] found that you could take the internals from a modern third party Bluetooth N64 controller made by 8BitDo and put them into the original controller’s case. This would give you the original buttons back, and overall a more authentic weight and feel. Unfortunately, this usually means dumping the original N64 joystick for the 8BitDo’s.

What [Shyri] wanted to do was install the 8BitDo PCB into an original N64 controller, but adapt Nintendo’s joystick to communicate with it. Unfortunately, since the original joystick used optical encoders and the 8BitDo version uses potentiometers, there’s something of a language gap.

To bridge the divide, both the X and Y dimensions of the joystick get their own PIC12F675 microcontroller and X9C103S digital potentiometer. The microcontrollers read the X and Y values from the original joystick’s encoders, and use the digital potentiometers to provide the 8BitDo with the expected analog input. Right now the electronics are held on two scraps of perfboard tucked into the side “wings” of the controller, but hopefully we’ll see a custom PCB in the future.

If you’re more interested in going back in time with your trusty N64 controller, then you might be interested in learning more about how one hacker managed to hook it up to the MSX.

An MSX With A Nintendo Controller

Console owners inhabit their own individual tribes depending upon their manufacturer of choice, and so often never the twain shall meet. But sometimes there are those what-if moments, could Mario have saved the princess more quickly through PlayStation buttons, or how would Sonic the Hedgehog have been with a Nintendo controller? [Danjovic] is finding the answer to one of those questions, with an interface between Nintendo 64 controllers and MSX hardware including the earlier Sega consoles.

In hardware terms, it’s a pretty simple device in the manner of many such projects, an Arduino Nano, a resistor, and a couple of sockets. The clever part lies not in its choice of microcontroller, but in the way it uses the Nano-s timing to ensure the minimum delay between button press and game action. The detail is in the write-up, but in short it makes use of the MSX’s need to attend to video lines to buy extra time for any conversion steps.

The MSX computers have had their share of controller upgrade courtesy of Nintendo hardware in the past, we’ve seen a Wii nunchuck controller talk to them before, as well as a SNES one.

Header image: [mboverload] (Public-domain).