Предисловие
Знакомство с компьютером каждый из нас начинал по своему и в разное время. Кто-то помнит ДВК, «Искры» и «Агаты», а кто-то сразу сел за IBM PC под Win 9x. Довольно часто попадаются ностальгические статьи, читать которые всегда интересно, ибо написанное сравниваешь с личным опытом и вспоминаешь, как было у тебя.
А вот у меня было так:
Yamaha КУВТ2 — ученическое место
Такие «рабочие станции» — Yamaha YIS503III, в середине-конце 90х были в нашем школьном компьютерном классе. Их было 9 штук + учительский компьютер и матричный принтер. Всё это дело соединялось локальной сетью с топологией «шина» Монитор у ученических машин был в 256 оттенках зеленого
Монохромный ученический дисплей
Учительский компьютер был «покруче» — YIS805/128. Монитор у него был цветным и имелись два 3,5" «флопаря» под дискеты емкостью 720 Кб. HDD у этого компьютера не было, зато были два слота под картриджи.
Внешний вид учительского десктопа не уступал тогдашнему IBM PC (конец 80х)
Сердцем обеих машин был 8-разрядный Zilog Z80A, о чем кстати я до последнего времени не знал, считая что спектрумовский процессор прошел мимо меня.
Экран загрузки учительской машины
Что касается ПО, то традиционно для 8-биток того времени, в ПЗУ был зашит интерпретатор Basic, специально портированный майкрософтом для машин стандарта MSX. Были и ОС — CP/M, с которой мне не довелось столкнуться и MSX-DOS. На дискетах имелся так же компилятор Pascal.
В десятом классе у нас началась информатика. Дорвавшись до этих компьютеров, я последние два школьных года постоянно, что называется «ошивался» в их окресностях. Хочется сказать спасибо нашему учителю информатики, Тынянскому В. В., который всячески поощерял нашу тягу к изучению вычислительной техники и каждую неделю проводил во внеурочное время, на общественных началах, факультативные занятия. Там я освоил бейсик и DOS, а потом, единственный из нашего выпуска начал программировать на паскале. Паскаль требовал загрузки DOS с дискеты, и с дискеты же запускалась и примитивная IDE, так что со временем я окуппировал учительскую машину — так было проще, ведь нубские завешивания системы были тогда не редкостью.
Интернет тогда не было практически ни у кого. ПК в классическом смысле был только у одного нашего одноклассника (с Windows 95!!! Да, это было круто!!!), о машинах с тактовой частотой в 1000 МГц говорили тогда как о призрачной легенде… ДА, в общем были старые, добрые времена.
На фото хорошо видна клавиатура этих компьютеров. Обратили внимание на английскую раскладку? В универе, сидя за Robotron'ом с привычной нам раскладкой я долго не мог переучиться…
К чему это я всё? Да к тому, что на ностальгические мотивы меня сбила случайная находка — эмулятор этого чуда под названием OpenMSX. Сердце защимило и два вечера я провел за установкой/настройкой/освоением. Что я предлагаю? Предлагаю установить всё это вместе и посмотреть, как оно было, в те далекие и безвозвратно ушедшие времена КУВТ
1. Устанавливаем и запускаем OpenMSX
Преимуществом именно этого эмулятора можно назвать его кроссплатформенность. На официальном сайте есть дистрибутивы для всех популярных ОС. Я, как убежденный линуксоид, буду рассказывать об установке применительно к Linux, а точнее Arch Linux, в пользовательском репозитории AUR которого, есть PKGBUILD'ы соответствующих пакетов.
Про сборку ПО PKGBUILD'ами подробно писать не буду — арчевод сам знает, для убунтовода или поклонника федоры это всё равно не актуально. Скажу лишь, что нужет сам openmsx, и порекомендую фронтэнд к нему под кричащим названием «катапульта» — openmsx-catapult. Хоть консоль и Ъру, но для удобства погружения в ностальгию самое то воспользоваться окошками и кнопочкам.
Итак, мы собрали и установили необходимые нам пакеты, что дальше? Дальше нам надо правильно указать эмулятору конфигурацию эмулируемой аппаратной платформы — меня интересовала Yamaha YIS805/128. Из коробки её модели нет в эмуляторе, поэтому идем по ссылке, где расположен настоящий клад для MSX-фагов. Качаем systemroms.zip. Распаковываем архив:
$ unzip systemroms.zip
И копируем содержимое в каталог ресурсов эмулятора:
# cp -rv systemroms/* /usr/share/openmsx/systemroms/
Запускаем «катапульту»:
$ catapult
Она спросит нас о местонахождении бинарников эмулятора и каталогов с ресурсами:
Убедившись, что все верно, жмем ОК. Программа проверит указанные пути и составит список доступных конфигураций виртуального железа:
И покажет нам окно запуска эмулятора. В выпадающем списке «MSX type» я выбрал вожделенный YIS805/128:
Жмем Start, и…
Старые добрые времена возвращаются из небытия...
Появляется экран загрузки MSX, и сразу за ним — приглашение интерпретатора MSX Basic v 2.1
И, да, можно тряхнуть стариной и написать Hello World:
Текст можно вбивать прямо в эмуляторе, а можно копипастить через соответствующую вкладку «катапульты»:
И после клика на «Type» текст появится в окне эмулятора, нажатием F5 его можно запустить на исполнение:
Скриншоты делаем на вкладке Video Controls, нажатием кнопки Grab:
По умолчанию они сохраняются по пути ~/$USER/.openMSX/screenshots/. По идее путь можно поменять, но у меня это от чего-то не работает, скрины сохраняются только по дефолтным настройкам.
Итак, у нас есть работающая «ямаха», посмотрим теперь, что она умела
2. Загружаем CP/M
Образа диска c этой ОС (моей ровесницей!!!) не оказалось на ftp-сревере, указанном по ссылке выше, зато нашелся по ссылке, полученной из обсуждения на sourceforge. После распаковки в архиве обнаружились образы дисков: SYSTEM.DSK — загрузочная дискета CP/M и PROG.DSK — видимо какой-то дополнительный софт. «Вставляем» оба диска в виртуальные «флопари» — загрузочный в дисковод A. Чтобы загрузка состоялось, методом тыка эмулятору было указано подключить расширение Panasonic FS-CA1:
И жмем старт. Появляются сообщения загрузчика:
Процесс загрузки CP/M
А вслед за ними и приглашение командной строки CP/M. CP/M похожа на DOS, я с ней не знаком, но команда dir работает.
Содержимое дистрибутива
Что делать далее не знаю — не настолько олдфажный я олдфаг, чтобы помнить CP/M
3. Загружаем MSX-DOS 2.2
С DOS дела попроще — архив с дискетами лежит всё там же. Качаем его, распаковываем и выбираем образ MSXDOS2T.DSK. В настройках эмулятора ставим использовать раcширение msxdos2
После загрузки видим привычную DOS-консоль
MSX-DOS понимал досовский dir и *nix-вый ls — в школе я об этом не знал
В каталоге A:\tools этого старинного доса нашлись некоторые утилиты, привычные для unix: ls, grep, tail и некоторые другие:
В общем, с операционными системами всё ок. А что же с прикладным софтом?
4. Запуск прикладного софта: средства разработки
Нашелся и компилятор Turbo Pascal 3.0, очень похожий на тот, что я изучал тогда. Только вот находился он в некоем странном архиве с расширением *.lzh, которое после недолгого гугления идентифицировалось как LHA-архив, для которого в AUR есть соответствующий пакет. Ставим его распаковываем архив:
$ lha e turbo.lzh
На выходе имея:
-rw-r--r-- 1 maisvendoo users 768 апр 29 2023 cmdlin.pas
-rw-r--r-- 1 maisvendoo users 5504 апр 29 2023 lister.pas
-rw-r--r-- 1 maisvendoo users 11776 апр 29 2023 mcdemo.mcs
-rw-r--r-- 1 maisvendoo users 4608 апр 29 2023 mc.hlp
-rw-r--r-- 1 maisvendoo users 896 апр 29 2023 mc-mod00.inc
-rw-r--r-- 1 maisvendoo users 1664 апр 29 2023 mc-mod01.inc
-rw-r--r-- 1 maisvendoo users 3200 апр 29 2023 mc-mod02.inc
-rw-r--r-- 1 maisvendoo users 4480 апр 29 2023 mc-mod03.inc
-rw-r--r-- 1 maisvendoo users 8832 апр 29 2023 mc-mod04.inc
-rw-r--r-- 1 maisvendoo users 11136 апр 29 2023 mc-mod05.inc
-rw-r--r-- 1 maisvendoo users 6272 апр 29 2023 mc.pas
-rw-r--r-- 1 maisvendoo users 11776 апр 29 2023 nswp.com
-rw-r--r-- 1 maisvendoo users 6784 апр 29 2023 read.me
-rw-r--r-- 1 maisvendoo users 25472 апр 29 2023 tinst.com
-rw-r--r-- 1 maisvendoo users 4480 апр 29 2023 tinst.dta
-rw-r--r-- 1 maisvendoo users 3968 апр 29 2023 tinst.msg
-rw-r--r-- 1 maisvendoo users 30848 апр 29 2023 turbo.com
-rw-r--r-- 1 maisvendoo users 68188 мар 2 21:28 turbo.lzh
-rw-r--r-- 1 maisvendoo users 1536 апр 29 2023 turbo.msg
-rw-r--r-- 1 maisvendoo users 1152 апр 29 2023 turbo.ovr
М-де, похоже на то, что нам нужно. Теперь вопрос — а как это запихнуть в эмулятор?
Есть два пути. Первый — создать образ дискеты, о чем повествует соответствующий раздел документации. Там много вкусных вещей, но мы пойдем другим, более простым и быстрым путем. Создадим каталог и распакуем архив в него
$ mkdir -p ~/msx/tp
$ cd ~/msx/tp
$ lha e ~/install/openmsx/turbo.lzh
Туда же поместим и содержимое архива turbo_lib3.zip — дополнительные модули.
Теперь укажем наш каталог в качестве диска B.
Посмотрим, что вышло. Вышло отличною:
Каталог хостовой системы как диск «ямахи»
Запускаем паскаль:
B> cd tp
B> turbo
И… меня ждало разочарование. Запущенная среда сурово глючила, плевалась кракозябрами и висла. Поиски привели к разным версиям Turbo Pascal для DOS и CP/M, но ни одну из них пока не удалось привести к общему знаменателю. Что ж, оставлю это на потом, может пытливый читатель имеет в этом вопросе больший опыт.
4. Запуск прикладного софта: игры
Ну куда же без них. На MSX выходило масса игр, как разрабатываемых для него, так и портируемых с других платформ. Играми я всегда интересовался мало, но одна игрушка меня всё же зацепила, тогда, 15 лет назад, да так, что я с интересом прошел её до конца.
Название до сего дня я не помнил, а сюжет: летаем на вертолете, освобождаем пленных из бараков, попутно убивая врагов. И в названии было что-то похожее на Coper… В архивах барахла для MSX я её нашел. Называется она «Coplifter». Игра запакована архивом LHA, помещаем её в нашу папку-диск и распаковываем. Внутри будет два бинарника и «скрипт» на бейсике choplift.bas, для запуска игры
A>B:
B>cd games
B>basic choplift.bas
Запускается интерпретатор Basic, а вслед за ним — игра:
Обнадеживающее начало...
… она самая и есть — Choplifter!!!
Эмулятор «кушает» и ROM-ы с играми, коих, по уже многократно данной ссылке завались. Много ромов гуглится — тот же вертолетик я сначала запустил с рома, а уж потом разобрался с архивом и с запуском из-под дос.
Вместо эпилога
Возможно статья получилась больше эмоциональной чем практической. Свидание с детством, оно такое. Нерешенных вопросов по работе с эмулятором масса — тот же паскаль теперь не дает мне покоя. Но это дело не одного дня при наличии свободного времени.
Где-то в начале 2000-х, уже после окончания мной школы, в компьютерный класс закупили IBM PC на «пнях» с Windows 98 SE на борту. «Ямахи» отдали в школу какой-то деревеньки близ нашего райцентра. С ними уехали и дискеты с моим творчеством — квест про полет на Марс, «Морской бой», простецкая СУБД, написанная на паскале… Дорого бы я дал сейчас за живые дискеты со своими САМЫМИ ПЕРВЫМИ программами.
P. S.:
Покопавшись в эмуляторе и погуглив таки нашел нормальный паскаль.
Только вот на YIS-805/128 дос хоть убейся при загрузке включает режим 40х25, в котором строчки редактора наезжают друг на друга.
MSX Turbo R грузит дос в режиме 80x25 и выглядит всё кошерно
То, что мы увидим после запуска
Редактор текста. Такая вот была IDE, а вы всё эклипс, да силион...
Компиляция в COM файл — данность для 8-разрядных машин, процессору доступно 64 Кб
Компиляция в память и исполнение
Но всё же хотелось бы работы в нормальном режиме на КУВТ, для сохранения ностальгического настроя. Наверное это не последняя статья об OpenMSX…