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”

A Nintendo 64 console with modern hardware internals

N64 Mini PC Conversion Includes All The Trimmings

We’ve seen quite a few retro gaming consoles physically modded to house modern emulation hardware, but the NUC-64 by [RetroModder] stands out as one of the most impressive Nintendo 64 guttings that we’ve seen to date.

Observed from the front, the NUC-64 almost resembles a stock Nintendo console. The project’s name is printed across the vestigial cartridge slot, and two suspiciously modern wireless networking antennas can be seen poking out from the back. The console’s modifications are fully revealed when looking at it from the rear – gone is the power brick socket, which now houses the I/O for the replacement motherboard. A custom 3D printed I/O shield keeps everything looking neat and tidy.

Internally, the new hardware is no slouch. The Intel NUC is a small-form-factor PC, and this miniature battlestation sports an 1.6GHz Intel N3700 Pentium processor, 4GB of DDR3 RAM, WiFi/Bluetooth connectivity and an M.2 SSD. This hardware runs circles around the original Nintendo 64, and is more than capable of emulating games from that system.

Most total conversions would call it a day here, however [RetroModder] has taken it a step further by producing a custom PCB that neatly ties together the console’s front I/O. Most importantly, two Mayflash N64-to-USB converters means that your favorite 1990s games can be enjoyed with the original controllers. The original power LED and reset switch are present, as is the sliding power switch which retains its original purpose, thanks to a simple 555 circuit that sends the expected power-on and power-off signals to the motherboard with each slide of the power switch. Additionally, a system of 3D printed mounts and brackets keeps everything secure inside the case.

All the build details can be found here. The NUC-64 follows on from last month’s GamecubePC. The build quality and attention to detail makes this conversion rather special, and it’s clear that a lot of care and planning was taken to pull this off. Hopefully the original N64 hardware can be repurposed as well, perhaps as a new portable console?

Continue reading “N64 Mini PC Conversion Includes All The Trimmings”

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”

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”

N64 Power Adapter Works Around The World

Modern electronics such as phone and laptop chargers are pretty versatile no matter where you find yourself in the world. Capable of running off anything from 100-250V, all you need is a socket adaptor and you’re good to go. Video game consoles of the 1990s weren’t so flexible however. [MattKC] was tired of messing around with step down transformers to run his US market N64, and decided to rectify this, building a universal adapter to run the console instead.

It’s a proper hacked build, assembled out of a jumble of old parts. An broken N64 power adapter was harvested for its case and unique DC plug, which carries 12V and 3.3V to the console. Few compact power supplies exist delivering this pair of voltages, so [MattKC] got creative. An old router was sourced for its 12V 2A supply, and was combined with a 3.3V buck converter to supply both rails. With some creative bodging and plenty of mounting tape, the supplies were crammed inside the original case and wired up to the original jack and a figure 8 cable, allowing easy socket changes in different countries without the use of ugly adapters.

While few of us routinely travel with 25 year old Nintendo consoles, for those that do, the convenience of a single universal supply can’t be overstated. Fitting a step-down transformer into carry-on luggage simply isn’t practical, after all. We’ve featured similar hacks as far back as 2006, or more recently, a project seeking to rebuild a new PSU for the venerable Amiga 500. Video after the break.

Continue reading “N64 Power Adapter Works Around The World”

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”