TIM Image

From XentaxWiki
Revision as of 00:03, 27 December 2022 by Ikskoks (talk | contribs) (Format Specifications)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

TIM


Format Specifications

4BPP and 8BPP

// TIM file format (4BPP and 8BPP)

//header
4 bytes (uint32) - magic // "\x10\x00\x00\x00"
4 bytes (uint32) - version  // "\x00\x00\x00\x00" 4BPP (no CLUT)
                            // "\x01\x00\x00\x00" 8BPP (no CLUT)
                            // "\x08\x00\x00\x00" 4BPP
                            // "\x09\x00\x00\x00" 8BPP

// clut header
4 bytes (uint32) - size of CLUT + 12 (size with clut header)
2 bytes (uint16) - palette memory address X
2 bytes (uint16) - palette memory address Y
2 bytes (uint16) - number of colors in each CLUT
2 bytes (uint16) - number of CLUTs

//CLUT block  (this is optional block)
num_of_CLUTs *
{
   x bytes - CLUT data (palette data) // 32 or 512 bytes per CLUT
}

//image header
4 bytes (uint32) - size of image data + 12 (size with image header)
2 bytes (uint16) - image memory address X
2 bytes (uint16) - image memory address Y
2 bytes (uint16) - image width / 4 or image width / 2
2 bytes (uint16) - image height

//data
x bytes - image data

16BPP and 24BPP

// TIM file format (16BPP and 24BPP)

//header
4 bytes (uint32) - magic // "\x10\x00\x00\x00"
4 bytes (uint32) - version  // "\x02\x00\x00\x00" 16BPP
                            // "\x03\x00\x00\x00 24BPP
4 bytes (uint32) - Size of image data + 12
2 bytes (uint16) - image memory address X
2 bytes (uint16) - image memory address Y
2 bytes (uint16) - width
2 bytes (uint16) - height

//data
x bytes - image data

MultiEx BMS Script

Not written yet.

Notes and Comments

  • TIM is graphics file format used in many PlayStation 1 games.
  • CLUT stands for "Color LookUp Table". It is simply a color palette.

Games

List of games using this file format:

Compatible Programs