Плата XT-IDE даёт возможность подключать (относительно) современные жёсткие диски IDE или CF-карты памяти к старым компьютерам IBM PC XT и совместимым. Она устанавливается в 8-битный ISA-сокет и не требует установки каких-либо драйверов для работы, т.к. имеет на борту свой собственный BIOS, который можно настроить под конкретное железо (от режима максимальной совместимости с XT-системами до максимальной скорости работы на более современном железе). Также на плате есть последовательный порт (опциональный), предназначенный для загрузки системы с файла-образа диска, расположенном на другом компьютере. Последнее крайне полезно, когда надо установить систему, а под рукой нет ни дисковода с системной дискетой, ни системного HDD.
В качестве BIOS-а рекомендуется использовать EEPROM 28C256 (также можно использовать менее ёмкую 28C64), тогда для записи и обновления прошивки не потребуется программатор - это можно сделать через DOS-утилиту.
Девайс поддерживает диски и карты памяти любых размеров (но не забываем про ограничение, накладываемое операционной системой. Например MS DOS 6.22 поддерживает диски не более 8.4 Гб). Всего к плате можно подключить два диска.
Гербер-файлы можно скачать по ссылке внизу статьи. Платки с синей паяльной маской и покрытием иммерсионным золотам получились вот такие:
Сборка платы не должна вызывть сложностей, все элементы подписаны шелкографией. Если не нужен опциональный UART, то микросхемы U11 - U13, их обвязку (конденсаторы и резистивную сборку) и кварцевый генератор можно не устанавливать. Кстати, о резистивных сборках - плата спроектирована под 10-пиновые сборки из 9 резисторов, но, т.к. последний резистор не используется, то сгодятся 9-выводные сборки (которые, как оказалось, гораздо проще достать).
Ещё один момент - резистор R6, который можно/нужно заменить перемычкой. Если жёсткий диск будет подключен как Master или Slave, то резистор можно оставить. Если же планируется использовать режим Cable select, то вместо резистора лучше запаять перемычку. Либо внести соответствующее изменение в плату. Хотя, лично у меня винчестер успешно определялся и работал в режиме Cable select с запаяным резистором.
Вот что получилось у меня в итоге:
Для успешного запуска адаптера надо установить множество джамперов. Вот их расположение на плате:
Для начала надо сконфигурировать ПЗУ BIOS-а выбрав её тип (рекомендуется использовать 32-килобайтовую Atmel 28C256, но 8-килобайтовая 28C64 тоже сгодится) и задав адрес.
Джампер JP1 должен быть установлен, чтобы BIOS платы запускалась при старте системы. Джампер JP2, разрешающий программирование EEPROM-а, рекомендуется устанавливать только в случаях, когда реально планируется записывать/перезаписывать BIOS. В противном случае, есть риск повреждения содержимого ПЗУ, если какая-нибудь программа решить обратится к этим адресам.
Джамперами P10 задаётся базовый адрес интерфейса (по умолчанию 300h)
А джамперами P4 выставляется номер IRQ:
Джамперы K4 / K5 задают режим работы. Если выставить оба в верхнее положение - скоростной режим, если в нижнее - режим совместимости. Для начала лучше настроить режим совместимости, затем, в случае успеха попробовать Hi-speed mode.
Для UART-интерфейса (если он присутствует) также надо настроить базовый адрес и номер IRQ:
Джампер P9 включает подачу питания +5В на 20й вывод IDE-разёма. Его имеет смысл установить в случае использования карты памяти CF вместо жёсткого диска.
Сначала надо скачать прошивку (ссылки ниже в конце статьи). Последняя версия - R580. В архиве есть восемь вариантов бинарника:
Large-сборки включают дополнительно следующие модули: MODULE_BOOT_MENU, MODULE_8BIT_IDE_ADVANCED и MODULE_COMPATIBLE_TABLES.
Но после выбора файла BIOS-а нельзя просто так взять и записать его, сначала это дело надо сконфигурировать. Делается это утилитой xtidecfg.com, входящей в состав архива. Запускаем конфигуратор:
Открываем нужную сборку, после чего в меню появятся пункты конфигурации и запись в EEPROM:
В меню присутсвует команда Auto configure, которая попытается сама определить параметры устройства.
В первую очередь надо выставить базовый адрес так, чтобы он совпадал с адресом, выстаавленным джамперами:
Ещё тут есть с десяток разных опций, которыми можно поиграться:
В нижней части меню показываются подсказки к каждому элементу. Кроме того, клавшией F1 можно открыть окно с более подробным описанием параметра:
Обновить BIOS контроллера можно прямо из утилиты конфигуратора. Экран программатора выглядит так:
Тут выбирается тип микросхемы EEPROM (2816, 2864, 28256 или 28512). Размер страницы можно оставить 1 байт - все микросхемы EEPROM поддерживают побайтовый режим. При большем размере скорость записи будет выше, но возможны проблемы. Режим SDP (Software Data Protection) имеет смысл включать только если EEPROM его поддерживает (смотреть по даташиту).
XT-CF-Lite - упрощённая версия контроллера XT-IDE для подключения CF-карты вместо HDD. Её описание, схему, герберы и прошивку можно скачать с сайта автора.
Тут используется ПЗУ на 8 КБ (рекомендуется EPROM 28C64 чтобы можно было обновлять прошивку). Резистор R5 на плату впаивать не надо. Девайс этот достаточно прост и запускается обычно без проблем, если нет ошибок в монтаже. Так выглядит мой вариант собраной платы и рабочая, проверенная на нескольких компьютерах, конфигурация микропереключателей:
В завершение небольшое предостережение - платы восьмибитные, и, при остуствии задней планки, вставить их в ISA слот можно как правильно, так и
вверх ногами. В последнем случае обоим девайсам может быстро и необратимо поплохеть - печальная практика показала, что при перевёрнутом включении
у них моментально выходят из строя ПЗУ. Дело усугубляет то, что у IDE-контроллера разъём HDD расположен как бы спереди, а у CF-контроллера разъём
карты расположен как бы сзади. И, когда привыкаешь вставлять одну карту (CF или IDE), то и другую плату можно по инерции воткнуть так же, ориентируясь
по разъёму. Сам убил так пару флешек у IDE-карты, и слышал о аналогичной беде с CF-адаптером.
Вообщем, это, будьте осторожны! :)
Страница проекта ISA XT IDE
Скомпилированные прошивки
Документация по прошивкам
Репозиторий на github
XT-CF-Lite V4.