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) и его ассемблера уже было.

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

Демосцена

"… особую пикантность придаёт тот факт, что всё это по сути бессмысленно..."
/ sq/skrju /


из демо 'We are demo' для Commodore 64, 2020 год)

Чаще всего, попытки объяснить людям, что такое «демосцена», начинаются со слов «компьютерное искусство...». Однако, даже по вопросу о том, что такое искусство, во все времена не было единого мнения. Явление, о котором пойдёт речь, называют искусством скорее в том смысле, в каком говорят об искусстве токаря или плотника, а не скульптора или художника. Что, конечно, не означает, что одно хуже другого.

Слово «демосцена» («demoscene») мало того, что не переводится на русский язык, но даже и на английском имеет не вполне очевидный смысл. Если со словом «demo» всё интуитивно понятно — оно происходит от слова «demonstration» («демонстрация»), то со словом «scene» всё куда сложнее. Своим появлением оно обязано вовсе не театру, как могло бы показаться, а возникшей в конце 1970-х практике нелегального распространения и взлома программного обеспечения, главным образом — компьютерных игр.

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

ZXBOOT переехал

Все ссылки, собираемые на ресурсе zxboot.ru переехали на гитхаб.

Demoscene/retroscene telegram and web links

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

Уважаемые, если у вас есть в подписках интересные каналы, чаты или боты, а также ссылки на любые интересные тематические ресурсы — пожалуйста, присылайте свои предложения и пулреквесты. Я с большим удовольствием расширю и дополню полезный для всех список.

zxboot links telegram
zxboot links web

Upd. 09-10-2021
По просьбам трудящихся на сайте zxboot.ru восстановлен список ссылок. Естественно, он идентичен списку, расположенному на гитхабе и генерируется на его основе. Более того, принятые PR на гитхабе попадают соответственно и на сайт.

Бесконечные ZX Spectrum-демо на коленке



Несколько лет назад у меня возникла идея создать некий сервис, где будут круглосуточно крутиться спектрумовские демo. Хотелось, чтобы была возможность в любой момент просто воткнуть канал и там постоянно что-то транслировалось бы. Поднимать сервак дома, конечно же, никакого желания не было, потом вылезли какие-то другие бытовые вопросы, ну и в итоге я благополучно забил на это дело.

Пару месяцев назад я случайно наткнулся на статью одного человека, который запускал круглосуточную трансляцию на YouTube по другой тематике, и меня эта идея снова зацепила. Что в итоге было сделано: взят нужный VPS, развёрнут весь необходимый софт, зарегистрирован канал Speccy247, отобраны первые 50 штук демо, трекмо и иже с ними, а также пару игр с интересными на мой взгляд интрухами. Настроен UnrealSpeccy, который каждые 300 секунд запускает следующую программу в плейлисте. Вот такой был механизм с самого начала :)

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

Обзор zxgfx compo #4 (освоение космического пространства + ограниченная палитра)



В этом году исполняется 60 лет со дня появления первого космонавта, и по этому случаю четвертое компо тематически было приурочено к данному событию. Космос – это одно из самых любимых популярных тем для художников-фантастов, их манит загадочность, неизведанность и романтика покорения. С некоторыми работами в данном направлении можно ознакомиться на странице zxart.ee по тэгу «космос». Сегодня эта страница пополнится еще рядом замечательных работ на данную тему.

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

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