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 [2024/02/29 11:09] – [Форматирование жесткого диска MFM] adminhddxt [2025/09/12 06:03] (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 (но не жесткий диск!). Давайте сначала рассмотрим поддержку устройств в BIOS IBM PC XT 5160.
  
-BIOS XT содержит драйвера очень ограниченного числа устройств:+BIOS XT содержит драйвера довольно ограниченного числа устройств:
  
   * Драйвер контроллеров дисплея CGA или MDA, включая графические режимы CGA и шрифты для них. Выбор типа контроллера видео осуществляется с переключателей на материнской плате.   * Драйвер контроллеров дисплея CGA или MDA, включая графические режимы CGA и шрифты для них. Выбор типа контроллера видео осуществляется с переключателей на материнской плате.
Line 21: Line 21:
  
 На PC поддержка дисковых устройств осуществляется через прерывание BIOS INT 13, самые важные вызовы конечно же "Прочитать сектор"(INT 13/AH=02h) и "Записать сектор"(INT 13/AH=03h). BIOS поддерживает до 4-х флопии-приводов 360К с номерами устройств от 0 до 3. На PC поддержка дисковых устройств осуществляется через прерывание BIOS INT 13, самые важные вызовы конечно же "Прочитать сектор"(INT 13/AH=02h) и "Записать сектор"(INT 13/AH=03h). BIOS поддерживает до 4-х флопии-приводов 360К с номерами устройств от 0 до 3.
- 
-Стандартный 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 **не содержит** никаких драйверов жестких дисков, вся поддержка содержится в 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 передает туда управление.
  
 Материалы для дополнительного чтения: Материалы для дополнительного чтения:
Line 35: Line 35:
 Важное отличие 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-ы.
  
-Второе важное отличие 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, в котором количество дорожек, головок и секторов можно задавать вручную.
  
 **UPD** Для совсем нердов - последние редакции BIOS для IBM PС XT 5160 умеют работать с флопиками 1.2Mb. Но для этого нужно заменить штатный контроллер флопиков на контроллер с поддержкой высокой плотности. **UPD** Для совсем нердов - последние редакции BIOS для IBM PС XT 5160 умеют работать с флопиками 1.2Mb. Но для этого нужно заменить штатный контроллер флопиков на контроллер с поддержкой высокой плотности.
Line 41: Line 41:
  
 {{ st412_s.jpg?nolink&160|Seagate ST-412}} {{ st412_s.jpg?nolink&160|Seagate ST-412}}
-Компьютер IBM PC XT 5160 в отличии от просто IBM PC 5150 продавался уже с жестким диском аж на 10 магабайт. В качестве поставщика IBM выбрала популярного тогда производителя винтов Seagate с моделью диска ST-412. Компания Seagate к тому времени уже была известна как производитель жестких дисков для мини-компьютеров, например она выпускала жесткий диск ST-506 на 5 мегабайт, который применялся в мини-компьютерах DEC (RD50) с точно такими же шлейфами. Вскоре и другие производители выпустили множество совместимых моделей: Western Digital, Kalok, Tandon, Micropolis e.t.c. Таким образом, интерфейс модели винтов ST-506/412 фирмы Seagate стал де-факто "стандартом" в отрасли персоналок и названием интерфейса для подключения древних жестких дисков.+Компьютер IBM PC XT 5160 в отличии от просто IBM PC 5150 продавался уже с жестким диском аж на 10 магабайт. В качестве поставщика IBM выбрала популярного тогда производителя винтов Seagate с моделью диска ST-412. Компания Seagate к тому времени уже была известна как производитель жестких дисков для мини-компьютеров, например она выпускала жесткий диск ST-506 на 5 мегабайт, который применялся в мини-компьютерах DEC (под имененм RD50) с точно такими же шлейфами. Вскоре и другие производители выпустили множество совместимых моделей: Western Digital, Kalok, Tandon, Micropolis e.t.c. Таким образом, интерфейс модели винтов ST-506/412 фирмы Seagate стал де-факто "стандартом" в отрасли персоналок и названием интерфейса для подключения древних жестких дисков.
  
 Подробнее в википедии: [[https://en.wikipedia.org/wiki/ST-506]] Подробнее в википедии: [[https://en.wikipedia.org/wiki/ST-506]]
Line 47: Line 47:
 Способ записи (кодировка битов) на такой жесткий диск был MFM (Modified Frequency Modulation) на скорости 5 Mbit/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) - то скорее всего нет. Вот пример разметки дорожки контроллером WD из документации: 
 +{{ :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 69: Line 70:
  
   * Шлейф (собственно сам кабель) - [[wp>Ribbon cable]] (ленточный кабель) - толщина [[wp>American_wire_gauge|AWG24]] на 34 и 20 проводников соответственно.   * Шлейф (собственно сам кабель) - [[wp>Ribbon cable]] (ленточный кабель) - толщина [[wp>American_wire_gauge|AWG24]] на 34 и 20 проводников соответственно.
-  * Коннектор краевого разъема 34 пин - EC34, AMP P/N 88373-3, Molex 15-35-1351 или совместимый.+  * Коннектор краевого разъема 34 пин - EC34, AMP P/N 88373-3, Molex 15-35-1351 или совместимый. (Такой же, как для 5" флопов).
   * Коннектор краевого разъема 20 пин - EC20, AMP P/N 88373-6, Molex 15-35-1201 или совместимый.   * Коннектор краевого разъема 20 пин - EC20, AMP P/N 88373-6, Molex 15-35-1201 или совместимый.
-  * Коннекторы для присоединения к контроллеру - IDC, [[wp>Insulation-displacement connector]] на 34 и 20 пинов. +  * Коннекторы для присоединения шлейфа к контроллеру - IDC, [[wp>Insulation-displacement connector]] на 34 и 20 пинов. 
-  * Номинал резисторов для терминирования - сборка 220/330 ом.+  * Номинал резисторов для терминирования - сборка 220/330 Ом SIP или DIP.
  
 Для упрощения подключения жестких дисков часто применяют управляющий кабель "с перекруткой". Аналогичная схема часто применяется для кабеля флоппи-дисков. В этом случае, все флоппи-диски переключаются на адрес 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 117: Line 118:
  
 После низкоуровневого форматирования получается жесткий диск, у которого все сектора читаются-пишутся (если они не сбойные), но пока забиты нулями (или каким-то другим мусором). Чтобы диск увидела система (например DOS), необходимо создать на диске таблицу разделов (утилитой fdisk) и создать структуру и оглавление файловой системы (утилитой format). После низкоуровневого форматирования получается жесткий диск, у которого все сектора читаются-пишутся (если они не сбойные), но пока забиты нулями (или каким-то другим мусором). Чтобы диск увидела система (например DOS), необходимо создать на диске таблицу разделов (утилитой fdisk) и создать структуру и оглавление файловой системы (утилитой format).
-{{ :mfm_track.jpg?direct&600 }}+
 Дополнительные материалы для чтения: Дополнительные материалы для чтения:
-  * [[http://www.minuszerodegrees.net/ibm_xebec/ibm_xebec_llf_debug.htm|Low-Level Format Via DEBUG]] Как отформатировать диск через DEBUG и вызовы BIOS 
   * [[https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B8%D1%81%D0%BA%D0%B0|Форматирование диска]]   * [[https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B8%D1%81%D0%BA%D0%B0|Форматирование диска]]
 +  * [[https://www.minuszerodegrees.net/hdd/MFM%20hard%20drive%20-%20Low-level%20format.htm|IBM PC Family - Low-Level Format on MFM and RLL Hard Drives]]  
 +  * [[http://www.minuszerodegrees.net/ibm_xebec/ibm_xebec_llf_debug.htm|Low-Level Format Via DEBUG]] Как отформатировать диск через DEBUG и вызовы BIOS
 +
 ====== Разное ====== ====== Разное ======
  
Line 191: Line 194:
 Пока мы разбираемся с сектором 2 под головкой "проскакивают" сектора 8 и 14, а сектор 3 оказывается в нужное время в нужном месте. Тут получается интерлив 3:1, то есть один читаем, два пропускаем, читаем. Для чтения всех 17-ти секторов подряд нам нужно три оборота шпинделя. Соответственно, суммарная скорость "с блина" тоже падает, но зато нам не нужно ждать целый оборот для поиска следующего сектора. При интерливе 1:1 получилась бы самая высокая скорость, но далеко не все контроллеры и машины успевали обработать такой поток. Пока мы разбираемся с сектором 2 под головкой "проскакивают" сектора 8 и 14, а сектор 3 оказывается в нужное время в нужном месте. Тут получается интерлив 3:1, то есть один читаем, два пропускаем, читаем. Для чтения всех 17-ти секторов подряд нам нужно три оборота шпинделя. Соответственно, суммарная скорость "с блина" тоже падает, но зато нам не нужно ждать целый оборот для поиска следующего сектора. При интерливе 1:1 получилась бы самая высокая скорость, но далеко не все контроллеры и машины успевали обработать такой поток.
  
-Программа форматирования большинства XT контроллеров позволяет задавать интерлив вручную. Как правило, оптимальное значение зависит от скорости материнской платы в TURBO XT моделях и модели контроллера. Обычно скорость плавно возрастает от примерно 80Кб/с на интерливе 6:1, а потом резко падает (сектора успевают "убежать"). На TURBO материках 12MHz и хорошем контроллере иногда достижим интерлив 2:1 и скорость передачи до 400Кб/с.+Программа форматирования большинства XT контроллеров позволяет задавать интерлив вручную. Как правило, оптимальное значение зависит от скорости материнской платы (в TURBO XT моделяхи модели контроллера. Обычно, на стандартной XT с контроллером Xebec скорость плавно возрастает до примерно 80Кб/с на интерливе 6:1, а при уменьшении интерлива резко падает (сектора успевают "убежать"). На быстрых TURBO XT материках 12MHz и хорошем контроллере иногда достижим интерлив 2:1 и скорость передачи до 400Кб/с.
  
 Существуют несколько программ, которые могут подобрать оптимальный интерлив для данной комбинации материнской платы плюс контроллер, например OPTUNE или CALIBRATE. Существуют несколько программ, которые могут подобрать оптимальный интерлив для данной комбинации материнской платы плюс контроллер, например OPTUNE или CALIBRATE.
Line 229: Line 232:
 Большое количество вопросов связано с дисками XT-BUS. На самом деле, предком XT-BUS можно считать устройство типа [[wp>Hardcard]] (или WD FileCard). После изобретения малогабаритных 3-дюймовых жестких дисков некоторые фирмы выпустили ISA-8 карточки, содержащие контроллер и диск на одной раме (или длинной плате). Причем иногда электроника накопителя и контроллера настолько сливалась, что кабелей ST-506/412 просто не было. Поэтому, вполне логично было выпустить диски, имеющие **шлейф**, в котором фактически передается минимальный вариант шины ISA-8, а контроллер расположен прямо на плате электроники диска (так называемый XT Attachment). Большое количество вопросов связано с дисками XT-BUS. На самом деле, предком XT-BUS можно считать устройство типа [[wp>Hardcard]] (или WD FileCard). После изобретения малогабаритных 3-дюймовых жестких дисков некоторые фирмы выпустили ISA-8 карточки, содержащие контроллер и диск на одной раме (или длинной плате). Причем иногда электроника накопителя и контроллера настолько сливалась, что кабелей ST-506/412 просто не было. Поэтому, вполне логично было выпустить диски, имеющие **шлейф**, в котором фактически передается минимальный вариант шины ISA-8, а контроллер расположен прямо на плате электроники диска (так называемый XT Attachment).
  
-Таким образом, XT-BUS шина - это просто "удлинитель" урезанной шины ISA-8. На XT-BUS-шлейф выведены "младшие" 2 линии адреса, 8 бит данных, сигналы дешифрации, Reset, а также заведены сигналы одного канала DMA и один IRQ. По набору команд, контроллер "внутри" жесткого диска XT-BUS практически полностью соответствует ISA-8 контроллеру WD1002-WX и даже располагается на тех же адресах (320h или 324h). BIOS контроллера располагается "снаружи", на плате (а не внутри диска), в отдельной ПЗУ или входит в состав BIOS-а материнской платы (на EuroXT).+Таким образом, XT-BUS шина - это просто "удлинитель" урезанной шины ISA-8. На XT-BUS-шлейф выведены "младшие" 2 линии адреса, 8 бит данных, сигналы дешифрации, Reset, а также заведены сигналы одного канала DMA и один IRQ. По набору команд, контроллер "внутри" жесткого диска XT-BUS практически полностью соответствует ISA-8 контроллеру Xebec или WD1002-WX и даже располагается на тех же адресах (320h или 324h). BIOS контроллера располагается "снаружи", на плате контроллера (а не внутри диска), в отдельной ПЗУ или входит в состав BIOS-а материнской платы (на EuroXT).
  
 XT-BUS **полностью НЕсовместим** с AT-BUS IDE, хотя использует такой же 40-жильный шлейф и IDC-коннекторы. Это становится понятно хотя бы по той причине, что "внутри" XT-BUS диска контроллер имитирует 8-битный WD1002-WX, а внутри AT-BUS IDE диска - 16-битный WD1003-WA с TaskFile. XT-BUS **полностью НЕсовместим** с AT-BUS IDE, хотя использует такой же 40-жильный шлейф и IDC-коннекторы. Это становится понятно хотя бы по той причине, что "внутри" XT-BUS диска контроллер имитирует 8-битный WD1002-WX, а внутри AT-BUS IDE диска - 16-битный WD1003-WA с TaskFile.
hddxt.1709204950.txt.gz · Last modified: by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki