Формат дисков 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