Menu palette receives new routine based on the battle one that pipes in the Job colors.
Field value of the Job allows the Menu to load the correct Job outfit palette for the Wounded Wardrobe sprites! Using the work from weeks ago to finish up the beta version of this is a satisfying and unexpected twist. The project comes full circle with this⦠Maybe it proves that the more you experiment, the more you can learn to do?
<aside> π
</aside>

Full Breakdown by chief engineer Claude Code in orange!
| SNES Address | File Offset | Contents |
|---|---|---|
| $E8:0000β$E8:527F | $280000β$28527F | WW wounded art: 110 blocks Γ $C0 bytes (4bpp, 6 tiles each) |
| $E8:5280β$E8:5287 | $285280β$285287 | Padding (8 Γ $00) |
| $E8:5288β$E8:52C3 | $285288β$2852C3 | Routine A: Battle slot-map (v0.05, 60 bytes) |
| $E8:52C4β$E8:52CF | $2852C4β$2852CF | Padding (12 Γ $00) |
| $E8:52D0β$E8:52FD | $2852D0β$2852FD | Routine B: Menu KO hook (v0.06, 46 bytes) |
| $E8:52FEβ$E8:52FF | $2852FEβ$2852FF | Padding (2 Γ $00) |
| $E8:5300β$E8:5331 | $285300β$285331 | Routine C: MVN bank dispatch (v0.07, 50 bytes) |
These five patches in the original ROM redirect execution into the freespace:
| Hook | File Offset | Bytes | Effect |
|---|---|---|---|
| Battle sprite loader | $012517 | E2 20 22 88 52 E8 EA EA |
SEP #$20; JSL $E85288; NOPΓ2 |
| Phase-1 palette force | $01B1C7 | EA EA EA |
NOP out LDA #$15 (battle KO palette) |
| Menu KO tile loader | $02D2BB | 22 D0 52 E8 (EA Γ 16) |
JSL $E852D0 + 16 NOPs |
| MVN bank dispatch | $02D319 | 22 00 53 E8 80 21 EA |
JSL $E85300; BRA $D340; NOP |
| Menu palette force | $02D47C | EA EA |
NOP out LDA #$15 (menu KO palette) |
Purpose: Compute (job Γ 5 + hero) Γ $C0 and store as the source pointer for the DMA that copies wounded tiles into VRAM.
SEP #$20 (8-bit A, 16-bit X/Y)