PDA

Просмотр полной версии : Описание форамата диска CP/M для ATM?



Black Cat / Era CG
28.08.2010, 02:56
Объясните, кто может, на пальцах, пожалуйста.

Максагор
02.09.2010, 03:38
Я не знаю, что значит "на пальцах", но более или менее доступно описано вот здесь:
http://atmturbo.nedopc.com/inf/books/bios/bios.zip

Black Cat / Era CG
02.09.2010, 07:34
На самом деле уже разобрался (на ощупь, ковыряя имеющийся у меня готовый образ). И книжку эту в процессе тоже пролистал.
Вот что у меня получилось:

Диск логически разбивается на три области:
- резервируемую область, содержащую ССР и BDOS;
У меня эта область имеет размер #2000 байт

- область каталога;
Еще #1000 байт

- область файлов.
Собственно все, что осталось.

Пространство диска, отведенное под каталог и файлы, организовано блоками постоянной длины.
У меня это #800 байт

Каждый блок состоит из кратного 8-ми числа записей.
16 записей.

BDOS осуществляет обмен с диском по записям. Длина записи составляет 128 байт. Каждый файл состоит из последовательности записей, Нумерация записей начинается с нуля.
Несколько начальных блоков резервируется под каталог диска.
У меня 2 получается

Каталог состоит из описателей, содержащих имена файлов и информацию о размещении файлов, расположенных на диске.
Каждый описатель определяет область диска (экстент), отведенную под данный файл или часть файла. Длина описателя составляет 32 байта. Описатель содержит имя и тип файла, номер экстента, число записей в экстенте и список но¬меров блоков, отведенных под данный экстент. Структура описателя совпадает со
структурой 0-31 байтов блока управления файлом (БУФ) (см. п. 5.2). Пустые описатели содержат код E5h в нулевом байте.
...

Итак. вроде все понятно. Но вопросы все-таки остались:
1. Всегда ли структура диска такая, с которой столкнулся я (я имею в виду размеры блоков, областей и т.д. имеются в виду съемные диски ds/dd)?
2. Что же все таки означает первый байт описателя в каталоге (насколько я понял это что-то типа подкаталога, ну и #E5, если файл стерт)?
3. Где-нибудь на диске хранится такая информация, как число файлов, свободное место на диске, или эту инфу система вычисляет сама?
4. Ну и в конце концов самый тупой вопрос: а сектора, дорожки?...

Black Cat / Era CG
03.09.2010, 05:40
И еще 2 вопроса:
1. Могут ли блоки одного и того же файла быть разбросаны по диску или они всегда расположены последовательно?
2. Аналогичный вопрос по каталогу. Могут ли записи, относящиеся к разным экстентам одного файла, быть разбросаны по каталогу или они идут друг за другом?

caro
03.09.2010, 06:08
И еще 2 вопроса:
1. Могут ли блоки одного и того же файла быть разбросаны по диску или они всегда расположены последовательно?Могут.

2. Аналогичный вопрос по каталогу. Могут ли записи, относящиеся к разным экстентам одного файла, быть разбросаны по каталогу или они идут друг за другом?Могут.

Black Cat / Era CG
03.09.2010, 08:08
Могут.
Тогда надо будет добавить в утилку функцию упорядочивания образа.
Вот так и обрастают простенькие изначально утилки новыми полезными штуками)