Программирование для Famicom/NES/Денди в Nesicide+ca65: маппер MMC3 - перехват HBlank (9)

Итак, кроме собственно управления дополнительными банками памяти маппер MMC3 обладает еще одной важной функцией — генерацией прерываний IRQ по счётчику сканлайнов. В уроке про zero sprite hit мы перехватывали момент когда можно например в середине кадра сменить параметры прокрутки заднего фона этим средством встроенным в консоль. Но этот способ во первых можно использовать только один раз за кадр, а во вторых требует от процессора тратить все вычислительные ресурсы на обнаружение наступления события, что кроме самого этого факта еще и затрудняет планирование времени сколько код должен выполняться.
Счётчик сканлайнов в MMC3 лишён всех этих недостатков.

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

Скрытые послания из 80–х японских разработчиков видеоигр

Давно уже наткнулся на забавную статью «скрытые сообщения в видеоиграх на famicom» (на английском): magweasel.com/2009/08/29/hidden-messagin/

Если сдампить картридж игры Pachicom (примитивный симулятор «патинко» — японского варианта пинбола) вышедшей в 1985 году для 8–битной консоли Famicom/Денди, то можно обнаружить, что 5% ROM кода и данных занимает скрытый и нигде в игре не показываемый текст. В статье по ссылке его перевели на английский, а я тут переведу на русский…

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

Новые инструкции ZX Spectrum Next

ZX Spectrum Next реализован на FPGA включая процессор, поэтому в нём Z80 не только смогли повторить, но и улучшить внедрив несколько новых инструкций.
Полностью весь набор инструкций можно посмотреть тут: wiki.specnext.dev/Extended_Z80_instruction_set
Новые там отмечены литерой E в колонке «Status».
Все они реализованы на неиспользованных слотах расширенных команд Z80 с префиксом $ED.
Было любопытно взглянуть что это за инструкции и я бы даже сказал, что в них частично отразилась профессиональная боль программистов под ZX Spectrum.

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

Краткое описание видеорежимов ZX Spectrum Next

Давно уже занесло меня на сайт ZX Spectrum Next и там заинтересовали количество и состав видеорежимов этой машины. Сам ZX Spectrum в этом плане был скуп и имел только один видеорежим — 256*192 монохрома раскрашенного по два цвета в знакоместах 8x8 которые начинаются по адресу $4000 (16384) и занимают 6144 байта на монохромный битмап и 32*24=768 байт на атрибуты знакомест сразу после битмапа.

Можно сказать что этот видеорежим составляет изначальный «слой ULA». Небольшой ликбез: Uncommited Logic Array (ULA) вообще означает особый процесс создания микросхем, но в спектруме в такую «кастомную» микросхему было заложена вся его особенность, включая видеоконтроллер и поэтому аббревиатура ULA плотно ассоциируется в мире спектрума со всеми такими вещами.

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

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

Super Mario Bros. COVID-19 Edition

Всем привет!

Сделал для вас игру на актуальную нынче тему :)

Скачать тут:
zxart.ee/rus/soft/game/arcade/platform/super-mario-bros-covid-19-edition/







Движок, который я показывал на CAFe 2019, продолжает развиваться.
За последние пару месяцев в комплекте к нему появился UI-редактор миров.
Именно в нём и сделаны уровни для игры.

Играйте, наслаждайтесь. :)
Баг-репорты присылайте в личку в телеграм.

ZX Spectrum Next. Слой спрайтов.

Вступление

Здраствуйте вам!
На написание большого кол-ва букав, что я раньше ни когда не делал, меня подтолкнул Александр Шарихин (Nihirash).
Ни так давно меня заинтересовала относительно новая платформа Zx Spectrum Next от наших забугорных друзей. Заинтересовала по аппаратным возможностям, к тому-же требовались знания исключительно ассемблера Z80 с коим я знаком с детства. Мое первое знакомство с аппаратными возможностями Next пало на режим Sprite, о котором я и хочу рассказать.

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

Музей Яндекса завершает серию вебинаров о творчестве на ретрокомпьютерах

На прошлой неделе мы закончили разговор о маппинге и визуальных эффектах на его основе. Узнали, что такое субпиксельная оптимизация, рассмотрели способы сокращения расхода памяти, научились создавать таблицы маппинга без использования математических формул, ответили на вопросы зрителей. Запись вебинара можно посмотреть здесь.

Сегодняшний вебинар — последний. Мы узнаем как синхронизировать визуальные эффекты под музыку, напишем диспетчер, управляющий очерёдностью и временем вывода эффектов, и с его помощью попробуем собрать небольшое демо на основе музыки, графики и кода, созданных в течение всех предыдущих вебинаров. Ведущие — Олег Сенин (bfox ) и Александр Солодков (TmK ) — программисты, художники, музыканты на различных ретроплатформах.

Ждём всех 4 июня в 19:00 по московскому времени. Участие бесплатное, пожалуйста, зарегистрируйтесь заранее по ссылке. Трансляцию вебинара можно будет посмотреть на youtube.

Практика

А чтобы материал не остался теорией, мы приглашаем проверить свои силы, приняв участие в конкурсной программе фестиваля «Демодуляция 2020», который состоится осенью. Мы понимаем, что для создания чего-то впечатляющего нужно время, поэтому приём работ уже открыт. Более подробно о правилах конкурсов можно прочитать на нашем сайте.

Музей Яндекса продолжает серию вебинаров о творчестве на ретрокомпьютерах (выпуск 7)

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

В седьмом вебинаре мы завершим тему маппинга: узнаем, что такое субпиксельная оптимизация, как с её помощью сделать эффект более плавным, рассмотрим другие формулы и эффекты на основе маппинга, а также ответим на вопросы зрителей, накопившиеся в ходе двух предыдущих вебинаров. Ведущие — Олег Сенин (bfox ) и Александр Солодков (TmK ) — программисты, художники, музыканты на различных ретроплатформах.

Ждём всех 28 мая в 19:00 по московскому времени. Участие бесплатное, пожалуйста, зарегистрируйтесь заранее по ссылке. Трансляцию вебинара можно будет посмотреть на youtube.

Практика

А чтобы материал не остался теорией, мы приглашаем проверить свои силы, приняв участие в конкурсной программе фестиваля «Демодуляция 2020», который состоится осенью. Мы понимаем, что для создания чего-то впечатляющего нужно время, поэтому приём работ уже открыт. Более подробно о правилах конкурсов можно прочитать на нашем сайте.

Музей Яндекса продолжает серию вебинаров о творчестве на ретрокомпьютерах (выпуск 6)

На прошлой неделе мы говорили про маппинг и визуальные эффекты на его основе. Разобрали алгоритм полёта по тоннелю и реализовали его в программном коде. Запись вебинара можно посмотреть здесь.

В следующем, шестом вебинаре мы продолжим эту тему: разберём несколько программных трюков, позволяющих увеличить цветовые возможности и плавность эффекта, сократить расход памяти и создавать таблицы маппинга без использования математических формул. Узнаем, какие ещё эффекты можно создавать на основе описанного метода. Вебинар проведут Олег Сенин (bfox ) и Александр Солодков (TmK ) — программисты, художники, музыканты на различных ретроплатформах.

Ждём всех 21 мая в 19:00 по московскому времени. Участие бесплатное, пожалуйста, зарегистрируйтесь заранее по ссылке. Трансляцию вебинара можно будет посмотреть на youtube.

Практика

А чтобы материал не остался теорией, мы приглашаем проверить свои силы, приняв участие в конкурсной программе фестиваля «Демодуляция 2020», который состоится осенью. Мы понимаем, что для создания чего-то впечатляющего нужно время, поэтому приём работ уже открыт. Более подробно о правилах конкурсов можно прочитать на нашем сайте.