SmokeMonster

SA-1 Romhacking Tool Suite Update Coming

Vitor Vilela is the godfather of Super Nintendo SA-1 enhancement chip romhacking, and the creator of both the method for applying SA-1 enhancements to ROMs, and the suite of tools to apply them. SA-1 is a powerful chip that was used in games like Super Mario RPG and Kirby’s Dreamland. A new SA-1 core by Redguy allows SD2SNES owners to experience these games on real hardware. Vitor’s toolset, called the SA-1 Pack, is currently at version 1.26 since February of 2017. It’s used by the Super Mario World Central romhackers to create Super Mario World romhacks that bring major improvements to the game, like faster loading, slowdown elimination, sprite rotation, offloaded sprite loading to the SA-1 chip (which is three times faster than the SNES’s CPU), larger ROM sizes, and other technical wizardry that has never been dreamed of. Vitor has also authored SA-1 tools, tech demos, and Super Mario World Hacks like the upcoming Touhou Mario 2

Coming soon will be a major update to the SA-1 Pack tool suite, in version 2.0. Vitor commented that he is not the type to increase versions lightly, so this should be a huge release for romhackers. He recently brought his open-source tools to Github and invites other to collaborate. Follow Vitor on Twitter #HackerVilela.

Vitor recently chatted us up about SA-1 in the SmokeMonster Discord Channel:

SmokeMonster: “Vitor is the god of SA-1 romhacking, and he makes the SA-1 pack that romhackers use to do their SMW hacks.”
Vitor: “Thank you, hahah! Maybe not the god but I certainly I know a lot about the chip and I’m pretty much the responsible for all SA-1 SMW hacks.
Nice to meet you all”
SmokeMonster: “Is it possible to patch regular SMW to take advantage of your SA-1 enhancements? If so, is it just a matter of applying sa-1.asm to the ROM?”

SmokeMonster: “And does the ASM [the main patch from his SA-1 Suite) work for non-SMW ROMs or is that one specific?”
Vitor: “Correct and correct”
Vitor: “My first attempt at implementing SA-1 in Super Mario World was in 2011 (I was 13), but three people already tried that before me
It’s not hard to enable SA-1 in any game, the most difficult part is making the game use the CPU features
the difference was that when I managed to get the chip working, I had the crazy idea of moving the whole RAM mapping to the SA-1 memory and with that I managed to move the game routines to the SA-1 CPU processing

For that, I had to take the game disassembly, run a tool to modify the memory addresses of all opcodes and make a patch out of it

So together the SA-1 Patch + The Last Remap (that did the memory moves) + Sprite Accelerator Patch that SA-1 Pack become a thing and the regular hackers managed to use the system without having the ASM knowledge
The only problem was that pretty much broke compatibility with all previous tools and patches made for Super Mario World, because they had to use the special SA-1 memory area. That included Sprite Tool, Addmusic, Lunar Magic (the SMW editor), etc. Initially I had to write custom version of all those tools, but within time they started getting native compatibility with the system, making it more accessible for all regular hackers”
SmokeMonster: “…[would] games with lot of slowdown (like Super R Type) benefit from SA-1 hacking?”
Vitor: “If you do the same with the other games, you can easily make SA-1 accelerate and eliminate slowdown or other possible limitations as well”
SmokeMonster: “Wow, that would be huge for SNES shoot ’em ups, which pretty much all suffer badly from slowdown.”
Vitor: “You pretty much only need a full working disassembly of the game + some knowledge of the slowdown area + some dedicated time
There were also attempts for doing the same using Super FX and ST-0018 in SMW
But the main advantage for SA-1 was that you didn’t have to rewrite the whole game code because the core architecture is the same
code written for the SNES CPU can be executed in SA-1 and vice-versa with small adaptations
SA-1 won’t kill slowdown but it will give a huge boost to at least take down most of the game limitations”
Liked it? Take a second to support SmokeMonster on Patreon!