Skip to content

Super Nintendo · Improvement

FF3us SRAM Expansion

By Madsiur

Final Fantasy III · All hacks & resources →

About this project

This hack expand SRAM by $1600 bytes for each save slot, allowing now 8Kb for each
save slot plus a 4th 8Kb for general purpose, for a total of 32Kb of SRAM instead of 8Kb. (see readme for all info).

Original game requirements

File: Final Fantasy III (U) (V1.0) [!].smc
CRC32: D184D919
MD5: 4CDFC79B44CD6D532DC6631A5C762094
SHA1: 258BCBC5B7BCC25098BF598C4FF2AA6AC00FDE16

Creator credits

Madsiur
Listed creator

RELEASE 2.0

Readme & instructions

4008readme.txt

FF3us SRAM Expansion by madsiur version 2.0 released on 06/25/2024 Files included sram_nh.ips: patch for FF3us 1.0 headerless ROM. sram_nh_reverse.ips: reverse patch. sram.asm: Assembly file to assemble with bass.

Read moreRead less
FF3us SRAM Expansion
by madsiur
version 2.0
released on 06/25/2024
------------------------------------------------------------------------------
Files included

sram_nh.ips:         patch for FF3us 1.0 headerless ROM.
sram_nh_reverse.ips: reverse patch.
sram.asm:            Assembly file to assemble with bass.
------------------------------------------------------------------------------
Offset changed, free space used (by patch)

$C0FFD8:         Internal header SRAM size (from $03 to $05)
Bank $C3:        A few offsets related to saving and loading (see asm file)
$C3F091:		 $92 bytes of free space
------------------------------------------------------------------------------
New SRAM map

Slot 1 expansion:  $306A00-$307FFF
                   $306000-$3069FF = $7E1600-$7E1FFF

Slot 2 expansion:  $316A00-$317FFF
                   $316000-$3169FF = $7E1600-$7E1FFF

Slot 3 expansion:  $326A00-$327FFF
                   $326000-$3269FF = $7E1600-$7E1FFF

Other SRAM values: $336000-$3375FF (game common SRAM)
                   $337600-$337EFF (unused)
                   $337F00 = last altered savefile
                   $337F01 = rng index
                   $337F08 = checksum value #$E41B (slot 1)
                   $337F0A = checksum value #$E41B (slot 2)
                   $337F0C = checksum value #$E41B (slot 3)
                   $337F0E = checksum value #$E41B (slot 4)
------------------------------------------------------------------------------
Description

This hack expands SRAM by $1600 bytes, allowing now $2000 bytes for each
save slot plus a third 8Kb for general purpose. In original game, only 8Kb of
SRAM is used ($306000-$307FFF), each slot occupying $0A00 bytes and $200 bytes
for general purpose at the end of the 8Kb block.

With this hack, $306000-$307FFF is used for slot 1, $316000-$317FFF for slot 2
and $326000-$327FFF for slot 3. $336000-$337FFF is used for game SRAM as well.
When you play the game, $7E1600-$7E1FFF is still used and copied to 
correct slot at saving. $336000-$3375FF is copied to correct slot as 
extra SRAM. At game loading, correct slot is loaded into $336000-$3375FF. 
So in order to save or load from extra SRAM in your hack, use for example 
STA $336000,X or LDA $336000,X.

Since $337600-$337EFF is not used, it means it could be used as scratchpad RAM 
for temporary things or have a general use common to the three slots.

SRAM could be expanded more but I figured a whole $2000 bytes instead of $0A00
is enough expansion for any hack. In HiROM mapping banks $20-$3F can be used 
to map SRAM, using always the $6000-$7FFF range of the bank. $C0FFD8 tell the 
emulator the SRAM size of the ROM.

I have not tested this on sd2snes, Everdrive or real hardware. snes9x 1.55 and 
bsnes+ were used for testing. If you plan to use this hack and make a cart of 
your hack after, I have no idea what kind of cartridge you will need or if
32Kb of SRAM is supported by any existing SNES game.
------------------------------------------------------------------------------
Version history

06/24/2024 2.0 release
   -fixed hack breaking bug where extra SRAM for slots 1 and 2 would not be loaded in $336000 at game loading
   -changed most of saving/loading code to use less free space
   
10/04/2018 1.1 release
   -removed $336000 init (see sram.asm for details)
   -renamed $337F08-$337F0E from "fixed value" to "checksum value"
   
05/25/2018 1.0 initial released
------------------------------------------------------------------------------
Alternate downloads

https://www.fred65816.net/en/romhacking/hacks/sram
https://www.ff6hacking.com/wiki/doku.php?id=ff3:ff3us:patches:madsiur:sram
------------------------------------------------------------------------------
Contact

themadsiur@gmail.com

Download 4008readme.txt ↓

FROM THE COMMUNITY

Player reviews

0 reviews
No ratings yet

Played this project? Tell other players how it holds up.

Your take on FF3us SRAM Expansion

Spam has been overwhelming. To help us approve your review, sign up and introduce yourself in the Introductions forum so we know you’re not a bot.

Sign in with your Retro Replay account to rate this project and share your experience.

Sign in to review