Gemini, could you post more details about what to change and where it's located in the ROM? That's a neat result, and something I hadn't considered changing until just now.
Well, I can tell you more or less what to change in the Snes version (the image refers to the Psx porting), but I'm not 100% sure it will work that way. Code was traced from FF2us, but it might be stored at the same offsets in any Snes version.
This one loads 8 color palette:
$01/9340 BD 01 00 LDA $0001,x[$7E:1001] A:100B X:1000 Y:E2C0 P:envMxdIzc
$01/9343 29 0F AND #$0F A:1009 X:1000 Y:E2C0 P:envMxdIzc
$01/9345 85 43 STA $43 [$00:0143] A:1009 X:1000 Y:E2C0 P:envMxdIzc
$01/9347 C2 20 REP #$20 A:1009 X:1000 Y:E2C0 P:envMxdIzc
$01/9349 A5 43 LDA $43 [$00:0143] A:1009 X:1000 Y:E2C0 P:envmxdIzc
$01/934B 0A ASL A A:0009 X:1000 Y:E2C0 P:envmxdIzc
$01/934C 0A ASL A A:0012 X:1000 Y:E2C0 P:envmxdIzc
$01/934D 0A ASL A A:0024 X:1000 Y:E2C0 P:envmxdIzc
$01/934E 0A ASL A A:0048 X:1000 Y:E2C0 P:envmxdIzc
$01/934F 69 D0 86 ADC #$86D0 A:0090 X:1000 Y:E2C0 P:envmxdIzc
$01/9352 AA TAX A:8760 X:1000 Y:E2C0 P:eNvmxdIzc
$01/9353 A5 45 LDA $45 [$00:0145] A:8760 X:8760 Y:E2C0 P:eNvmxdIzc
$01/9355 0A ASL A A:0000 X:8760 Y:E2C0 P:envmxdIZc
$01/9356 0A ASL A A:0000 X:8760 Y:E2C0 P:envmxdIZc
$01/9357 0A ASL A A:0000 X:8760 Y:E2C0 P:envmxdIZc
$01/9358 0A ASL A A:0000 X:8760 Y:E2C0 P:envmxdIZc
$01/9359 0A ASL A A:0000 X:8760 Y:E2C0 P:envmxdIZc
$01/935A 69 60 A1 ADC #$A160 A:0000 X:8760 Y:E2C0 P:envmxdIZc
$01/935D A8 TAY A:A160 X:8760 Y:E2C0 P:eNvmxdIzc
$01/935E A9 0F 00 LDA #$000F A:A160 X:8760 Y:A160 P:eNvmxdIzc
$01/9361 54 7E 0D MVN 7E 0D A:000F X:8760 Y:A160 P:envmxdIzcJust relocate the palette bank somewhere else in the rom, add an ASL A after LDA $43, and change LDA #$000F into LDA #$001F.
This is for 3bpp portraits and part of the menu gfx:
$01/9301 8D 45 01 STA $0145 [$1D:0145] A:4210 X:0000 Y:E140 P:envMxdIzc
$01/9304 A2 08 00 LDX #$0008 A:4210 X:0000 Y:E140 P:envMxdIzc
$01/9307 B9 00 00 LDA $0000,y[$1D:E140] A:4210 X:0008 Y:E140 P:envMxdIzc
$01/930A 85 18 STA $18 [$00:2118] A:4200 X:0008 Y:E140 P:envMxdIZc
$01/930C B9 01 00 LDA $0001,y[$1D:E141] A:4200 X:0008 Y:E140 P:envMxdIZc
$01/930F 85 19 STA $19 [$00:2119] A:4200 X:0008 Y:E140 P:envMxdIZc
$01/9311 C8 INY A:4200 X:0008 Y:E140 P:envMxdIZc
$01/9312 C8 INY A:4200 X:0008 Y:E141 P:eNvMxdIzc
$01/9313 CA DEX A:4200 X:0008 Y:E142 P:eNvMxdIzc
$01/9314 D0 F1 BNE $F1 [$9307] A:4200 X:0007 Y:E142 P:envMxdIzc
$01/9316 A2 08 00 LDX #$0008 A:424B X:0000 Y:E150 P:envMxdIZc
$01/9319 B9 00 00 LDA $0000,y[$1D:E150] A:424B X:0008 Y:E150 P:envMxdIzc
$01/931C 85 18 STA $18 [$00:2118] A:4200 X:0008 Y:E150 P:envMxdIZc
$01/931E 64 19 STZ $19 [$00:2119] A:4200 X:0008 Y:E150 P:envMxdIZc
$01/9320 C8 INY A:4200 X:0008 Y:E150 P:envMxdIZc
$01/9321 CA DEX A:4200 X:0008 Y:E151 P:eNvMxdIzc
$01/9322 D0 F5 BNE $F5 [$9319] A:4200 X:0007 Y:E151 P:envMxdIzc
$01/9324 CE 45 01 DEC $0145 [$1D:0145] A:424B X:0000 Y:E158 P:envMxdIZc
$01/9327 D0 DB BNE $DB [$9304] A:424B X:0000 Y:E158 P:envMxdIzc
$01/9329 60 RTS A:42DF X:0000 Y:E2C0 P:envMxdIZcAs usual, relocate the 4bpp gfx somewhere else in your rom, then you need to change:
$01/9319 B9 00 00 LDA $0000,y[$1D:E150] A:424B X:0008 Y:E150 P:envMxdIzc
$01/931C 85 18 STA $18 [$00:2118] A:4200 X:0008 Y:E150 P:envMxdIZc
$01/931E 64 19 STZ $19 [$00:2119] A:4200 X:0008 Y:E150 P:envMxdIZc
$01/9320 C8 INY A:4200 X:0008 Y:E150 P:envMxdIZcInto:
LDA $0000,y
STA $18
LDA $0001,y
STA $19
INY
INYThe attached package contains an almost complete set of GBA portraits already converted for the Snes. 0~1DF is palette data, everything else is portrait data. Frog, pig and minimum images are missing, but I will probably add them someday.