SPOT.ARC

Преамбула

Есть на японческом диске файлы SPOT.ARC и SPOT_VGA.ARC. По содержимому похожи на архив html с картинкаим. Файлы вроде бы отличаются только качеством графики. Пробую разобраться.
В скобках обозначены шеснадцатеричные значения.
В квадратных скобках обозначены шеснадцатеричные значения делённые пополам.

Первичные данные

Файл SPOT.ARC
Размер — 264 687 838 (0x0FC6D0DE) [0x07E3686F]
Данные начинаются с адреса 1 443 350 (0x00160616) [0x000b030b]
Размер данных — 263244488 (0x0FB0CAC8) [0x07D86564]

Структура

Похоже, что файл состоит из нескольких частей — заголовок, файловая система архива и собственно данные.

Заголовок

Размер заголовка 16 байт.

Смещение Байт Возможное значение Запись
0 4 Долгота 0x0f678800
4 4 Широта 0x3c472200
       

Файловая система

Файловая система несколько запутана и избыточна.

Все указатели в ней даны от начала файловой системы, то есть -0x10 от начала файла SPOT.ARC.Сначала идёт заголовок размером 28 байт.

Смещение Байт Возможное значение Запись
24 4 Количество директорий (m) 0x0000015e
       
36 4 Указатель на начало блока данных 0x000b0303
40 4 Размер блока данных 0x07d86564

Затем идёт список всех директорий. Это m записей переменного размера.

Смещение Байт Возможное значение Запись
0 4 Указатель от начала файловой системы на описание содержимого директории 0x00000843
4 4 Степень вложенности? 0x00000001
8 2 Половина длины имени директории (o) 0x0001
10 o x 2 Имя директории «0»

Следом идёт описание директорий

Смещение Байт Возможное значение Запись
0 2 Размер блока описания в байтах (q) 0x0028
2 q-2 Список записей файлов  

каждая запись вида

Смещение Байт Возможное значение Запись
0 4 Указатель от начала блока данных до начала содержимого файла 0x00000120
4 4 Половина размера файла 0x00000076
8 2 Бит 15: Флаг директории 0x000A
Биты 0-14: Длина имени файла или директории (p)
10 p Имя файла или директории «ADDR_M.GIF»

Если выставлен флаг директории, указатель идёт от начала файловой системы на описание содержимого поддиректории. Если не выставлен то на половину смещения от начала блока данных.

Блок данных

Тут собственно находится содержимое файлов записанных подряд. Размер каждого файла выравнен и кратен 2.

Иерархия файловой системы

"0" -\
      |- "GIF"\
      |        |- "ADDR.GIF"
      |        |- "ADDR_M.GIF"
      |        ...
      |
      |- "00" -\
      |        |- "00" -\
      |        |         |- "00.HTM"
      |        |         ...
      |        ...
      |
      |        ...
      |
      \- "80"-\
              |- "00" - \
                 ....

Амбула

Распаковав файлы SPOT.ARC и SPOT_VGA.ARC убедился, что они действительно отличаются только качеством графики.

Картинка из SPOT.ARC

Картинка из SPOT.ARC

Картинка из SPOT_VGA.ARC

Картинка из SPOT_VGA.ARC

 

Оставьте комментарий