Category: Разработка

05
Июн
2021

Продолжаем!

Итак, продолжаю пилить принца. В покоях Принцессы теперь горят факелы. Звезды, как оказалось, в CGA-варианте не мигают, это сделано только в более продвинутых вариантах графики. А у нас будут мигать))

24
Май
2021

Первый мультик

Нарисовал более 60 новых спрайтов для анимации Принцессы и Визиря. Собрал все это в мультик. Выглядит это так:

Осталось добавить факелы и звезды, ну и песочные часы, конечно ))

Это первая черновая сборка, к тому же ночная (в три часа ночи ), потому там пробивается фон и т.д. Просто наконец-то я эту тьму спрайтов собрал в кино и оно воспроизвелось )) Раза три приходилось перерисовывать некоторые спрайты Визиря, потому что я умудрился где-то съехать на одну точку по вертикали и пошло-поехало. А потом смотрю — голова-то у него провалилась в шею после колдунства. Можно, конечно, было списать не нездоровое влияние магии… но пришлось перерисовать и его и маски его… Короче, оно заработало и вот как бы ура. Дальше будем допиливать уже.

 

17
Май
2021

SMK побежден

Точнее, исправлена работа с памятью. Для этого пришлось сделать следующее:

  • все данные заново перетасовать по страницам-сегментам (в итоге используемых страниц стало меньше, что характерно)
  • переделать работу с памятью, т.к. теперь уже не получится просто подключить спрайты фехтования в окно 100000, надо их копировать, как раньше, поверх спрайтов, не используемых при фехтовании. И обратно.
  • процедуру свопа пришлось вынести в основную память, т.к. код, работающий в расширенном ОЗУ на адресах 100000-140000 норовит отключить сам себя

В результате Принц заработал на реплике БК11М с SMK-512.

Попутно выяснились две вещи:

  1. Все сложные прыжки на бегу вполне успешно выполняются на родной клавиатуре БК11М, без всяких проблем
  2. На железной БКшке с SMK-512 действительно есть прирост скорости за счет использования быстрого ОЗУ в SMK

Записал ролик, подтверждающий этот факт:

16
Май
2021

Принцесса

Первый спрайт принцессы и часов )

 

В часах оказалась тоже куча фаз, причем выводить их надо в зависимости от остающегося времени, а не от этапа. Что, конечно, естественно. И звезды в окне должны мигать, оказывается. Значится будем их мигать ))

Кстати, я совсем забыл, что в Принце есть таблица рекордов. Чтение с диска я сделал через ЕМТ 36, потом «операционная система» выбрасывается из памяти. Так вот похоже, что мне придется возвращать систему обратно, чтобы записать таблицу рекордов. Запихнем ее в СМК!

14
Май
2021

Что-то с памятью моей стало….

Да, дока по СМК в виде одной таблички поражает своей лаконичностью и в очередной раз оказалось, что в ней все-таки не зря написаны всякие слова )  Не смотря на то, что режимы с «перекрытием» ОЗУ и ПЗУ весело работали на оригинальной БК, на новоделе они работать не захотели. Придется переделывать работу с памятью. С одной стороны это, конечно, гемор, но с другой — не придется что-то паять в новоделе БК11М. Ведь я-то думал, что у меня бракованная реплика, а оказалось, что просто я использовал «не рекомендованные» режимы работы СМК-512. Сдается мне, что после выхода AZ я под СМК писать вообще не буду ))

Пока что пилю картинку комнаты Принцессы, в которой будут происходить всякие события. За основу взял картинку EGA:

 

После конвертации с помощью DaDither получил такую заготовку:

Тут опять в полный рост проблема с палитрами и цветами на БК. Нет палитры, включающей и красный и белый и синий одновременно. В итоге или платье у Принцессы желтое будет, или лицо красное или полы некрасные. Вот так я ее дорабатываю в БК-шном редакторе Techno Art:

 

Почти все доделал, с цветом пола пока не определился. Как доделаю — буду запускать туда Принцессу, Визиря, Принца, устраивать там скандалы с громом и молниями и все прочее, что там творится.

 

 

 

 

 

 

 

11
Май
2021

Хьюстон, у нас проблема

Запустил сегодня «железную» БК11М, чтобы проверить на ней задержки смены палитр — да, задержки нужны другие, не такие как на эмуляторе. Подобрал задержки. Проверил предложенный gid’ом способ определения «эмулятор или нет» с точки зрения программы, работающей на БК. Чтение из регистра 177702 на железной БКшке вызывает прерывание по вектору 4, а на эмуляторе — нет. Отлично.

Потом решил запустить самого Принца — вывелась надпись «Loading…», загрузка прошла успешно. потом экран очистился и все зависло. Прикольно. Проверил образы из бэкапов, которые сохраняю каждый день и выяснил, что работать на железе принц перестает начиная с версии, которая стала все грузить в память SMK.

То ли у меня бракованный новодел, то ли «не знаю что рассказывать» (с) М. Евдокимов

 

07
Май
2021

Заставки и палитры

Начал делать заставки и промежуточные мультики, которых в Принце валом. Попробовал конвертировать оригинальную заставку с помощью утилиты DaDither (весьма крутая штука). Получалось неплохо, требуется конечно же допиливать вручную и очень много, но основа получается очень хорошая. А вот выбрать подходящую палитру было весьма непросто. Не хватает цветов на БК, куда деваться. Буквы должны быть белыми, а палитры с белым цветом не содержат других нужных цветов. Решил попробовать переключить палитры во время отрисовки экрана, чтобы там, где буквы, была палитра с белым цветом.

Переключить палитру получилось, но это было заметно на боковом узоре — в выбранных мной палитрах только один цвет совпадал. Решил  попробовать нарисовать такой узор на боках, чтобы в нем использовался только этот цвет. И получилось!

Итак, я подготовил такую картинку:

и при переключении палитр на лету она становится такой:

Конечно, картинка еще не доделана, это просто для теста взята текущая версия.

Главное теперь нарисовать комнату Принцессы, где происходит действие остальных мультиков.