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).

Nintendo 64 Homebrew Via Game Shark

The Nintendo 64 is a classic console now, and much loved, despite losing in commercial stakes to the dominating PlayStation from Sony. It’s one that doesn’t always get as much attention in the homebrew and hacker scene, compared to platforms like the NES and Game Boy. This means the tools required to work with the console aren’t as well-known. However, there’s a remarkably easy way to load homebrew on to the Nintendo 64, if you’ve got the right hardware.

To pull this off, you’ll need a N64 Gameshark, particularly a version higher than 3.0. These included a parallel port and the relevant onboard logic to allow the console to receive data and commands from an attached computer. [Nathan] demonstrates using the gs_libusb utility to deliver homebrew code to the console, using a USB to parallel adapter to make it easy from a modern computer.

The tools are available on github if you wish to try the hack for yourself. Most hacks we see of the platform are of the portable variety, but if you’ve got something fresh, you know who to call.

Continue reading “Nintendo 64 Homebrew Via Game Shark”

“Yell To Press B” Mod Makes N64 Controller Worse

There’s probably no reason anyone would actually desire a mod like this. Well, no good reason. But [William Osman] had been pondering what it would be like to play some classic games with inputs other than buttons, and decided to make an audio sensor responsible for pressing the B button on an old N64 controller. This “Yell To Press B” mod was also something unique to show his hosts when he visited the YouTube video game aficionados, [Game Grumps].

[William] acknowledges that the build is a bit of a hack job, but the project page does a good job of documenting his build process and covering the kinds of decisions involved in interfacing to a separate piece of hardware. After all, most budding hackers have sooner or later asked themselves “how do I make my gadget press a button on this other thing?” [William] ends up using a small relay to close the connection between the traces for the B button when triggered by a microphone module, but he points out that it should be possible to do a non-destructive version of the mod. Examples exist of reading the N64 controller’s state with an Arduino, which could form the basis of a man-in-the-middle approach of “Yell To Press B” (or anything else) instead of soldering to the button contacts. A video is embedded below, in which you can watch people struggle to cope with the bizarre mod.

Continue reading ““Yell To Press B” Mod Makes N64 Controller Worse”