Changes that fit none of the other sections.
#35 The title screen now says FINAL FANTASY VI, and the ROM's internal name says 6.
- In 1.0
- The title screen logo read FINAL FANTASY III, the game's US number, and the name stored inside the game said FINAL FANTASY 3.
- Now
- The logo now reads VI and the stored name says FINAL FANTASY 6, as in the Japanese game.
For ROM hackers 1.0 addresses
Title logo: TitleOpeningGfx (D8/F000), the LZSS-compressed title and opening graphics. In the decompressed block the logo is a 256 by 64 pixel band, tile layout at offset $8BE0 and tiles at $8DE0, drawn over the flames with the letters cut out. The three III bars are cleared, a V is drawn anew from two 5-pixel diagonal bars with the same flared tops, one original I bar is kept, and the band is re-tiled into 130 tiles, within the 136 the title code copies. Recompress; if it outgrows the block's 36 spare bytes, move it to free space and repoint. Internal name: in SnesHeader (C0/FFC0) change the digit at C0/FFCE from 3 to 6 and update the header checksum.
How to read these notes
Credit: as in the PlayStation release, previously fixed by Yazoo, my implementation
#237 The ROM is now 4 MB, making room for the new enemies, maps, scripts and graphics.
- In 1.0
- The original cartridge is 3 MB, with about 26 KB of free space in small gaps, far too little for new enemies, maps and event scripts.
- Now
- The ROM is now 4 MB, with room for the new enemies, maps, scripts and graphics.
For ROM hackers Method
Pad the 3 MB ROM to 4 MB: file offsets $300000 to $3FFFFF appear as banks F0 to FF in HiROM. The header's size byte at C0/FFD7 already declares 4 MB ($0C), so it stays. Blocks that outgrow their banks move there and are repointed: monster graphics (MonsterGfx, E9/7000; a 256 KB block in this ROM hack), monster palettes and stencils, the AI scripts (AIScript, CF/8700), the per-monster and formation tables, and later the map records, the treasure table and the dialogue pointers. Code that supplies a bank as an immediate must change with the move, such as the Colosseum wager screen's lda #$E9 at C3/AF8D and lda #$D2 at C3/AFFD. NPC records hold 18 bits of an event pointer, so NPC events placed there are reached through call and return stubs in banks CA to CF.
How to read these notes
Credit: my implementation
#509 The Equip screen and the ending no longer break on a 50 Hz (PAL) console; 60 Hz play is unaffected.
- In 1.0
- On a 50 Hz (PAL) console, the Equip screen drew only its top bar, and the ending stopped for good at its sixth music cue.
- Now
- The Equip screen now draws in full and the ending plays through; 60 Hz play is unchanged.
For ROM hackers 1.0 addresses
Both fixes run only when $213F bit 4 reports 50 Hz. Equip screen: the main menu drives $212C from HDMA channel 6, which the Equip screen reprograms, and at 50 Hz a stray value is left in $212C. Replace each lda #imm / sta $212C at D4/CA61 ($17), D4/CDE3 ($1F), D4/CEC2 ($17) and D4/CF08 ($13) with a jsl to a routine that writes it and keeps a copy in $024E. In MenuNMI (C3/1387) replace the jsr UpdateMode7Regs at C3/1454 with a jsr to a bank C3 routine that, at 50 Hz with $024E nonzero, writes $024E to $212C, then jumps to UpdateMode7Regs (C3/D263). Ending: insert at the head of EventCmd_f9 (C0/B8BA), 8 bytes: at 50 Hz, branch to C0/B8C2.
How to read these notes
Credit: previously fixed by d4s, my implementation