Об агатовских игрушках вообще
Игровое обеспечение (ИО) для ПЭВМ АГАТ
Как известно Агат может работать в двух режимах:
- "Агат" - это основной режим "ПЭВМ АГАТ", имеющийся как у Агат-7 так и у Агат-9.
- "Apple" - режим аппаратной эмуляции Apple//. Недоступен для стандартной Агат-7.
* * *
Режим АГАТ
Игры для этого режима ни на каком Apple работать не будут, так как используют графику и текст свойственные только Агатам.
Изначально, те кто его писал, не планировали получить деньги и делали это только в расчете на своих знакомых и признание общественности. Для некоторых из них Агат стал точкой отсчета в геймдеве, и теперь знакомые имена можно встретить в современных играх для различных портативных систем и персоналок, напр. FaMe SoftWare (Future Agat Miass).
Конечно для Агата писали не только начинающие программисты. Что вы скажете о программе Шахматы, в создании которой принимал участие человек занимавшийся теорией искусственного интеллекта, начиная с середины 60-х годов.
Учитывая сферы применения Агат - игрового софта существовало немного, не более 200 наименований.
Однако это вполне достойный список для отечественной ПК:
Хороший набор логических, иногда даже необычных игр (напр.Кубик Рубика). Карточные, спортивные, школьные (Симулятор токарного станка).
Динамические, как широко известные (Клад), так и с оригинальными идеями (Лабиринт). По последней даже есть несколько реплик для современных эвм.
Не всё было придумано с нуля, иногда программисты брали идею из игры для другой системы и заново программировали её аналог. И что интересно, в большинстве таких случаев улучшали различные характеристики. Например Pusher (Аналог SokoBan на IBM PC), имеет сетку лабиринта 32х30, против 19х16 у исходной. Или Рыцарология, за основу взят код игровой программы "Knight Lore" от компьютера BBC micro. Как и в оригинале, используется графический режим - один бит на пиксель. Однако на Агате, при вдвое меньшей тактовой частоте однотипного процессора, анимация гораздо плавнее. Причина в том, что переработчик грамотно оптимизировал алгоритм вывода объектов на экран. Примеров очень много. Вероятно это происходило благодаря достаточно большому числу программистов-энтузиастов — нередко вчерашних школьников, а подчас и "сегодняшних" — т.е. людей с большой тягой к творческой самореализации.
Позже, появились и коммерческие продукты, сделанные на весьма высоком уровне и виртуозно использующие возможности АГАТ, напр. Groom.
Подробней ознакомится с игровым софтом для режима Агат можно в разделе "Игротека".
Apple -> АГАТ 7
В стандартной комплектации Агата 7 не было поддержки режимов отображения
компьютера Apple ][. Режимы видеоконтроллера Агата 7
(как графические, так и текстовые) не были совместимы с режимами
отображения прототипа. Фактически, программы что-то там выполняли "про
себя", но их деятельность проявлялась только в виде звуковых эффектов и
работы НГМД и иногда сопровождалась случайными переключениями
видеорежимов с отображением какой-то мешанины.
Задача переработки программ, работающих с видеорежимами Apple на Агат 7, была нетривиальной. Имели место как отличия в адресации строк, так и способы кодирования видеоданных. Но главным было отличие формата видеоизображения:
- Apple ][ — 280х192, с жуткими выкрутасами цвета и последовательности строк;
- АГАТ — 256х256, монохромный, один бит на пиксель, строки подряд (другие режимы — а их у Агата несколько — подходили ещё меньше).
Последнее обстоятельство (в дополнение к задаче всунуть в пространство старого кода работу с инородным режимом отображения) добавляло "адаптатору" необходимость творческой переработки программы, связанной как с переносом по полю элементов, так и переработки способа их отображения (разумеется такие переделки будут работать и на девятке). Задача была непростой, пример такой переделки игра Draw Poker.
Исходный вид программы Draw Poker на экране Apple:
После манипуляций с таблицей адресов начала строк и смены порядка бит в матрицах объектов, получался промежуточный вариант. К нему следовало применить ещё некоторые преобразования и получалась, хотя и не идеальная, но близкая к оригиналу, картинка.
Промежуточный вид программы Draw Poker на экране АГАТ-7:
Проблема лишних столбцов Apple и лишних строк Агата решалась всеми по-разному.
Финишный вид программы Draw Poker на экране АГАТ-7:
Следующий пример - Spy's Demise. Также, как и в прошлом случае видно, что часть информации перенесена вниз экрана. Хотя изображение на экране Агата 7 и становилось черно-белое, но в отличии от Apple, рисовать можно с точностью до пикселя. На скриншотах заметно, что программист воспользовался этим и применил более красивые шрифты в таблице рекордов и улучшил отрисовку в игровой зоне.
Если графический режим высокого разрешения Агата выглядел несколько бледно, то текстовый способен был выступить "в полной красе". Преимущества цветного текстового экрана (более высокая информативность, лучшая концентрация внимания и даже просто зрелищность) хорошо видны на данной адаптации игры Apple Trek и меню игры Sabotag.
Исходный вид программ на экране Apple:
Вид после адаптирования к экрану АГАТа:
Известны случаи, когда программисту при переделке приходилось учитывать и политический аспект. Исходные игры, в основном американского производства, часто содержали воинственный фольклор по отношению к СССР. А так как первые переделки относятся к началу 80-х, приходилось, кроме прочего, модифицировать спрайты и надписи, если они содержали явную идеологическую фактуру. Воспоминания Агатовца, о экспериментальном компьютерном зале начала 80-х: |
* * *
Режим Apple ][
Игры для режима "Apple". Самые обычные игры от ЭВМ этого семейства. Совместимость 100 процентная или близкая к тому. Единственное что нет у Агата это режима DoubleHiRes, но использование его в играх можно в прямом смысле пересчитать по пальцам.
АГАТ-7 (укомплектованный "ячейкой 121") эмулирует Apple ][ и Apple ][+ с памятью 48кб. 90% эпл-игр написано именно под такую минимальную конфигурацию машины. Дело в том, что западным программистам это было выгодно, охватывалось большее кол-во потенциальных пользователей (в смысле покупателей).
АГАТ-9 даже в минимальной комплектации, может запускать ПО Apple ][ рассчитанное на 64кб ОЗУ. Если в девятку установлены платы ДОПОЗУ, то они могут притворятся расширенной памятью Apple, т.е. переключать страницы ОЗУ соответствующим образом. Так крупным яблочным программам можно предоставить весь объем имеющихся ресурсов. Одна дополнительная планка и у вас Apple с 192Кб ОЗУ, две и Apple c 320Кб и т.д.
Кроме того, АГАТ-9 может комбинировать режимы, например контроллер памяти работал в режиме "Агат", а контроллер дисплея переводился в режим совместимости с Apple. Это дает возможность переработки импортных игр с целью использование дополнительных возможностей Агата: кириллицы в знакогенераторе, более развитой модели памяти "Агат", дисководов 840кб. Как пример игра - Alice in Wonderland. В Apple - версии игра занимает два диска (140Кб), и третий используется для отгрузки состояния. В русифицированной версии, все эти диски объединены на одном, формата "Агат" (840Кб). Переписан драйвер памяти, это позволяет за один раз загружать 5-6 игровых экранов (в оригинале каждый экран требовал обращения к диску). Таким образом игра приобретает новые качества: не требует смены дисков во время работы, а переход героя между экранами происходит мгновенно.
Кстати, при отображении Эпловской картинки, Агат использует цифровую заливку цветов, что сильно повышает качество изображения. Подобное на оригинальном Apple доступно только при использовании RGB-Card.