If you were a Nintendo kid in the 90s, you were probably impressed by how Star Fox and the SuperFX chip could render entire 3D worlds on 1993-era SNES hardware. If you go back to play the game today, you’ll likely be disappointed by the game’s choppy frame rate, which maxes out at 20 fps.
Enter longtime Star Fox ROM hacker kandowontuwhich is responsible for the feature package Star Fox Exploration Showcase hack. This week kando released a patch that unlocks 30 or even 60 fps modes in an emulated Star Fox (or Star Fox 2etc) ROOM. The result is an extremely smooth experience that probably comes closer to matching the rose-tinted memories you have of the early 90s Star Fox than the original game ever could.
A design problem
Try to gain speed Star Fox is nothing new in the hacking and emulation communities. For years, gamers have been overclocking SuperFX chips or running emulators at higher speeds to try to increase their game’s frame rate.
But while these methods do Star Fox run faster (and smoother), they also speed up the game’s internal logic to the same degree. That means enemy ships and your Arwing fly much faster than Nintendo intended, an effect that also throws the game’s excellent music out of sync with the automatic on-screen scrolling action. Tripling the game’s speed to get a 60 fps experience makes it unplayable fast, by any source.
The design and limitations of the original SuperFX chip make this a difficult problem to solve. In a game that Star Fox, the SuperFX chip can take two full frame cycles to transfer the 3D images to the system’s video RAM (that’s despite only using 75 percent of available screen real estate). Add in computation time for game logic, enemy movement, etc., and the game renders a new frame at just a third of the SNES’s standard 60 fps.
“SuperFX games are kind of a special case,” emulator author near (aka byuu) told Ars in 2019 while discussing an overclocking-focused update to their accuracy-focused emulator bsnes. “Since they tend not to run at 60 fps due to the demands of software that rasterizes full screens on the SNES, the game logic is designed around the frame rates. So even if you increase the speed Star Foxthe game engine will seem to run too fast now.”
To work around this problem, kando’s hack first reprograms the game to execute three frames’ instructions (measured in IRQ routines) during one frame cycle (or two game cycles for 30 fps mode). However, to prevent the gameplay itself from speeding up, kando programmed his version to only recalculate the game logic (or “strats”) every third frame (or every second frame for 30 fps mode). “This slows the game back down to the ORIGINAL pace,” kando writes.
Unfortunately, kando notes that this hacked version of the game still need help from an overclocked SNES CPU and therefore, will not work on stock SNES hardware. Even in emulators configured to run in overclocked mode, kando warns that, in 60 fps mode, “when there are a few objects on the screen, the FPS becomes very variable between 30-60 fps (there also seem to be some problems with the music speed in 60 fps playback).
Limitations aside, it’s great to relive Star Foxits action-packed gameplay without the nausea-inducing frame rates inherent to early 90s 3D graphics (or the nausea-inducing game speeds of earlier frame rate hacks). We’ll be playing it this weekend alongside our lag-free SA-1 enhanced copy of Grade III in an attempt to relive the best version of our childhood.