Поле синхронизации и байт идентификатора
MFM-поля синхронизации состоят из 96 битов нуля (то есть, ячейки с битом синхронизации) и без битов данных), с последующими тремя байтами A1h (10100001b). Нулевые биты позволяют правильно найти ячейку данных, и A1 - идентифицировать начало фактических байтов данных. Хотя во время форматимрования записывается 12 нулевых байтов, (это значение не может изменяться программным обеспечением), фактически нужен только 1 байт (8 битов), чтобы синхронизировать битовую ячейку. Другие 11 нулевых байтов нужны на всякий случай.
FM-поля синхронизации просты - они состоят из 48 нулевых битов нуля. (Напротив, FDC нуждно 8 битов для безопасности).
Различные поля данных (пользовательские и дополнительные) могут различаться по единственному байту сразу после поля синхронизации. Эти байты не могут смешиваться с данными пользователя, даже если последние содержат точную последовательность байтов синхронизации/идентификатора, потому что эти байты (и только эти байты) не используют стандарт синхронизирующих битов. К сожалению, мы имеем информацию относительно соответствующих битов синхронизации только для FM-кодирования. Байты идентификатора, по всей видимости, применяются также и в MFM. (Отметим, что в поле данных первым записан старший байт).
Описание байта идентификатора поля синхронизации:
FC D7 - адресная метка индекса
FE C7 - метка адреса идентификатора Сектора
FB C7 - данные сектора
F8 C7 - удаленные данные
FE C7 - идентификатор дефектной дорожки IBM
Хотя в документации фирмы INTEL поле синхронизации всегда относят к части предшествующего промежутка, мы будем рассматривать его как часть последующего поля данных.
к оглавлению
Полный формат дорожки
Точка ссылки для всех дисковых операций - физическая индексная метка, которая генерируется индексным отверстием дискеты. Весь формат дорожки начинающийся с физической индексной метки и может быть описан следующим образом:
- Физическая индексная метка
- Прединдексный промежуток (GAP 5)
- Индексная метка адреса (IAM)
- Послеиндексный промежуток (GAP
1)
Для n от 1 до N-1, где N - число секторов на дорожке :
- Идентификатор сектора n
- Промежуток после идентификатора (GAP 2)
- Данные сектора n
- Промежуток после данных (GAP 3)
Для последнего сектора данных на дорожке :
- Идентификатор сектора n
- Промежуток после идентификатора (GAP 2)
- Данные сектора n
- Последний промежуток (GAP 4)
Индексная метка адреса (которая не используется для другой цели 8272A) имеет несколько различных полей синхронизации: вместо A1h используется C2h (11000010b), за которым следует байт идентификатора FCh (11111100b).
Поле идентификатора сектора содержит FEh за которым следуют однобайтовые значения C, H, R, N, где C - номер цилиндра, H - номер головки, R - номера сектора и N - код размера сектора. Эти байты (включая FEh ) сопровождаются 16-битовой циклической контрольной суммой (CRC), Размер данных пользователя в следующем поле данных может вычисляется как 128*2^N, то есть, N=0 определяет размер данных в 128 байтов, N=1 - 256 байтов, N=2 - 512 байтов, и так далее. C=H=R=N=FFh определяет дефектную дорожку IBM.
Поле Данных содержит FBh, за которым следуют 128*2^N байт данных пользователя и два байта CRC. Как в идентификаторе сектора, так и в поле данных CRC вычисляется по формуле: x^16+x^12+x^5+1 с начальным значением FFh (как всегда, старший бит первый).
Чип FDC INTEL 8272A не имеет возможности изменения программным обеспечением длины GAP1, GAP2 и GAP5, но будет принимать дискеты с этими промежутками, отличающимися от стандарта и имеет способность измерять фактическую длину промежутка
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.