TIM - это стандартный формат графических файлов для PlayStation. Структура TIM в значительной степени отражает принцип организации текстур GPU. Особенность формата в том, что он хранит позицию текстуры в видеопамяти, что позволяет разработчику игры заранее распланировать ее расход и не создавать динамический менеджер видеопамяти.
Файл состоит из трех логических блоков: заголовка, палитры (CLUT) и данных изображения. Блоки CLUT и данных изображения имеют схожее внутреннее устройство; при загрузке файла TIM в кадровый буфер PlayStation они обрабатываются одинако. Блок CLUT является необязательным: во-первых, он не требуется, если текстура закодирована в 16-битном или 24-битном режиме, во-вторых, даже если текстура индексированная, CLUT может быть загружен из другого файла.
Заголовок начинается с байта-идентификатора. Его значение является постоянным для всех файлов формата TIM и должно быть равно 0x10. За ним идут три нулевых байта.
Следующее 32-битное слово содержит битовые флаги, определяющие основные свойства изображения:
CLUT состоит из 12-байтного заголовка и собственно байтов палитры.
Заголовок состоит из:
Изображение хранится по тому же принципу, что и CLUT - такой же заголовок и данные.