+16.72
20 читателей, 66 топиков

Captain Drexx изнутри. End part: full source


Все интересные моменты в игре, по моему скромному мнению, рассмотрены. Много чего опущено, но это всё — технические моменты.
Содержание цикла «Captain Drexx изнутри»

Осталось сладкое — исходники.

Читать дальше →

GO WEST, часть 2

Ну вот я и созрел написать вторую часть талмуда по классическим спектрумам. Первая часть никому не понравилась, потому что в ней было многабукаф и никаких картинок. Попробую исправиться: напишу меньше букаф.
Картинок - не дождётесь!

Движок трекмо

Интересно Ваше мнение на такую тему как движок трекмо.
Я думаю, что движок должен делать следующее:
  • Отслеживать время перехода от части к части
  • Отрабатывать иниталайзы частей
  • Отработка декранча следующей части в процессе показа, при необходимости / возможности проца

Читать дальше →

TSconf: Memory

Рассмотрим расположение памяти в системе.

ZX Evolution имеет 4Мб памяти.
Организация этой памяти подобна zx spectrum 128 — используется страничная организация.
В переложении на страницы памяти, мы имеем 256 страниц по 16 кб каждая.

Читать дальше →

TSconf: Sprites

А вот чё бы и не навалить поверх графики спрайтов-то, а?
Они-то у нас искаропки.

Дао говорит: Спрайт — это графический тайл размером от 8 до 64 точек, который может быть выведен в координаты 0-511 по X и Y, с возможностью отражения отображения по вертикали / горизонтали, и имеющий прозрачность.
Всего доступно 85 спрайтов для одного спрайтового слоя.


В общем, отработка спрайтов выглядит следующим образом:
  • Спрайт нужно разместить в памяти точно таким-же образом, как для тайлов (или на экране в режиме 16 цветов).
  • Палитра спрайта так-же должна быть загружена в общую палитру системы.
  • После этого — загружаем описание спрайта в систему и включаем отображение.
Спрайт становится виден.

Читать дальше →

z80: Инструменты статического и динамического анализа кода.


Отчасти развивая вопрос поднятый в этой публикации, хочу спросить у вас: «какие есть 'умные' интерактивные инструменты динамического и статического анализа кода для z80 (кроме дорогущего IDA Starter/Pro)»?

И что эти «умники» умеют?

  1. какие (и где) есть инструменты динамического анализа кода?
    к примеру, для того, чтобы получить маркировку участка исходного кода как «исполняемого», достаточно запустить программу под эмулятором, некоторое время погонять её с включенным логированием состояния регистра PC (указатель адреса исполняемой команды) — как результат получим массив адресов, по которым реально расположен исполняемый код.

Читать дальше →

Captain Drexx изнутри

Итак, я начну небольшой цикл статей об этой, не побоюсь этого слова, ВЕЛИКОЙна игре!

Для начала вспомним, как весь этот бардак выглядел.


Итак…
Разбор игры будет проведён логическими блоками. Будут затронуты такие части как:

1. intro — выбор управления меню, разбор кода перехода на уровень игры (эта статья);

2. основной цикл игры:
  • creeps — хранение, вывод спрайтов крипов, путешествие крипов по пути
  • towers — установка, апгрейд башни; обработка стрельбы башен.
  • user interface — управление, отработка игровых событий;
  • full source — исходники игры



Работа над игрой заняла шесть месяцев, первые два ещё решалось что да как будет, искались подходы, а следующие были заняты плотной каждодневной работой над алгоритмами игры.

Я не буду проходить полностью по всем строкам игры, рассматривать будет только действительно интересные блоки, причём по частям. Исходник будет с каждым постом расти.

Читать дальше →

Captain Drexx изнутри. Часть 5. User interface


В этой части я хочу рассказать о управлении игрой.
Содержание цикла «Captain Drexx изнутри»

Вся система управления игрой висит в обработчике прерывания.
Соответственно, здесь мы должны считывать клавиатуру или мышь и обрабатывать ситуации в игре, а так-же показывать все события UI.

Читать дальше →