Both sides previous revisionPrevious revisionNext revision | Previous revision |
hddxt [2024/10/30 10:50] – [XT-BUS] admin | hddxt [2025/09/12 06:03] (current) – [Шлейфы MFM] admin |
---|
====== 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 и шрифты для них. Выбор типа контроллера видео осуществляется с переключателей на материнской плате. |
| |
На 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 передает туда управление. |
| |
Материалы для дополнительного чтения: | Материалы для дополнительного чтения: |
Важное отличие 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. Но для этого нужно заменить штатный контроллер флопиков на контроллер с поддержкой высокой плотности. |
| |
{{ 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]] |
Способ записи (кодировка битов) на такой жесткий диск был 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}} | {{ :mfm_track.jpg?direct&500 |Формат дорожки MFM контроллера на чипах WD10101}} |
Материалы для дополнительного чтения: | Материалы для дополнительного чтения: |
| |
* Шлейф (собственно сам кабель) - [[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|другие жилы]]. |
| |
Дополнительные материалы для чтения: | Дополнительные материалы для чтения: |
* [[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 |
| |
====== Разное ====== | ====== Разное ====== |
| |