Сборка PC AT-совместимого компьютера с процессором 80286

    Преамбула

    В детстве у меня не было велосипеда…

    Нет, не совсем так. В детстве я вволю наигрался кустарными «Спектрумами», в школе застал КУВТ (MSX-2), а в ВУЗе − ДВК (почти что легендарная PDP-11). Благодаря этому я не терял времени даром. И когда у меня появилась возможность обзавестись собственным серьёзным компьютером, я был уже тёртым калачом. Я был в курсе событий в мире IT. Я знал, что Intel и 32 бита победили. С трудом преодолев ограничения бюджета (голодные 90-е, студенческие подработки плюс займы у родни), я зашёл в мир PC с козыря − 386SX.

    Козырь, конечно, был мелковат: «четвёрки» тогда разлетались, как горячие пирожки, на горизонте маячил Pentium, а с другого краю Эппл спешно менял 68000 на PowerPC. Тем не менее, новым операционным системам, средам разработки и даже играм всё чаще требовались пресловутые 32 бита, и IA-32 + 4 мегабайта стали для меня своего рода пропуском в клуб, пусть и не VIP. Я научился клепать базы данных на Delphi, настраивать сеть на NetWare и FreeBSD, открыл для себя Интернет… В общем, я был рад тому, что не послушал жабу и не взял «с рук», за полцены, изрядно подержанную «двойку».

    Однако сейчас, спустя почти 30 лет, меня заела то ли ностальгия, то ли любопытство, а может, это называется «гештальт»? Или я чего-то не договариваю… В общем, под занавес 2020 года я присоединился к ретро-компьютинговому сообществу, собрав свой первый велосипед двести восемьдесят шестой.

    Дисклеймер

    В статье я использовал несколько фотографий отвратительного качества собственного авторства. Что поделать, чукча − не фотограф, а в интернете подходящих изображений зачастую просто нет. Так что заранее прошу прощения за неудобства.

    Железо

    Материнские платы для 286, как известно, бывают «на рассыпухе» или «чипсетные».

    Под «рассыпухой» обычно понимаются микросхемы малой (серия 7400) и средней (i8237, i8259 и т.д.) степени интеграции. Такие платы часто являются более-менее точными клонами плат компьютеров IBM моделей 5170 (PC AT) и 5162 (PC XT286), поэтому они наиболее интересны с исторической точки зрения.

    «Чипсетные» платы реализованы с помощью двух-трёх микросхем высокой и сверхвысокой степени интеграции. Они относятся к более позднему историческому периоду и меньше ценятся коллекционерами. Зато их производство было более дешёвым и массовым, и к тому же они надёжнее «рассыпухи» (пусть и менее ремонтопригодны), поэтому многие из них спокойно дожили до наших дней, не раз сменив владельца. Именно такая плата была моим «гештальтом». Поэтому неудивительно, что такого типа плату я в конце концов купил на Авито.

    В комплекте к плате прилагались 4 модуля памяти по мегабайту каждый и математический сопроцессор, о котором ниже.

    Материнская плата TD60C неизвестного производителя, 1992 г.
    Материнская плата TD60C неизвестного производителя, 1992 г.

    В правом нижнем углу − «сердце» платы, микросхема-аналог Intel 80286 производства Harris Semiconductor. Она быстрее и экономичнее оригинала, потому что вместо NMOS-технологии в ней использована CMOS.

    Микросхема в корпусе DIP-40, расположенная над процессором − математический сопроцессор IIT 2C87-10. Он работает на половине частоты процессора, но, согласно документации, внутри него тактовый сигнал удваивается, так что работать он должен быстро, почти как на 20 МГц.

    Ещё выше расположены 4 слота для стандартных 30-контактных модулей памяти типа SIMM, а слева от них − гнёзда для расширения памяти отдельными микросхемами. Эти гнёзда рассчитаны на микросхемы организацией 256K×4, что не очень распространено в мире PC, зато привычно пользователям Макинтошей или Амиг. 8 чипов − 1 мегабайт.

    NiCd аккумулятор
    NiCd аккумулятор

    Большие контактные площадки с пометками «+» и «-» − это то место, где располагался никель-кадмиевый аккумулятор, хранивший настройки BIOS. Эти аккумуляторы известны тем, что рано или поздно протекают, и протекающий электролит разрушает медные дорожки платы. Разумеется, я выпаял аккумулятор в тот же день, как получил плату, и не зря. На одной из контактных площадок уже появилось зелёное пятно. Это несмотря на то, что в целом плата выглядела идеально! Разумеется, со временем нужно будет заменить аккумулятор на аналог или подключить обычные неперезаряжаемые батарейки через колодку, обозначенную “EX-BAT”. А пока придётся потерпеть регулярный сброс параметров CMOS-памяти.

    Рядом расположены ещё два чипа. Тот, что подлиннее − микросхема контроллера клавиатуры, совместимая с i8042. Кроме обработки кодов клавиш, этот чип управляет запретом процессорного контакта A20. Чип покороче − микросхема BIOS. Ещё левее − AT-совместимые разъёмы питания и, наконец, 6 слотов ISA.

    Чуть левее центрального процессора находится «северная» часть чипсета − микросхема Citygate D90-272. Я не пишу «северный мост», потому что мостом её назвать, наверное, нельзя. Она действует скорее как глобальный декодер адресов. Хотя она достаточно умна, чтобы с её помощью можно было реализовывать теневое кэширование разных секций BIOS (соответствующие опции есть в BIOS SETUP), и наверняка есть также возможность получить доступ к расширенной памяти по протоколу LIM EMS. К сожалению, у меня нет ни спецификаций этого чипа, ни драйверов EMS. Впрочем, для дальнейших экспериментов мне ничего такого и не понадобится.

    «Южная» часть чипсета − UM82C206 − универсальный контроллер периферии. Эта микросхема объединяет контроллеры прерываний, прямого доступа к памяти, таймеры, часы реального времени c CMOS-памятью − всё, что было реализовано несколькими специальными микросхемами в PC AT.

    Теперь я хочу показать вам остальные компоненты системы.

    Из своих закромов я достал чудом сохранившийся видеоадаптер SuperVGA на чипе Trident TVGA9000i. Это была очень распространённая в своё время карта, имевшая хорошую обратную совместимость с VGA, но при этом державшая на подходящих мониторах разрешение до 1024×768 точек при 256 цветах.

    Адаптер SVGA Trident TVGA9000i
    Адаптер SVGA Trident TVGA9000i

    За мультикартой (Super I/O Adapter) пришлось снова идти на Авито. Тут мне повезло: за символическую цену я стал обладателем целого набора плат, среди которых нашлись и мультикарта, …

    Универсальная плата ввода-вывода на базе Holtek HT6550
    Универсальная плата ввода-вывода на базе Holtek HT6550

    … и несколько сетевых адаптеров.

    Сетевые адаптеры Ethernet
    Сетевые адаптеры Ethernet

    Слева направо: NE2000-совместимый, 3COM 3C509, на базе NatSemi DP8390 (последний, к сожалению, без TP-порта).

    Теперь немного о периферии. Мультикарта ожидаемо поддерживает два интерфейса: IDE/ATA и стандартный (иногда говорят: NEC uPD765A-совместимый, i8272A-совместимый) интерфейс гибких дисков. Причём для установки операционной системы подходит только дискета.

    Пользоваться настоящими, исторически достоверными дискетами для установки ОС было бы уже не ностальгией, а геморроем. Да и стоят дискеты из “new old stock” недёшево. К счастью, ретро-компьютерщики давно нашли решение проблемы − эмулятор дисковода. Самые популярные эмуляторы дисковода производит китайская фирма GoTek. И продают их на Алике, скажем так, чуть дороже коробки дискет.

    Типичный GoTek с точки зрения пользователя
    Типичный GoTek с точки зрения пользователя

    Пользоваться эмулятором вроде бы просто: в USB-порт вставляется флешка с образами дискет, кнопками можно выбрать нужный образ, и он окажется «смонтирован» в дисководе. Цифровой индикатор показывает позицию выбранного образа.

    Но на самом деле официальная прошивка от GoTek сделана очень топорно. Для загрузки образов на флешку нужно пользоваться специальной программой для Windows. Формат дискет намертво зашит в прошивке. В случае ошибки или непредвиденной ситуации (например, вставлена неотформатированная флешка) никакой индикации не предусмотрено.

    Поэтому большинство пользователей эмуляторов GoTek прошивают открытую прошивку FlashFloppy. Сделать это несложно, особенно если иметь хоть какой-то опыт обращения с контроллерами семейства STM32. FlashFloppy избавляет от необходимости использовать специальный софт, имеет наглядную индикацию, определяет размер эмулируемой дискеты по размеру образа, а также поддерживает стороннюю периферию, например, графические экраны вместо семисегментных индикаторов.

    Подключение GoTek
    Подключение GoTek

    Поскольку эмуляторы GoTek подключаются к разнообразным, часто несовместимым друг с другом контроллерам, в подключении есть свои хитрости. В частности, для PC-совместимых необходимо замкнуть перемычки JC и S1, как показано на фото. И будьте особенно осторожны с кабелем питания! Переполюсовать его проще, чем кажется.

    В качестве жёсткого диска для ретро-компьютера многие используют карты CompactFlash со специальным переходником. При всех преимуществах твердотельного накопителя, такое решение намного дешевле, чем SSD или DоM. Но мне пришлось воспользоваться самым настоящим жёстким диском, правда, чуть более позднего происхождения, чем материнская плата и другие ретро-компоненты.

    Fujitsu MPC3032AT
    Fujitsu MPC3032AT

    Шумновато по сравнению с CompactFlash, хоть и более достоверно исторически.

    Для питания системы я заказал на AliExpress простой пассивный переходник ATX-AT, вот такой:

    Переходник ATX-AT
    Переходник ATX-AT

    Наконец, последнее, чем я озаботился перед сборкой − это клавиатура. Я купил рандомную клавиатуру с возможностью подключения к порту PS/2 и заменил разъём USB на старый DIN-5, каннибализировав ради этого кабель от советского кассетника.

    Разумеется, при включении придётся зайти в BIOS SETUP и напомнить компьютеру его параметры. Особенно если аккумулятора нет на плате.

    BIOS SETUP
    BIOS SETUP

    Теперь компьютер готов к установке операционной системы.

    Продолжение следует…

    Эта часть была, в общем-то, подготовительной. В следующей части я как раз хочу заняться установкой ОС, да не абы какого досвиндоса, а именно такой ОС, которая раскроет потенциал 286 процессора наиболее полно. Тоже в гибридном формате: немного общих рассуждений, немного тривии, плюс маленький туториал. Интересно ли это будет сообществу?

    Ну и, традиционно: автор любит, когда его конструктивно критикуют и вежливо указывают на его ошибки.

    Комментарии 37

      +5
      В следующей части я как раз хочу заняться установкой ОС, да не абы какого досвиндоса, а именно такой ОС, которая раскроет потенциал 286 процессора наиболее полно.

      Установить можно всякое, что раскроет потанцевал, а вот пользоваться этим всяким — никак нельзя. Ну, в смысле OS/2 и прочие юниксы/qnx поставить можно, оно запустится, а делать то в них что — правильно, ничего, так как софта для них 0 помноженный на 0. Собрать что-то современное для них сложнее hello world — боль и ад, так как компиляторы еще только начинают догадываться о возможном существовании long long типов. Остается только одно — возможность в OS/2 запустить DOS-софт, но с костылями и тормозами.
      Поэтому, как это ни странно, единственная верная ОС для 286 — это DOS. Ну, можно еще и Windows 3.x, так как для него хоть какой-никакой софт найти можно.
        +2
        Ну, можно еще и Windows 3.x, так как для него хоть какой-никакой софт найти можно.
        Шутите? Для Win 3.x софта немерено.
          +3
          Только вот тормозит она знатно на 80286. Может, правда, у меня мат. сопроцессора не было, не помню.
            0
            наличие сопроцессора отчасти помогало на спец задачах, а офисные программки не замечали отсутствие 287
              0
              Ну если на ПК максимум 2 Мб оперативки, то, конечно, будет тормозить. А у кого в наших реалиях больше было на двойках?
            +5

            Minix 2. Работает на 286, UNIX-подобная, многозадачная.

              +1
              Бинго!
                0
                Для 286 был еще sco xenix.
                  0
                  В общем, да. Точнее, Microsoft Xenix 286. Насколько я знаю, когда SCO начала продавать SCO UNIX (первый «корбочный» юникс, который мог купить кто попало), поддержки 286 в нём уже не было.
                    +1
                    Да, он изначально microsoft xenix. Но у нас был именно как SCO, и соорудить на нем узел электронной почты uucp удавалось. Для 386 тоже был SCO xenix (который тоже изначально microsoft). SCO Unix — это уже совсем другой продукт и его для 286х уже не было.
                      0
                      Понятно, спасибо. Придётся немного дополнить следующий пост.
                        0

                        Ещё это попробуйте:


                        https://github.com/jbruchon/elks

                          0
                          Эту штуку я знаю. К сожалению, в ELKS нет поддержки защищённого режима. Проще говоря, оно как DOS, только Linux.
                            0

                            И многозадачности нет?

                              0
                              Многозадачность есть, причём настоящая, вытесняющая. А защиты памяти нет.
              +1
              Делфи на 386-м? И как оно?
                0
                чтобы именно делфи на 386 запустить, туда надо хотя бы win92osr2 поставить, если памяти будет достаточно;) оперативной и на винте
                  +2
                  Первая Delphi была 16-битной и отлично работала под Windows 3.1, но в реальном режиме ей иногда не хватало памяти, а в “386 enhanced” всё было отлично.

                  Windows 95, как сейчас помню, устанавливалась, но тормозила знатно.
                  +1
                  В реальном режиме ей иногда не хватало памяти, а в “386 enhanced” всё было отлично. “386 enhanced” сам включался в Windows 3.1, если было установлено больше 2 Мб памяти.
                  0
                  Такое старое железо корректно поддерживает дату с 2021 годом? Или проблема Y2K относится к софту? (Не пинайте, если ерунду сказал :)
                    0

                    От BIOS зависит.

                      +1
                      Конкретно моё − поддерживает корректно. А так вроде бы сбои ожидались именно в момент наступления 2000 года.
                      0
                      Уже не первый раз наблюдаю статью про старый ПК, в который ставят новый винт.
                      А как же классическая проблема 504МБ?
                      Или этот винт настраивается под «старый» БИОС?
                        0
                        Как правило, под 504 МБ он и обрежется.
                          0
                          Я решал утилитой от Ontrack, DiskManager.
                          Она БИОС рассказывала басни, тот развешивал уши, а когда грузилась винда — всё работало на полной емкости.
                          Вот цитата из той же кучки, но для Сигейт:
                          1. What is EZ-Drive software?

                          EZ-Drive is a program from Seagate that provides a solution for DOS
                          computers that limit drive capacity to 528 Megabytes. It is an
                          automatic installation program that enables you to use the full
                          capacity of your Seagate drive.

                          EZ-Drive is easy to use and works in most systems. It automatically
                          identifies the drive and drive configuration, sets the CMOS,
                          partitions and DOS (high-level) formats the drive and transfers the
                          system information to make the drive bootable if it is drive C.
                          EZ-Drive's many features include:
                            0
                            Да, BIOS не поддерживает трансляцию секторов, но почему-то позволяет сохранить геометрию с более чем 1024 цилиндрами и даже сообщает её программам. Можете убедиться по картинкам в посте: геометрия на крышке винчестера и в скриншоте BIOS SETUP совпадают.

                            Получить доступ к этим «лишним» цилиндрам через прерывание 13h, впрочем, не получится. Это значит, что загрузчик ОС должен быть записан где-то в пределах «необрезаемой» области, то есть, в лучшем случае, в первых 504 мегабайтах (а у нас головок и секторов ещё меньше, так что нам остаётся всего 472,5 мегабайта).

                            Когда же загрузчик загрузит систему (если это не DOS, конечно), драйвер ATA опросит винчестер специальной ATA-командой на предмет его размера, и дальше будет общаться с ним ATA-командами, которые позволят использовать любой объём диска без каких-либо ограничений.
                            +2
                            Пару дней назад нарыл IBM-овский комп на 486-ом. Хочу попробовать собрать и завести. Но, так как я начал активно пользоваться компьютерами только начиная с 4-ый пентиумов, сказывается недостаток знаний старого железа.
                            Не подскажите хорошие книги или ещё какие ресурсы для восполнения сего недостатка?
                              +3
                              IBM PC для пользователя
                              Книга, Виктор Эвальдович Фигурнов
                                0
                                На удивление много информации об историческом железе (годах выпуска, совместимости, известных косяках) есть в википедии.

                                Если возник конкретный вопрос, можно попробовать спросить на каком-нибудь форуме. Из англоязычных самый известный − Вогоны. Русские я не особо знаю, но, вроде, есть активность на ZX-PK, хотя там больше торговли.
                                0
                                О, трайдент 9000, привет-привет, старый знакомый. Был у меня такой в 1996-98 годах, на разрешениях больше 640х480, по-моему, больше 50 Гц уже не мог, и Дум 2 на нём тормозил, брал напрокат у друга PCI-ную карточку, чтобы импов погонять…
                                  0
                                  Зато 9000я карточка отлично работает даже в слоте ISA8 на XT. «Хвост» гребенки висит за слотом, никому не мешает (заклеил его изолентой на всякий).
                                  0
                                  О! Молодостью повеяло! :)
                                  Я собирал свой первый комп в 96-97 из б/у компонент, большую часть из которых покупал на царицынском радиорынке. Собирал пару месяцев, выискивая достаточно дешёвые, но живые комплектующие. Но удалось насобирать 486dx-100, 4 метра памяти, 420 винт, S3 Trio Video и модем :)
                                  А до этого успел поковыряться в УКНЦ и очень разных моделях компов с процами от 8086 до 80386, а потому имел хорошее представление о том, что именно хочу собрать…
                                    +1
                                    Скупая мужская слеза упала на тачпэд ноута где-то в середине статьи… Вот прямо эта самая материнка стала для меня, старшеклассника времен перестройки, пропуском в мир… микроконтроллеров. 8051 и тем более AVR были недоступны (мне). Так вот, автор, знай — если выдернуть оттуда 8087, то плату можно питать от одного напряжения +5В, а если еще и половину памяти, то потребление будет что-то около 150mA. Загрузка с Flash — несбыточная мечта. HDD — шумно и энергозатратно. Решение — дисковод 3.5". DOS — долой, слишком долго грузится. Загрузчик + конечное приложение — полностью на нулевой дорожке, написанное на Borland Pascal с Asm вставками. Загрузка — около секунды, без перемещения головки, бесшумно. Трехканальный псевдо-8ми-битный ЦАП из ТОЧНО ТАКОЙ ЖЕ ВИДЮХИ Trident 9000! (экран заливается нужным цветом и имеем нужные уровни напряжения на R,G,B). В добавок Covox на LPT вместе с дисководом на ТОЧНО ТАКОМ ЖЕ МУЛЬТИКОНТРОЛЛЕРЕ! Ах, ностальгия…
                                      0
                                      Круть! А какой-нибудь инфы насчёт Citygate D90-272 или аналогичного чипа у вас не осталось? Я так понимаю, там должны быть регистры, управляющие маппингом памяти, но адресов не знаю, даташита не нашёл.
                                        0
                                        Не, чипсеты не программировал. Помню, обращение к диску (и много еще чего) — через прерывание BIOS, к видеопамяти — через окно 64К в адресном пространстве основной памяти (одинаков для всех IBM PC совместимых; в SVGA режимах было прерывание VESA, переключающее банки видеопамяти), к портам LPT и COM — через регистры мультиконтроллера. К верхней памяти (XMS) — через API himem.sys. Больше ничего и не требовалось тогда.
                                      0

                                      я на двушке парился в chuck yeager's air combat. крутейшая была игрушка.

                                        0
                                        Увидел БИОС и заностальгировал! Как раз такой и видел, эти цвета, эти пунктики, что-то понятно, что-то нет…

                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                        Самое читаемое