ff3:ff3us:patches:madsiur:status

This is an old revision of the document!


Name Status Timers Hack v1.0a
Author madsiur
Link Download
Final Fantasy III (USA) (1.0)
File/ROM SHA-1: 4F37E4274AC3B2EA1BEDB08AA149D8FC5BB676E7
File/ROM CRC32: A27F1C7A
status-timers-nh.ips: IPS patch of this hack
status-timers.asm: bass assembly file of this hack

This hack add timers for Slow, Haste, Safe and Shell when cast on characters or monsters. It use 4 free bits on the expired status byte ($B8) plus a byte per monster and character for each of the 4 new timers ($3E38, $3E39, $3E88 and $3E89). Right now, there is no easy way to know when those 4 timed status are lifted on a monster but that will be deal with in another hack. All 4 timers have a value of $1E, so they last longer than Reflect but shorter than Freeze. The new timer values can individually be edited in the bass asm file.

There are two hacks; “status-timers” is for vanilla ROMand fix the same bug as “Premature Continuation fix” by assassin (link below), only it does at a different place in the code. “status-timers-stop” implement the “Independent Stop” code by seibaby (link below) as well as the original “Premature Continuation fix” by assassin. Use “status-timers-stop” if you already have applied or want to apply those two hacks.

Both hacks use 202 ($CA) bytes of free space at $EEAF01. This free space offset can be changed in the bass asm file by changing the offset of the “seek($EEAF01)” macro call. Both hacks use no free space in bank $C2 but instead relocate the “check timers” routine from $C25B06 to $EEAF01 to make room for the new “set Slow/Haste/Safe/Shell” bank $C2 code.

To assemble the hack use bass v14 by typing a command such as “bass -o rom.smc status-timers.asm”.

  • ff3/ff3us/patches/madsiur/status.1645021673.txt.gz
  • Last modified: 2 years ago
  • by madsiur