User Tools

Site Tools


hddxt

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
hddxt [2025/09/12 06:03] – [Шлейфы MFM] adminhddxt [2026/02/19 08:26] (current) – [Форматирование жесткого диска MFM] admin
Line 7: Line 7:
 ====== BIOS XT и HDD ====== ====== BIOS XT и HDD ======
  
-Как известно, компьютер [[wp>IBM_Personal_Computer_XT|IBM PC XT 5160]] (это официальное название XT-шки) был вторым персональным компьютером после [[wp>IBM_Personal_Computer#Original_PC|IBM PC 5150]]. Как и предшественник, IBM PC XT имел на материнской плате BIOS объемом 8K, который поддерживал основные устройства XT (но не жесткий диск!). Давайте сначала рассмотрим поддержку устройств в BIOS IBM PC XT 5160.+Как известно, компьютер [[wp>IBM_Personal_Computer_XT|IBM PC XT 5160]] (это официальное название XT-шки) был вторым персональным компьютером после [[wp>IBM_Personal_Computer#Original_PC|IBM PC 5150]]. Как и предшественник, IBM PC XT имел на материнской плате BIOS объемом 8K, который поддерживал основные устройства XT (но не жесткий диск!). (Остальной объем ПЗУ занимал ROM BASIC, но его мы тут не обсуждаем). Давайте сначала рассмотрим поддержку устройств в BIOS IBM PC XT 5160.
  
-BIOS XT содержит драйвера довольно ограниченного числа устройств:+BIOS XT содержит "драйвера" (сервисы BIOS) довольно ограниченного числа устройств:
  
-  * Драйвер контроллеров дисплея CGA или MDA, включая графические режимы CGA и шрифты для них. Выбор типа контроллера видео осуществляется с переключателей на материнской плате. +  * Драйвер контроллеров дисплея CGA или MDA, включая графические режимы CGA и шрифты для них. Выбор типа контроллера видео осуществляется с переключателей на материнской плате. (INT 10) 
-  * Драйвер клавиатуры ([[https://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D0%B0%D0%BD-%D0%BA%D0%BE%D0%B4|сканкоды]] типа XT) +  * Драйвер клавиатуры ([[https://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D0%B0%D0%BD-%D0%BA%D0%BE%D0%B4|сканкоды]] типа XT). (INT 16
-  * Драйвер COM-порта на [[wp>8250_UART]] +  * Драйвер COM-порта на [[wp>8250_UART]]. (INT 14) 
-  * Драйвер принтера [[https://ru.wikipedia.org/wiki/IEEE_1284|CENTRONIX]] и поддержка кнопки Print Screen +  * Драйвер принтера [[https://ru.wikipedia.org/wiki/IEEE_1284|CENTRONIX]] (INT 17) и поддержка кнопки Print Screen (INT 5) 
-  * Драйвер флопи-контроллера на микросхеме i8272А.+  * Поддержка таймера (INT 1A) 
 +  * Драйвер флопи-контроллера на микросхеме i8272А. (INT 13)
  
 {{ ibm_pc_xt_1.jpg?nolink&200|IBM PC XT 5160 общий вид}} {{ ibm_pc_xt_1.jpg?nolink&200|IBM PC XT 5160 общий вид}}
Line 24: Line 25:
 Таким образом, "стандартный" BIOS XT **не содержит** никаких драйверов жестких дисков, вся поддержка содержится в Optional ROM BIOS (ПЗУ) платы контроллера. Таким образом, "стандартный" BIOS XT **не содержит** никаких драйверов жестких дисков, вся поддержка содержится в Optional ROM BIOS (ПЗУ) платы контроллера.
  
-Стандартный BIOS XT обрабатывает также вызов INT 19 (Boot) и поддерживает загрузку с нулевого устройства, которое, как несложно догадаться, является флопиком 360К. Фактически, обработчик INT 19 состоит из вызова INT 13 "Прочитать сектор" c первого сектора дискеты (Boot Sector) в память по адресу 0000:7С00H (на 1Кб меньше 32К). Если в конце сектора есть сигнатура AAH/55H, то это скорее всего нормальный Boot Sector и BIOS передает туда управление.+Стандартный BIOS XT обрабатывает также вызов INT 19 (Boot) и поддерживает загрузку с нулевого устройства, которое, как несложно догадаться, является флопиком 360К. Фактически, обработчик INT 19 на XT состоит из вызова INT 13 "Прочитать сектор" c первого сектора дискеты (Boot Sector) в память по адресу 0000:7С00H (на 1Кб меньше 32К). Если в конце сектора есть сигнатура AAH/55H, то это скорее всего нормальный Boot Sector и BIOS передает туда управление.
  
 Материалы для дополнительного чтения: Материалы для дополнительного чтения:
Line 33: Line 34:
   * https://en.wikipedia.org/wiki/Booting#Boot_sequence_of_IBM_PC_compatibles   * https://en.wikipedia.org/wiki/Booting#Boot_sequence_of_IBM_PC_compatibles
  
-Важное отличие XT от AT286/386/+ : В BIOS IBM PC AT и старших машин дополнительно содержится драйвер "стандартного" 16-битного MFM контроллера жестких дисков Western Digital на чипсете WD1010. Машина IBM 5170 (это полное название AT-шки) продавалась сразу с жестким диском и контроллером типа WD1003-WA. Поэтому "стандартный" 16-битный MFM контроллер не имеет BIOS-а на борту, он ему просто не нужен, т.к. драйвер содержится в основном BIOS-е материнской платы AT. Далее, оказывается, что контроллер "внутре" любого IDE диска полностью совпадает по системе команд и регистрам с MFM WD1003-WA (плюс расширения). Это нисколько не удивительно, поскольку стандарты IDE разрабатывала та же фирма Western Digital. Этот набор регистров и команд называется Task File, он стандартный и одинаковый у 16-битного MFM и у обычных IDE и работает одинаково. Поэтому машине AT с IDE диском и контроллером тоже не нужны никакие дополнительные BIOS-ы.+Важное отличие XT от AT286/386/+ : В BIOS IBM PC AT и старших машин дополнительно содержится драйвер "стандартного" 16-битного MFM контроллера жестких дисков Western Digital на чипсете WD1010. Машина IBM 5170 (это полное название AT-шки) продавалась сразу с жестким диском и контроллером типа WD1003-WA. Поэтому "стандартный" 16-битный MFM контроллер не имеет BIOS-а на борту, он ему просто не нужен, т.к. драйвер содержится в основном BIOS-е материнской платы AT. Далее, оказывается, что контроллер "внутре" любого IDE диска полностью совпадает по системе команд и регистрам с MFM WD1003-WA (плюс расширения). Это нисколько не удивительно, поскольку стандарты IDE разрабатывала та же фирма Western Digital. Этот набор регистров и команд называется Task File, он стандартный и одинаковый у 16-битного MFM и у обычных IDE и работает (практически) одинаково. Поэтому машине AT с IDE диском и контроллером тоже не нужны никакие дополнительные BIOS-ы, а MFM диcк + MFM контроллер легко заменяется на IDE
  
 Второе важное отличие AT286/386/+ - это наличие CMOS Clock. Это такой специальный чип - часы на батарейке с маленьким блоком памяти. В этой памяти хранятся настройки CMOS Setup, так что CMOS заменяет кучу переключателей. В одной из ячеек CMOS-памяти хранится так называемый "тип жесткого диска". На самом деле это просто индекс (номер) в большой таблице BIOS, где хранятся параметры C/H/S дисков. Количество таких фиксированных типов постоянно росло, доросло до 46 и в конце концов это всем надоело. Сделали User Type = 47, в котором количество дорожек, головок и секторов можно задавать вручную. Второе важное отличие AT286/386/+ - это наличие CMOS Clock. Это такой специальный чип - часы на батарейке с маленьким блоком памяти. В этой памяти хранятся настройки CMOS Setup, так что CMOS заменяет кучу переключателей. В одной из ячеек CMOS-памяти хранится так называемый "тип жесткого диска". На самом деле это просто индекс (номер) в большой таблице BIOS, где хранятся параметры C/H/S дисков. Количество таких фиксированных типов постоянно росло, доросло до 46 и в конце концов это всем надоело. Сделали User Type = 47, в котором количество дорожек, головок и секторов можно задавать вручную.
Line 59: Line 60:
 ====== Шлейфы MFM ====== ====== Шлейфы MFM ======
 {{ mfm-cable.jpg?nolink&160|MFM Cables}} {{ mfm-cable.jpg?nolink&160|MFM Cables}}
-Интерфейс ST-506/412 состоит из двух шлейфов: узкого и широкого. По широкому идут управляющие сигналы: переключение головок, шаг, сигналы индекса (один на оборот) и т.д. По узкому шлейфу идут данные MFM для чтения и записи в виде диф-пар. Частота тактирования для передачи данных была 10MHz, что по тем временам было довольно много, поэтому и применялись дифпары, на контроллерах стоял специальный ФАПЧ и т.д.+Интерфейс ST-506/412 состоит из двух шлейфов: "узкогои "широкого". По широкому идут управляющие сигналы: переключение головок, шаг, сигналы индекса (один на оборот) и т.д. По узкому шлейфу идут данные MFM для чтения и записи в виде диф-пар. Частота тактирования для передачи данных была 10MHz (при скорости данных 5Mbit/s), что по тем временам было довольно много, поэтому и применялись дифпары, на контроллерах стоял специальный ФАПЧ и т.д.
  
 Согласно стандарту ST-506/412 к одному контроллеру может подключаться до 4-х жестких дисков и имеются 4 сигнала DS0..DS3 (Drive Select). К сожалению, большинство контроллеров позволяют подключить только 2 жестких диска. Согласно стандарту ST-506/412 к одному контроллеру может подключаться до 4-х жестких дисков и имеются 4 сигнала DS0..DS3 (Drive Select). К сожалению, большинство контроллеров позволяют подключить только 2 жестких диска.
Line 74: Line 75:
   * Коннекторы для присоединения шлейфа к контроллеру - IDC, [[wp>Insulation-displacement connector]] на 34 и 20 пинов.   * Коннекторы для присоединения шлейфа к контроллеру - IDC, [[wp>Insulation-displacement connector]] на 34 и 20 пинов.
   * Номинал резисторов для терминирования - сборка 220/330 Ом SIP или DIP.   * Номинал резисторов для терминирования - сборка 220/330 Ом SIP или DIP.
 +  * Отдельно идет кабель питания типа Molex
  
 Для упрощения подключения жестких дисков часто применяют управляющий кабель "с перекруткой". Аналогичная схема часто применяется для кабеля флоппи-дисков. В этом случае, все флоппи-диски переключаются на адрес B: (DS1), а "перекруткой" жил кабеля подменяют сигналы DS0 и DS1. C кабелем MFM можно проделать то же самое, только перекручиваются [[http://minuszerodegrees.net/misc/floppy_vs_hard.jpg|другие жилы]]. Для упрощения подключения жестких дисков часто применяют управляющий кабель "с перекруткой". Аналогичная схема часто применяется для кабеля флоппи-дисков. В этом случае, все флоппи-диски переключаются на адрес B: (DS1), а "перекруткой" жил кабеля подменяют сигналы DS0 и DS1. C кабелем MFM можно проделать то же самое, только перекручиваются [[http://minuszerodegrees.net/misc/floppy_vs_hard.jpg|другие жилы]].
Line 89: Line 91:
 Контроллер Xebec 1210 - довольно интеллектуальное устройство: на борту целый процессор Z80, ПЗУ с микрокодом, собственный контроллер DMA i8237 и т.д. Такая схемотехника не является строгим каноном, например, контроллеры WD1002-WX и Seagate ST-11M для XT полностью совместимы, но в качестве процессора используют однокристальную ЭВМ i8051 и т.д. Контроллер Xebec 1210 - довольно интеллектуальное устройство: на борту целый процессор Z80, ПЗУ с микрокодом, собственный контроллер DMA i8237 и т.д. Такая схемотехника не является строгим каноном, например, контроллеры WD1002-WX и Seagate ST-11M для XT полностью совместимы, но в качестве процессора используют однокристальную ЭВМ i8051 и т.д.
  
-Контроллер Xebec 1210 поддерживал два жестких диска Seagate ST-412 и имел на борту ПЗУ (Optional ROM), то есть расширение BIOS. Интерфейс между BIOS и Optional ROM, как известно, является стандартом на IBM PC: во время POST процедуры BIOS материнской платы XT сканирует область дополнительных ROM и, если находит сигнатуру, пытается эти ROM запустить. Получив управление BIOS контроллера, в свою очередь, тестирует жесткий диск (читает 1-й сектор) и переписывает на себя вектора прерываний INT 13H и INT 19H (включается первым в цепочку). Если же диск неисправен - выводится ошибка 1701.+Контроллер Xebec 1210 поддерживал два жестких диска Seagate ST-412 и имел на борту ПЗУ (Optional ROM), то есть расширение BIOS. Интерфейс между BIOS и Optional ROM, как известно, является стандартом на IBM PC: во время POST процедуры BIOS материнской платы XT сканирует область дополнительных ROM и, если находит сигнатуру, пытается эти ROM запустить. Получив управление BIOS контроллера, в свою очередь, тестирует жесткий диск (проверяет готовность и читает 1-й сектор) и переписывает на себя вектора прерываний INT 13H и INT 19H (включается первым в цепочку). Если же диск неисправен - выводится ошибка 1701 (ошибка жесткого диска).
  
 Новый обработчик INT 13H добавляет поддержку физических дисковых устройства с номером 80H (и 81H для второго диска). Обработка старых устройств (как мы помним - флопиков с номерами 00H и 01H) передается предыдущему обработчику INT 13H (стрый адрес сохраняется на INT 40H). Новый обработчик INT 19H меняет логику загрузки: сначала пытается загрузиться с флопика, а в случае неудачи - с первого жесткого диска (устройство 80H). Новый обработчик INT 13H добавляет поддержку физических дисковых устройства с номером 80H (и 81H для второго диска). Обработка старых устройств (как мы помним - флопиков с номерами 00H и 01H) передается предыдущему обработчику INT 13H (стрый адрес сохраняется на INT 40H). Новый обработчик INT 19H меняет логику загрузки: сначала пытается загрузиться с флопика, а в случае неудачи - с первого жесткого диска (устройство 80H).
  
-BIOS контроллера XT использует некотрые ячейки [[http://stanislavs.org/helppc/bios_data_area.html|BDA]] (BIOS data area), а кроме того, он заполняет область FDPT (Fixed Disk Parameter Table), на которую указывает INT 41H (INT 46H для второго диска). Обратите внимание, этот вектор используется не для вызова, а именно как x86 FAR-указатель на данные параметров жесткого диска. Указывать он может как прямо на таблицу в области ROM контроллера диска, так и в память. Для таблички FDPT часто используется или область старших прерываний (INT C0-C3 и INT C4-C7) которые не использует никто кроме ROM Basic, или область стека BIOS 0000:0500h, что конечно чревато ее затиранием. Иногда используют последний килобайт памяти 9000:FС00 (там же размещается EBDA (Extended BIOS Data Area)) и остается 639К вместо 640К. Для устройств с нормерами от 82H и выше таблицы FDPT не ведется, их параметры можно узнать только через INT 13H функцию AH=8H.+BIOS контроллера XT использует некоторые ячейки [[http://stanislavs.org/helppc/bios_data_area.html|BDA]] (BIOS data area), а кроме того, он заполняет область [[https://www.os2museum.com/wp/the-fixed-disk-parameter-table/|FDPT]] (Fixed Disk Parameter Table), на которую указывает INT 41H (INT 46H для второго диска). Обратите внимание, этот вектор используется не для вызова, а именно как x86 FAR-указатель на данные параметров жесткого диска. Указывать он может как прямо на таблицу в области ROM контроллера диска, так и в память. Для таблички FDPT часто используется или область старших прерываний (INT C0-C3 и INT C4-C7) которые не использует никто кроме ROM Basic, или область стека BIOS 0000:0500h, что конечно чревато ее затиранием. Иногда используют последний килобайт памяти 9000:FС00 (там же размещается EBDA (Extended BIOS Data Area)) и остается 639К вместо 640К. Для устройств с нормерами от 82H и выше таблицы FDPT не ведется, их параметры можно узнать только через INT 13H функцию AH=8H.
  
 При старте MS-DOS опрашивает BIOS и FDPT на наличие жестких дисков в системе. Поддержка MS-DOS для жесткого диска устроена также несколько сложнее, чем для дискеты. Появилась поддержка Таблиц Разделов (Partition Table) и специальная программа FDISK в составе DOS (начиная с 2.0) для работы с разделами. Загрузчик в Boot Sector-е жесткого диска тоже несколько сложнее - он проверяет таблицу разделов и грузится с первого "активного" раздела. Когда загружается MS-DOS, он присваивает устройству 80H (а точнее, первому активному разделу) символическое имя C:, так как на уровне BIOS никаких имен нету, только номера устройств. При старте MS-DOS опрашивает BIOS и FDPT на наличие жестких дисков в системе. Поддержка MS-DOS для жесткого диска устроена также несколько сложнее, чем для дискеты. Появилась поддержка Таблиц Разделов (Partition Table) и специальная программа FDISK в составе DOS (начиная с 2.0) для работы с разделами. Загрузчик в Boot Sector-е жесткого диска тоже несколько сложнее - он проверяет таблицу разделов и грузится с первого "активного" раздела. Когда загружается MS-DOS, он присваивает устройству 80H (а точнее, первому активному разделу) символическое имя C:, так как на уровне BIOS никаких имен нету, только номера устройств.
Line 115: Line 117:
 BIOS контроллера XT (точнее его называть Optional ROM) INT 13 для этого предоставляет еще одну важную функцию: форматирование дорожки (INT 13/AH=05h). Самые древние контроллеры требовали внешнюю программу форматирования, которая просто вызывала форматирование для всех дорожек на диске. Позже программу форматирования зашили в ту же ПЗУ BIOS контроллера. Чаще всего Optional ROM контроллера диска сидит по адресу C800:0000, поэтому в разных популярных изданиях можно увидеть советы запуска форматирования из отладчика на **g=C800:0005** (это не всегда так у различных контроллеров). BIOS контроллера XT (точнее его называть Optional ROM) INT 13 для этого предоставляет еще одну важную функцию: форматирование дорожки (INT 13/AH=05h). Самые древние контроллеры требовали внешнюю программу форматирования, которая просто вызывала форматирование для всех дорожек на диске. Позже программу форматирования зашили в ту же ПЗУ BIOS контроллера. Чаще всего Optional ROM контроллера диска сидит по адресу C800:0000, поэтому в разных популярных изданиях можно увидеть советы запуска форматирования из отладчика на **g=C800:0005** (это не всегда так у различных контроллеров).
  
-Встроенный форматтер на разных контроллерах имеет разный интеллект. В простейшем случае он просто начинает форматировать все дорожки/головки не задавая лишних вопросов, в других случаях ведет длинный диалог с пользователем. Вызов в BIOS тоже никуда не делся и появилось множество красивых диалоговых программ форматирования (они имеют проблемы с трансляцией, но об этом ниже).+Встроенный форматтер на разных контроллерах имеет разный интеллект. В простейшем случае он просто начинает форматировать все дорожки/головки не задавая лишних вопросов, в других случаях ведет длинный диалог с пользователем. Вызов в BIOS тоже никуда не делся и появилось множество красивых диалоговых программ форматирования, например [[https://www.minuszerodegrees.net/software/Storage%20Dimensions/speedstor.htm|SpeedStor]] (они иногда имеют проблемы с трансляцией, но об этом ниже).
  
 После низкоуровневого форматирования получается жесткий диск, у которого все сектора читаются-пишутся (если они не сбойные), но пока забиты нулями (или каким-то другим мусором). Чтобы диск увидела система (например DOS), необходимо создать на диске таблицу разделов (утилитой fdisk) и создать структуру и оглавление файловой системы (утилитой format). После низкоуровневого форматирования получается жесткий диск, у которого все сектора читаются-пишутся (если они не сбойные), но пока забиты нулями (или каким-то другим мусором). Чтобы диск увидела система (например DOS), необходимо создать на диске таблицу разделов (утилитой fdisk) и создать структуру и оглавление файловой системы (утилитой format).
Line 133: Line 135:
   * Как контроллер (и DOS) может узнать геометрию MFM диска C/H/S ?   * Как контроллер (и DOS) может узнать геометрию MFM диска C/H/S ?
  
-Давайте сначала ответим на второй вопрос. Краткий ответ такой: автоматически определить геометрию MFM диска - **невозможно**. Ни MFM диск ни контроллер не могут сообщить физические параметры диска. Процесс тут идет с другой стороны: именно **пользователь задает** параметры жесткого диска для контроллера. Для этого надо, например, найти производителя и марку жесткого диска. Во времена MFM ходили огромные списки из десятков и сотен моделей жестких дисков, содержащие C/H/S. Для машин IBM AT+ необходимо было найти в BIOS подходящий тип и прописать CMOS (позже появился User Type). Для XT контроллеров все было проще. Самый первый оригинальный Xebec 1210 поддерживал только Seagate ST-412: 306 дорожек и 4 головки. Поздние версии Xebec и WD1002 получили два джампера, которые позволяли выбрать 4 различных типа диска. Но на самом деле, с этих джамперов просто считывался индекс (номер) в таблице C/H/S внутри BIOS-а и при некотором знакомстве с организацией Optional ROM можно их найти и прописать туда любые параметры на любой из 4-х типов (да, нужно прошить УФПЗУ).+Давайте сначала ответим на второй вопрос. Краткий ответ такой: автоматически определить геометрию MFM диска - **невозможно**. Ни MFM диск ни контроллер не могут сообщить физические параметры диска. Процесс тут идет с другой стороны: именно **пользователь задает** параметры жесткого диска для контроллера. Для этого надо, например, найти производителя и марку жесткого диска. Во времена MFM ходили огромные списки из десятков и сотен моделей жестких дисков, содержащие C/H/S. Для машин IBM AT+ необходимо было найти в BIOS подходящий тип и прописать CMOS (позже появился User Type). Для XT контроллеров все было проще. Самый первый оригинальный Xebec 1210 поддерживал только Seagate ST-412: 306 дорожек и 4 головки. Поздние версии Xebec и WD1002 получили два джампера, которые позволяли выбрать 4 различных типа диска. Но на самом деле, с этих джамперов просто считывался индекс (номер) в таблице C/H/S внутри BIOS-а и при некотором знакомстве с организацией Optional ROM можно их найти и прописать туда любые параметры на любой из 4-х типов (да, нужно будет прошить УФПЗУ).
  
 Более того, если у нас есть например жесткой диск MFM в котором 820 дорожек и 8 головок, то можно задать контроллеру параметры 615/6 и все будет работать, не используя диск полностью. Более того, если у нас есть например жесткой диск MFM в котором 820 дорожек и 8 головок, то можно задать контроллеру параметры 615/6 и все будет работать, не используя диск полностью.
Line 141: Line 143:
 Чтобы разобраться с секторами, надо взять в руки калькулятор и немного посчитать. Итак, диск крутится со скоростью 3600 RPM то есть 60 оборотов в секунду. Данные на него поступают со скоростью 5 Mbit/s (при тактировании 10MHz). Получается, что на дорожку теоретически влезает 1/60 * 5000000 = 83333 бит = 10416 байт. То есть, теоретически на дорожку можно записать примерно 20 секторов по 512 байт. Однако, практически, сектора должны иметь заголовки, а между секторами должны быть промежутки (GAP). Поэтому остановились на цифре 17 секторов на дорожку. Такое впечатление, что сначала хотели сделать ровную цифру 16, но оказалось, что надежно влезает 17. Кстати, на дискете 360К - 9 секторов на дорожке а не 8 именно по той же причине. Чтобы разобраться с секторами, надо взять в руки калькулятор и немного посчитать. Итак, диск крутится со скоростью 3600 RPM то есть 60 оборотов в секунду. Данные на него поступают со скоростью 5 Mbit/s (при тактировании 10MHz). Получается, что на дорожку теоретически влезает 1/60 * 5000000 = 83333 бит = 10416 байт. То есть, теоретически на дорожку можно записать примерно 20 секторов по 512 байт. Однако, практически, сектора должны иметь заголовки, а между секторами должны быть промежутки (GAP). Поэтому остановились на цифре 17 секторов на дорожку. Такое впечатление, что сначала хотели сделать ровную цифру 16, но оказалось, что надежно влезает 17. Кстати, на дискете 360К - 9 секторов на дорожке а не 8 именно по той же причине.
  
-Формат записи на дорожку и форматы заголовков (Soft Sectors) отличается в разных контроллерах, именно поэтому они несовместимы между производителями и моделями. Наиболее хорошо документирован формат дорожки в контроллерах WD в документации на чипсет.+Формат записи на дорожку и форматы заголовков (Soft Sectors) отличается в разных контроллерах, именно поэтому они несовместимы между производителями и моделями. Если интересны внутренности, то наиболее хорошо документирован формат дорожки в контроллерах WD в документации на чипсет.
  
 Таким образом, у BIOS MFM контроллера, конечно, можно запросить геометрию (INT 13/AH=08h), но он возвратит только ту, которую ... мы **сами** в него записали (джамперами или из CMOS на AT). Более продвинутые жесткие диски IDE **имеют** команду определения геометрии, но чаще всего возвращают не настоящую физическую геометрию, а так называемую логическую, после процедуры **трансляции**. Таким образом, у BIOS MFM контроллера, конечно, можно запросить геометрию (INT 13/AH=08h), но он возвратит только ту, которую ... мы **сами** в него записали (джамперами или из CMOS на AT). Более продвинутые жесткие диски IDE **имеют** команду определения геометрии, но чаще всего возвращают не настоящую физическую геометрию, а так называемую логическую, после процедуры **трансляции**.
Line 173: Line 175:
 Емкость нетрудно прикинуть. При скорости вращения 3600 RPM емкость дорожки составляет 1/60 * 7500000 = 125000 бит = 15625 байт то есть примерно 30.5 секторов по 512 байт. Из за требований организации промежутков и заголовков стабильно удается записать 26 секторов. Емкость нетрудно прикинуть. При скорости вращения 3600 RPM емкость дорожки составляет 1/60 * 7500000 = 125000 бит = 15625 байт то есть примерно 30.5 секторов по 512 байт. Из за требований организации промежутков и заголовков стабильно удается записать 26 секторов.
  
-Таким образом, RLL диск - это просто "очень хороший" MFM. Например, фирма Seagate выпускала жесткий диск модели ST-238R, предназначенный для записи 30Mb данных методом RLL. На самом деле, это просто очень качественный аналог модели ST-225, на который влезало 20Mb методом MFM с **такой же** геометрией 615/4. Что будет, если отформатировать ST-238R на MFM контроллере ? Просто очень надежный MFM небольшой емкости 615/4/17. А наоборот, если отформатировать ST-225 на RLL контроллере ? Получится не очень ненадежный RLL повышенной емкости 615/4/26. Вот и все.+Таким образом, RLL диск - это просто "очень хороший" MFM. Например, фирма Seagate выпускала жесткий диск модели ST-238R, предназначенный для записи 30Mb данных методом RLL. На самом деле, это просто очень качественный аналог модели ST-225, на который влезало 20Mb методом MFM с **такой же** геометрией 615/4. Что будет, если отформатировать ST-238R на MFM контроллере? Просто очень надежный MFM небольшой емкости 615/4/17. А наоборот, если отформатировать ST-225 на RLL контроллере? Получится не очень ненадежный RLL повышенной емкости 615/4/26. Вот и все.
  
 ===== Скорость передачи ===== ===== Скорость передачи =====
Line 314: Line 316:
 К сожалению, сейчас нередко путают **XT-BUS** и **XT-IDE**. К сожалению, сейчас нередко путают **XT-BUS** и **XT-IDE**.
  
-Еще один интересный (но редко используемый) режим имеется у карточек Compact Flash. Как известно, электрический интерфейс Compact Flash может представляться или 16-bit шиной PCMCIA или шиной IDE. В режиме PCMCIA карточка Compact Flash работает как PCMCIA/ISA-16 контроллер IDE на "альтернативных" адресах 0x1e0 и т.д., а в режиме IDE - как обычный IDE "диск" (TrueIDE mode). Оказывается, в стандарте ATA-2 и Compact Flash определен дополнительный 8-битный режим работы для подключения Compact Flash к "простым" 8-битным системам (в ATA-3 этот режим пропал). Примерно 2/3 карт Compact Flash точно следуют спецификации и поддерживают 8-bit mode, а еще в этом режиме могут работать IBM Microdrive диски. Такой режим чрезвычайно упрощает схемотехнику ISA-8 контроллера, фактически он состоит из дешифратора адресов порта и BIOS и панельки под ПЗУ. Пример такого адаптера: [[http://www.malinov.com/Home/sergeys-projects/xt-cf-lite|XT CF Lite]]. Также компания LoTech выпускает адаптер для ISA-8 для Compact Flash ATA-2 карт: [[http://www.lo-tech.co.uk/wiki/Lo-tech_ISA_CompactFlash_Adapter_revision_2|ISA CompactFlash Adapter]].+Еще один интересный (но редко используемый) режим имеется у карточек Compact Flash. Как известно, электрический интерфейс Compact Flash может представляться или 16-bit шиной PCMCIA или шиной IDE. В режиме PCMCIA карточка Compact Flash работает как PCMCIA/ISA-16 __контроллер__ IDE на "альтернативных" адресах 0x1e0 и т.д., а в режиме IDE - как обычный IDE "диск" (TrueIDE mode), подсоединяемый к контроллеру. Оказывается, в стандарте ATA-2 и Compact Flash определен дополнительный 8-битный режим работы для подключения Compact Flash к "простым" 8-битным системам (в ATA-3 этот режим пропал). Примерно 2/3 карт Compact Flash точно следуют спецификации и поддерживают 8-bit mode, а еще в этом режиме могут работать IBM Microdrive диски. Такой режим чрезвычайно упрощает схемотехнику ISA-8 контроллера, фактически он состоит из дешифратора адресов порта и BIOS и панельки под ПЗУ. Пример такого адаптера: [[http://www.malinov.com/Home/sergeys-projects/xt-cf-lite|XT CF Lite]]. Также компания LoTech выпускает адаптер для ISA-8 для Compact Flash ATA-2 карт: [[http://www.lo-tech.co.uk/wiki/Lo-tech_ISA_CompactFlash_Adapter_revision_2|ISA CompactFlash Adapter]].
  
 Дополнительные материалы для чтения: Дополнительные материалы для чтения:
hddxt.1757656992.txt.gz · Last modified: by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki