6 ms·
Man Rewrites SNES Racing Game to Improve Its Framerate Sevenfold
- 40four 6y agoSeeing that game gives me some nostalgia. I remember playing it as a little boy. There was one in the corner of the local department store that got it’s fair share of quarters from me. For as great as the SNES was, it’s kind of disappointing Nintendo out of such a poor quality port. Cool to see folks still working on these old games.
- sgerenser 6y agoThe title credits Tengen, not Nintendo. Weren’t they infamous for releasing games not approved by Nintendo? I remember their NES era cartridges were black instead of gray and shaped differently.
- qayxc 6y agoThat headline is very misleading. The guy didn't just "rewrite" the game, he ported it to a completely different hardware! The rewrite takes advantage of a separate CPU (the SA-1), so while the original was rendered entirely in software, his version is hardware accelerated. That hardly counts as a "rewrite" (which would imply that his code changes led to the speed-up), but an actual port to a different platform. So it wasn't his code changes that are responsible for the performance increase, it's the use of additional dedicated hardware...
- WalterGR 6y agoThe article suggests otherwise. A total of 34 SNES games used the SA-1 “Super Accelerator” chip, which features much faster clock speeds and RAM and Each conversion, Vilela says, takes over a hundred hours of work reverse-engineering existing code, remapping RAM, and adjusting the game to make sure it doesn’t run too quickly on the SA-1. In this case, Vilela estimates they touched some 90% of the game’s code.
- qayxc 6y agoSo? Yes, ports can be very intricate, but that doesn't change the fact that it's still a port, not a rewrite, which would run on the same target hardware but with a different runtime behaviour. The first games with an SA1 chip were released two years after Race Drivin' hit the shelves, so my point still stands and is factually correct. The original Race Drivin' cartridge doesn't contain any enhancement chips and the game runs entirely on the SNES' internal hardware. "Rewriting" usually doesn't mean making it run on different hardware - that'd be porting. So a game using hardware acceleration runs way faster than its software rendered equivalent? What a shocker! :D That's not to diminish the guy's efforts by any means - I specifically criticised the headline, not the work of the guy.
- taeric 6y agoI think the confusion is that other games on that system used this chip. It was not uncommon for games to ship with extra processors in those days. So, it wasn't ported to a different system architecture, completely. But it was ported to have a new coprocessor, effectively. Right? (I'm underlining your point on cartridges having this chip two years later.)
- qayxc 6y agoSee my reply below - the SA-1 was much more than just a co-processor. It was an entire SoC with its own timers, DMA controller, MMU, RAM and interrupt controller that could actively interrupt the main CPU and transfer control to itself. A co-processor would be controlled by the CPU, the SA-1 was its own CPU and could use the 65C816 (the main CPU) to "do its bidding" (e.g. for access to the video chip, etc.). The SA-1 was 2.8x faster than the 65C816 and even had faster internal RAM. Extra processors came in many varieties, but the SA-1 in particular was much more than your typical DSP(1-4) or data-decompression chip. Edit: I guess what I'm trying to say is that an SNES + a cartridge with an SA-1 is effectively a different console with different capabilities than an SNES without an SA-1 attached. This concept is lost on so many people these days because they can't wrap their head around the idea that games sometimes used to ship with additional hardware built-in, turning the cartridge itself into a mini-console of sorts.
- molticrystal 6y agoReminds me of the Ray Tracing fpga for SNES that was making headlines a couple months ago. https://www.shironekolabs.com/posts/superrt/ https://www.shironekolabs.com/posts/superrt/
- CM30 6y agoOh hey it's Victor Viela. He's known in the Super Mario World ROM hacking community on a patch that adds SA-1 functionality to that game too, with some truly insane effects: https://www.smwcentral.net/?p=viewthread&t=104830 https://www.smwcentral.net/?p=viewthread&t=104830
- Boltgolt 6y agoTLDR: Adding an extra co-processor makes the game run faster
- blackrock 6y agoI wonder if he can improve on F-Zero?