БК-11М в 21м веке
Джойстик
Кстати о джойстиках.
У меня был герконовый джойстик, но на нем были кнопки, а не ручка. Я специально себе такой сделал, после того, как поиграл на Ямахе, где была офигенская клавиатура, позволявшая нажимать несколько клавиш одновременно. Конечно я захотел себе такой девайс управления. Но клавиатура БК не позволяет обрабатывать несколько одновременно нажатых клавиш стандартными средствами.
Мой «джойстик» был секцией клавиш вот от такого калькулятора:
Я отпилил 6 клавиш и запихнул в коробку от советских шашек. Кнопки были идеальные, герконовые, с мягким подпружиненным ходом. Очень жалею, что куда-то его задевал. Небось отдал Жене Пашигорову, а он на чердак закинул. Главное, что можно было нажимать кучу кнопок одновременно, это обеспечивало суперскую точность в играх, в отличие от этой ручки, которую мотылять туда-сюда надо. С ручкой наверное удобно играть в самолеты какие-нибудь, а бродить по лабиринтам с ним и в оригинальном принце задолбишься.
Вот в ролике мучается товарищ:
Вращаем Принцессу
Начал рисовать спрайты анимации Принцессы. Выглядит это так:
Графический редактор GREDIT V003 — ветеран пиксельного фронта 🙂
SMK побежден
Точнее, исправлена работа с памятью. Для этого пришлось сделать следующее:
- все данные заново перетасовать по страницам-сегментам (в итоге используемых страниц стало меньше, что характерно)
- переделать работу с памятью, т.к. теперь уже не получится просто подключить спрайты фехтования в окно 100000, надо их копировать, как раньше, поверх спрайтов, не используемых при фехтовании. И обратно.
- процедуру свопа пришлось вынести в основную память, т.к. код, работающий в расширенном ОЗУ на адресах 100000-140000 норовит отключить сам себя
В результате Принц заработал на реплике БК11М с SMK-512.
Попутно выяснились две вещи:
- Все сложные прыжки на бегу вполне успешно выполняются на родной клавиатуре БК11М, без всяких проблем
- На железной БКшке с SMK-512 действительно есть прирост скорости за счет использования быстрого ОЗУ в SMK
Записал ролик, подтверждающий этот факт:
Принцесса
Первый спрайт принцессы и часов )
В часах оказалась тоже куча фаз, причем выводить их надо в зависимости от остающегося времени, а не от этапа. Что, конечно, естественно. И звезды в окне должны мигать, оказывается. Значится будем их мигать ))
Кстати, я совсем забыл, что в Принце есть таблица рекордов. Чтение с диска я сделал через ЕМТ 36, потом «операционная система» выбрасывается из памяти. Так вот похоже, что мне придется возвращать систему обратно, чтобы записать таблицу рекордов. Запихнем ее в СМК!
Что-то с памятью моей стало….
Да, дока по СМК в виде одной таблички поражает своей лаконичностью и в очередной раз оказалось, что в ней все-таки не зря написаны всякие слова ) Не смотря на то, что режимы с «перекрытием» ОЗУ и ПЗУ весело работали на оригинальной БК, на новоделе они работать не захотели. Придется переделывать работу с памятью. С одной стороны это, конечно, гемор, но с другой — не придется что-то паять в новоделе БК11М. Ведь я-то думал, что у меня бракованная реплика, а оказалось, что просто я использовал «не рекомендованные» режимы работы СМК-512. Сдается мне, что после выхода AZ я под СМК писать вообще не буду ))
Пока что пилю картинку комнаты Принцессы, в которой будут происходить всякие события. За основу взял картинку EGA:
После конвертации с помощью DaDither получил такую заготовку:
Тут опять в полный рост проблема с палитрами и цветами на БК. Нет палитры, включающей и красный и белый и синий одновременно. В итоге или платье у Принцессы желтое будет, или лицо красное или полы некрасные. Вот так я ее дорабатываю в БК-шном редакторе Techno Art:
Почти все доделал, с цветом пола пока не определился. Как доделаю — буду запускать туда Принцессу, Визиря, Принца, устраивать там скандалы с громом и молниями и все прочее, что там творится.
Хьюстон, у нас проблема
Запустил сегодня «железную» БК11М, чтобы проверить на ней задержки смены палитр — да, задержки нужны другие, не такие как на эмуляторе. Подобрал задержки. Проверил предложенный gid’ом способ определения «эмулятор или нет» с точки зрения программы, работающей на БК. Чтение из регистра 177702 на железной БКшке вызывает прерывание по вектору 4, а на эмуляторе — нет. Отлично.
Потом решил запустить самого Принца — вывелась надпись «Loading…», загрузка прошла успешно. потом экран очистился и все зависло. Прикольно. Проверил образы из бэкапов, которые сохраняю каждый день и выяснил, что работать на железе принц перестает начиная с версии, которая стала все грузить в память SMK.
То ли у меня бракованный новодел, то ли «не знаю что рассказывать» (с) М. Евдокимов
Заставки и палитры
Начал делать заставки и промежуточные мультики, которых в Принце валом. Попробовал конвертировать оригинальную заставку с помощью утилиты DaDither (весьма крутая штука). Получалось неплохо, требуется конечно же допиливать вручную и очень много, но основа получается очень хорошая. А вот выбрать подходящую палитру было весьма непросто. Не хватает цветов на БК, куда деваться. Буквы должны быть белыми, а палитры с белым цветом не содержат других нужных цветов. Решил попробовать переключить палитры во время отрисовки экрана, чтобы там, где буквы, была палитра с белым цветом.
Переключить палитру получилось, но это было заметно на боковом узоре — в выбранных мной палитрах только один цвет совпадал. Решил попробовать нарисовать такой узор на боках, чтобы в нем использовался только этот цвет. И получилось!
Итак, я подготовил такую картинку:
и при переключении палитр на лету она становится такой:
Конечно, картинка еще не доделана, это просто для теста взята текущая версия.
Главное теперь нарисовать комнату Принцессы, где происходит действие остальных мультиков.
Свежие комментарии