The current URL is datacrystal.tcrf.net.
EarthBound/Map Data/Palette Animation Secondary Pointer/Data Table: Difference between revisions
mNo edit summary |
(→Format: Document the format instead of just the entries and also correct a bit of information on the last entry.) |
||
Line 12: | Line 12: | ||
{{clear}} | {{clear}} | ||
=Format= | ==Format== | ||
===Data Pointer=== | |||
{{table el||len=4 bytes(<tt>0x4</tt>)|loc=<tt>0x00</tt>|valrange=<tt>0x00000000-0x00FFFFFF</tt> (long pointer)}} | |||
Long pointer to the start of the compressed map palette animation data. In unmodified EarthBound, this will point into the [[EarthBound:Map_Data:Palette_Animation_Table|Map Palette Animation Table]]. | |||
===Number of Palettes=== | |||
{{table el||len=1 byte(<tt>0x1</tt>)|loc=<tt>0x04</tt>|valrange=<tt>0x00-0x08</tt>}} | |||
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=== | |||
{{table el||len=varies|loc=<tt>0x05</tt>|valrange=??}} | |||
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 | 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 | 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. | of different lengths. The 9th entry has 00(NULL) included after the pointer. | ||
==Entry 1(0x1FE75D to 0x1FE765)== | ===Entry 1(0x1FE75D to 0x1FE765)=== | ||
{{table el||len=9 bytes(0x9)|loc=0x00|valrange=0x00-0xFF|}} | {{table el||len=9 bytes(0x9)|loc=0x00|valrange=0x00-0xFF|}} | ||
1b e6 df 00 Pointer 04 0a 0a 0a 0a Code | 1b e6 df 00 Pointer 04 0a 0a 0a 0a Code | ||
==Entry 2(0x1FE766 to 0x1FE76E)== | ===Entry 2(0x1FE766 to 0x1FE76E)=== | ||
{{table el||len=9 bytes(0x9)|loc=0x0A|valrange=0x00-0xFF|}} | {{table el||len=9 bytes(0x9)|loc=0x0A|valrange=0x00-0xFF|}} | ||
b2 e6 df 00 Pointer 04 0f 0f 0f 0f Code | b2 e6 df 00 Pointer 04 0f 0f 0f 0f Code | ||
==Entry 3(0x1FE76F to 0x1FE779)== | ===Entry 3(0x1FE76F to 0x1FE779)=== | ||
{{table el||len=11 bytes(0xB)|loc=0x13|valrange=0x00-0xFF|}} | {{table el||len=11 bytes(0xB)|loc=0x13|valrange=0x00-0xFF|}} | ||
3d e7 df 00 Pointer 06 14 14 14 14 14 14 Code | 3d e7 df 00 Pointer 06 14 14 14 14 14 14 Code | ||
==Entry 4(0x1FE77A to 0x1FE781)== | ===Entry 4(0x1FE77A to 0x1FE781)=== | ||
{{table el||len=8 bytes(0x9)|loc=0x00|valrange=0x00-0xFF|}} | {{table el||len=8 bytes(0x9)|loc=0x00|valrange=0x00-0xFF|}} | ||
e0 e8 df 00 Pointer 03 0f 0f 14 Code | e0 e8 df 00 Pointer 03 0f 0f 14 Code | ||
==Entry 5(0x1FE782 to 0x1FE78A)== | ===Entry 5(0x1FE782 to 0x1FE78A)=== | ||
{{table el||len=9 bytes(0x9)|loc=0x00|valrange=0x00-0xFF|}} | {{table el||len=9 bytes(0x9)|loc=0x00|valrange=0x00-0xFF|}} | ||
6c e9 df 00 Pointer 04 0f 0f 0f 0f Code | 6c e9 df 00 Pointer 04 0f 0f 0f 0f Code | ||
==Entry 6(0x1FE78B to 0x1FE792)== | ===Entry 6(0x1FE78B to 0x1FE792)=== | ||
{{table el||len=8 bytes(0x8)|loc=0x00|valrange=0x00-0xFF|}} | {{table el||len=8 bytes(0x8)|loc=0x00|valrange=0x00-0xFF|}} | ||
56 ea df 00 Pointer 03 0f 0f 0f Code | 56 ea df 00 Pointer 03 0f 0f 0f Code | ||
==Entry 7(0x1FE793 to 0x1FE79A)== | ===Entry 7(0x1FE793 to 0x1FE79A)=== | ||
{{table el||len=8 bytes(0x8)|loc=0x00|valrange=0x00-0xFF|}} | {{table el||len=8 bytes(0x8)|loc=0x00|valrange=0x00-0xFF|}} | ||
31 eb df 00 Pointer 03 3c 08 08 Code | 31 eb df 00 Pointer 03 3c 08 08 Code | ||
==Entry 8(0x1FE79B to 0x1FE7A7)== | ===Entry 8(0x1FE79B to 0x1FE7A7)=== | ||
{{table el||len=9 bytes(0x9)|loc=0x00|valrange=0x00-0xFF|}} | {{table el||len=9 bytes(0x9)|loc=0x00|valrange=0x00-0xFF|}} | ||
ac eb df 00 Pointer 08 1e 0a 0a 0a 0a 0a 0a 0a Code | ac eb df 00 Pointer 08 1e 0a 0a 0a 0a 0a 0a 0a Code | ||
==Entry 9(0x1FE7A8 to 0x1FE81A)== | ===Entry 9(0x1FE7A8 to 0x1FE81A)=== | ||
{{table el||len=5 bytes(0x5)|loc=0x00|valrange=0x00-0xFF|}} | {{table el||len=5 bytes(0x5)|loc=0x00|valrange=0x00-0xFF|}} | ||
46 ec df 00 Pointer 00 Code | 46 ec df 00 Pointer 00 Code | ||
===A note about this pointer=== | ====A note about this pointer==== | ||
Rather than list the same pointer over and over, | 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 <tt>$dfec46</tt>. This pointer is unused because EarthBound will not attempt to load it when the number of palettes byte is zero. | ||
Revision as of 03:25, 30 June 2023
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
- Length: 4 bytes(0x4)
- Offset within entry: 0x00
- Range of values: 0x00000000-0x00FFFFFF (long 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
- Length: 1 byte(0x1)
- Offset within entry: 0x04
- Range of values: 0x00-0x08
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
- Length: varies
- Offset within entry: 0x05
- Range of values: ??
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)
- Length: 9 bytes(0x9)
- Offset within entry: 0x00
- Range of values: 0x00-0xFF
1b e6 df 00 Pointer 04 0a 0a 0a 0a Code
Entry 2(0x1FE766 to 0x1FE76E)
- Length: 9 bytes(0x9)
- Offset within entry: 0x0A
- Range of values: 0x00-0xFF
b2 e6 df 00 Pointer 04 0f 0f 0f 0f Code
Entry 3(0x1FE76F to 0x1FE779)
- Length: 11 bytes(0xB)
- Offset within entry: 0x13
- Range of values: 0x00-0xFF
3d e7 df 00 Pointer 06 14 14 14 14 14 14 Code
Entry 4(0x1FE77A to 0x1FE781)
- Length: 8 bytes(0x9)
- Offset within entry: 0x00
- Range of values: 0x00-0xFF
e0 e8 df 00 Pointer 03 0f 0f 14 Code
Entry 5(0x1FE782 to 0x1FE78A)
- Length: 9 bytes(0x9)
- Offset within entry: 0x00
- Range of values: 0x00-0xFF
6c e9 df 00 Pointer 04 0f 0f 0f 0f Code
Entry 6(0x1FE78B to 0x1FE792)
- Length: 8 bytes(0x8)
- Offset within entry: 0x00
- Range of values: 0x00-0xFF
56 ea df 00 Pointer 03 0f 0f 0f Code
Entry 7(0x1FE793 to 0x1FE79A)
- Length: 8 bytes(0x8)
- Offset within entry: 0x00
- Range of values: 0x00-0xFF
31 eb df 00 Pointer 03 3c 08 08 Code
Entry 8(0x1FE79B to 0x1FE7A7)
- Length: 9 bytes(0x9)
- Offset within entry: 0x00
- Range of values: 0x00-0xFF
ac eb df 00 Pointer 08 1e 0a 0a 0a 0a 0a 0a 0a Code
Entry 9(0x1FE7A8 to 0x1FE81A)
- Length: 5 bytes(0x5)
- Offset within entry: 0x00
- Range of values: 0x00-0xFF
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.