The current URL is datacrystal.tcrf.net.
EarthBound/Logo Screen Graphics Data: Difference between revisions
(→Entries: Start organizing data) |
(→Tile Character Data: Better document tile character data length and practical/theoretical maximums) |
||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{ | {{Infobox_map_entry|name=Logo Screen Graphics Data | ||
|game=EarthBound | |||
|loc=ROM | |||
|start=<tt>0x2150C1</tt> | |||
|end=<tt>0x2157D2</tt> | |||
|totallength=1810 bytes (<tt>0x0712</tt>) | |||
}} | |||
Compressed raw graphics data for the 3 game intro company logo screens. | Compressed raw graphics data for the 3 game intro company logo screens. | ||
==Logos== | ==Logos== | ||
==="APE" Logo=== | ==="APE" Logo=== | ||
{ | {| border=1 cellspacing=0 cellpadding=3 | ||
| | ! Address !! End Address !! Subentry !! Compressed length !! Decompressed length | ||
| | |- | ||
| | | <tt>0x2150c1</tt> || <tt>0x215129</tt> || Tilemap Data || 105 bytes (<tt>0x69</tt>) || 2048 bytes (<tt>0x0800</tt>) | ||
| | |- | ||
| | | <tt>0x21512a</tt> || <tt>0x21532f</tt> || Tile Character Data || 518 bytes (<tt>0x0206</tt>) || 1280 bytes (<tt>0x0500</tt>) | ||
} | |- | ||
| <tt>0x215330</tt> || <tt>0x215373</tt> || Palettes || 68 bytes (<tt>0x44</tt>) || 512 bytes (<tt>0x0200</tt>) | |||
|} | |||
==="Halken" Logo=== | |||
{| border=1 cellspacing=0 cellpadding=3 | {| border=1 cellspacing=0 cellpadding=3 | ||
! Address !! Subentry !! Compressed length !! Decompressed length | ! Address !! End Address !! Subentry !! Compressed length !! Decompressed length | ||
|- | |- | ||
| <tt> | | <tt>0x215374</tt> || <tt>0x2153e7</tt> || Tilemap Data || 116 bytes (<tt>0x74</tt>) || 2048 bytes (<tt>0x0800</tt>) | ||
|- | |- | ||
| <tt> | | <tt>0x2153e8</tt> || <tt>0x2155b7</tt> || Tile Character Data || 464 bytes (<tt>0x01d0</tt>) || 1280 bytes (<tt>0x0500</tt>) | ||
|- | |- | ||
| <tt> | | <tt>0x2155b8</tt> || <tt>0x215654</tt> || Palettes || 157 bytes (<tt>0x9d</tt>) || 512 bytes (<tt>0x0200</tt>) | ||
|} | |} | ||
==="Nintendo" Logo=== | |||
===" | |||
{| border=1 cellspacing=0 cellpadding=3 | {| border=1 cellspacing=0 cellpadding=3 | ||
! Address !! Subentry !! Compressed length !! Decompressed length | ! Address !! End Address !! Subentry !! Compressed length !! Decompressed length | ||
|- | |- | ||
| <tt> | | <tt>0x215655</tt> || <tt>0x21569d</tt> || Tilemap Data || 73 bytes (<tt>0x49</tt>) || 2048 bytes (<tt>0x0800</tt>) | ||
|- | |- | ||
| <tt> | | <tt>0x21569e</tt> || <tt>0x21578e</tt> || Tile Character Data || 241 bytes (<tt>0xf1</tt>) || 1280 bytes (<tt>0x0500</tt>) | ||
|- | |- | ||
| <tt> | | <tt>0x21578f</tt> || <tt>0x2157d2</tt> || Palettes || 68 bytes (<tt>0x44</tt>) || 512 bytes (<tt>0x0200</tt>) | ||
|} | |} | ||
==Format== | |||
For each logo, the ROM contains 3 individually compressed subentries for that logo's tilemap data, tile character data, and palettes. See [[EarthBound/ASM/Decompression_Routine#CompressionFormat|Compression Format]]. | |||
===Decompressed Format=== | |||
====Tilemap Data==== | |||
Once decompressed, the logo's tilemap data contains a single 32x32 tile [https://snes.nesdev.org/wiki/Tilemaps SNES tilemap], designating a static image covering the entire screen. 2-byte tile entries are arranged in rows, with 32 entries for the left-to-right tiles at the top of the screen, followed by the next row, etc. | |||
For each 2-byte tile entry: | |||
<code>VH0PPPCCCCCCCCCC</code> | |||
* <tt>V</tt> (bit <tt>0x8000</tt>): '''V'''ertical flip. If set, tile will be flipped vertically from how it is stored in tile character data. ''Not set for any logo tilemaps in EarthBound.'' | |||
* <tt>H</tt> (bit <tt>0x4000</tt>): '''H'''orizontal flip. If set, tile will be flipped horizontally from how it is stored in tile character data. | |||
* <tt>0</tt> (bit <tt>0x2000</tt>): Would be the BG Priority Bit, which affects whether the tile is displayed in front of or behind other background layers or sprites. Meaningless and always unset for EB logo screens where only a single background layer is used and no sprites. | |||
* <tt>PPP</tt> (bits <tt>0x1C00</tt>): '''P'''alette selection. Selects which 4-color palette from the logo's palettes is used when coloring the selected tile character. ''Always between 0 and 2 (inclusive) for any logo tilemaps in EarthBound.'' | |||
* <tt>CCCCCCCCCC</tt> (bits <tt>0x03FF</tt>): Tile '''c'''haracter selection. Character index into tile character data. ''Always between 0 and 40 (inclusive) for any logo tilemaps in EarthBound because no logo uses more than 41 characters.'' | |||
=== | ====Tile Character Data==== | ||
Once decompressed, the logo's tile character data contains 2-bits-per-pixel 8x8 [https://snes.nesdev.org/wiki/Tiles SNES graphics tiles]. The assembly will load up to 2048 tiles (32768 bytes) to VRAM, but only the first 1024 (16384 bytes) would be referenceable by the tilemap, making 1024 the functional tile character limit. Additionally, as a non-animated 32x32-tile screen, there are exactly 1024 displayed tiles. | |||
In an unmodified EarthBound ROM, the data for each of the 3 logos decompresses to exactly 80 tiles, of which at most 41 are ever referenced and used by the tilemap data. Additionally, like with [[EarthBound/Map_Data/Compressed_Tileset_Character_Data#DecompressedFormat|map tileset character data]], the first tile (index <tt>000</tt>) is always completely transparent for all 3 logos. | |||
<tt> | |||
=== | ====Palettes==== | ||
Once decompressed, the logo's palettes subentry contains a complete set of 256 2-byte [[Super_Nintendo:Color|colors]] (512 bytes) to replace the entire contents of [https://snes.nesdev.org/wiki/Palettes SNES CGRAM]. Because the only graphics used by a logo screen is [https://snes.nesdev.org/wiki/Backgrounds#Mode_1 Mode 1] background tiles on layer 3 (BG3), the only portion of CGRAM that will ever be usable is the first 32 colors (64 bytes), representing 8 4-color palettes, and as with all SNES palettes, the first color in each is ignored and treated as transparent, giving 24 usable colors. Additionally, no logo screen ever makes use of more than the first 3 palettes in an unmodified EarthBound ROM. | |||
[[Category:EarthBound|Logo Screen Graphics Data]] |
Latest revision as of 16:01, 3 June 2024
Logo Screen Graphics Data | |
Game | EarthBound |
Start Address | 0x2150C1 |
End Address | 0x2157D2 |
Total Length | 1810 bytes (0x0712) |
Back to the ROM map |
Compressed raw graphics data for the 3 game intro company logo screens.
Logos
"APE" Logo
Address | End Address | Subentry | Compressed length | Decompressed length |
---|---|---|---|---|
0x2150c1 | 0x215129 | Tilemap Data | 105 bytes (0x69) | 2048 bytes (0x0800) |
0x21512a | 0x21532f | Tile Character Data | 518 bytes (0x0206) | 1280 bytes (0x0500) |
0x215330 | 0x215373 | Palettes | 68 bytes (0x44) | 512 bytes (0x0200) |
"Halken" Logo
Address | End Address | Subentry | Compressed length | Decompressed length |
---|---|---|---|---|
0x215374 | 0x2153e7 | Tilemap Data | 116 bytes (0x74) | 2048 bytes (0x0800) |
0x2153e8 | 0x2155b7 | Tile Character Data | 464 bytes (0x01d0) | 1280 bytes (0x0500) |
0x2155b8 | 0x215654 | Palettes | 157 bytes (0x9d) | 512 bytes (0x0200) |
"Nintendo" Logo
Address | End Address | Subentry | Compressed length | Decompressed length |
---|---|---|---|---|
0x215655 | 0x21569d | Tilemap Data | 73 bytes (0x49) | 2048 bytes (0x0800) |
0x21569e | 0x21578e | Tile Character Data | 241 bytes (0xf1) | 1280 bytes (0x0500) |
0x21578f | 0x2157d2 | Palettes | 68 bytes (0x44) | 512 bytes (0x0200) |
Format
For each logo, the ROM contains 3 individually compressed subentries for that logo's tilemap data, tile character data, and palettes. See Compression Format.
Decompressed Format
Tilemap Data
Once decompressed, the logo's tilemap data contains a single 32x32 tile SNES tilemap, designating a static image covering the entire screen. 2-byte tile entries are arranged in rows, with 32 entries for the left-to-right tiles at the top of the screen, followed by the next row, etc.
For each 2-byte tile entry:
VH0PPPCCCCCCCCCC
- V (bit 0x8000): Vertical flip. If set, tile will be flipped vertically from how it is stored in tile character data. Not set for any logo tilemaps in EarthBound.
- H (bit 0x4000): Horizontal flip. If set, tile will be flipped horizontally from how it is stored in tile character data.
- 0 (bit 0x2000): Would be the BG Priority Bit, which affects whether the tile is displayed in front of or behind other background layers or sprites. Meaningless and always unset for EB logo screens where only a single background layer is used and no sprites.
- PPP (bits 0x1C00): Palette selection. Selects which 4-color palette from the logo's palettes is used when coloring the selected tile character. Always between 0 and 2 (inclusive) for any logo tilemaps in EarthBound.
- CCCCCCCCCC (bits 0x03FF): Tile character selection. Character index into tile character data. Always between 0 and 40 (inclusive) for any logo tilemaps in EarthBound because no logo uses more than 41 characters.
Tile Character Data
Once decompressed, the logo's tile character data contains 2-bits-per-pixel 8x8 SNES graphics tiles. The assembly will load up to 2048 tiles (32768 bytes) to VRAM, but only the first 1024 (16384 bytes) would be referenceable by the tilemap, making 1024 the functional tile character limit. Additionally, as a non-animated 32x32-tile screen, there are exactly 1024 displayed tiles.
In an unmodified EarthBound ROM, the data for each of the 3 logos decompresses to exactly 80 tiles, of which at most 41 are ever referenced and used by the tilemap data. Additionally, like with map tileset character data, the first tile (index 000) is always completely transparent for all 3 logos.
Palettes
Once decompressed, the logo's palettes subentry contains a complete set of 256 2-byte colors (512 bytes) to replace the entire contents of SNES CGRAM. Because the only graphics used by a logo screen is Mode 1 background tiles on layer 3 (BG3), the only portion of CGRAM that will ever be usable is the first 32 colors (64 bytes), representing 8 4-color palettes, and as with all SNES palettes, the first color in each is ignored and treated as transparent, giving 24 usable colors. Additionally, no logo screen ever makes use of more than the first 3 palettes in an unmodified EarthBound ROM.