По следам игры «Королевство Эйфория»
В новогоднем за 2020 год 33 номере журнала «Downgrade» опубликована статья «И снова про «Королевство Эйфория», в которой были приведены ссылки на исходный код написанные на языке программирования Basic двух предшествующих прототипов этой игры. Мне стало интересно, как эти игры будут выглядеть в ОС CP/M на ZX Spectrum совместимом компьютере Profi. Так что решил сделать их не большей перевыпуск.
Статья была опубликована в 2021 году в 34 номере журнала «Downgrade»
Первая игра «The Sumer Game». Исходный код приведен из журнала «BASIC Computer Game» за 1978 год. А сама игра была создана в ещё более раннем 1968 году! Скорее всего, это первая игра в этом классе. В ней отсутствует ряд элементов появившихся позже, в частности нет войн. Отличительной её чертой является ограничение времени игры 10 года правления, то есть ходами, по прошествии которых подводятся итоги. Такой вот блиц вариант. Подходящий формат для организации чемпионата по этой игре. Перевёл её на русский язык и внёс не значительные доработки. В частности сделал возможным выход из игры в операционную систему в любой момент. Но постарался максимально сохранить исходное оформление и антураж.
Рисунок 1. Запуск игры «The Sumer Game» в ОС CP/M.
Вторая игра «The KINGDOM of EUPHORIA» датирована 1981 годом. А в статье приведена ссылка на код игры от 1984 года для компьютера ДЗ-28, уже на русском языке. В неё внёс более существенные правки. Во-первых, были выявлены и исправлены несколько ошибок или опечаток. Во-вторых, значительно переработана справка, исходный вариант мне совершенно не понравился. В-третьих, были добавлены подсказки о предельных возможных значениях запрашиваемых показателей при покупке или найме, на которые хватает имеющихся ресурсов. По своему опыту игры в «Королевство Эйфория» ещё в 90-е годы могу сказать, что всё равно играешь с калькулятором, и отсутствие такой информации только раздражает. В-четвертых, так же как и в «The Sumer Game», добавлена возможность выхода из игры в любой удобный момент.
Рисунок 2. Запуск игры «The KINGDOM of EUPHORIA» в ОС CP/M.
Для ОС CP/M у меня есть 8 разных интерпретаторов языка Basic. Наиболее часто в CP/M используется интерпретатор «MICROSOFT BASIC-80». Но неожиданно выяснилось, что он воспринимает русские буквы в тексте программы как токены команд, со всеми вытекающими последствиями. Беглый поиск путей обхода проблемы результата не дал. После чего было принято решение о смене интерпретатора, благо есть из чего выбирать.
Большинство из имеющихся альтернативных интерпретаторов языка Basic обладали той же проблемой. В конечном итоге выбор пал на интерпретатор «BBC BASIC». Как позже выяснилось данный интерпретатор считается одним и самых быстрых для процессора Z80. Так же он обладает уникальной возможностью по поддержке языка ассемблер и позволяет писать на нём программы прямо внутри кода на бейсике.
Интерпретатор «BBC BASIC» развивается и внестоящее время. Существуют его версии под ОС Windows (64 bits), Mac OS-X (64 bits), Lunux (64 bits), Raspberry Pi (32 bits). Есть утилиты для Windows позволяющие создавать на этом языке приложения для Android и Java машин. При этом новые версии интерпретатора, обладают значительной совместимостью с версией под ОС CP/M. Что даёт уникальную возможность писать в ОС CP/M межплатформенные программы способные работать в современных ОС, в том числе и для мобильных устройств. Более подробный материал можно найти на сайте http://www.rtrussell.co.uk/. На текущий момент последние изменения на нём датированы мартом 2021 года. А так выглядит та же версия игры «The KINGDOM of EUPHORIA» запущенная под ОС Windows 10.
Рисунок 3. Запуск игры «The KINGDOM of EUPHORIA» в ОС Windows 10.
Добавил к обеим играм заставки под расширенный экран Profi. Для чего незначительно доработал программу вывода картинок в формате «grf», идущую в приложении к моей статье «Расширенный экран «Profi», что это такое и как с ним работать. Практикум 001. Загрузка картинки. GRF.» написанной в соавторстве с Чертковым В.Ю. и опубликованной в 26 номере журнала «ZaRulem» (https://vk.com/prospeccy).
И для создания атмосферности добавил в игры фоновую музыку. Для чего воспользовался возможностью ОС CP/M запускать резидентные задачи и адаптировал под версию ОС CP/M dos 5.30 резидентный плеер AY музыки от Черткова В.Ю., который изначально работал в его ОС PQ-DOS.
Хотя в итоге работа над выпуском релиза этих игр и затянулась, она привела к совершенно неожиданным результатам по расширению границ возможностей ОС CP/M.
По этой ссылке (https://yadi.sk/d/xIr-_ZyOL1fNNQ или https://vk.com/doc359059980_591357553) можно скачать образ диска с играми в формате «pro» (работа с ним аналогична работе с образами дисков в формате «trd»). Для запуска игр нужно воспользоваться «sume.bat» и «euphoria.bat» соответственно.
Образ диска загрузочный, так что с него можно загрузиться. На IBM PC наиболее популярны два эмулятора, которые могут эмулировать Profi, это ZXMAK2 (https://archive.codeplex.com/? p=zxmak2) и Unreal Speccy (https://sourceforge.net/projects/unrealspeccy/). У Unreal Speccy больше возможностей, но сложнее настройка, тогда когда ZXMAK2 все настройки проведёт сам.
Много материала по компьютеру Profi можно найти на форуме и в группе ВК.