EarthBound/Map Data/Palette Animation Secondary Pointer/Data Table

From Data Crystal
< EarthBound
Revision as of 03:25, 30 June 2023 by Esorth (talk | contribs) (→‎Format: Document the format instead of just the entries and also correct a bit of information on the last entry.)
Jump to navigation Jump to search

This is a sub-page of EarthBound/Map Data/Palette Animation Secondary Pointer.

Map Data:Palette Animation Secondary Pointer/Data Table
Game EarthBound
Start Address 0x1FE75D
End Address 0x1FE81A
# of Entries 31
Entry Length 5 bytes(0x5) to 13 bytes(0xD)
Total Length 190 bytes (0xBE)
Back to the ROM map

Points to locations on the EarthBound:Map Data:Palette Animation Table.

Format

Data Pointer

Long pointer to the start of the compressed map palette animation data. In unmodified EarthBound, this will point into the Map Palette Animation Table.

Number of Palettes

Number of palettes in the decompressed animation data. EarthBound will not attempt to decompress the animation data if this value is zero.

Also number of bytes used for the following variable-length data. Can be up to 8 or it will overfill the buffer set aside to load the data.

Unknown Variable-Length Data

One unknown byte per palette of animation data.

Entries

There are 9 different entries, but the 9th gets used 23 times. The 9th entry is just a pointer, which seems to be pointing at the Audio block at 0x1FEE46. The other 8 entries have pointers to the Palette Animation Table, but are also followed by a line of code of different lengths. The 9th entry has 00(NULL) included after the pointer.

Entry 1(0x1FE75D to 0x1FE765)

1b e6 df 00 Pointer   04 0a 0a 0a 0a             Code

Entry 2(0x1FE766 to 0x1FE76E)

b2 e6 df 00 Pointer   04 0f 0f 0f 0f             Code

Entry 3(0x1FE76F to 0x1FE779)

3d e7 df 00 Pointer   06 14 14 14 14 14 14       Code

Entry 4(0x1FE77A to 0x1FE781)

e0 e8 df 00 Pointer   03 0f 0f 14                Code

Entry 5(0x1FE782 to 0x1FE78A)

6c e9 df 00 Pointer   04 0f 0f 0f 0f             Code

Entry 6(0x1FE78B to 0x1FE792)

56 ea df 00 Pointer   03 0f 0f 0f                Code

Entry 7(0x1FE793 to 0x1FE79A)

31 eb df 00 Pointer   03 3c 08 08                Code

Entry 8(0x1FE79B to 0x1FE7A7)

ac eb df 00 Pointer   08 1e 0a 0a 0a 0a 0a 0a 0a Code

Entry 9(0x1FE7A8 to 0x1FE81A)

46 ec df 00 Pointer   00                         Code

A note about this pointer

Rather than list the same pointer over and over, it has just been listed here once. Entries 9-31 of the EarthBound:Map Data:Palette Animation Pointer Table all point to 23 seperate entries on this table, but all 23 have the exact same 5 byte pointer to $dfec46. This pointer is unused because EarthBound will not attempt to load it when the number of palettes byte is zero.