EarthBound/Logo Screen Graphics Data

From Data Crystal
< EarthBound
Revision as of 15:51, 3 June 2024 by Esorth (talk | contribs) (Correct decompressed lengths)
Jump to navigation Jump to search
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

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)

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)

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 up to 2048 2-bits-per-pixel 8x8 SNES graphics tiles. The assembly will load up to 2048 tiles to VRAM, but the data for each of the 3 logos in an EarthBound ROM 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.