| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| hddxt [2026/03/16 08:10] – admin | hddxt [2026/04/28 15:16] (current) – [XT-BUS и терминология] admin |
|---|
| На 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 передает туда управление. |
| |
| Материалы для дополнительного чтения: | Материалы для дополнительного чтения: |
| * 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 |
| |
| |
| {{ 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]] |
| Контроллер 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. |
| ===== Геометрия ===== | ===== Геометрия ===== |
| {{ 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 и все будет работать, не используя диск полностью. |
| Очень большое количество легенд связано с 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 секторов. |
| {{ :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 получилась бы самая высокая скорость, но далеко не все контроллеры и машины успевали обработать такой поток. |
| Как мы помним, в 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 контроллерамии. |
| Большое количество вопросов связано с дисками 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. |
| Наконец, термин **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**. |
| * [[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]] |
| |
| ===== Дополнительные материалы ===== | ===== Дополнительные материалы ===== |