Skip to content

VitorVilela7/SA1-Root

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  _____             __   _____             _   
 / ____|  /\       /_ | |  __ \           | |  
| (___   /  \ ______| | | |__) |___   ___ | |_ 
 \___ \ / /\ \______| | |  _  // _ \ / _ \| __|
 ____) / ____ \     | | | | \ \ (_) | (_) | |_ 
|_____/_/    \_\    |_| |_|  \_\___/ \___/ \__|
    Version 1.8              by Vitor Vilela

SA-1 Root is a project for enabling and accelerating games using the SA-1 chip. It's a pack of patches that optimizes the game to the maximum possible keeping high hardware compatibility and keeping most of the game aspects intact.

So far the following games are available:

What is it?

SA-1 (Super Accelerator) is a co-processor included on some SNES games cartridges. It is made to work together with the Super NES CPU and used to enhance its processing speed, graphics and memory.

With its 10.74 MHz clock, the SA-1 CPU is four times faster than the normal SNES CPU processing. The SA-1 CPU and SNES CPU also runs simultaneously, which can result in up to five times faster processing over a game with no enhancement chips. Using that power, the Super Accelerator System (SAS) can be used to process game engines much faster than the normal, allowing more sprites to be processed at once, more in-game effects, faster loading and much more.

SA-1 Root not just activates the co-processor, but also modifies a good part of the game engine to use and explore the chip features, which gives an extreme boost to the overall performance of the game.

System Features

  • 16-bit 65c816 processor clocked at 10.74 MHz.
  • 2 kB fast internal work memory (I-RAM), clocked at 10.74 MHz.
  • Multi-processor processing, with parallel operating mode and memory sharing control.
  • Large capacity memory, with a total capability of 8 MB of ROM clocked at 10.74 MHz and 256 kB of BW-RAM, clocked at 5.37 MHz.
  • High speed arithmetic hardware of multiplication, division and cumulative sum.
  • Bitmap and Character Conversion functions for fast graphics manipulation.
  • Custom DMA circuit for fast transfers between ROM, I-RAM and BW-RAM.
  • Variable-Length Bit data processing for enhanced algorithms such as graphics and data compression.
  • Super MMC memory mapping capabilities for BW-RAM and bank switching for multiple ROM image access and mirroring.

Differences with SA-1 Pack

SA-1 Root is intended to be the base pack for enabling SA-1 on the games and optimizing it. SA-1 Pack is intended to be a full featured pack that not just enables SA-1 and accelerate the game, but also improve the game engine and provide additional tools for ROM hacking.

For example, Super Mario World's SA-1 Pack doubles the maximum physical amount of allowed enemies on screen and includes different shared routines for additional SA-1 features.

Compatibility

SA-1 Root is warranted to work with real hardware, including SA-1 carts plus the most up-to-date SNES emulators including bsnes and Snes9x.

ZSNES is not compatible with the SA-1 Root patches.

Credits

SA-1 Root wouldn't be that awesome without help from these people:

  • arcademaster01 (SA-1 hardware bug report)
  • indcsion (Gradius III testing)
  • Erivando_BR (Contra III testing, Contra III trace logs, Super R-Type trace logs and Race Drivin' trace logs)
  • Ethan Tabor (Race Drivin' testing and bug report)
  • GuyPerfect (Gradius III speed reduction patch add-on)
  • Jeffrey (Contra III testing)
  • Jonas Quinn (SA-1 hardware bug report)
  • kccheng (Contra III and Super R-Type testing)
  • Rodzilla97 (Contra III bug report)
  • slidelljohn (Gradius III bug report and extra help)
  • Vitor Vilela (crazy author that did most of the patches)
  • Voultar (SA-1 hardware bug report)
  • You (for using it :D)

Special thanks also for all my patrons from https://www.patreon.com/vitorvilela, specially for:

  • Fabio Akita
  • Frogamus Lewd
  • gunmakuma
  • kccheng
  • PsychoFox

Useful Links

Technical documents

Useful documents for understanding SA-1:

Contacting me

You can contact me though the following links: