Theme

Newest Hacks

Newest Translations

Salamander Greendog: The Beached Surfer Dude! Alex Kidd in Shinobi World Toki: Going Ape Spit

Newest Utilities

FF6 Battle Background Palette Helper Janus (Goldeneye randomiser) S.M.B. Remodeler (English) Sqoon NES Text Editor

Newest Documents

Documents

Newest Reviews

Pokemon Shiny Gold Sigma Jing Hua Yuan Pi Nuo Cao De Fu Su Oracle of Ages GBC palettes

Newest Homebrew

MashyMashy UWOL - Quest for Money Christmas Craze Russian Roulette

Featured Hack Images

Technos Ice Hockey Championship Super Mario Bros. - Revisited Ice Metal 1: Uninstall THE Another of Super Metroid Back From The Source SMK Limited 4 The Second Reality Project 1 (SNES Version) Ultimate Damage Fix

Featured Translation Images

Golden Axe Warrior Shenmue II The Legend of Prince Valiant Kung Fu Neugier: Umi to Kaze no Koudou Tenshi no Uta: Shiroki Tsubasa no Inori Hirake! Ponkikki Panic Restaurant

Recent Updates

Overkill 32,000

Hack of Final Fantasy III

Description:

v1.5 UPDATE (08/20/11): fixed horizontal alignment for 1 to 4 digit display

This is an updated bugfix and improvement of the old hack originally titled “Displayable 32766 damage/healing”.

Includes headered & unheadered patches for the Final Fantasy III (U) (V1.0 & V1.1) [!] ROM.

Basically, this patch makes FF6 capable of displaying 5 digits when 10,000+ damage/healing is dealt. Only up to 32000 (#$7D00/#$8300) damage/healing is allowed because of negative numbers using the values 8000-FFFF. Also, since damage is stored as a signed short, only 15 bits are available (the 16th bit is the negative bit, ie. healing). Which is why more than 65535 (#$FFFF) damage is not possible in this scope. This can display anything with 5 digits, though, so if someone can make a hack moving the healing bits to a different memory address, allowing for this hack to deal up to 65000 damage, it would be welcomed!

What it does is squeeze 5 digits into 4 tiles. This is why the digits are of a custom font because the original font would cause an unappealing overlap of digits, making it harder to read. The reason why it is drawn like this and not 5 digits in 5 tiles is due to VRAM issues concerning space partitioning. There is not enough room in the VRAM (nor in the OAM) for a 5th tile to be used since multiple values are stored, forcefully occupying the entire block reserved for damage/healing values.

To do this in ASM with 4bpp graphics was not trivial but quite difficult to figure out. I had to revise it twice because the code wasn’t efficient enough to prevent an NMI from interrupting it before it was done. Spells that hit multiple monsters (eg. Quake, WWind, Merton) display 5 digits too, and use different routines since it involves showing several damages simultaneously. This was causing interrupt problems, but I put a WAI (wait for interrupt) at the beginning of the new code and it seemed to have fixed it at first. Actually, it only fixed it in Snes9x; not in ZSNES. Disabling the NMI (STZ $4200) instead of WAI finally solved the issue in both emulators. If you get weird effects or invisible results on screen when there’s multiple damages/healings it probably has its origins in the interrupt issue. As far as I can tell, that has been fixed but nothing is certain.

Special thanks to Imzogelmo for the feedback and beta testing, as well as assassin17 and Terii Senshi for the offsets of the damage truncation and compressed battle numerals. Also credit goes to Novalia Spirit for finding several bugs with the draining spells, HP/MP recovery items, and HP/MP display problems in the battle submenus.

ROM / ISO Information:

  • Final Fantasy III (USA).sfc - NOINTRO
  • CRC32: A27F1C7A
  • MD5: E986575B98300F721CE27C180264D890
  • SHA-1: 4F37E4274AC3B2EA1BEDB08AA149D8FC5BB676E7
  • SHA-256: 0F51B4FCA41B7FD509E4B8F9D543151F68EFA5E97B08493E4B2A0C06F5D8D5E2

Links:

Screenshots:


Credits:

User Review Information

No User Reviews!