Category: Prince of Persia

18
Май
2021

Джойстик

Кстати о джойстиках.

У меня был герконовый джойстик, но на нем были кнопки, а не ручка. Я специально себе такой сделал, после того, как поиграл на Ямахе, где была офигенская клавиатура, позволявшая нажимать несколько клавиш одновременно. Конечно я захотел себе такой девайс управления. Но клавиатура БК не позволяет обрабатывать несколько одновременно нажатых клавиш стандартными средствами.

Мой «джойстик» был секцией клавиш вот от такого калькулятора:

Я отпилил 6 клавиш и запихнул в коробку от советских шашек. Кнопки были идеальные, герконовые, с мягким подпружиненным ходом. Очень жалею, что куда-то его задевал. Небось отдал Жене Пашигорову, а он на чердак закинул. Главное, что можно было нажимать кучу кнопок одновременно, это обеспечивало суперскую точность в играх, в отличие от этой ручки, которую мотылять туда-сюда надо. С ручкой наверное удобно играть в самолеты какие-нибудь, а бродить по лабиринтам с ним и в оригинальном принце задолбишься.

Вот в ролике мучается товарищ:

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 (весьма крутая штука). Получалось неплохо, требуется конечно же допиливать вручную и очень много, но основа получается очень хорошая. А вот выбрать подходящую палитру было весьма непросто. Не хватает цветов на БК, куда деваться. Буквы должны быть белыми, а палитры с белым цветом не содержат других нужных цветов. Решил попробовать переключить палитры во время отрисовки экрана, чтобы там, где буквы, была палитра с белым цветом.

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

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

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

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

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

30
Апр
2021

Пиксели

В книге Джордана частенько встречается «Сегодня весь день переставлял пиксели». Вот и я этим страдаю второй день — пытаюсь сделать новые спрайты для дворцовых лабиринтов. В старых было слишком много красного. Вот что получается: