More than 7 support partners in FE8?

You’re correct in saying that there are memory limitations to support data. I’m not sure if you’re familiar with RAM character data structs, but they’re essentially what hold the data for each character throughout the game, including their class, stats, inventory, weapon levels, whether they’ve moved this turn, and yes, supports.
This is not the same as save data, however. Whenever save data is updated (after movement, battle, etc), it copies a bunch of data from these character structs (among other things), and efficiently packs what it needs to save into the .sav file.

If you want to allocate more data for supports, you would need to jump both of these hurdles. Save data sounds scary, but you’re in luck because Stan’s Expanded Modular Save hack would make this trivial.
Making more room in the RAM character struct (or potentially elsewhere in RAM) would be more difficult. This is what support data here looks like in vanilla. (Taken from Teq’s Better Notes.txt -> Character struct):

Location Type Data stored
0x32 Byte Support #1
0x33 Byte Support #2
0x34 Byte Support #3
0x35 Byte Support #4
0x36 Byte Support #5
0x37 Byte Support #6
0x38 Byte Support #7 (For non-player units, has char byte of leader)
0x39 Byte Bitfield; each bit is a support partner (in the order they appear in) and is set if a support has been obtained in that chapter

(Wow this table thing is kind of neat in Discourse. I just happened upon it/it autogenerated when I copy/pasted.)
Anyway, each RAM character struct is 0x48 bytes long, and it’s kinda packed except for 2 free bytes. As is, this doc suggests there’s room for 7 supports, though I had some interesting occurrences with the 7th byte when working with my Support Rework. For example, it’s unioned with enemy leader bytes, and apparently vanilla doesn’t clear that byte after you change an enemy’s allegiance to a player. :roll_eyes:
If you can’t put extra support data within the character struct, you can put it elsewhere in RAM similarly to what the Skill System has done with where it stores rallies/debuffs. Both options would require editing any functions that read/set support data. Either one would require using Expanded Modular Save to ensure that this new data gets saved/loaded from your save file.

So in short, allocating more space for supports is definitely possible but potentially difficult depending on how many supports you want to add.

2 Likes