+16.72
22 читателя, 70 топиков

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 требует от дизайн-мейкера постоянно вводить как новые эффекты, так и их развитие в процессе своего течения.
Соответственно, код демо должен быть настраиваемым — предоставьте себе контролы, которые позволят вам менять внешний вид того же эффекта, который уже на экране. И применяйте их в течении демо именно в тот момент, когда они будут иметь максимальное воздействие на зрителя.

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

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

TSconf: INTs


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

Дао говорит: Система имеет три типа маскируемого прерывания, которые могут быть вызваны по адресу, который имеет старшим байтом — адрес в регистре I, а младшим — свой тип:
  1. #FF — кадровый (Frame)
  2. #FD — строчный (Line)
  3. #FB — DMA.
Обработку этих прерываний можно переключать портом INTMask (#2Aaf), изменяя состояние битов:
0 — Frame, 1 — Line, 2 — DMA, что приводит к on/off вызову обработчиков. Состояние битов: 0 — запрещен / 1 — разрешен.
В случае прихода нескольких событий одновременно, сначала обработается прерывание с меньшим номером.

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

TSconf: Memory

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

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

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

Captain Drexx изнутри

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

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


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

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

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



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

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

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

Архитектура и программирование Sony Playstation 1



По сравнению с другими, ранее описанными мной архитектурами, архитектура Sony Playstation 1 (PSX) — сравнительно современная. И дело даже не в годе выпуска (1994) — скорее это общее ощущение сочетания новых возможностей и исчезновения привычных старых, которые были типичными для компьютеров и приставок предыдущей эпохи.

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

846 байт интро "Christmas tree goes to a party" для компьютера Vectrex


После некоторого перерыва, решил вернуться к Vectrex. Аналоговость и ламповость (в буквальном смысле) манит. Поскольку Dihalt, на который планировалась работа, назначен на начало января, хотелось сделать что-то новогоднее. Снег, особенно много — не лучший выбор для векторных устройств, так что ёлка мне показалось лучшим вариантом. Рисовать её прямыми векторами не очень интересно, решил кривыми, тем более технология была более-менее отработана в предыдущих работах (Electric Force, Springs ). В данном случае, однако, трудность была в том, что кривые должны быть не какие-нибудь случайные, а вполне конкретные, причём разные.

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