Area 5150 - демо для PC XT/CGA и музыка для PC Speaker

Демогруппы CRTC и Hornet, выпустившие нашумевшее в 2015 году демо 8088 MPH, меняющее представление о возможностях PC XT и CGA, собрались с силами и выпустили своё свежайшее творение на ту же тему — Area 5150. Оно выставлялось на демопати Evoke 2022 и заняло там первое место в категории демо для альтернативных платформ (куда свалено в кучу всё, что не современный PC), обойдя даже весьма креативную работу 420 Years Of Teletext.



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

Немного про чанки на ZX Spectrum (и творчество нашей микро-команды Sage Group)

by Monster^Sage

Что такое чанки можно прочитать здесь (первое, что было найдено по теме на просторах интернета). Мало ли, вдруг эту статью будут читать те, кто не знаком с темой.

Речь пойдет полутоновые чанки и про эффект, который был реализован в “электронной газете” BornDead #05. Точнее про его историю. Как это выглядело можно посмотреть в видео-варианте этого номера газеты. Или для ЛЛ сразу на gif-ке ниже:



На тот момент (более двадцати лет назад, конец 1998 года…), мода на 4x4 чанки была в самом разгаре. Уже вышли такие шедевры, как Shit 4 Brainz, Power Up, Refresh, Forever, а впереди были еще более крутые работы, такие как Napalm, Dogma и т.п. с активным использованием таких чанков.

Конечно же хотелось сделать что-то подобное, но на полноценное демо или добротное интро катастрофически не хватало свободного времени. И одновременно хотелось чем то удивить аудиторию. А иначе какой смысл?

После просмотра эффектов в таком формате постоянно оставалось ощущение, что это слишком медленно, слишком низкий fps, не хватает динамики. 3D эффекты вообще выглядели как “пошаговая стратегия”. Приемлемый fps получался, если рисовали через линию, но выглядело это “темнее” и хуже. Можно рисовать через линию один кадр, только четные линии, а потом следующий – нечетные (интерлейсинг), чтобы получить визуально полноценную картинку. Но в таком случае всё будет “размытым”, эдакий motion blur, что тоже выглядит так себе на динамичных эффектах.

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

Биперные истории

Уже больше десяти лет я плотно занимаюсь темой биперной однобитной музыки на ZX Spectrum и других платформах — все эти движки, трекеры, треки, альбомы и прочие плагины. Всё это время меня постоянно не спрашивают, как же я докатился до жизни такой в эпоху могучих TS, TSFM, NeoGS, мегабайтов и мегагерцев. Но вам всё равно придётся это узнать, потому что это прошлое, в котором мне интересно покопаться и напомнить о нём самому себе, а знакомство с чужой историей нередко позволяет читателям освежить в памяти и их собственные первые впечатления.

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

Обзор архитектуры бортового компьютера КК Аполлон

Решил копнуть в историческую историю и рассмотреть архитектуру и систему команд бортового компьютера космического корабля Аполлон.
Последний пока компьютер который летал на Луну вместе с людьми. Сокращённо он называется AGC (Apollo Guidance Computer).
Было два поколения его — Block I и Block II. Второе было существенной доработкой первого и именно оно летало на Луну, поэтому рассматривать буду только его.

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

Famicom/NES/Денди: битва за Status Bar

На Famicom/NES/Денди было одно сильно аукнувшееся гейм–девелоперам упрощение/удешевление — вместо четырёх экранных областей объёмом 4Кб выстроенных квадратом между которыми был возможен бесшовный скроллинг (с прокруткой) в консоли оставили только 2Кб VRAM и, таким образом, было только две экранных области с бесшовным скроллингом.
Т.е. виртуальный задний фон мог бы иметь такую раскладку:

(глубже теорию вопроса можно изучить в статье про графическую архитектуру Famicom/NES)
Но в итоге оставались только две эффективных области из этих четырёх. Причём коммутацией линий картриджа их можно было выстроить как вертикально так и горизонтально (оставшиеся области «зеркалились»). Таким образом чисто вертикальные или чисто горизонтальные скроллеры реализовывались легко из коробки, но с произвольным скроллингом возникал целый ряд проблем которые решали кто как.

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

Принципы кодирования инструкций Intel x86(-64) или "ехал префикс через префикс"

Введение

С давних пор меня интересовало то как процессоры Intel x86 кодируют свои инструкции.
Будучи в детстве владельцем клона ZX Spectrum я уже тогда сталкивался с таблицами кодов инструкций его процессора Z80, как например тут: clrhome.org/table/
В таком виде очень хорошо просматривается принцип кодирования этих инструкций — наглядно видно как они упорядочены и по каким битам раскиданы.
Но вот для x86 таких таблиц как то не удавалось найти, а то как эти коды пояснялись в руководствах от самого Intel было несистематизировано и поэтому не воспринималось.
Однако пару месяцев назад я наконец то наткнулся на табличный вид однобайтовых инструкций от i8086 до i386, поразглядывал его и проникся тем что тут и как кодируется.
Более того — в процессе этого обзорного ознакомления я проникся еще тем как эволюционировала система команд x86 с поколениями процессоров и решил вкратце эти вехи законспектировать тут. Это ни в коем случае не полное справочное руководство, но скорее обзорное знакомство вместе с историческим экскурсом которое возможно поможет кому то быстро понять основные принципы кодирования инструкций x86 перед более углубленным изучением по таблицам.

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

Chaos Constructions 2021 party report



— вы организовываете пати?
— нет, только показываем
— кросивое...


2020-й год по всем хорошо известным причинам выдался максимально сложным — пандемия, локдауны, отмены патей или переносы в онлайн. Тем временем, сиквел 2021-й подкрался незаметно, а вместе с ним наконец-то стало возможным встретиться вживую, пообщаться, обменяться опытом (или напитками :), ну и конечно же попативать и поотрываться.

В этом году я смог попасть на Chaos Constructions 2021 в Питере, и могу сказать лишь одно — несмотря на все неурядицы и самые худшие ожидания, пати однозначно удалась! А чтобы окончательно убедить всех вас, дорогих софасценеров, хотелось бы поделиться своеобразным отчетом со своими впечатлениями и мыслями :)

Как обычно, дисклеймер — под катом очень много фоток, поэтому осторожно, трафик!


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

Мой виртуальный 16-битный "компьютер мечты" - SimpX

Исходники: github.com/aa-dav/SimpX
Онлайн-версия: aa-dav.github.io/ (первая загрузка будет долгой, но потом закешируется)
В веб-версии рекомендую сразу нажать меню View->Set 400% чтобы выправить соотношение сторон.
Выбираем в левом списке редактора файлы test0x.asm и нажимаем меню Emulator->Compile and run чтобы увидеть результат.
Если активирована не английская раскладка клавиатуры — ввод с кнопок может не работать (это важно для последних тестов).
Так же еще замечу, что в веб-версии в коде могут некорректно отображаться табуляции — это некритично и вызвано разным отношениям к пикселям в среде Qt в stand-alone и wasm вариантах. В stand-alone всё визуально корректно.
Описание процессора — Simpleton (4) и его ассемблера уже было.

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