Alex Mitchell

SuperRT Brings Ray Tracing to the SNES

Engineer and game developer Ben Carter has demonstrated a proof of concept “SuperRT” expansion chip that brings 3D ray tracing to the Super Nintendo. Ray tracing—a computationally demanding technique used to calculate realistic lighting in 3D graphics engines—has only recently become possible to render in real time on consumer level hardware, and at a hefty price. Given the financial and technical demands of ray tracing then, seeing these kinds of images generated by console hardware from 1990 is perplexing to say the least.

 

To understand how this is possible, consider the classic SNES game Star Fox. Because the SNES was designed around a meagre CPU, even by the standards of its release, it simply isn’t possible for it to render something like Star Fox on its own at any kind of a playable framerate. To remedy this problem, Nintendo’s engineers made it possible for developers to augment the SNES by including extra processing chips in their game cartridges. For the release of Star Fox, Argonaut Software engineered and bundled an extra processor called the SuperFX, a.k.a. the GSU-1, to handle the 3D workload. With the help of the SuperFX, the SNES was able to render Corneria at playable framerates and a classic was born.

The future of gaming is clearly its past. 😉

Fast forward to 2020, and Ben Carter is doing essentially what Argonaut did in 1993; expanding the capabilities of a stock SNES by adding extra processing power to a game cartridge. In this case, the SuperRT chip is actually a theoretical chip running on the same FPGA platform as the MiSTer project—a DE-10 Nano—which has been Frankensteined on to an old Pachinko game. Although pictures of this rig look messy and horrifying now, the SNES itself is still stock hardware and a mod like this would just need to be plugged in to another model to function. If we’re being honest, it’s probably not that different from what SuperFX or SA1 development hardware looked like in its infancy too.

As for the technical details, Carter included some interesting notes in a video that goes in to more granular detail:

  • This demo runs at around 20FPS right now, with a maximum 30FPS possible due to the hardware limitations of the SNES. Star Fox’s framerate hovers around the mid-teens, so I still consider the performance on display pretty impressive.
  • The maximum rendering resolution of this demo is 200x160px, compared to the typical SNES resolution of 256x224px. 
  • The internal colour depth of this demo is 24-bit, which has to be dithered down to 256 colours for the final render. This is why the footage looks as grainy as it does.

Even though you probably won’t see something like this running on an FXPak Pro (nee, SD2SNES Pro), it’s still a fascinating project. Along with the recent release of Watermelon’s Paprium, or Vitor Vilela’s continued work with SA1 porting projects, expansion chips are continuing to play a crucial part in the way we develop and enjoy games on retro hardware.