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 [2026/02/19 08:26] – [Форматирование жесткого диска MFM] adminhddxt [2026/04/28 15:16] (current) – [XT-BUS и терминология] 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 (но не жесткий диск!). (Остальной объем ПЗУ занимал ROM BASIC, но его мы тут не обсуждаем). Давайте сначала рассмотрим поддержку устройств в 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, который поддерживал основные устройства XT (но не жесткий диск!). (Также в этом ПЗУ содержится ROM BASIC, но его мы тут не обсуждаем). Давайте сначала рассмотрим поддержку устройств в BIOS IBM PC XT 5160.
  
 BIOS XT содержит "драйвера" (сервисы BIOS) довольно ограниченного числа устройств: BIOS XT содержит "драйвера" (сервисы BIOS) довольно ограниченного числа устройств:
Line 21: Line 21:
 На IBM PC XT драйвером в BIOS поддерживаются дисководы двойной плотности DD (96tpi) 40 дорожек, 2 стороны, 9 секторов. Таким образом, в BIOS XT имеется поддержка дискет 360К **и только**. Количество флопиков выбирается с переключателей на материнской плате, от 1 до 4. **Все** флопики с точки зрения BIOS одинаковые, по 360К. На IBM PC XT драйвером в BIOS поддерживаются дисководы двойной плотности DD (96tpi) 40 дорожек, 2 стороны, 9 секторов. Таким образом, в BIOS XT имеется поддержка дискет 360К **и только**. Количество флопиков выбирается с переключателей на материнской плате, от 1 до 4. **Все** флопики с точки зрения BIOS одинаковые, по 360К.
  
-На 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 **не содержит** никаких драйверов жестких дисков, вся поддержка содержится в Optional ROM BIOS (ПЗУ) платы контроллера. Таким образом, "стандартный" BIOS XT **не содержит** никаких драйверов жестких дисков, вся поддержка содержится в Optional ROM 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 передает туда управление.+Стандартный BIOS XT обрабатывает также вызов INT 19 (Boot) и поддерживает загрузку с нулевого устройства, которое, как несложно догадаться, является флопиком 360К. Фактически, обработчик INT 19 на XT состоит из вызова INT 13 "Прочитать сектор" c первого сектора дискеты (Boot Sector) в память по адресу 0000:7С00H (на 1Кб меньше 32К). Если в конце сектора есть сигнатура 55H/AAH, то это скорее всего нормальный Boot Sector и BIOS передает туда управление.
  
 Материалы для дополнительного чтения: Материалы для дополнительного чтения:
Line 32: Line 32:
   * Ralf Brown Interrupt List http://www.ctyme.com/rbrown.htm раздел INT 13H   * Ralf Brown Interrupt List http://www.ctyme.com/rbrown.htm раздел INT 13H
   * Исходники BIOS из [[http://wiki.sensi.org/download/doc/IBM_5155_5160_Technical_Reference_6280089_MAR86.pdf|IBM PC XT Technical Reference]] Section 5   * Исходники BIOS из [[http://wiki.sensi.org/download/doc/IBM_5155_5160_Technical_Reference_6280089_MAR86.pdf|IBM PC XT Technical Reference]] Section 5
 +  * https://bitsavers.org/pdf/westernDigital/pc_disk_controller/
   * https://en.wikipedia.org/wiki/Booting#Boot_sequence_of_IBM_PC_compatibles   * https://en.wikipedia.org/wiki/Booting#Boot_sequence_of_IBM_PC_compatibles
  
Line 38: Line 39:
 Второе важное отличие 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 поддерживает "старые" односторонние флопики 180К, а последние редакции BIOS умеют работать с флопиками 1.2Mb, но для этого нужно заменить штатный контроллер флопиков на контроллер с поддержкой высокой плотности.
 ====== Диски MFM ====== ====== Диски MFM ======
  
 {{ 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 93: Line 94:
 Контроллер 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), а кроме того, он заполняет область [[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. 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.
Line 130: Line 131:
 ===== Геометрия ===== ===== Геометрия =====
 {{ ibm_hdd_1.jpg?nolink&200}} {{ ibm_hdd_1.jpg?nolink&200}}
-Как уже написано выше, диск MFM с физической точки зрения состоит из NNN дорожек (Cylinders) и YY головок (Heads) и "свободного" пространства на дорожке. Возникает два вопроса:+Как уже написано выше, диск MFM с __физической__ точки зрения состоит из NNN дорожек (Cylinders) и YY головок (Heads) и "свободного" пространства на дорожке для размещения секторов (Sectors). Так определяется "геометрия" диска C/H/S (Cylinders/Heads/Sectors). Возникает два вопроса:
  
   * Каким образом дорожка форматируется на сектора ?   * Каким образом дорожка форматируется на сектора ?
   * Как контроллер (и 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 (разные "Hardware Bible"). Для машин 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 171: Line 172:
 Очень большое количество легенд связано с RLL дисками и контроллерами. Давайте разберемся. Очень большое количество легенд связано с RLL дисками и контроллерами. Давайте разберемся.
  
-Начнем с того, что [[wp>Run-length_limited|RLL]] - это на самом деле такой метод кодирования битового потока. Он хорош тем, что уменьшает количество перепадов (фронтов) в потоке. Для наиболее широко распространенного в контроллерах XT метода RLL(2,7) скорость уменьшается практически на 50%. Это позволяет поднять битовую скорость при сохранении той же полосы. В большинстве RLL контроллеров битовая скорость составляет 7.5Mbit/s, причем "скорость перепадов" и соответственно спектр сигнала получается не намного больше, чем у MFM на 5Mbit/s. Это позволяет записать больше информации на жесткий диск, но предъявляет повышенные требования к самому жесткому диску (нужен минимальный джиттер - неравномерное вращение "блина", качественный маршевый двигатель, подшипники и головки, минимальные искажения в тракте чтения/записи) и к контроллеру (схема ФАПЧ).+Начнем с того, что [[wp>Run-length_limited|RLL]] - это на самом деле такой метод кодирования битового потока. Он хорош тем, что уменьшает частоту переходов (фронтов и спадов) в потоке. Для наиболее широко распространенного в контроллерах XT метода RLL(2,7) частота переходов уменьшается практически на 50%. Это позволяет поднять битовую скорость при сохранении той же полосы. В большинстве RLL контроллеров битовая скорость составляет 7.5Mbit/s, причем "скорость переходов" и соответственно спектр сигнала получается не намного больше, чем у MFM на 5Mbit/s. Это позволяет записать больше информации на дорожку жесткого диска, но предъявляет повышенные требования к самому жесткому диску (нужен минимальный джиттер - неравномерное вращение "блина", качественный маршевый двигатель, подшипники и головки, минимальные искажения в тракте чтения/записи) и к контроллеру (хорошая схема ФАПЧ).
  
 Емкость нетрудно прикинуть. При скорости вращения 3600 RPM емкость дорожки составляет 1/60 * 7500000 = 125000 бит = 15625 байт то есть примерно 30.5 секторов по 512 байт. Из за требований организации промежутков и заголовков стабильно удается записать 26 секторов. Емкость нетрудно прикинуть. При скорости вращения 3600 RPM емкость дорожки составляет 1/60 * 7500000 = 125000 бит = 15625 байт то есть примерно 30.5 секторов по 512 байт. Из за требований организации промежутков и заголовков стабильно удается записать 26 секторов.
Line 190: Line 191:
 {{ :interleave-factor.jpg?nolink&300|}} {{ :interleave-factor.jpg?nolink&300|}}
  
-Для чего придумали интерлив (чередование) ? Дело в том, что машины тогда были довольно медленные. XT вместе с контроллером просто не успевала обрабатывать поступающую информацию, и сектор на вращающемся диске успевал "убежать" из под считывающей головки. Чтобы прочитать следующий сектор N+1, надо было ждать целый оборот диска. Идея пришла очень простая. Поскольку все сектора имеют внутри номер, то сектора можно записывать не подряд. Например, у нас на дорожке 17 секторов, и нам надо прочитать сектора 2 и 3. Записываем сектора в таком порядке:+Для чего придумали интерлив (чередование) ? Дело в том, что машины тогда были довольно медленные. XT вместе с контроллером просто не успевала обрабатывать поступающую информацию, и сектор на вращающемся диске успевал "убежать" из под считывающей головки. Чтобы прочитать следующий сектор N+1, надо было ждать целый оборот диска. Идея пришла очень простая. Поскольку все сектора имеют внутри номер, то сектора можно записывать __не подряд__. Например, у нас на дорожке 17 секторов, и нам надо прочитать сектора 2 и 3. Записываем сектора в таком порядке:
  
- 1 7 13 2 8 14 3 9 15 4 10 15 5 11 17 6 12+ 1 7 13 2 8 14 3 9 15 4 10 16 5 11 17 6 12
  
 Пока мы разбираемся с сектором 2 под головкой "проскакивают" сектора 8 и 14, а сектор 3 оказывается в нужное время в нужном месте. Тут получается интерлив 3:1, то есть один читаем, два пропускаем, читаем. Для чтения всех 17-ти секторов подряд нам нужно три оборота шпинделя. Соответственно, суммарная скорость "с блина" тоже падает, но зато нам не нужно ждать целый оборот для поиска следующего сектора. При интерливе 1:1 получилась бы самая высокая скорость, но далеко не все контроллеры и машины успевали обработать такой поток. Пока мы разбираемся с сектором 2 под головкой "проскакивают" сектора 8 и 14, а сектор 3 оказывается в нужное время в нужном месте. Тут получается интерлив 3:1, то есть один читаем, два пропускаем, читаем. Для чтения всех 17-ти секторов подряд нам нужно три оборота шпинделя. Соответственно, суммарная скорость "с блина" тоже падает, но зато нам не нужно ждать целый оборот для поиска следующего сектора. При интерливе 1:1 получилась бы самая высокая скорость, но далеко не все контроллеры и машины успевали обработать такой поток.
Line 226: Line 227:
 Как мы помним, в BIOS-е AT-совместимых машин имеется драйвер "стандартного" 16-битного MFM контроллера WD1003-WA. Геометрия диска считывается из CMOS (точнее - считывается Тип Диска - индекс, а далее в таблице BIOS ищется геометрия). Как мы помним, в BIOS-е AT-совместимых машин имеется драйвер "стандартного" 16-битного MFM контроллера WD1003-WA. Геометрия диска считывается из CMOS (точнее - считывается Тип Диска - индекс, а далее в таблице BIOS ищется геометрия).
  
-BIOS контроллера XT не использует ни CMOS ни таблицу типов оттуда и не перекрывается по портам I/O (XT=320H против AT=1F0H), истользует одно младшее прерывание (обычно IRQ=5) и один канал DMA. Поэтому, теоретически, он аппаратно вполне совместим с AT контроллером WD1003-WA и с IDE Task File (что как мы помним, практически то же самое). При этом BIOS AT будет работать со своими дисками, а BIOS контроллера XT - со своими.  В действительности же, если к AT-машине подключить одновременно и XT-контроллер и использовать MFM/IDE диск, то тут всё зависит от аккуратности программистов обеих BIOS. Например, BIOS-ы могут "подраться" за FDPT, номер диска и т.д. Чаще всего такая конфигурация работает, но надо тестировать. Если AT-дисков в машине нет (например, в BIOS AT стоит Drive Type = 0), то контроллер XT становится единственным, его диск получает номер 80H при старте его Optional ROM, а активный раздел на нем - букву C: после загрузки DOS.+BIOS контроллера XT не использует ни CMOS ни таблицу типов оттуда и не перекрывается по портам I/O (XT=320H против AT=1F0H), использует одно младшее прерывание (обычно IRQ=5) и один канал DMA. Поэтому, теоретически, он аппаратно вполне совместим с AT контроллером WD1003-WA и с IDE Task File (что как мы помним, практически то же самое). При этом BIOS AT будет работать со своими дисками, а BIOS контроллера XT - со своими.  В действительности же, если к AT-машине подключить одновременно и XT-контроллер и использовать MFM/IDE диск, то тут всё зависит от аккуратности программистов обеих BIOS. Например, BIOS-ы могут "подраться" за FDPT, номер диска и т.д. Чаще всего такая конфигурация работает, но надо тестировать. Если AT-дисков в машине нет (например, в BIOS AT стоит Drive Type = 0), то контроллер XT становится единственным, его диск получает номер 80H при старте его Optional ROM, а активный раздел на нем - букву C: после загрузки DOS.
  
 Справедливости ради следует отметить, что существуют и "продвинутые" AT 16-bit ISA MFM/RLL контроллеры, которые не соответствуют WD1003-WA (например, Seagate ST-21/ST-22 или многие DTC) и которые имеют собственный BIOS на борту и "отзываются" на собственных I/O адресах. Как правило, они не используют данные из CMOS и прекрасно уживаются в качестве второго контроллера с WD1003-WA или единственными в системе. Такие "продвинутые" MFM/RLL карты очень напоминают SCSI ISA-16 контроллеры, также имеющие собственный BIOS. Для них надо проверить отутствие конфликтов за ресурсы шины ISA, но как правило, они тоже работают совместо с XT контроллерамии. Справедливости ради следует отметить, что существуют и "продвинутые" AT 16-bit ISA MFM/RLL контроллеры, которые не соответствуют WD1003-WA (например, Seagate ST-21/ST-22 или многие DTC) и которые имеют собственный BIOS на борту и "отзываются" на собственных I/O адресах. Как правило, они не используют данные из CMOS и прекрасно уживаются в качестве второго контроллера с WD1003-WA или единственными в системе. Такие "продвинутые" MFM/RLL карты очень напоминают SCSI ISA-16 контроллеры, также имеющие собственный BIOS. Для них надо проверить отутствие конфликтов за ресурсы шины ISA, но как правило, они тоже работают совместо с XT контроллерамии.
Line 234: Line 235:
 Большое количество вопросов связано с дисками 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 контроллеру Xebec или WD1002-WX и даже располагается на тех же адресах (320h или 324h). BIOS контроллера располагается "снаружи", на плате контроллера (а не внутри диска), в отдельной ПЗУ или входит в состав BIOS-а материнской платы (на EuroXT).+Таким образом, XT-BUS шина - это просто "удлинитель" урезанной шины ISA-8. На XT-BUS-шлейф выведены "младшие" 2 линии адреса, 8 бит данных, сигналы дешифрации, Reset, а также заведены сигналы одного канала DMA (обычно DMA 3) и один 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.
Line 312: Line 313:
 Наконец, термин **AT-BUS** относится более к электрическим и логическим протоколам шлейфа и применяется для обозначения того факта, что электрические сигналы и протокол обмена являются производными от параметров шины ISA-16 компьютера IBM PC AT 5170. Термин не стандартизован. Аналогично, **XT-BUS** относится к шлейфу для подключения диска к 8-битной шине ISA-8. Наконец, термин **AT-BUS** относится более к электрическим и логическим протоколам шлейфа и применяется для обозначения того факта, что электрические сигналы и протокол обмена являются производными от параметров шины ISA-16 компьютера IBM PC AT 5170. Термин не стандартизован. Аналогично, **XT-BUS** относится к шлейфу для подключения диска к 8-битной шине ISA-8.
  
-Также следует упомянуть разработку "[[http://www.vcfed.org/forum/showthread.php?29202-XTIDE-Rev2|XT IDE]]" c Vintage Computer Forum. Это контроллер для шины ISA-8 для подключения обычных 16-битных IDE/ATA дисков. Название авторское и применяется именно для этой разработки.+Также следует упомянуть разработку "[[http://www.vcfed.org/forum/showthread.php?29202-XTIDE-Rev2|XT IDE]]" c Vintage Computer Forum. Это контроллер для шины ISA-8 для подключения обычных 16-битных IDE/ATA дисков. Название авторское и применяется именно для этой разработки. Для него написан великолепный opensource XT-IDE Universal BIOS (XUB), имеющий кучу опций и поддерживаюший целый ряд контроллеров.
  
 К сожалению, сейчас нередко путают **XT-BUS** и **XT-IDE**. К сожалению, сейчас нередко путают **XT-BUS** и **XT-IDE**.
Line 322: Line 323:
   * [[http://support.mdl.ru/pc_compl/doc/hdd/atafq/atafq.html|Частичный перевод]] FAQ   * [[http://support.mdl.ru/pc_compl/doc/hdd/atafq/atafq.html|Частичный перевод]] FAQ
   * [[https://ftp.seagate.com/acrobat/reference/111-1c.pdf|Seagate ATA Interface Reference Manual]]   * [[https://ftp.seagate.com/acrobat/reference/111-1c.pdf|Seagate ATA Interface Reference Manual]]
 +  * [[https://www.youtube.com/watch?v=3rgaJqYOPSg|8-bit IDE-XT Hard Drives Demystified]]
  
 ===== Дополнительные материалы ===== ===== Дополнительные материалы =====
hddxt.1771489578.txt.gz · Last modified: by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki