Final Fantasy Wiki
Register
Advertisement

Template:Sideicon Template:Sideicon Template:Sideicon Template:Sideicon Template:Images

The Death Penalty Glitch in action

The overflow glitch is a glitch that has appeared in various games throughout the series. It often is a glitch that rolls damage over from the maximum damage to either low damage, or instantly killing an enemy, when the player hits a certain amount of kills, Ability Points, or any other special requirements.

Appearances

Final Fantasy IV

In the game's SNES and PlayStation versions, when Cure4 heals more than 16,383 (2^14 - 1) damage on an enemy, the spell will heal the MP of that target instead.

Also, when the party meets the Magus Sisters, if the player keeps defeating Mindy and Sandy, letting Cindy revive them over and over again, they will continue to give EXP. After 256 enemies have fallen, this number will loop back to 0. For example, if the party accumulates exp from 258 kills in a battle, they will receive 2 EXP instead.

Final Fantasy VI

The glitch in action

The maximum amount of damage a character can do in a single move is 65,535: (2^16 - 1) though it will always be limited to 9999. If a character were to do more damage than that, the overflow will cause the counter start over from zero again. For example, if a character dealt 70,000 damage in one hit, the system will count up to 65,535 and roll over to zero, ending up doing 4,465 damage. The easiest way to trigger the glitch is through casting Ultima with a character who has over 140 Magic. There is a bugfix patch that players can use to fix it on the SNES version.

This glitch was fixed in the Advance version.

Final Fantasy VII

The glitch in action

In Final Fantasy VII all the integer numbers are encoded in 32 bits. Since they need to be signed integers, the two's complement representation is used. In this encoding the leftmost bit is negative weighted, while all the others have a positive value. Given 2^n, the sum of all the powers of 2 with the exponent in the range (0, n - 1) is equal to (2^n) - 1. This means the lower and upper bounds for in-game integers are

and

If, at any point, the computation of some value results in a number which is out of those bounds, an overflow occurs and the game exhibits abnormal behaviors when this happens.

In Final Fantasy VII there are several instances of integer overflows. The most important and known one is the damage overflow glitch.

Damage Overflow

Other Overflow instances

Other overflow-related bugs involve rolling over AP (only on the Underwater Materia), Experience Points for characters, battle and escape counters, the gil counter, the timer, and the chance to cover with the Cover Materia. The maximum amount of battles and escapes the counter will hold is 65,535, and once the player goes over it will reset to 0.

For the timer, it will reset back to 0 after roughly 136 years, 36 days, 6 hours, 28 minutes, and 16 seconds of playing the game. For EXP and gil, the maximum amount is 4,294,967,295 (2^32 - 1) and once over the limit, it will overflow. EXP cannot be overflowed normally unless set to the maximum amount outside of battle. Cover percentage doesn't have a cap and can be increased by equipping multiple Cover Materia at once. The Cover chance overflows at 256%, reducing the percentage back to zero.

Final Fantasy IX

jump rope counter overflowing

If the player plays for 100 hours 256 times, the game's internal clock will reset. This can be used to obtain the Excalibur II, without playing for less than 12 hours. However, the player would be required to play for 25,600 hours, 1,067 days, or 2.92 years. The in-game clock color changes whenever it "rolls over" 100 hours from white to red to yellow to cyan to purple, and finally green. At 600 hours (after the timer has been green for 100 hours) the timer changes into a glitchy font and continues counting for 1 hour. At 601 hours the timer reverts to a green 99:59:59 and stops counting and nothing happens until the 2.92 years pass by when it overflows, returns to white 00:00:00 and starts all over.

The time is counted by frames, not by actual, seconds, so speeding up the framerate in an emulator will make the timer go faster. This is because of the PlayStation's hardware; since all PlayStations are designed to run at a specific frame rate, games can use that information to control their timing directly.

If one has a Tetra Master card that is at max stats (FAFF) and it is used to play, eventually the card will overflow reverting the card's power to, say, 0AFF for example. Although it says 0AFF, the card's attack power is that of a FAFF card.

The maximum number of jumps in the jump rope minigame is 8,388,607 after which the next jump will overflow the counter to 0, and afterward the counter won't increase further.

Final Fantasy Mystic Quest

Template:Sideicon

FFMQ Overflow Glitch

After Benjamin cast Cure on Dark King.

The Cure spell heals its target for a percentage of its maximum HP equal to 50 plus 1.5 times the caster's magic stat. Because of this, if Benjamin casts Cure on the Dark King, it will overflow and cause damage instead. This does not work for Phoebe, however. Because her magic stat is nearly twice as Benjamin's stats, her Cure overflows twice and recovers HP as normal.

Etymology

In computers, "overflow" is the condition that occurs when a calculation produces a result greater in magnitude than that which a given register or storage location can store or represent. 65,535 is a frequently occurring number in the field of computing because it is the highest number which can be represented by an unsigned 16-bit binary number. Some computer programming environments may have pre-defined constant values representing 65,535.

In binary, this number is represented as 1111111111111111 (16 digits, or "bits"), and in hexadecimal, whose values are from 0-9 and A-F, as FFFF. Values of 65,536 and above would require extra digits, or "bits", to represent (65,536 itself would be 10000000000000000 (1 followed by 16 0's), and 10000, respectively). In older computers and devices with processors operating with a 16-bit address bus, 65535 was the highest addressable memory location. In addition, many older game consoles, including the SNES and the PS1, utilized 16-bit processors and RAM, resulting in all single-address data being limited in value to 65,535.

Because of this, 65,535 is the limit for many player variables in older video games. This could possibly be due to "oversights" in which developers would not anticipate a value requiring more than 16 bits of value, such as damage calculation (and indeed, in many cases it would not; many of these "glitches" require significant effort to generate, such as exploiting the calculation mechanics of certain equipment). This is becoming less of a problem with modern consoles, which now almost unanimously utilize 32-bit processors or higher, boosting this "limit" to a much larger 4,294,967,295, which is FFFFFFFF (eight Fs) in hexadecimal.

External links

Template:FFIV Template:FFVI Template:FFVII Template:FFIX Template:FFMQ Template:Bugs and Glitches

Advertisement