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

Борьба с клешингом в С64

Сразу за релизом С= распишу, как реализован режим мультиколора для С64.

Смотреть/скачать демо

Это стандартный режим видеоконтроллера комодора, и один из любимых на демосцене.

Итак, задача — сконвертировать оригинальный формат экрана С64 в режиме мультиколор для вывода в видеопамять zx enhanced (ts config).
Напомню, что результатом должна быть линейная адресация с тетрадой бит на пиксел, указывающих на цвет точки.
Сразу скажу, что разбирал я стандартный формат, для которого нашлось приличное количество качественной графики в оригинальном формате.

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

Карта памяти NES

Одна из первых вещей, которую приходится изучать при освоении низкоуровневого программирования для новой платформы — её карта памяти, то есть где в адресном пространстве находятся ОЗУ, ПЗУ, регистры устройств и тому подобное. Если простота устройства ZX Spectrum, которое можно описать одним предложением — 'нижние 16 килобайт ПЗУ, остальное ОЗУ, экран в начале ОЗУ, весь ввод и вывод через один порт' — позволяет не особо задумываться о самом существовании этого вопроса, то у многих других современных ему платформ дела обстоят несколько сложнее. В особенности это справедливо для NES, карту памяти которой, а также причины именно такой её организации, мы и рассмотрим в этой статье.


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

TSconf: Ports

В данном разделе я хотел бы описать все группы портов, которые задействованы в управлении системой TSconf.
Данный раздел описывает общее назначение портов. Полная дока по портам лежит здесь.

Итак, порты системы можно разделить на следующие группы:
  • порты управления выполнения кода процессором. Сюда отнесём такие порты как: SysConfig, CacheConfig
  • порты управления памятью: MemConfig, Page0 — Page3, FMAddr
  • порты страниц графики TSU: VPage, T0GPage, T1GPage,TMPage, SGPage
  • порты управления графическими режимами / цветом: VConfig, PalSel, Border
  • порты управления отображением: TSConfig, GXOffs/GYOffs, T0XOffs/T0YOffs, T1XOffs/T1YOffs
  • порты управления DMA: DMASAddr, DMADAddr, DMALen, DMANum, DMACtrl
  • порты управления приходом INT: INTMask, HSINT, VSINT
  • порт управления виртуальным FDD: FDDVirt

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

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


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

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

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

Captain Drexx изнутри. Версии

Версии игры в процессе разработки.
покопался в почте, сложил по очереди версии игры по мере её роста :)

Содержание цикла «Captain Drexx изнутри»

По клику на картинку скачивается sna.

Гм, конкурс? а если...

Первое письмо к ААА, 18.09.13.
Первая версия, прототип. Крипы лазят по экрану, всё из Рекс-а :)


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

Sleet - 232b интро для STM32 и осциллографа



Идея была — написать 256 байт интро для голого чипа. Выбран был STM32L100RCT6, поскольку я как раз разбирался с STM32, идя сверху вниз — сначала помигал светодиодом на HAL, потом на CMSIS и, наконец, на чистом ассемблере. Конкретно в упомянутом чипе есть два цифро-аналоговых преобразователя, что позволяло обойтись без внешней обвязки, подключив всё непосредственно к дисплею. В качестве дисплея я рассматривал два возможных варианта — либо обычный ЭЛТ монитор с PAL/NTSC композитным входом, либо осциллограф. Сгенерировать осмысленный сигнал для композита в 256 байт будет, как по мне, сложновато, а вот для осциллографа — в самый раз. К тому же тепло (что зимой немаловажно) и лампово.

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

Thinking in Binary: The Making of HoustonTracker 2

На недавнем Revision 2017 один из главных активистов однобитной музыки, utz (irrlichtproject), выступил с докладом об истории разработки им трекера HoustonTracker 2 для 8-битной (на Z80) линейки графических калькуляторов Texas Instruments — TI-82, TI-83 (TI-82STATS), TI-83+/84+/SE. Рассказ довольно мало касается собственно трекера, музыки, и однобитного синтеза звука, но даёт очень много интереснейших подробностей о самой платформе и сложностях, поджидающих новичков на пути её освоения.

Доступна видеозапись доклада на английском языке, без субтитров. Под катом выжимка основных положений.



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

Zifi esp8266 WiFi z80 driver source free download

Сама ссылка на исходный код: zifi_driver.asm
В исходнике есть сигнализация бордером.

Применение

Для использования необходимо сделать три шага:
Начальный инит — настройка модуля, подключение к точке доступа: call init_zifi

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

"Unhinged" trackmo engine

Ну, пока в соседнем топике разбирается многопоточность, посмотрим на такую гораздо более простую вещь, как систему управления событиями в трекмо.

В этом топике я опубликую двиг, разработанный для «Unhinged», и использованный позже как обслуживающий в «Марио».

Зачем это? Дело в том, что пресловутое flow требует от дизайн-мейкера постоянно вводить как новые эффекты, так и их развитие в процессе своего течения.
Соответственно, код демо должен быть настраиваемым — предоставьте себе контролы, которые позволят вам менять внешний вид того же эффекта, который уже на экране. И применяйте их в течении демо именно в тот момент, когда они будут иметь максимальное воздействие на зрителя.

ДАО ГОВОРИТ :)
Главная цель движка трекмо — это Контроль выполнения демо.
Контроль должен быть реализован изменением состояния кода демо в процессе её выполнения (показа), путём изменения значений памяти в её подпрограммах в нужный нам момент, либо изменением вызываемой процедуры (что может быть переходом в следующую часть).

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