TIM (PlayStation graphics)
Dexvertbot (Talk | contribs) m (Change telparia.com samples link to template) |
(→Sample files: Re-updated samples link) |
||
| (One intermediate revision by one user not shown) | |||
| Line 24: | Line 24: | ||
unsigned long magic; /* Constant = 0x10 */ | unsigned long magic; /* Constant = 0x10 */ | ||
unsigned long type; | unsigned long type; | ||
| − | unsigned long offset; /* allways Size of Clut data | + | unsigned long offset; /* allways Size of Clut data + 12 */ |
unsigned short Palette Org X; | unsigned short Palette Org X; | ||
unsigned short Palette Org Y; | unsigned short Palette Org Y; | ||
Latest revision as of 16:44, 5 August 2025
TIM, or PSX TIM, is an uncompressed raster image file format associated with the Sony PlayStation family of video game consoles.
It supports 4- and 8-bit paletted images, and 15- and 24-bit full color images.
See also TIM2.
Contents |
[edit] Identification
Files begin with (hex) bytes 10 00 00 00.
[edit] Structure
This content was first retrieved from the Internet Archive's Wayback Machine for the date 2017-11-03 from the following URL: https://web.archive.org/web/20171103172802/http://rewiki.regengedanken.de/wiki/.TIM
A TIM file contains one uncompressed bitmap. It starts with this header:
typedef struct {
unsigned long magic; /* Constant = 0x10 */
unsigned long type;
unsigned long offset; /* allways Size of Clut data + 12 */
unsigned short Palette Org X;
unsigned short Palette Org Y;
unsigned short palette_colors;
unsigned short nb_palettes;
} tim_header_t;
-
typecan be:-
0x08for 4 bits paletted images -
0x09for 8 bits paletted images -
0x02for 16 bits true-colour images.
-
-
offsetis an offset to start of image data. -
nb_palettesis the number of palettes stored in the file, each palette havingpalette_colorscolors.
[edit] Palettes
In the case of paletted images, palettes are following the header in the file. Each color is coded in a 16-bits RGB value, which format is A1B5G5R5. There are 'palette_colors'*'nb_palettes' values stored.
[edit] Image header
After the optionnal palettes, come the image header. The width is in 16bit words, it means the real width in pixel is width*4 for 4-bits paletted images, width*2 for 8-bits paletted images and width for 16-bits paletted images.
typedef struct {
unsigned short width; /* Width of image in 16-bits words */
unsigned short height; /* Height of image in pixels */
} tim_size_t;
[edit] Image data
- 4 bits images: Each pixel is stored in 4 bits (so 2 pixels per byte), bits 7-4 for first pixel, and bits 3-0 for second pixel. The value is an index in a palette stored in the beginning of the file.
- 8 bits images: Each pixel is stored in a byte, which is an index in a palette stored in the beginning of the file.
- 16 bits images: Each pixel is in A1B5G5R5 format.
[edit] Software
[edit] Sample files
- http://cd.textfiles.com/cdaction/cdaction20a/HORR/USA/ {DATA,EFFSPR,ITEM_M2}/*.TIM
- http://cd.textfiles.com/pcgamesexe/pcge199902/RE2/COMMON/DATU/
- http://cd.textfiles.com/pcgamesexe/pcge199902/RE2/PL0/EMD0/
- dexvert samples — image/tim