If you’ve ever wondered exactly how far a Super Nintendo could be pushed, today’s surprise reveal of a brand-new SNES cartridge hack, as made by a single engineer, is for you. Behold: the SuperRT chip, a proof of concept of how the “SuperFX” idea of the ’90s might have worked with unlimited budgets.
As developed by Ben Carter, an engineer with game-programming credits in game series like Harry Potter, FIFA, and even the 3DS port of Star Fox 64, the SuperRT project delivers pure ray-tracing performance on existing, unmodified SNES hardware. While the SuperRT looks quite unwieldy as a home project, with wires jutting out every which way, you could conceivably slap it into any SNES purchased at a store, then watch it manage real-time light, reflections, and shadows with zero rasterization. It additionally can generate 3D shapes like spheres and planes, then have them intersect in additive fashion to create custom shapes.
The result is a remarkably ’90s-looking CGI demonstration, with circular shapes and planes adding to and subtracting from each other while smothered in large swaths of primary colors. This is all the stuff of intense mathematical calculations, not high-res texture trickery enabled by a glut of VRAM. Yet even without realistic textures or smooth color gradients, the realistic light-bounce results and accurate reflections (including effects like inverted concave mirrors) make the scene look particularly alive.
“The SNES is in the driver’s seat”
Carter’s demo sequence includes a real-time demonstration of moving the in-game camera wherever he sees fit, then grabbing and moving the demo’s sole light source, a sun in the sky, to prove that all of its lighting occurs in real time. The demo runs at approximately 20fps, slightly faster than the original Star Fox, while Carter says even if his demo were more optimized, the results wouldn’t become blisteringly fast: “The SNES can’t DMA screen contents faster than 30fps.”
All of these mathematical calculations are driven by Carter’s frankensteined attachment of an FPGA board to an old SNES cartridge board, which is powered by a Cyclone V FPGA (the same processor found in many commercial FPGA products, particularly Analogue’s series of 1080p console recreations). He claims the “bulk of the work” in the RT calculations is driven by three parallel execution cores on the FPGA, each running at 50MHz—an order of magnitude higher than any processor in either the SNES or any original SuperFX chip. Carter also elected to disable the Cyclone V’s ARM core “to stick to the broad spirit of ’90s technology.”
Though the FPGA board is able to generate 24-bit color depth for its rendering, the results are translated to the SNES as a dithered, 256-color feed: “Smooth shading doesn’t always come across very well, even with dithering added,” Carter admits. That board runs at 3.3v, so Carter had to implement breadboards and wires for level shifting between it and the 5v SNES. His setup also splits out to display debug information via HDMI, and that visual feed is controlled, amusingly enough, with a Sega Genesis controller, since Carter found that kind of controller was easier to connect directly to a De-10 Nano FPGA board.
“The SNES is firmly in the driver’s seat here,” Carter remarks, but the FPGA add-on board still picks up largely where the SNES left off in the ’90s, especially in terms of managing light and shadow effects that are in no way pre-computed. Though Carter doesn’t estimate whether a chip of this magnitude would’ve been possible during the SNES’s heyday, it’s fair to assume that issues like cartridge size, power draw, and cooling may have been prohibitive in terms of processor technology during the mid-1990s—and that’s not accounting for the likely massive cost of three microprocessors at such speeds.
For even more technical details on how Carter pulled the project off—which he admits began as a lark just to learn how FPGA programming works—be sure to read his verbose blog post on the project.
Listing image by Ben Carter