Final Fantasy III: Status Icon Overflow Super Nintendo

  • ~
  • Share
In FF3us/FF6j, there is a game-freezing memory bug with displaying status effect icons on the Skills page in the field menu.

Every time the player navigates to the top-level menu on the Skills page, the game renders or re-renders any applicable status effect icons for the selected character. A new instance of the icons is created whether or not the icons are already being displayed.

This behavior results in the following glitch & lockup scenario:






  • The bug could theoretically pose a problem for one or two chronically indecisive players out there.

    This patch resolves the bug by skipping over the status effect icon display code whenever the player is navigating back to the main Skills menu from an ability list.

    The fix applies to FF3us versions 1.0 & 1.1 (SNES) and FF6j (SFC).
    The archive contains *.ips patches for both headered and unheadered ROMs.

    Title: Status Icon Overflow
    Author: SilentEnigma
    Version: 1.2
    Release Date: 2023-10-09
    Applies to: Final Fantasy III (v1.0) (U)
    Final Fantasy III (v1.1) (U)
    Final Fantasy VI (J)

    Archive Contents
    -------------------------------

    readme.txt = this file

    StatusIconOverflow_J_H.ips = patch for headered FF6j ROMs
    StatusIconOverflow_J_H_Anti.ips = anti-patch for headered FF6j ROMs

    StatusIconOverflow_J_NH.ips = patch for unheadered FF6j ROMs
    StatusIconOverflow_J_NH_Anti.ips = anti-patch for unheadered FF6j ROMs

    StatusIconOverflow_U_H.ips = patch for headered FF3us ROMs
    StatusIconOverflow_U_H_Anti.ips = anti-patch for headered FF3us ROMs

    StatusIconOverflow_U_NH.ips = patch for unheadered FF3us ROMs
    StatusIconOverflow_U_NH_Anti.ips = anti-patch for unheadered FF3us ROMs


    ROM Addresses
    -------------------------------

    FF3us (SNES): C3/29B2 - C3/29B4, C3/4D27 - C3/4D39, C3/4EE5 - C3/4EF5

    FF6j (SFC): C3/2A4D - C3/2A4F, C3/53E7 - C3/53F9, C3/55B4 - C3/55C4


    Urgency
    -------------------------------
    Medium. The full effect of this bug is a frozen game, which some might argue
    reduces player enjoyment. On the other hand, the bug seems to have gone
    undiscovered for over a quarter century; it is not wreaking any *actual* havoc
    on any *actual* players. No, the real inconvenience here is the knowledge that
    the bug exists. In that vein, this patch is both the disease and the cure.


    TABLE OF CONTENTS
    -------------------------------

    0. Description
    1. Relevant Offsets & Disassembly
    2. Credits
    3. Revision History
    4. Legal

    ________________________________________________________________________________

    0. DESCRIPTION
    ________________________________________________________________________________


    In FF3us/FF6j for SNES/SFC, there is a memory bug with displaying status effect
    icons on the Skills page in the field menu. Every time the player navigates to
    the top-level menu on the Skills page, the game renders or re-renders any
    applicable status effect icons for the selected character. A new instance of the
    icons is created whether or not the icons are already being displayed.

    This behavior results in the following glitch & lockup scenario:

    1) Inflict a character with a status effect such that a status icon appears on
    the field menu

    2) Open the character's Skills menu

    3) Navigate back and forth between the Skills menu and an ability list (Espers,
    Magic, etc.)

    > After about 16 repetitions, the portrait graphics will become corrupt

    > After about 38 repetitions, the menu will lock up

    It takes fewer repetitions for the glitch to appear if the character has
    more than one status effect.

    This patch resolves the bug by skipping over the status effect icon display code
    whenever the player is navigating back to the main Skills menu from an ability
    list.

    (For the savvy: The lockup occurs due to the game getting stuck on the
    infinitely-looping branch instruction at HiROM address C3/11AD in FF3us, or
    C3/1218 in FF6j.)

    ________________________________________________________________________________

    1. RELEVANT OFFSETS & DISASSEMBLY
    ________________________________________________________________________________

    Contents:

    a. Final Fantasy III (U/SNES)
    b. Final Fantasy VI (J/SFC)

    ==================================================
    a. FINAL FANTASY III (U/SNES)
    ==================================================

    ; executed when returning to Skills menu from ability list
    Original
    C3/29B2: 20 27 4D JSR $4D27
    Modified:
    C3/29B2: 20 F0 4E JSR $4EF0 ; new alt entry point - skip icon display

    Original:
    C3/4D27: 20 15 6A JSR $6A15 ; clears data incl. ability list & main menu
    C3/4D2A: 20 19 6A JSR $6A19 ; clears data incl. class name
    C3/4D2D: A9 24 LDA #$24
    C3/4D2F: 85 29 STA $29
    C3/4D31: A2 81 5C LDX #$5C81
    C3/4D34 A0 06 00 LDY #$0006
    C3/4D37: 20 BA 69 JSR $69BA ; uses value written to $29
    Modified:
    C3/4D27: 20 19 6A JSR $6A19 ; moved original C3/4D2A
    C3/4D2A: A9 24 LDA #$24 ; moved original C3/4D2D
    C3/4D2C: 85 29 STA $29 ; moved original C3/4D2F
    C3/4D2E: A2 81 5C LDX #$5C81 ; moved original C3/4D31
    C3/4D31 A0 06 00 LDY #$0006 ; moved original C3/4D34
    C3/4D34: 20 BA 69 JSR $69BA ; moved original C3/4D37
    C3/4D37: 20 DD 4E JSR $4EDD ; moved original C3/4EE5

    Original:
    C3/4EE5: 20 DD 4E JSR $4EDD ; Set Y to character's formation ID
    C3/4EE8: 84 67 STY $67
    C3/4EEA: 4C ED 4E JMP $4EED ; 3 pointless bytes
    C3/4EED: A0 DD 42 LDY #$42DD ; position of class name in Skills menu
    C3/4EF0: A2 50 4F LDX #$4F50
    C3/4EF3: 20 27 34 JSR $3427 ; Check status & display status icon
    Modified:
    C3/4EE5: 84 67 STY $67 ; moved original C3/4EE8
    C3/4EE7: A0 DD 42 LDY #$42DD ; moved original C3/4EED
    C3/4EEA: A2 50 4F LDX #$4F50 ; moved original C3/4EF0
    C3/4EED: 20 27 34 JSR $3427 ; moved original C3/4EF3
    C3/4EF0: 20 15 6A JSR $6A15 ; moved original C3/4D27, new alt entry
    C3/4EF3: 20 A4 34 JSR $34A4 ; store #$20 (white) in $29 (text color)


    ==================================================
    b. FINAL FANTASY VI (J/SFC)
    ==================================================

    ; executed when returning to Skills menu from ability list
    Original:
    C3/2A4D: 20 E7 53 JSR $53E7
    Modified:
    C3/2A4D: 20 BF 55 JSR $55BF ; new alt entry point - skip icon display

    Original:
    C3/53E7: 20 A9 71 JSR $71A9 ; clears data incl. ability list & main menu
    C3/53EA: 20 AD 71 JSR $71AD ; clears data incl. class name
    C3/53ED: A9 24 LDA #$24
    C3/53EF: 85 29 STA $29
    C3/53F1: A2 D6 62 LDX #$62D6
    C3/53F4: A0 06 00 LDY #$0006
    C3/53F7: 20 2C 71 JSR $712C ; uses value written to $29
    Modified:
    C3/53E7: 20 AD 71 JSR $71AD ; clears menu data
    C3/53EA: A9 24 LDA #$24
    C3/53EC: 85 29 STA $29
    C3/53EE: A2 D6 62 LDX #$62D6
    C3/53F1: A0 06 00 LDY #$0006
    C3/53F4: 20 2C 71 JSR $712C ; uses value written to $29
    C3/53F7: 20 AC 55 JSR $55AC ; Set Y to character's formation ID

    Original:
    C3/55B4: 20 AC 55 JSR $55AC ; Set Y to character's formation ID
    C3/55B7: 84 67 STY $67
    C3/55B9: 4C BC 55 JMP $55BC ; 3 pointless bytes
    C3/55BC: A0 DB 42 LDY #$42DB ; position of class name in Skills menu
    C3/55BF: A2 48 47 LDX #$4748
    C3/55C2: 20 C2 34 JSR $34C2 ; Check status & display status icon
    Modified:
    C3/55B4: 84 67 STY $67 ; moved original C3/55B7
    C3/55B6: A0 DB 42 LDY #$42DB ; moved original C3/55BC
    C3/55B9: A2 48 47 LDX #$4748 ; moved original C3/55BF
    C3/55BC: 20 C2 34 JSR $34C2 ; moved original C3/55C2
    C3/55BF: 20 A9 71 JSR $71A9 ; moved original C3/53E7, alt entry point
    C3/55C2: 20 3F 35 JSR $353F ; store #$20 (white) in $29 (text color)

    ________________________________________________________________________________

    2. CREDITS
    ________________________________________________________________________________


    Special Thanks:

    Imzogelmo, for his disassembly of bank C3
    http://www.angelfire.com/al2/imzogelmo/patches.html

    Gi Nattak, for reporting bugs in v1.0 & v1.1.

    ________________________________________________________________________________

    3. REVISION HISTORY
    ________________________________________________________________________________


    2022-04-21 : Version 1.0 released

    2022-04-23 : Version 1.1 released
    - Fixed miscolored HP/MP/level values on Skills screen

    2023-10-09 : Version 1.2 released
    - Fixed additional instances of miscolored HP/MP/level values on Skills screen

    ________________________________________________________________________________

    4. LEGAL
    ________________________________________________________________________________


    Copyright (C) 2022, 2023 David R. Thompson (SilentEnigma).

    The copyright holder ("author") permits the free use of the attributed work
    referenced by this document exclusively for non-commercial purposes, provided
    that the following conditions are met:
    1. The author and all contributors credited in this readme document shall be
    given credit for their respective contributions wherever the attributed work is
    reused, redistributed, or modified.
    2. This readme document shall accompany any of the files comprising the
    attributed work wherever they are redistributed in unmodified form.

    The work(s) and file(s) distributed with this document are provided "AS-IS",
    WITHOUT ANY WARRANTY. The author shall not be held responsible for any damages
    related to the use of work(s) and file(s) distributed with this document.


    Database match: Final Fantasy III (USA)
    Database: No-Intro: Super Nintendo Entertainment System (v. 20210222-050638)
    File/ROM SHA-1: 4F37E4274AC3B2EA1BEDB08AA149D8FC5BB676E7
    File/ROM CRC32: A27F1C7A
    Release Date
    Oct 9, 2023
    11 months ago
    Similar Games
    Popular Super Nintendo Games

    Play Final Fantasy III: Status Icon Overflow Game

    Experience Final Fantasy III: Status Icon Overflow Game (USA) online exclusivly at PastGames.net. Get Final Fantasy III: Status Icon Overflow ROM and use it with an emulator of your choice. Final Fantasy III: Status Icon Overflow can be played on PC, Mac, iOS and Android using our high quality downloads. PastGames is Americas #1 choice for Retro Games like Final Fantasy III: Status Icon Overflow.