Формат дисков CP/M 1.4
| Данный материал защищён авторскими правами!
Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей. Источник: http://www.seasip.info/Cpm/format14.html Перевод: Black Cat / Era CG (era_cg@speccy.su) |
Формат дисков CP/M 1.4
CP/M 1.4 была предназначена для работы с 8" дисками емкостью 250k. Таким образом диск CP/M 1.4 разбит следующим образом:
77 дорожек всего; 26 128-байтных секторов на дорожке, перемешанных программно (см.ниже); 2 зарезервированные дорожки; 2 1k блока директории, вмещавшие 64 записи; 240 1k блокаов данных, с номерами 2-241. Таблица порядка чтения секторов: 1,7,13,19,25,5,11,17,23,3,9,15,21,2,8,14,20,26,6,12,18,24,4,10,16,22
Зарезервированные дорожки содержат образ CP/M 2.2, используемый при перезапуске системы с диска. Таким образом, можно сделать вывод, что CP/M 1.4 помещается в 6.5k.
Директория CP/M 1.4
Директория CP/M 1.4 имеет только один тип записи:
SS F1 F2 F3 F4 F5 F6 F7 F8 T1 T2 T3 EX S1 S2 RC .FILENAMETYP....
AL AL AL AL AL AL AL AL AL AL AL AL AL AL AL AL ................
SS = Status. 0 => Файл существует
0E5h => Файл удален
80h => Скрытый файл. Данное свойство является недокументированным
и не поддерживается в более поздних версиях CP/M.
Fn - Filename - имя файла.
Tn - FyleType - тип файла. Используется 7-бит ASCII.
EX = Extent counter - номер экстента. Если файл занимает более 16k, он получает несколько
записей. Первая запись имеет EX=0, вторая - EX=1 и т.д.
EX может принимать значения от 0 до 31, таким образом допуская файлы до 512k. Однако,
CP/M 1.4 в любом случае поддерживает диски размером лишь 250k.
S2 - зарезервировано, устанавливается в 0.
S1 - зарезервировано, устанавливается в 0.
RC - Число записей (1 запись=128 байт) занятых этим экстентом. Если RC равно 80h, этот
экстент полный и может существовать еще один на этом диске.
Размеры файлов округляются в сторону ближайших 128 байт.
AL - Allocation - расположение (карта расположения блоков файла). Каждый байт AL - это номер
1k блока на диске. Если AL содержит ноль, то он не указывает на какой-либо блок (то есть
соответствующий блок не существует). Например 3k файл может иметь следующее расположение:
5,6,8,0,0.... - первые 1k - в блоке 5, вторые - в блоке 6, третьи - в блоке 8.
AL-номера могут быть либо 8-битными (если диск содержит менее 256 блоков), либо 16-
битными (первым хранится младший байт).
От переводчика
Данный перевод ни в коем случае не претендует на то, чтобы считаться абсолютно точным и безошибочным. В случае, если Вами будут найдены какие-то ошибки или неточности, просьба написать мне: era_cg@speccy.su
Black Cat / Era CG
3o.o9.2o15