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

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

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

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

Chaos Constructions 2021 party report

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-х практике нелегального распространения и взлома программного обеспечения, главным образом — компьютерных игр. Читать дальше...

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

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

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

Обзор zxgfx compo #4 (освоение космического пространства + ограниченная палитра) В этом году исполняется 60 лет со дня появления первого космонавта, и по этому случаю четвертое компо тематически было приурочено к данному событию. Космос – это одно из самых любимых популярных тем для художников-фантастов, их манит загадочность, неизведанность и романтика покорения. С некоторыми работами в данном направлении можно ознакомиться на странице zxart.ee по тэгу «космос». Сегодня эта страница пополнится еще рядом замечательных работ на данную тему. Мы знаем, на сколько ограничены возможности на ZX-Spectrum’е, более подробно об этом можно почитать в этой статье. В очередном компо мы решили ограничиться еще более серьезно, разрешили художникам использовать только четыре цвета из всей палитры, но зато любыми на выбор самого автора. В восторг данная задача привела не всех, кого-то даже оттолкнула, а мне очень хотелось посмотреть, как такие условия заставят участников комьюнити пораскинуть мозгами и воображением. Работы представлены в той последовательности, что были при голосовании без разделения по местам. Читать дальше...

Обзор zxgfx compo #3 (персонаж мультфильма или собственный персонаж, нарисованный без дизеринга)

Обзор zxgfx compo #3 (персонаж мультфильма или собственный персонаж, нарисованный без дизеринга) У меня не очень большой опыт в критических статьях на что-либо, и свое мнение я стараюсь давать только если попросят. Но на написание этого обзора меня вдохновило само мероприятие. Я по себе знаю, как авторам хочется что бы их работы обсудили, прокомментировали, и если повезет, даже похвалили. В своем критическом эссе я естественно буду опираться на свой личный опыт. Если так будет проще, это все мое личное мнение, не претендующее на истину в последней инстанции. Мои слова могут даже обидеть, но в моих помыслах только лишь желание направить авторов в нужное русло. Читать дальше...