Indrekis
Indrekis

Categories

  • retrocomputing
  • ibm_pc_compat

Tags

  • retrocomputing
  • IBM PC та сумісні
  • DOS

“DOS: Beyond 640K”

Останні роки, замість художньої літератури, часто читаю старі комп’ютерні книжки. Про деякі вже писав, про інші ще планую. Поміж них трапилася “DOS: Beyond 640K” by James S. Forney, 2nd ed., 1992 року. Читати її було жахливо. Автор знову і знову повторював одне і те ж, трішки різними словами, а коли дістало так, що написав комусь поскаржитися, на наступній сторінці автор буквально сказав: “Повторю ще раз” і скопіював попередній абзац. Навіщо ж я її читав? Це хороший спосіб зануритися в атмосферу тодішніх “персоналок” – часто дуже відмінну від сучасного світу.

Поміж іншого, там були описані плати оновлення (upgrade) для тогочасних комп’ютерів. І карти ті були настільки, для наших часів, незвичні, що я вирішив про них написати.

Про книгу

Поміж іншого, описує еволюцію стандарту EMS, зокрема – з точки зору багатозадачності, компактно ця інформація мені більше ніде не траплялася.

Ілюстрація 5-1 з книги, про те як функціонує EMS. Разом із ілюстрацією 5-2, видно, що EMS – це такий собі примітивний сторінковий MMU.

Заради справедливості, може якби я загальну теорію того всього – будову IBM PC сумісних комп’ютерів, особливості x86, інтерфейси для подолання бар’єру 640Кб, типу XMS, EMS, UMB, HMA, відповідних драйверів – HIMEM.SYS, EMM386 чи QEMM1 тощо, не знав, може б вона простіше читалася. Книжка орієнтована на звичайних тогочасних користувачів, і ймовірно, з задачею їх навчати, справлялася добре. Вона розповідає, що це за поняття, чому виникли, як функціонують. Який софт потрібен, щоб із тим всім legacy-driven залізом працювати, як його конфігурувати тощо. Часто порівнюються ціни різних рішень.

Підозрюю, якби вам, користувачу сучасних ОС, раптом (не дай Ктулху), довелося вчитися налаштуванню пам’яті для DOS – після ядерної війни абощо, книга може бути корисною. Наприклад, якщо про EMM386 і аналоги, написано багато де, то LIM 4.0 EMS емулятори для систем з 286 та більше, ніж 640Кб RAM, менш відомі – книга підказує QRAM від Quarterdeck та MOVE’EM від Qualitas (не вдалося поки копію знайти).

Але EMM286, яким іноді користуюся, довелося шукати самостійно.

Ще, із цікавих пакетів, описано:

  • Headroom для відображення TSR із EMS по запиту;
  • VM/386 – своєрідний гіпервізор для DOS, який дозволяв кожній копії дати свої CONFIG.SYS і AUTOEXEC.BAT та, навіть, одночасно запускати різні версії DOS (доступний тут);
  • MDOS/DR Concurrent DOS – спроба Digital Research відігратися за програш із DOS, створивши багатокористувацький, багатозадачний варіант;
  • PC-MOS – ще один варіант багатокористувацького, багато задачного розширення DOS (зараз Open Source).
  • DesqView вважаємо звичним, про нього багато де написано;
  • але, заради повноти, про наступні пакети не згадано, хай і менш-більш зрозуміло, чому:

Сліди багатьох із цих утиліток в Інтернеті зараз важко знайти – а шкода!

Символічно, що із третього видання цієї книжки згадки про плати було викинуто.

Плати оновлення

Що у них так вражає? Зараз, зазвичай, засоби оновлення комп’ютера обмежені – відеокарту замінити, пам’яті додати чи диск більший встановити та й все. Разом із процесором доводиться оновлювати зразу і материнську плату та пам’ять. (Звичайно, винятки бувають). А тоді випускалися плати, які оновлювали процесор на два-три покоління – від 16-бітного 8088 без MMU до 32-бітного 386+ із сторінковою пам’яттю і апаратною віртуалізацією згаданого 88-го. В книзі таким апдейтам присвячено главу 16, але вирішив ними не обмежуватися, почитавши тогочасні журнали.

Intel Inboard 386

Найбільш вбивча, як на мене – Intel Inboard 386 (1987). Варіант Intel Inboard 386/PC дозволяв оригінальну IBM PC із 8088 процесором перетворити на машину із 386. На додачу, вона ще й містила слот для 387 співпроцесора. Могла мати свою пам’ять, 1 Мб, та обладнуватися дочірніми платами із 1Mb і більше RAM. Як дуже наголошується в тогочасній літературі, займала лише один ISA слот.

Оригінальний процесор потрібно було дістати і замість нього під’єднати шлейф від плати (інструкція тут), якщо був 8087 – його теж позбутися. Оскільки шина вводу-виводу, DMA тощо, залишалися 8-бітними, швидкодія була обмеженою – це не перетворювало XT-класу машину на повноцінну AT-класу з 386. Також,блок живлення вартувало оновити. Але, вона, по перше, дозволяло запускати програми, що потребували 386, по друге, швидкодія таки зростала – за даними із книги, в 4-7 раз. Із швидкодією сильно допомагала пам’ять на платі.

Існувала також Intel Inboard 386/AT, для оновлення 286-го, але через ціну, згідно слів автора, вона не окупалася – така плата була дорожчою за Intel Inboard 386/PC.

Intel Inboard 386/PC та CPU шлейф. Взято тут.
Intel Inboard 386/AT та CPU шлейф. Взято тут.
Оскільки із 387 були затримки, Intel також продавала адаптери для 287. Взято тут.
Продуктивність InBoard 386/AT згідно PC Mag. Вона навіть трохи обганяє 386 системи – ймовірно, через кеш і вищу частоту процесора на InBoard. Взято тут.
Дочірня плата (daughter board) із 1Мб. Взято тут. Що цікаво, розроблено сучасний варіант такої плати, для любителів: “Inboard 386/PC 2mb expansion CLONE” (фото тут).

Intel SnapIn

Intel SnapIn реалізовує інший підхід – в слот 286-системи вставляться плата із 386SX, із власним тактовим генератором, 16Кб SRAM кешу і підтримкою 287. Відео про цю плату розширення: “Intel “SnapIn 386” CPU Upgrade on a PS/2 Model 30 286!”, стаття про те, як виправляти її проблеми з Windows 3.0.

 
 
Intel SnapIn 80386SX-20, фото взято тут .

Інші оновлення до 386

Книга згадує також аналогічне розширення ALL 386SX від ALL Computers, Inc., але знайти про нього не вдалося нічого – у зв’язку із занадто тривіальною назвою.

Згідно журналів типу PC Mag, Byte тощо, такий апгрейтів існувало багато. Наприклад, в книзі не згадується аналог Inboard – Quad386XT, навіть візуально схожа, див. за посиланням, (PC Mag 12 Apr 1988, стор. 268).

Orchid Tiny Turbo 286

Згадаю дві плати, які доповнюють описані в книзі.

Orchid Tiny Turbo 286 (1989): вставляється в ISA слот, 8088 (єдиний, із яким працює) потрібно дістати, вставити в “дочірню” плату на шлейфі, а дочірню плату – в слот процесора. Завдяки цьому можна було переключатися між використанням процесора на платі та “рідного”. На відміну від перемикачів конфігурації, (типу, на якій частоті працює співпроцесор, яку пам’ять кешувати тощо), цей перемикач виведено назовні – зміна режиму не потребує розбирати комп’ютер, але, природно, перезавантажує систему. Інший конкурент, AST Hot Shot, вмів переключатися програмно, але подробиці довідатися не вдалося.

Підтримує 287. Обладнана власним кешем. Не підтримує кнопку Turbo. Інструкції є тут.

Orchid Tiny Turbo 286 із шлейфом. Взято тут.

Orchid PCTurbo 286e

Ідейно схожа на Tiny Turbo 286, але може виконувати код на обох процесорах – 286 і 8088 одночасно. Можна вказувати код, який буде виконуватися або на хостовому процесорі і на платі, або тільки на ній, конфігурування включає створення відповідних autoexec-файлів. В турбо-режимі копіює все необхідне в пам’ять акселератора і код виконує там, 8088 на платі служить лише для вводу-виводу. Не потребує маніпуляцій із “рідним” процесором. Обладнана своєю пам’яттю, 1Мб, допускає розширення до 2Мб.

Якщо вам цього мало, можна підключити до 4-х таких карт одночасно, отримавши 5-процесорну (чи 4-процесорну – подробиць поки не знаю) машину із звичайної IBM XT. Не любить EGA адаптери, але в цілому – доволі сумісна. Не підтримує DOS 5.0, як із новішими – не знаю. Інструкції знайти, на жаль, не вдалося, але трішки інформації є тут: 1, 2, фото коробки: 1, 2, огляд подібних акселераторів від PC Mag (1986-09-16, стор. 128-165, огляд детальний, але половина сторінок – реклама, окремо про цю плату – стор. 158).

Прискорення від цієї плати – в 2..9 раз, згідно PC Mag.

Orchid PCTurbo 286e з додатковою платою розширення пам’яті (XMS або EMS). Взято тут.

Orchid також випускав схожу плату із 186 процесором! Трішки подробиць тут: “Ever seen a 80186 accelerator board? I have now. (and so can you)”.

Список продуктів цієї компанії із описом, для деяких, як їх конфігурувати: “Orchid Technology”.

Make-It 486

Make-It 486 від Improve Technologies (IT), відносно нова (як для цього списку), 1991, на базі Cyrix Cx486SLC, дозволяла оновити 286 CPU до 486.

Improve Technologies Make-It 486. Взято тут.

All Charge Card

Повертаючись до книги, вартують згадки ще два пристрої.

All Charge Card від тієї ж ALL Computers. Це плата – MMU, яка, згідно книги та рекламних матеріалів тих часів, реалізовує функціонал MMU, наближений до 386. На жаль, подробиці не вдалося вияснити. Вона вставляється в слот процесора, а процесор – в неї. Опис див. “Computer craft”, July 1991, стор. 18 і далі. Там також описано кілька плат оновлення з 286 в 386. Трішки технічних подробиць є в першому виданні книги. Див. також відео використання: “RETRO The Weirdest CPU Upgrade: ALL Chargecard”.

All Charge Card. Взято тут.
Коробка від All Charge Card. Взято тут.

Фінал епохи

Здається, в 90-х від цього підходу залишилися хіба Overdrive процесори, типу Pentium OverDrive – Pentium, що міг працювати на платі 486-х, i487SX, який фактично був i486DX, що відключав головний i486SX – але перевіряв його присутність, та RapidCAD – 486DX разом із заглушкою для співпроцесора, призначений працювати на платах із 386 та 387. А далі ідея відмерла, принаймні на якийсь час – враховуючи, що часто вони повертаються на новому витку розвитку.

Додаток – пам’ять замість HDD

На завершення, в книзі описано дивний пристрій, єдину іншу згадку про який вдалося знайти в PC Mag 29 від Mar 1988, стор. 51, та ще нотатку, в іншому журналі, що компанія готує варіант для MAC. Мова про DartCard від Newer Technology – плату розширення пам’яті, яка монтується на місці HDD і за допомогою модулів пам’яті 4-, 16- або 16Мб може містити до 704 Мб в одному відсіку для HDD повного розміру. Їх ще й можна підключати в ланцюжок, до 2.8 Гб – в 1988 це буди фантастичні числа. Під’єднувалася вона інтерфейсом ATA, існували варіанти SCSI (для Маків) та ESDI для PS/2. За допомогою батареї могла бути non-volatile. Додатково, дозволяла системі бачити її як 15 Мб XMS або 8 Mb LIM EMS пам’яті. Ціна, щоправда: з 4Mb – $2595, додаткові 4Мб модулі $1395, 16Мб – $9995. 2.8 Гб трохи дорогі були б. Враховуючи, що NVDIMM є нащадками BBU (battery backed up) DIMM, можна вважати – і тут технологія зробила повне коло спіралі.

Додаткові посилання

  • Стаття: “CPU Upgrade Options” містить список, чим можна було оновити 88/86/286/386/486, включаючи як “тривіальну” заміну 8088/8086 на NEC V20, так і хитрі плати типу описаних вище.
  • Розділ Manuals на minuszerodegrees містить багато інструкцій до таких плат.
  • Стаття PC Mag “Accelerator boards: power for a price”, Charles Petzold (1986-09-16, стор. 128-165).
  • The Secret History of Microsoft Hardware, зокрема – описує Mach 10 Accelerator board для XT, із 8086 9.54MHz – на фоні плат вище, не вражає, та Mach 20 із 8-MHz 80286 CPU і слотом для 80287, кажуть навіть OS/2 можна було з її допомогою на XT запускати. Огляд Mach 10 від InfoWorld, 6 Oct. 1986, стор. 63-64.
  • Triton Turbo XT” – дивний клон XT, який називався апдейтом для TI-99, а фактично використовував його як клавіатуру.
  • “Accelerating your Tandy 1000s” – плати до успішних клонів PCjr.
    • “Tandy 3-in-1 expansion review for the 1000HX and EX”(https://dfarq.homeip.net/tandy-3-in-1-expansion-review-for-the-1000hx-and-ex/),
    • “Tandy 1000 and 1000SX upgrades”(https://dfarq.homeip.net/tandy-1000-and-1000sx-upgrades/)

Виноски

  1. В цьому пості я не пояснюю значення тих термінів із темних віків, хіба даю посилання на вікі. Або читайте саму книгу. :-) Опис дозволив би зануритися трохи в настрій тієї епохи, але це речі менш-більш загальновідомі, а щоб бути інформативним для не знайомих із контекстом, текст був би довгим.