- Формат .TAP файлов
-
? Дмитрий - 21.09.2014 16:42
Уважаемые гуру PDP. Где можно найти утилиты (DOS/WIN) для извлечения файлов из этого формата или толковое описание самого формата? В инете ничего путного не нашел.
-
? Дмитрий - 21.09.2014 17:17
conv2.c не извлекает файлы, в pdf'ке только работа с самим накопителем.
-
? Patron - 21.09.2014 21:18
К сожалению, .TAP - это не формат, а лишь расширение файла, указывающее на то, что в файле образ ленты.
А так как разные ленты имеют разные форматы - нужно или заранее знать формат конкретной ленты, или смотреть на структуру данных в файле.
-
? Дмитрий - 21.09.2014 21:47
>> гляньте там же утилиту mktape.py .Может оно?
Мб оно. Но там непонятно вообще что и как - никакой структуры.
¤
>> Вот еще что-то
Видел. Не оно. Там еще утилита diagdir в конце описана. Написано, что добавляет/извлекает файлы. Скачал, а на деле только добавляет, извлекать не умеет.
¤
>> Или это,тоже оно?
Все для спектрума. Там тоже есть формат tap.
¤
>> разные ленты имеют разные форматы
TAP, судя по описанию, это RAW. Там еще есть другие форматы лент. Но в разных TAP'ках имена файлов в нормальном виде, а в каких-то не присутствуют - значит в RADIX50. Но с другой стороны эмули поддерживают же форматы лент, значит есть где-то описание формата. Тот же SIMH. Но пока искал инфу, встречал сообщения, что эмуль не все форматы лент кушает.
-
? Дмитрий - 22.09.2014 13:21
>> simh.trailing-edge.com/docs/simh_magtape.pdf
Да, благодарю, это уже нашел. Разбираюсь. В принципе все уже ясно. Вот разбивка одного ТАП'ка по структуре:
¤
0E 00 00 00 - длина записи
4B 09 24 22 00 32 - имя файла (ASSERTH)
01 01 9B 00 38 2C 00 00 - хз
¤
0E 00 00 00 - длина записи (не соответствует) или это принадлежность предыдущей записи????
D8 00 00 00 - длина файла (216 байт)
далее идет сам файл
D8 00 00 00 - опять длина файла
00 00 00 00 - скорее всего конец записи
¤
0E 00 00 00 - длина записи
A9 14 80 0C A2 5F - имя файла (CLIB OLB)
01 01 9B 00 38 2C 00 00 - хз
0E 00 00 00 - ??
00 02 00 00 - длина (но не файла, а блока 512. байт - сам файл размером 156672 байта или ровно 306 блоков)
далее данные первого блока
00 02 00 00 - видимо признак продолжения файла
00 02 00 00 - длина следующего блока или остатка в блоке
далее данные второго блока
00 02 00 00 - видимо признак продолжения файла
00 02 00 00 - длина следующего блока или остатка в блоке
и так до конца файла, заканчивается
00 02 00 00
00 00 00 00
¤
и так до конца файла, конец файла - 00 00 00 00
-
? Дмитрий - 22.09.2014 15:40
Да, это я упустил. Верно.
¤
В общем, все распаковывает верно, но попался один ТАПок, в котором такая же структура, но данные внутри совершенно другие. Имена файлов написаны в ASCII, заголовков как в вышеописанном нет. Подозреваю, что это DSK(?) или что-то подобное, бэкапнутый в формат ленты. Так как блоки постоянно идут переменной длины - то 0х50, то 0х200. С ним позже покопаюсь - напишу приблуду, распатронивающую этот ТАПок на блоки, а потом буду сами блоки анализировать.
- << Форум