There’s a Debug Mode in FF4 Ultima. If you want to know how to access it, please ask the team in the #spoilers channel in the FF4 Ultima Discord.
Here’s what you can do:
Provides Job-specific sprites for the heroes when they’re Wounded (KO’d).
Not working as intended yet.
; Verison 0.5
; This only applies the Job palettes at this time; loading new custom sprites
; is Phase 2 of this project
; Two hook sites, both replace LDA #$E0 + 3×STA (11 bytes) with
; a JML to freespace (4 bytes) + 7 NOPs.
; Freespace translates the palette into a correct value for the Job outfit:
; (it's typically $E0).
; Hook 1
; $017D8C:
5C 9C FF C9 ; JML $C9FF9C
EA EA EA EA ; NOP ×4
EA EA EA ; NOP ×3
5C 9C FF C9 EA EA EA EA EA EA EA
; Hook 2
; $017DCB:
5C B3 FF C9 ; JML $C9FFB3
EA EA EA EA
EA EA EA
5C B3 FF C9 EA EA EA EA EA EA EA
; Freespace routines at $C9FF9C (file offset $09FF9C)
; --- Routine A (19 bytes) ---
; $09FF9C:
A9 E8 ; LDA #$E8 slot 0, palette 4
8D 88 BC ; STA $BC88
A9 EA ; LDA #$EA slot 1, palette 5
8D 89 BC ; STA $BC89
A9 EC ; LDA #$EC slot 2, palette 6
8D 8A BC ; STA $BC8A
5C 97 7D C1 ; JML $C17D97 → continue at STZ $D102
A9 E8 8D 88 BC A9 EA 8D 89 BC A9 EC 8D 8A BC 5C 97 7D C1
; --- Routine B (19 bytes) ---
; $09FFB3:
A9 E8 ; LDA #$E8
8D 88 BC ; STA $BC88
A9 EA ; LDA #$EA
8D 89 BC ; STA $BC89
A9 EC ; LDA #$EC
8D 8A BC ; STA $BC8A
5C D6 7D C1 ; JML $C17DD6 → continue at JMP $7DA7
A9 E8 8D 88 BC A9 EA 8D 89 BC A9 EC 8D 8A BC 5C D6 7D C1
; Total freespace used: 38 bytes of the 100 available.
; Hoping that Phase 2 will be possible in 62 bytes...