Преамбула
В детстве у меня не было велосипеда…
Нет, не совсем так. В детстве я вволю наигрался кустарными «Спектрумами», в школе застал КУВТ (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 модуля памяти по мегабайту каждый и математический сопроцессор, о котором ниже.
В правом нижнем углу ? «сердце» платы, микросхема-аналог Intel 80286 производства Harris Semiconductor. Она быстрее и экономичнее оригинала, потому что вместо NMOS-технологии в ней использована CMOS.
Микросхема в корпусе DIP-40, расположенная над процессором ? математический сопроцессор IIT 2C87-10. Он работает на половине частоты процессора, но, согласно документации, внутри него тактовый сигнал удваивается, так что работать он должен быстро, почти как на 20 МГц.
Ещё выше расположены 4 слота для стандартных 30-контактных модулей памяти типа SIMM, а слева от них ? гнёзда для расширения памяти отдельными микросхемами. Эти гнёзда рассчитаны на микросхемы организацией 256K?4, что не очень распространено в мире PC, зато привычно пользователям Макинтошей или Амиг. 8 чипов ? 1 мегабайт.
Большие контактные площадки с пометками «+» и «-» ? это то место, где располагался никель-кадмиевый аккумулятор, хранивший настройки 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 цветах.
За мультикартой (Super I/O Adapter) пришлось снова идти на Авито. Тут мне повезло: за символическую цену я стал обладателем целого набора плат, среди которых нашлись и мультикарта, …
… и несколько сетевых адаптеров.
Слева направо: NE2000-совместимый, 3COM 3C509, на базе NatSemi DP8390 (последний, к сожалению, без TP-порта).
Теперь немного о периферии. Мультикарта ожидаемо поддерживает два интерфейса: IDE/ATA и стандартный (иногда говорят: NEC uPD765A-совместимый, i8272A-совместимый) интерфейс гибких дисков. Причём для установки операционной системы подходит только дискета.
Пользоваться настоящими, исторически достоверными дискетами для установки ОС было бы уже не ностальгией, а геморроем. Да и стоят дискеты из “new old stock” недёшево. К счастью, ретро-компьютерщики давно нашли решение проблемы ? эмулятор дисковода. Самые популярные эмуляторы дисковода производит китайская фирма GoTek. И продают их на Алике, скажем так, чуть дороже коробки дискет.
Пользоваться эмулятором вроде бы просто: в USB-порт вставляется флешка с образами дискет, кнопками можно выбрать нужный образ, и он окажется «смонтирован» в дисководе. Цифровой индикатор показывает позицию выбранного образа.
Но на самом деле официальная прошивка от GoTek сделана очень топорно. Для загрузки образов на флешку нужно пользоваться специальной программой для Windows. Формат дискет намертво зашит в прошивке. В случае ошибки или непредвиденной ситуации (например, вставлена неотформатированная флешка) никакой индикации не предусмотрено.
Поэтому большинство пользователей эмуляторов GoTek прошивают открытую прошивку FlashFloppy. Сделать это несложно, особенно если иметь хоть какой-то опыт обращения с контроллерами семейства STM32. FlashFloppy избавляет от необходимости использовать специальный софт, имеет наглядную индикацию, определяет размер эмулируемой дискеты по размеру образа, а также поддерживает стороннюю периферию, например, графические экраны вместо семисегментных индикаторов.
Поскольку эмуляторы GoTek подключаются к разнообразным, часто несовместимым друг с другом контроллерам, в подключении есть свои хитрости. В частности, для PC-совместимых необходимо замкнуть перемычки JC и S1, как показано на фото. И будьте особенно осторожны с кабелем питания! Переполюсовать его проще, чем кажется.
В качестве жёсткого диска для ретро-компьютера многие используют карты CompactFlash со специальным переходником. При всех преимуществах твердотельного накопителя, такое решение намного дешевле, чем SSD или DоM. Но мне пришлось воспользоваться самым настоящим жёстким диском, правда, чуть более позднего происхождения, чем материнская плата и другие ретро-компоненты.
Шумновато по сравнению с CompactFlash, хоть и более достоверно исторически.
Для питания системы я заказал на AliExpress простой пассивный переходник ATX-AT, вот такой:
Наконец, последнее, чем я озаботился перед сборкой ? это клавиатура. Я купил рандомную клавиатуру с возможностью подключения к порту PS/2 и заменил разъём USB на старый DIN-5, каннибализировав ради этого кабель от советского кассетника.
Разумеется, при включении придётся зайти в BIOS SETUP и напомнить компьютеру его параметры. Особенно если аккумулятора нет на плате.
Теперь компьютер готов к установке операционной системы.
Продолжение следует…
Эта часть была, в общем-то, подготовительной. В следующей части я как раз хочу заняться установкой ОС, да не абы какого досвиндоса, а именно такой ОС, которая раскроет потенциал 286 процессора наиболее полно. Тоже в гибридном формате: немного общих рассуждений, немного тривии, плюс маленький туториал. Интересно ли это будет сообществу?
Ну и, традиционно: автор любит, когда его конструктивно критикуют и вежливо указывают на его ошибки.
tronix286
Установить можно всякое, что раскроет потанцевал, а вот пользоваться этим всяким — никак нельзя. Ну, в смысле OS/2 и прочие юниксы/qnx поставить можно, оно запустится, а делать то в них что — правильно, ничего, так как софта для них 0 помноженный на 0. Собрать что-то современное для них сложнее hello world — боль и ад, так как компиляторы еще только начинают догадываться о возможном существовании long long типов. Остается только одно — возможность в OS/2 запустить DOS-софт, но с костылями и тормозами.
Поэтому, как это ни странно, единственная верная ОС для 286 — это DOS. Ну, можно еще и Windows 3.x, так как для него хоть какой-никакой софт найти можно.
mistergrim
boootloader
Только вот тормозит она знатно на 80286. Может, правда, у меня мат. сопроцессора не было, не помню.
DarkWolf13
наличие сопроцессора отчасти помогало на спец задачах, а офисные программки не замечали отсутствие 287
mistergrim
Ну если на ПК максимум 2 Мб оперативки, то, конечно, будет тормозить. А у кого в наших реалиях больше было на двойках?
tormozedison
Minix 2. Работает на 286, UNIX-подобная, многозадачная.
Tanner Автор
Бинго!
XBOCTOB
Для 286 был еще sco xenix.
Tanner Автор
В общем, да. Точнее, Microsoft Xenix 286. Насколько я знаю, когда SCO начала продавать SCO UNIX (первый «корбочный» юникс, который мог купить кто попало), поддержки 286 в нём уже не было.
XBOCTOB
Да, он изначально microsoft xenix. Но у нас был именно как SCO, и соорудить на нем узел электронной почты uucp удавалось. Для 386 тоже был SCO xenix (который тоже изначально microsoft). SCO Unix — это уже совсем другой продукт и его для 286х уже не было.
Tanner Автор
Понятно, спасибо. Придётся немного дополнить следующий пост.
tormozedison
Ещё это попробуйте:
https://github.com/jbruchon/elks
Tanner Автор
Эту штуку я знаю. К сожалению, в ELKS нет поддержки защищённого режима. Проще говоря, оно как DOS, только Linux.