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 [2024/02/28 10:54] – [Интерлив] adminhddxt [2024/02/29 14:50] (current) – [Диски MFM] admin
Line 45: Line 45:
 Подробнее в википедии: [[https://en.wikipedia.org/wiki/ST-506]] Подробнее в википедии: [[https://en.wikipedia.org/wiki/ST-506]]
  
-Способ записи (кодировка битов) на такой жесткий диск был MFM (Modified Frequency Modulation) на скорости 10Mbit/s. Таким образом, по названию способа записи и сами жесткие диски стали называться MFM. А интерфейс для подключения у них был уже знакомый нам ST-506/412+Способ записи (кодировка битов) на такой жесткий диск был MFM (Modified Frequency Modulation) на скорости 5 Mbit/s. Таким образом, по названию способа записи и сами жесткие диски стали называться MFM. А интерфейс для подключения у них был уже знакомый нам ST-506/412.
- +
-Надо отметить, что, по сути, диск с интерфейсом ST-506/412 представляет из себя такой "цифровой магнитофон". То есть, выбрав дорожку 0 сторону 1 мы получаем по кругу одни и те же данные 3600 раз в минуту (60 раз в секунду) и плюс сигнал INDEX на каждый оборот. Поэтому, в теории, записать на дорожку ST-506/412 можно **что угодно**, не только MFM, а любой поток битов <10MHz. Формированием и распознаванием "заголовков секторов" и выделением данных занимается контроллер. Поэтому, перед использованием нового жесткого диска, его надо отформатировать на вашем контроллере. Такая схема разбиения на сектора называется "Soft Sectors". Совместимость форматов дорожки между разными контроллерами - довольно посредственная. Например, если контроллеры сделаны на одинаковом чипсете (например WD), то совместимость скорее всего будет. А если на разных (WD и, например, OMTI) - то скорее всего нет.+
  
 +Надо отметить, что, по сути, диск с интерфейсом ST-506/412 представляет из себя такой "цифровой магнитофон". То есть, выбрав дорожку 0 сторону 1 мы получаем по кругу одни и те же данные (биты) 3600 раз в минуту (60 раз в секунду) и плюс сигнал INDEX на каждый оборот. Поэтому, в теории, записать на дорожку ST-506/412 можно **что угодно**, не только MFM, а любой поток битов <10MHz. Формированием и распознаванием "заголовков секторов" и выделением данных занимается контроллер. Поэтому, перед использованием нового жесткого диска, его надо отформатировать на вашем контроллере. Такая схема разбиения на сектора называется "Soft Sectors". Совместимость форматов дорожки между разными контроллерами - довольно посредственная. Например, если контроллеры сделаны на одинаковом чипсете (например WD), то совместимость скорее всего будет. А если на разных (WD и, например, OMTI) - то скорее всего нет.
 +{{ :mfm_track.jpg?direct&500 |Формат дорожки MFM контроллера на чипах WD10101}}
 Материалы для дополнительного чтения: Материалы для дополнительного чтения:
   * [[http://wiki.sensi.org/download/doc/st412_oemmanual_apr82.pdf|ST 506/412 OEM Manual]] Фирменное руководство от Seagate на диски ST-506 и ST-412   * [[http://wiki.sensi.org/download/doc/st412_oemmanual_apr82.pdf|ST 506/412 OEM Manual]] Фирменное руководство от Seagate на диски ST-506 и ST-412
Line 55: Line 55:
   * [[http://www.minuszerodegrees.net/manuals.htm#Seagate|Другие модели Seagate]]   * [[http://www.minuszerodegrees.net/manuals.htm#Seagate|Другие модели Seagate]]
   * Пример для изучения возможностей разгона ST-506/412: контроллер повышенной плотности [[http://wiki.sensi.org/download/doc/Perstor%20PS180-16F%20-%20Advertisement.pdf|Perstor PS180-16F]] не MFM.   * Пример для изучения возможностей разгона ST-506/412: контроллер повышенной плотности [[http://wiki.sensi.org/download/doc/Perstor%20PS180-16F%20-%20Advertisement.pdf|Perstor PS180-16F]] не MFM.
 +  * [[https://www.pdp8online.com/mfm/mfm.shtml|MFM Hard Disk Reader/Emulator]] Эмулятор и считыватель дисков MFM. Знает множество форматов.
  
 ====== Шлейфы MFM ====== ====== Шлейфы MFM ======
Line 88: Line 89:
 Контроллер 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 13 и INT 19 (включается первым в цепочку). Если же диск неисправен - выводится ошибка 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 13 (стрый адрес сохраняется на INT 40). Новый обработчик INT 19 меняет логику загрузки: сначала пытается загрузиться с флопика, а в случае неудачи - с первого жесткого диска (устройство 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 41 (INT 46 для второго диска). Обратите внимание, этот вектор используется не для вызова, а именно как 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 функцию 8H.+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.
  
 При старте 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 125: Line 126:
 ===== Геометрия ===== ===== Геометрия =====
 {{ ibm_hdd_1.jpg?nolink&200}} {{ ibm_hdd_1.jpg?nolink&200}}
-Как уже написано выше, диск MFM с физической точки зрения состоит из XXX дорожек (Cylinders) и YY головок (Heads) и "свободного" пространства на дорожке. Возникает два вопроса:+Как уже написано выше, диск MFM с физической точки зрения состоит из NNN дорожек (Cylinders) и YY головок (Heads) и "свободного" пространства на дорожке. Возникает два вопроса:
  
   * Каким образом дорожка форматируется на сектора ?   * Каким образом дорожка форматируется на сектора ?
Navigation