🏠
FreeRAM

The term "FreeRAM" is shorthand for describing addresses in the SNES memory that are "empty", cleared, or unused when it comes to Super Mario World. (You view a list of empty addresses on SMW Central's RAM map).

Available empty addresses are used by a variety of custom resources for their own functionality, and it is good practice to not have resources use the same address as this could lead to problems. When this happens it can lead to FreeRAM conflict and result in one or both ASM resources not working.

Contents


Reserved FreeRAM

The below is a list of resources in the baserom and the FreeRAM they use sorted by starting RAM address, name of resource and number of bytes.

Keep in mind some of these use a range of values, e.g. if it's starting at $60 and is 4 bytes, it's using addresses 60, 61, 62 and 63.

AddressBytesizeResource
$871 byteUsed by SA-1 (if using)
$0DC34 bytesSprite Scroll Fix patch
$146C1 byteUsed by Lunar Magic
$14874 bytesSprite Scroll Fix patch
$14BE1 byteLayer 2 and 3 wall triangle Fix patch
$14C11 byteUsed by simple auto save as a check
$15E81 byteGoal point reward fix patch
$18692 bytesExtended No Sprite Tile Limits
$18E61 byteSkull Raft Fix
$19231 byteCape spin consistency patch
$1DFD1 byteON/OFF double-hit Fix

Large Blocks of FreeRAM

These are resources that use more than a few bytes of FreeRAM to function, and are using "long" addresses in the $7F**** block of memory.

Addresses*BytesizeResource
$7FA40016 bytes (reserved length)Baserom Feature Toggles
$7FA41016 bytes (reserved length)UberASM Object System
$7FA42016 bytes (reserved length)Screen Scrolling Pipes
$7FA660300 bytesDragon Coin Save, coins themselves
$7FA9608 bytesDragon Coin Save, buffer
$7FB0002 to 1032 bytesAddMusicK
$7FB400230 bytes (+1 for every midway)Retry System
*These addresses may be different on SA-1.

Changing FreeRAM

For easy configuration, the baserom uses a shared config file in shared/freeram.asm to define FreeRAM values with, so they can be called independently of resources that use them and easily be referenced.