Indrekis
Indrekis

Categories

  • retrocomputing
  • ibm_pc_compat

Tags

  • retrocomputing
  • IBM PC та сумісні
  • Amstrad PC1640

Попередні машини, про які тут писав1 – пафосні, їх мало хто міг собі дозволити. А зараз хотів би розповісти вам про значно більш скромний комп’ютер – entry level, як його називали в тогочасних оглядах – Amstrad PC16402.

Це перший мій нетривіальний “брендовий” ретрокомп’ютер3 – придбав його на початку 2014, і дуже давно планував про нього написати – але не дуже вмів. Останнім часом вже боюся, що він почне ревнувати – я все про інших пишу, та й зламається.

Фото з інструкції. Зауважте, картинка на екрані – плюс-мінус реалістична, хоч і трішки прикрашена.

Увага, багато фото, часто – технічно сумнівної якості!

Огляд

  • IBM XT-подібна машина, 1987 року.
  • 8086, 8 МГц – з 16-бітовою шиною.
    • Можна встановити NEC V30.
  • 640Кб RAM.
  • Сокет для 8087.
    • Встановлював його, працює добре, але чомусь всі мої 8087 та 80287 жахливо гріються – більше 75 градусів, тому зняв – щоб не пошкодило машину.
  • Два дисководи 5.25”, 360 Кб (так у версії Amstrad PC1640 DD/HD).
  • HDD – HardCard.
    • На жаль, диск ледве живий – лише іноді ‘‘заводиться’’, в такі моменти – має купу бедів і не працює одна з голівок.
    • Він на 30 Мб (WD93038-X), реклама вказує – такі теж бували.
    • Тому використовую XT-IDE.
  • Блок живлення – в моніторі…
    • Це дозволило не ставити в системний блок вентилятор.
    • Хоча, EGA монітор таки має вентилятор.
    • Кажуть, були якісь конфлікти, забобони абощо, що ці комп’ютери перегрівалися, які не відповідали істині.
  • Мій монітор – EGA (PC-ECD),
    • До 640x350, 16 із 64 кольорів.
      • Підтримуються 320 x 200, 4 кольори з трьох палітр та монохромний 640 x 200.
    • Існують також варіанти з MDA або CGA-монітором. Відеокарта сумісна з Hercules і Plantronics.
    • Вбудована відеокарта – варіант Paradise PEGA1A.
      • Ця карта сама визначає, який монітор, згідно того обирає режим.
    • 128 Кб відеопам’яті.
    • Можна відключити вбудовану відеокарту і підключити зовнішню, аж по VGA (8-бітову), чи й PGC. Але, при цьому, монітор все ще має бути приєднаним – як блок живлення…
    • Підключав до монітору інші комп’ютери з EGA чи CGA відеокартами, але кажуть, щоб монітор працював, він має бути ввімкнений в комп’ютер.
  • Чотири 8-бітові ISA-слоти, але доступні ззовні лише три. Місця більш-менш достатньо.
    • Системний блок ззаду має кришку, яку легко зняти, там ISA-слоти та “ліжечко” для 8087.
  • RTC.
    • В ролі батареї – чотири AA-батарейки. Сучасні акумулятори, з їх нижчою напругою, не любить.
  • Клавіатура та мишка – нестандартні, кожна зі своїм роз’ємом.
    • Але можна підключити звичайну мишку, тільки COM-порт – DP25, використовую адаптер з меншого, DP9.
    • Для клавіатури буде потрібен конвертер.
    • Вона обладнана роз’ємом для джойстика – менш-більш стандартного Atari joystick port.
  • PC-спікер, з зовнішньою ручкою керування гучністю.
    • Чи не єдиний такий в дикій природі. Tandy 1400LT має схожий, але під батареєю – явно не для регулярного використання.
  • Порти: RS232c (COM, DB25) та LPT (Centronics), також – для світлового пера.
  • Вага системного блоку – 6 кг, клавіатури 1.2 кг, монітору – 11.5 кг.
  • Ціна:
    • Реклама в PC Mag, 22 грудня 1987, стор. 195, вказує ціни $900-$1900, але без деталізації.
    • Оглядова стаття в InfoWorld, 23 листопада 1987, стор. 61-66, наводить ціну $1899 для конфігурації EGA + 20Mb HDD + 1 FDD, в доларах 2023 це $5,094; CGA, 2 FDD, 20Mb HDD – $1699, $4557 на 2023, з врахуванням інфляції.
    • Також трапилося, в сучасному джерелі: PC1640 HD40, з 40 MB HDD та ECD – £1099 в 1987, що відповідає £3042 або $3866 в 2023. Це суттєво менше. Оскільки автор не наводить джерел, перевірити точність важко.
    • Якщо британська ціна таки правдива, ймовірно, американські дорожчі через потребу імпортувати їх абощо.

З ним також йде дуже гарна інструкція користувача. Маю її лише німецькою, на жаль. Також, можна було замовити технічні інструкції та існує інструкція з ремонту – зі купою схем та подробиць, як розбирати-збирати. Хороші часи, в деяких аспектах.

Моя німецька інструкція користувача.
Сторінки німецької інструкції. Книжка доволі товстенька. Клікабельно.
Хардкарта - 1. Доволі масивна, і близька до максимальної довжини ISA-карт. Клікабельно.
Хардкарта - 2. Клікабельно.
Диск на хардкарті.
“Беди” диску з хардкарти – характерний патерн вказує, що не функціонує одна з головок (хоча, виясняв це за допомогою Spinrite). Вибачте за якість фото – відтворити його важко.

Щодо використання XT-IDE – розповідав байку: “Три роки підряд, кожного червня, вмикаю комп’ютер із нею – плати немає. Першого разу виник обрив між Data3 піном ISA та EEPROM. Візуально дефектів не вдалося знайти, припаяв перемичку. Другого – те ж із Data7, потім – ще одного, зараз перемичок три. Ретельно промив спиртом, в надії позбутися залишків агресивного флюсу, то поки нових збоїв не було.”

Виявив проблему, шукаючи BIOS карти у відповідній ділянці ROM, і зауважив, що він там присутній, лише один біт кожного байту не той.

Досвід експлуатації

Якось всі попередні комп’ютери, крім Пошука, були монохромні. Тут ‘‘рідний’’ монітор кольоровий.

Софт, що постачався з комп’ютером

Постачався з MS-DOS 3.2, дуже цікавим варіантом GEM 2.0 – запускається з флопіків (?!!) та Locomotive BASIC2 1.21 на його базі – з дуже гарною демкою! Також, кажуть, існував варіант Digital Research DOS Plus, але поки я знайшов його лише у трохи старішому варіанті, для PC1512.

Якщо кнопки мишки не працюють, не дивуйтеся – вона нестандартна, їх натискання поводиться як натискання клавіші з певними сканкодами, потрібен “рідний” KEYB.COM чи KEYBUK.COM.

Утиліта NVR.EXE – setup, вона тут теж зовнішня. Не конфігурує HDD.

Образи оригінальних дисків, окремо файли з них, а також, DOS Plus, викладаю тут. (Хоча, вони доступні багато де). На жаль, DOS plus працює тільки без XT-IDE.

В Інтернеті образи дисків часто є в архіві, з файлом з розширенням .CFI, наприклад, 46001.CFI та утилітою FDCOPY.COM. Оскільки вкотре забуваю, вирішив занотувати: розархівовую з-під DOSBOX, змонтувавши образ диску за допомогою IMGMOUNT: imgmount a <path_to_img>, а потім записую за допомогою fdcopy 46001.CFI a: /F, де /F вказує форматувати диск.

Оригінальні дискетки з комплекту. Кольорові. На жаль, під час читання окремі байти помилкові, хоча дисковід про помилки не повідомляє. Зразу ще одна не використана наклеєчка для заборони від запису.
Запуск GEM з дискет. Відео тільки для емулятора -- але я пробував це і на реальному залізі (та досі під враженням)! Показано запуск процедуру GEM із заміною дискет, запуск Locomotive BASIC2 та виконання його демо, калькулятор, виконання досівських утиліт з-під GEM та його Paint.
Робочий стіл GEM (2.0, 24 квітня 1986). Хоче дискету в A: для запуску, (хоча вміст gem3.bat я виправив – там була згадана A:), ймовірно – щоб показати її вміст. Чомусь не показує диск B:. Кожен раз дещо незвично з Gem – навіть дуже типові шоткати, типу Enter чи Esc в діалогових вікнах не завжди працюють. Як же воно мерехтить…
Кольорова палітра BASIC2 (1.21, 8 квітня 1987) для GEM.
Палітра заповнень.
Фото з демонстрації BASIC2 на залізі, більш повно показаної в емуляторі на відео вище. Хоча сфотографовано днем, кольори досить насичені.
Залишив на 20 хв племінника за цим комп’ютером :-). Paint з GEM.
Монітор доволі гарний, навіть під прямим Сонцем, але, все ж, на голову тяжкий – мерехтить відчутно.
Запуск DR DOS Plus 1.2.
Список файлів DR DOS Plus 1.2.

UMB

Область пам’яті EGA: A0000 .. AFFFF – можна використовувати, поки немає графіки (128 Кб). Однак, DOSMAX не запрацював, (версія 1.7, з підтримкою 8086), також не запрацював SHELLMAX.COM жодної з версій, як вдалося на Tandy 1400LT. LastByte зависає, включаючи ті, що працюють на Tandy 1400LT.

Use!umbs.sys 2.1 трішки працює, однак:

  • Якщо взяти адресу, меншу, ніж A100 – висне mem (мовчки).
  • Якщо меншу, ніж AA00 – зависне, з яскравими літерами на екрані, після завершення великих програм.
  • AA00-B7FF працює нормально.
DOS = UMB
....................
DEVICE = c:\use!umbs.sys A000-AFFF

Але KEYRUS в UMB не влазиться – або висне, “кольорово”, якщо верхня межа B7FF, або не запускається, кажучи, що недостатньо пам’яті, якщо AFFF. Ймовірно, як можна собі дозволити під DOS, пише у вищі за себе адреси.

CGA-ігри працюють, але лише в емуляторі – на жаль, на реальному залізі висне. DOSKEY.COM висне, хоча, ймовірно, висне будь-який другий запущений процес.

Згідно LastByte, швидкодія такої пам’яті: 0.4 Мб/с, на противагу 1.2 Мб/с основної RAM та 0.9 для пам’яті AST Rampage.

LastPage, якраз перед тим, як зависнути.
Вивід DosMax.

Як би там не було, це все – трохи збочення, і займатися таким можна тільки від біди. Або якщо дуже вже нудно.

AST

Детальніше про мій досвід з цією платою на Amstrad 1640 – в іншому пості. Але всі тести і приклади нижче – з її використанням, тобто, з 512 Кб EMS.

XT-IDE

XT-IDE теж описував окремо, тому тут лише кілька нотаток стосовно використання в Amstrad 1640:

  • Зараз встановлено мікросхему AT28C256, 32 Кб.
    • Для неї xtidecfg.com підтримує сторінки 1-64 байти.
    • Час від часу відбуваються збої під час спроби запису, тоді потрібно повторити. З 32-байтовими сторінками кількість помилок була найменшою, хоча ретельно не досліджував.
  • Випробовував і ide_xt.bin i ide_xtl.bin – особливої різниці, окрім меню, не зауважив.
    • Краще брати новіші версії. Версія від 2013 року, яка йшла з платою, працює погано.
  • Контролер – XTIDE r1. Ні ‘‘XTIDE r2 or modded r1’’ ні різні ‘‘XT-CF PIO8’’ не запрацювали з моєю платою.
  • Для підтримки Turbo Basic вибрав “Full operating mode”, що ‘‘відкусило’’ 1Кб RAM з 640Кб.
    • Але Turbo Basic все рівно виснутиме під час спроби прочитати файл абощо, якщо використовувати DOS 6.22. Під DOS 3.31 чи ‘‘рідними’’ 3.20, разом з “Full operating mode” – працює.
  • Запорота прошивка потребуватиме завантажитися з дискети і перезаписати.
    • А ось зовсім невірно сконфігурована, наприклад, нульовий порт для контролера HDD – потребуватиме фізично дістати мікросхему і, як мінімум, стерти її, оскільки комп’ютер перестане завантажуватися.
  • Документація тут.
Приклад конфігурування XT-IDE.

Мережа

Використав сучасну 8-бітову ISA карту, таку як тут. Особливих нюансів з нею не було, єдине, що дуже важливо – використати пропатчений драйвер NE2000, сумісний з 8-бітовими картами, доступний, наприклад, тут. MTCP працює успішно (сподіваюся, напишу про цей пакет окремо).

FTP-сервер з mTCP, роблю резервну копію дисків. Можливість використати UMB – одна з новинок, яких ще кілька років тому не було.

MS Windows

Також, там запускається Windows 1.xx, 2.xx та 3.00, і під останнім – навіть MS Word.

Використання Windows 3.0 в емуляторі -- запуск Excel, Word. Тут видно, хоча й не так відчуваються, як за комп'ютером, затримки. По рядку Word скролить повільніше, ніж я читаю...
З-під Windows у реальному режимі можна запустити копію Windows. І він про це знатиме! Бо програму DOS запускати відмовляється, як і ще одну свою копію …

На жаль, кращим драйвером, який можна використати для Windows 3.0 – CGA, в монохромному 640x200 режимі. Щоб отримати кольорові режими, потрібно замінити 8086 на V30, або пропатчити драйвер. Можливо, колись я, або хтось інший, це зробить…

Сканлайни EGA (в CGA-режимі).

А ось драйвер мишки Amstrad вдалося знайти – і він працює! Єдине, якщо одночасно підключена і COM-мишка, Windows підхоплює її, та ігнорує мишку Amstrad – хоча драйвер бачить правильний.

Драйвер пропрієтарної мишки. В емуляторі працює, спробував на залізі – драйвер є, але не працює. Від’єднав COM-мишку – не працює. Думаю – знову розбіжність… Але на завершення – поправив роз’єм, ожило! Комп’ютери – теж наука про контакти.
Доступна Windows пам’ять, зокрема, EMS – із наявних 512 Кб.
Windows 2.03. Paint все ще чорно-білий, але сам Windows цілком кольоровий. :-)
Windows 1.04. Разом з павучком – для масштабу.
Paint з Windows 1.04.

Linux

8086 не має MMU, однак, певні чудеса все рівно можливі.

Можна запустити Linux – хай і у варіанті ELKS. Використав 0.7.0, 360 Кб FAT образ.
На жаль, поводиться дивно – записав диск, завантажилося, наступні раз виводить ELKS.3! і готове перевантажитися. Не допомагає ні перевантаження, ні вимикання живлення. Якщо спробувати з іншої дискетки завантажитися, після знову раз завантажиться. Спроба завантажитися з FDD, без диску, не допомагає. Не розумію, як це може бути…
Лістинг ‘‘рідної’’ кореневої директорії ELKS.
Монтування диску DOS. На жаль, бачить лише перший розділ – інші не зміг змонтувати. Підтримує також мережу, однак, на 360 Кб дискетку відповідні утиліти не помстилися, то поки не досліджував детальніше.

Офісні пакети

Для цього комп’ютера є цікавий текстовий процесор від виробника: Locoscript PC 1.06. Як і GEM, вантажитися з 360 Кб FDD.
База даних з Locoscript PC.
Налаштування шрифтів в MS Word for Windows 1.0 (November 25, 1989).
Microsoft Excel for Windows 2.1, 1987.
Налаштування шрифтів в MS Word for Windows 1.0 (November 25, 1989).

Розробка

Компіляція прикладу – простої електронної таблиці, з Turbo C (2.0, 1988). Окрім налаштування проекту – шляхів до інклудів та бібліотек, довелося ще обрати Small-модель, в Tiny – скаржиться, що завеликий DGROUPS.
Turbo Basic 1.1, 1987. На жаль, окрім конфігурування XT IDE, про яке вище, не працює під DOS 6.20, але запускається нормально під DOS 3.31.
Приклад демонстрації віконної бібліотеки, код якої видно на попередньому зображенні.
Куди ж без “Hello World!”. На жаль, не зміг нормально сфотографувати IDE – воно помітно гарніше, ніж виходить на фото.
Turbo Pascal 5.5, 1989.
Quick Basic від Microsoft (4.50, 1988). Білі літери важко фотографуються… Але очима видно добре, та й доволі гарно виглядає.
Компілювати QBasic 4.50 вміє, але – тільки так. При цьому, воно питає, чи зберегти всі файли – навіть якщо нічого не змінювалося, і якщо не сказати Yes – не компілює.
Quick C (2.00, 1989) з середовища для компіляції не виходить, але вивід компілятора та інших інструментів все ще потрапляє на екран. В цілому, тогочасні інструменти від Borland акуратніші, якісніші та (для мене) зручніші.

Файлові менеджери

DOS Navigator 1.39 – останній, який в мене погоджується працювати на XT-сумісних машинах.
DOS Navigator в режимі EGA/VGA (43/50 рядків) – я спочатку порахував, і не повірив, що їх 43…
Volkov Commander 4.01 (1996).
DOS Shell, 1993.
PC Shell v6, з PC Tools, 1990.
File Manager Windows, 1990. Можна сказати – родич DOS Shell.

Також, вище був своєрідний файловий менеджер GEM.

Ігри

Ігор, звичайно, можна запускати багато – я спробував лише кілька.

Ще один сучасний софт, який тоді не було шансу запустити – Wolfenstein 3D для 8086 та CGA, WolfensteinCGA. А ось DOOM8088 поки не запустився, ні на залізі, ні в емуляторі.
Paratrooper, 1982 (як він сам повідомляє). Гра трохи не тієї епохи, та й фотографуватися ну ніяк не хоче – розмиваються рухомі об’єкти. Але, граючи її ще в середині 90-х, думав про наше ППО і російських агресорів.
Arcanoid, інша гра з якої я починав та купу часу витратив, але, на жаль, до кінця так і не пройшов – збереження не передбачено, а зараз я вже точно не готовий… Згідно вікі,1986 рік, файл має дату 1987, а сама програма не повідомляє нічого і не містить текстових стрічок, видимих оку. Час від часу зависає на цьом комп’ютері – на “Пошуку” такого не зустрічав в юності.
Netwars 2.06, 1993. 3D, хай і wireframe, з підтримою мережі (IPX, поки не пробував).
Netwars, ігровий процес, об’єкт на передньому плані розмило фотоапаратом.

Швидкодія

Детальніше про швидкодію цього комп’ютера писав у відповідній главі про “Пошук-1”, тому тут лише фото тестів, з використанням Checkit 4.1.

Швидкодія процесора – видно виграш і від тактової частоти, і від 16-бітової шини.
Швидкодія відео.
Швидкодія емульованого HDD – чомусь ті XT IDE дуже повільні…

Додаткові фото

Загальний вигляд і дисковід.
DOS Navigator 1.30.
Конфігурація від CheckIt 4.1.
Ще іконки зблизька.

Низькорівневі особливості

Виглядає, що моїх улюблених розширень BIOS від виробників небагато. Може їх трохи більше та варто пошукати ще в документації, на жаль, вона не розділяє “стандартні” і “нестандартні”, однак знайшов хіба кілька команд для int 15h, “Enhanced Function Interrupt”.

  • AH=04 – читання та очищення X та Y лічильників мишки (X => CX, Y => DX, CF=0). Цікаво, що повертає результат лише коли два послідовних читання регістрів лічильників дали однаковий результат.
  • AH=1: запис в CMOS (NVRAM).
    • AL – адреса комірки, 0-63.
    • BL – дані для запису.
    • Результат:
    • CF == 0,
    • AH == 0: успіх,
    • AH == 1: невірна адреса,
    • AH == 2: помилка запису.
  • AH=1: читання з CMOS (NVRAM).
    • AL – адреса комірки, 0-63.
    • Результат:
    • CF == 0,
    • AH == 0: успіх,
    • AH == 1: невірна адреса,
    • AH == 2: невірна контрольна сума.
    • AL – прочитаний байт.
  • AH=6: версія BIOS (ROS – ROM Operation System, як BIOS називав виробник):
    • BH – старша частина версії,
    • BL – молодша.
Видно, що версія BIOS 3.1.

Додатково можна згадати:

NMU (int 02) використовується повідомляти про помилки парності (Parity Error).

Int 06h займається трансляцією кнопок мишки у коди клавіш – “Mouse Button Control”, викликається перериванням клавіатури (int 09h).

5-й біт порта 37A, “Printer Control Latch”, дозволяє відрізнити 1640 від 1512 – див. інструкцію.

Вміст CMOS (як її називає в документації, NVRAM) – властивості таймера зберігає де й в інших IBM PC XT, а в іншому, виглядає зовсім не схожим (“2.5 Non-Volatile RAM (NVR)”), згідно інформації тут. Зокрема, там є інформація про коди для кнопок мишки та джойстика, які налаштовуються NVR.EXE. (Див. також int 06h). Цікаво, що значення 0xFFFF вказують ігнорувати такі натискання.

Див. також таблицю тут.

Для читання-запису CMOS можна використати також 0x70-0x71 порти, хоча документація називає їх 146818 RTC регістрами.

Карта пам’яті

Адреси Розмір Опис
00000 - 9FFFF 640 Кб Основна RAM5
A0000 - BFFFF 128 Кб Відеопам’ять
C0000 - C1FFF 8 Кб ROM BIOS відеокарти6
C2000 - C3FFF 8 Кб Таблиця режимів і шрифти відеокарти6
C4000 - C7FFF 16 Кб Шрифти датської, португальської, грецької мов 7
C8000 - C9FFF 8 Кб ROM BIOS “рідного” HDD
CA000 - EFFFF 152 Кб ROM BIOS сторонніх адаптерів
F0000 - FBFFF 16 Кб Системний ROM BIOS8
FC000 - FFFFF 48 Кб Три копії ROM BIOS9

Мусив з нею розбиратися, коли XT-IDE ремонтував, то хай тут буде. :=)

Тут описано цікаву табличку за адресою FC00:0000 – локалізовані повідомлення та всілякі точки входу.

Наприклад, далекий виклик FC00:2838 – пищати, задавши частоту в BX і тривалість в CX. Також – функції виводу системних повідомлень.

Підсумок

Цікава машинка! З одного боку, нічим особливо не примітна й у свій час, з іншого – значно більш доступна, ніж Compaq Portable абощо. В умовного німецького підлітка в 1988 році цілком могла бути мрія мати такий комп’ютер. Та й мене, в 1995-1998 вона б порадувала, після Пошука-1 і зараз вважаю однією з улюблених в своїй колекції.

Посилання

Виноски

  1. Osborne Executive, Tandy 1400LT, Compaq portable III та 386

  2. В США відомий як PC6400. Його попередник, теж доволі відомий – PC1512. 

  3. До того були ще пара ноутбуків початку 90-х та AST Power Premium 4/25s – машинки симпатичні, але вже помітно більш однорідні, ніж XT-клони середини 80-х. 

  4. Через помилку в якорях цієї сторінки, даю посилання на найближчий тематичний заголовок. 

  5. 00000 - 003FF – таблиця переривань, 00400 - 00500 – змінні BIOS. 

  6. Вимикається джампером sw10.  2

  7. Вимикається джампером sw9. 

  8. Називається цікаво – Resident Operating System (ROS) firmware. 

  9. Так виходить, оскільки для системного BIOS використовується часткове декодування