Ностальгия по КУВТ: запускаем эмулятор MSX под Linux

в 20:39, , рубрики: MSX, Демосцена, Железо, История ИТ, Настольные компьютеры, ностальгия, Софт, старые компьютеры, эмуляторы, метки: ,

Предисловие

Знакомство с компьютером каждый из нас начинал по своему и в разное время. Кто-то помнит ДВК, «Искры» и «Агаты», а кто-то сразу сел за IBM PC под Win 9x. Довольно часто попадаются ностальгические статьи, читать которые всегда интересно, ибо написанное сравниваешь с личным опытом и вспоминаешь, как было у тебя.

А вот у меня было так

Yamaha КУВТ2 — учиническое место
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 1

Такие «рабочие станции» — Yamaha YIS503III, в середине-конце 90х были в нашем школьном компьютерном классе. Их было 9 штук + учительский компьютер и матричный принтер. Всё это дело соединялось локальной сетью с топологией «шина» Монитор у ученических машин был в 256 оттенках зеленого

Монохромный ученический дисплей
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 2

Учительский компьютер был «покруче» — YIS805/128. Монитор у него был цветным и имелись два 3,5" «флопаря» под дискеты емкостью 720 Кб. HDD у этого компьютера не было, зато были два слота под картриджи.

Внешний вид учительского десктопа не уступал тогдашнему IBM PC (конец 80х)
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 3

Сердцем обеих машин был 8-разрядный Zilog Z80A, о чем кстати я до последнего времени не знал, считая что спектрумовский процессор прошел мимо меня.

Экран загрузки учительской машины
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 4

Что касается ПО, то традиционно для 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 под Linux - 5
убедившись что все верно, жмем ОК. Программа проверит указанные пути и составит список доступных конфигураций виртуального железа
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 6
и покажет нам окно запуска эмулятора. В выпадающем списке «MSX type» я выбрал вожделенный YIS805/128
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 7

Жмем Start, и…

Старые добрые времена возвращаются из небытия...
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 8

появляется экран загрузки MSX, и сразу за ним — приглашение интерпретатора MSX Basic v 2.1

Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 9

И, да, можно тряхнуть стариной и написать Hello World.

Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 10

Текст можно вбивать прямо в эмуляторе, а можно копипастить через соответствующую вкладку «катапульты»
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 11

и, после клика на «Type» текст появится в окне эмулятора и нажатием F5 его можно запустить на исполнение
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 12

Скриншоты делаем на вкладке Video Controls, нажатием кнопки Grab.
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 13

По умолчанию они сохраняются по пути ~/$USER/.openMSX/screenshots/. По идее путь можно поменять, но у меня это от чего-то не работает, скрины сохраняются только по дефолтным настройкам.

Итак, у нас есть работающая «ямаха», посмотрим теперь, что она умела

2. Загружаем CP/M

Образа диска c этой ОС (моей ровесницей!!!) не оказалось на ftp-сревере, указанном по ссылке выше, зато нашелся по ссылке, полученной из обсуждения на sourceforge. После распаковки в архиве обнаружились образы дисков: SYSTEM.DSK — загрузочная дискета CP/M и PROG.DSK — видимо какой-то дополнительный софт. «Вставляем» оба диска в виртуальные «флопари» — загрузочный в дисковод A. Чтобы загрузка состоялось, методом тыка эмулятору было указано подключить расширение Panasonic FS-CA1
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 14
и жмем старт. Появляются сообщения загрузчика

Процесс загрузки CP/M
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 15

а вслед за ними и приглашение командной строки CP/M. CP/M похожа на DOS, я с ней не знаком, но команда dir работает

Содержимое дистрибутива
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 16

Что делать далее не знаю — не настолько олдфажный я олдфаг, чтобы помнить CP/M

3. Загружаем MSX-DOS 2.2

С DOS дела попроще — архив с дискетами лежит всё там же. Качаем его, распаковываем и выбираем образ MSXDOS2T.DSK. В настройках эмулятора ставим использовать раcширение msxdos2

Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 17

После загрузки видим привычную DOS-консоль

MSX-DOS понимал досовский dir и *nix-вый ls — в школе я об этом не знал
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 18

В каталоге A:tools этого старинного доса нашлись некоторые утилиты, привычные для unix: ls, grep, tail и некоторые другие
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 19

В общем, с операционными системами всё ок. А что же с прикладным софтом?

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/
$ lha e ~/install/openmsx/turbo.lzh

туда же поместим и содержимое архива turbo_lib3.zip — дополнительные модули.

Теперь укажем наш каталог в качестве диска B.

Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 20

Посмотрим, что вышло. Вышло отличною

Каталог хостовой системы как диск «ямахи»
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 21

Запускаем паскаль

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, а вслед за ним — игра

Обнадеживающее начало...
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 22

… она самая и есть — Choplifter!!!
Ностальгия по КУВТ: запускаем эмулятор MSX под Linux - 23

Эмулятор «кушает» и ROM-ы с играми, коих, по уже многократно данной ссылке завались. Много ромов гуглится — тот же вертолетик я сначала запустил с рома, а уж потом разобрался с архивом и с запуском из-под дос.

Вместо эпилога

Возможно статья получилась больше эмоциональной чем практической. Свидание с детством, оно такое. Нерешенных вопросов по работе с эмулятором масса — тот же паскаль теперь не дает мне покоя. Но это дело не одного дня при наличии свободного времени.

Где-то в начале 2000-х, уже после окончания мной школы, в компьютерный класс закупили IBM PC на «пнях» с Windows 98 SE на борту. «Ямахи» отдали в школу какой-то деревеньки близ нашего райцентра. С ними уехали и дискеты с моим творчеством — квест про полет на Марс, «Морской бой», простецкая СУБД, написанная на паскале… Дорого бы я дал сейчас за живые дискеты со своими САМЫМИ ПЕРВЫМИ программами…

Автор: maisvendoo

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js