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”

No, The Nintendo Leak Won’t Help Emulator Developers, And Here’s Why

If you haven’t heard from other websites yet, earlier this year a leak of various Nintendo intellectual properties surfaced on the Internet. This included prototype software dating back to the Game Boy, as well as Verilog files for systems up to the Nintendo 64, GameCube and Wii. This leak seems to have originated from a breach in the BroadOn servers, a small hardware company Nintendo had contracted to make, among other things, the China-only iQue Player.

So, that’s the gist of it out of the way, but what does it all mean? What is the iQue Player? Surely now that a company’s goodies are out in the open, enthusiasts can make use of it and improve their projects, right? Well, no. A lot of things prevent that, and there’s more than enough precedent for it that, to the emulation scene, this was just another Tuesday.

Continue reading “No, The Nintendo Leak Won’t Help Emulator Developers, And Here’s Why”

The Boxy All-In-One Nintendo 64 Your 1990s Self Always Wanted

In 1997, chances are that if you didn’t have a Nintendo 64 already, you wanted one. (Never mind that the games cost the GDP of a small country.) It gave you both the supreme game designing talent of Shigeru Miyamoto and graphics that left the Sony behind. The trouble, though, was that like all consoles, the N64 required a large TV set and a load of wires. There was never a compact all-in-one version that integrated console, display, and speakers in the same package, and that was something [Mason Stooksbury] evidently considered to be a shame. A couple of decades late, he’s created the all-in-one Nintendo 64 appliance that the games giant never made in the ’90s, and we’re lucky enough to be able to take a look at it.

The starting point for the build is entirely in-period, the shell of a late-1990s Compaq CRT monitor. In the front goes a laptop display panel with a monitor conversion board, leaving plenty of space behind for a pair of full-size speakers. On top of the speakers sits a bare N64, with the controller ports brought out to the front panel below the screen. It’s not all retro though, there is also an HDMI converter and an HDMI output to drive a modern TV if desired. The N64 itself has an interesting backstory, it was his original console from back in the day that died following a lightning strike, and he brought it back to life decades later after some research revealed that the N64 PSU has a fuse.

Would an all in one ’64 have sold like hot cakes in ’97? Probably, and we’d be featuring all sorts of hacks on them today. As it is, portable N64s seem to feature most often here.

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.

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”

A New Take On Building A Portable N64

When home consoles go mobile, whether in the form of modded original hardware or emulation, they usually take a pretty standard shape. A screen in the middle, with buttons either on the sides or below it. Basically the same layout Nintendo popularized with born-handheld systems such as the Game & Watch series and original Game Boy. Like the saying goes, if it ain’t broke…

But [Le Nerdarto] had a different idea. He came across a broken N64 and wanted to turn it into a portable console, but not necessarily a handheld one. Noticing the cartridge was about the perfect size to contain a small LCD and in an ideal position, he set out to make what is arguably the most literal interpretation of “portable N64” we’ve ever seen. It might not be the most practical iteration of this concept, but it definitely gets extra points for style.

After he stripped the N64 of its original hardware, he installed a Raspberry Pi 3 and an RC battery eliminator circuit (BEC) to get 5V out of the internal 6200 mAh 7.4V battery. [Le Nerdarto] says this provides power for the Pi, the LCD, and the various lighting systems for up to 10 hours. He’s also added USB ports in the front of the system for controllers, and an HDMI port on the back so he can still connect the system up to a TV when not on the move.

The 3.5 inch LCD in the cartridge is arguably the centerpiece of the build, and while it might be on the small side, we can’t deny it’s a clever idea. [Le Nerdarto] had the good sense to tilt the it back a few degrees to put the display at a more comfortable angle, but otherwise it looks stock since he was able to fit everything in without cutting the back of his donor cartridge out. For those who might be wondering, the “cartridge” can’t be removed, but we’ll admit that would have been a killer feature to add especially with the HDMI port on the back.

Of course, since it’s running emulators on a Raspberry Pi, this isn’t only a portable N64. The front mounted USB ports allow him to plug in all sorts of controllers and emulate classics from pretty much any console that’s older than the N64 itself. Ironically the Raspberry Pi 3 isn’t exactly an ideal choice for N64 emulation, but a good chunk of titles are at least playable.

If you’re more of a purist and want a true portable N64, we’ve covered plenty of those over the years to get you inspired.

Continue reading “A New Take On Building A Portable N64”

Printing Nintendo Portables With SLA

Downing] is no stranger to building portable consoles, employing all manner of techniques in the process. However, when it came time to start on this commission, [Downing] decided to take a different tack – employing a Form 2 SLA printer in this Nintendo 64 portable build.

Modifying home consoles to become portables often involves tricks like Frankencasing – hacking together original factory parts such as controllers, cases, and accessories, and using body filler and a lot of sanding to create a template for vacuum moulding, which then results in a seamless final product. It’s possible to get some really impressive results, but it does limit the builder to relying on existing parts.

By using the Form 2, [Downing] was able to take advantage of the SLA printer’s ability to create parts with good surface finish that would normally require a lot of post-print finishing when 3D printed with more common FDM technology. This was particularly useful as it allowed the creation of custom buttons and small parts that “just fit” – normally such parts are made from stock pieces that are then modified.

The build also features a few other cool features – there’s a breakout box which allows the connection of extra controllers, as well as hosting AV out for hooking up to a television. The breakout box connects to the portable over an HDMI cable. It’s a tidy choice – it’s a standard cable that has an abundance of conductors available so you don’t have to be particularly tricky to get 3 controllers and a few analog signals talking over it.

In the end, [Downing] wouldn’t use SLA printing again for the case itself – the process was too slow and expensive. In this respect, FDM may require more work after printing but it still comes out ahead in terms of time and money. But for small custom parts like buttons and structural brackets, the Form 2 is the machine for the job.

Video after the break.

Continue reading “Printing Nintendo Portables With SLA”