-
Notifications
You must be signed in to change notification settings - Fork 2
Freespace Usage
This page documents the available freespace in the vanilla SM rom, as well as the freespace usage by the practice hack. This can help determine where to place new code/data, or which bits of code/data might be overlapping with a romhack's data.
Vanilla SM Freespace Address Range, Size (in hex bytes)
- Practice Hack ORG Address, Approximate Size (in hex bytes), Filename " debug print text"
Practice hack ORG sizes are very likely to change. Do not expect these values to be updated here. Add PAUSE
to the end of the build script to read the debug print text and determine exact sizes.
$CD8E-$FFC0, 3232h bytes free
- $F800, 2D0h, save.asm " save start"
- $FC00, 1C4h, infohud.asm " infohud bank80 start"
- $F000, 46Bh, presets.asm " preset_start_gameplay start"
$EF1A-$FF00, FE6h bytes free $FF60-$FFFF, A0h bytes free
- $EF20, 8Dh, spriteprio.asm " spriteprio start"
- $F000, 288h, init.asm " init start"
$F70F-$FFFF, 8F1h bytes free
- $F70F, 84h, minimap.asm " minimap bank82 start"
- $FA00, 21Ah, presets.asm " presets start"
$AD66-$FFFF, 529Ah bytes free
- $B000, D2h, rng.asm " rng start"
- $B400, 6DAh, custompresets.asm " custompresets start"
$EFD3-$FFFF, 102Dh bytes free
- $EFD9, 11h, fanfare.asm " fanfare restore start"
$9643-$FFFF, 69BDh bytes free
- $A000, 258h, gamemode.asm " gamemode start"
- $FE00, 14h, menu.asm " menu bank85 start"
- $FF00, 40h, fanfare.asm " fanfare start"
$F4A6-$FFFF, B5Ah bytes free
$C964-$FFFF, 369Ch bytes free
- $D000, 96h, misc.asm " misc start"
$EE32-$FFFF, 11CEh bytes free
$AEFD-$FFFF, 5103h bytes free
$E980-$FFFF, 1680h bytes free
$F754-$FFFF, 8ACh bytes free
$F3E9-$FFFF, C17h bytes free
$FFF1-$FFFF, Fh bytes free
$E600-$FFFF, 1A00h bytes free
$E99B-$FFFF, 1665h bytes free
- $EA00, 31h, misc.asm " misc door asm start"
$F63A-$FFFF, 9C6h bytes free
- $F640, D4h, **minimap.asm " minimap bank90 start"
- $FA00, 38h, misc.asm " misc bank90 start"
$FFEE-$FFFF, 12h bytes free
- $FFF0, Fh, misc.asm " misc bank91 start"
$EDF4-$FFFF, 120Ch bytes free
$F61D-$FFFF, 9E3h bytes free
$DC00-$DFFF, 400h bytes free
- $DC00, Eh, misc.asm " EXTRAS=1 misc bank94 start"
<full>
$EE21-$FFFF, 11DFh bytes free
$FC20-$FFFF, 3E0h bytes free
$FDA0-$FFFF, 260h bytes free
$FA80-$FFFF, 580h bytes free
$F780-$FFFF, 880h bytes free
$F6C0-$FFFF, 940h bytes free
$F740-$FFFF, 8C0h bytes free
$F9D3-$FFFF, 62Dh bytes free
- $F9E0, 16h, misc.asm " misc bankA0 start"
$EBD1-$FFFF, 142Fh bytes free
$F498-$FFFF, B68h bytes free
$F1AB-$FFFF, E55h bytes free
$F6BF-$FFFF, 941h bytes free
- $F700, 15h, rng.asm " crocomire rng start"
$F95A-$FFFF, 6A6h bytes free
- $F960, 18h, rng.asm " draygon rng start"
$FEBC-$FFFF, 144h bytes free
- $FEBC, Dh, misc.asm " misc bankA6 start"
- $FFE0, Eh, misc.asm " EXTRAS=1 misc bankA6 start"
$FF82-$FFFF, 7Eh bytes free
- $FF90, 10h, misc.asm " misc bankA7 start"
- $FFB6, Dh, rng.asm " kraid rng start"
$F9BE-$FFFF, 642h bytes free
$FB70-$FFFF, 490h bytes free
$F7D3-$FFFF, 82Dh bytes free
$F800-$FFFF, 800h bytes free
$EE00-$FFFF, 1200h bytes free
$F444-$FFFF, BBCh bytes free
$FD20-$FFFF, 2E0h bytes free
$EC00-$FFFF, 1400h bytes free
$EE00-$FFFF, 1200h bytes free
<full>
$FEAA-$FFFF, 156h bytes free
$ED77-$FFFF, 1289h bytes free
$F4B8-$FFFF, B48h bytes free
$F000-$FFFF, 1000h bytes free
$F200-$FFFF, E00h bytes free
$FD00-$FFFF, 300h bytes free
<empty>
- $8000, 6E28h, menu.asm " menu start"
<full>
$B22E-$FFFF, 4DD2h bytes free
<full>
$B22E-$FFFF, 4DD2h bytes free
<full>
$D1C0-$FFFF, 2E40h bytes free
$8000-$FFFF, 8000h bytes free (unused music bank)
- $D500, 2000h, minimap.asm " minimap bankDF start"
$8000-$FFFF, 8000h bytes free
- $8000, 2AE4h, infohud.asm " infohud start"
<empty>
- Various
incsrc preset_data.asm
orgs in presets.asm
$8000-$FFFF, 8000h bytes free
- $8000, 749Eh, mainmenu.asm (presets/prkd_menu.asm)
$8000-$FFFF, 8000h bytes free
- $8000, 5263h, mainmenu.asm (presets/allbosskpdr_menu.asm)