Hobeta

Материал из SpeccyWiki
Версия от 19:24, 9 января 2012; Kotompazb (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Hobeta (*.$B, *.$C, *.$D,...) - устаревший формат для хранения TR-DOS-файлов, используемый в основном старыми эмуляторами ZX Spectrum. Особенностью формата является то, что в одном файле Hobeta хранится только один файл TR-DOS. Файл Hobeta по сути является побайтной копией файла TR-DOS с добавлением 17-байтного заголовка.

Расширение файла получается добавлением символа "$" перед расширением исходного файла TR-DOS.

Описание формата

  • Заголовок:
    • +0, 8 байт - имя файла TR-DOS
    • +8, 1 байт - тип файла (расширение) TR-DOS
    • +9, 2 байта - параметр START файла
    • +11, 2 байта - параметр LENGTH файла (длина в байтах)
    • +13, 2 байта - размер файла в секторах
    • +15, 2 байта - контрольная сумма предыдущих 15 байт (не самого файла!)
  • Данные:
    • Побайтная копия всех секторов файла

Старший байт размера файла в секторах всегда должен быть равен 0.

Алгоритм расчета контрольной суммы:

CheckSum=0;
for (i=0; i<=14; CheckSum = CheckSum + (header[i] * 257) + i, i++);