Многопоточность на ZX Spectrum

Реализовав перехват прерывания на ZX Spectrum (о чём есть огромное количество статей) можно стать на шаг ближе к одной странной затее — вытесняющей многопоточности на этой 8–битной машине. Сразу же может возникнуть вопрос — а зачем оно надо?

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

Программирование для Famicom/NES/Денди в Nesicide+ca65: введение (1)

Оглавление

2 — Архитектура MOS 6502...
3 — Модуль neslib...
4 — Задний фон с прокруткой...
5 — Спрайты...
6 — Ушибленный спрайт...
7 — Музыка и звуки...
8 — Маппер MMC3 — страницы...
9 — Маппер MMC3 — перехват HBlank...
10 — Маппер MMC3 — HBlank+скроллинг...

0. Предисловие

В этой серии статей я попытаюсь как можно быстрее ввести вас в программирование на ассемблере ca65 на 8-битной консоли Famicom/NES/Денди в среде программирования Nesicide.
Статьи не ставят своей целью учить кого либо программировать: вы уже должны быть программистом и понимать что такое программы, ассемблер и как работают процессоры. Многое я попытаюсь объяснить как можно более детально, но определенный багаж знаний и умений конечно надо будет иметь. В принципе в интернете немало переведённой литературы и про MOS 6502 и про Famicom/NES/Денди, поэтому особо даже не буду что-то рекомендовать.
Для первичного ознакомления с основами основ о том что из себя представляет обзорно для программмиста консоль могу отослать к своей же статье: /blog/868.html, хотя похожих статей вообще немало.
Огромная масса полезной информации находится на англоязычном сайте nesdev.com (бесценный источник и для этого моего цикла статьей!).
Если с английским туго, то могу еще отослать к обзору разных материалов от Shiru: hype.retroscene.org/blog/282.html
Начало положено этой статьёй, остальные будут дописываться по мере появления свободного времени, всячески приветствуются комментарии, замечания, корректировки и вопросы помогающие улучшить статьи и дополнить непонятные в них места.

Исходные коды к урокам на момент пока я пишу статьи можно скачать тут: yadi.sk/d/_THxg1gxuCCVNw


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

Подводные камни скроллинга на Famicom/NES/Денди

Как игровая консоль денди конечно же должна была поддерживать аппаратный скроллинг и делала это.
Но с этим связано несколько подводных камней которые мне показались достаточно забавными чтобы написать о них тут отдельно.

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

esxDOS для самых маленьких. Чтение и запись файлов

Введение


Официальной информации по API esxDOS в принципе не существует, а русскоязычной информации и неофициальной я не нашел.

Система же уже достаточно активно заняла свои позиции(как в виде фирмвари для divMMC/divIDE), так и как часть многих компьютеров(Карабас, ZXUno, Reverse, Spectrum Next и многие другие).

API хорошо работает и с IM2(можно подгружать файлы под музыку), работает почти на всем, что можно и достаточно легко в освоении.

В этой статье я опишу минимальное необходимое для жизни API, которое позволит создавать вам приложения под эту систему.

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

Законорожденные дети и внуки Zilog Z80

Полазил немного по википедии и бегло пробежался по техдокам по каждому процу и интересная вырисовывается картинка у Zilog с их процессорами в целом…
Легендарный Z80 они сделали в 1976 году.
Больше легендарных процессоров от них не было так что у меня лично создавалось ранее ощущение полной стагнации. Однако на самом деле всё было намного интереснее… Данные ниже получены крайне поверхностным ознакомлением с источниками, поэтому могут быть существенно неполны и даже в чём-то неправильными! Буду рад уточнениям и исправлениям.

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

Multimatograf 2020



Демопати Multimatograf 2020 состоится 2-3 мая в Вологде. Изменения в правилах по сравнению с предыдушим пати:
  • Количество компо ещё сократилось (хотя, казалось бы, куда уж меньше)
  • Добавлена ремарка, позволяющая автору не публиковать работу после пати (marinade™)

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

Правила, список компо и всё остальное на events.

У меня пока всё. Держу в курсе.

Happy #7E4, scene!



Вот и прошел очередной, 2019-й год, который по праву можно назвать годом ретросцены :)
Пусть и начался он весьма скромно и грустно — то Мультиматограф замариновался, то летний Дихальт ушел в небытие, тем не менее, он порадовал нас вначале весенним Forever, затем великолепным и богатым конкурсом ретроигр от Яндекса, и, конечно же, главным событием спектрумовского года — CAFe'19!

Сколько байт порезано и упаковано в trd'шки и tap'ки, сколько пикселов раскрашено в пейнтбрашах и BGE, сколько нот проставлено в вортексах и иже с ними, сколько копий и некопий сломано в процессе поиска истины, сколько литров Бугульмы выпито… безусловно, этот год будет чем вспомнить, а наш отряд летописцев продолжит усердную работу по документированию всех значимых событий и в будущем году, чтобы вы могли, сидя под елочкой с чашечкой чая (или чего погорячее) проникнуться атмосферой и вспомнить былое, текущее и грядущее :)

Чего хочется пожелать в наступающем 2020-м — не счесть: моря фана и позитива, живучего железа и несгорающих ВГ-шек, легких и задорных траков, красивых и техничных картинок, крутых и мощных эффектов, сногсшибательных продов, запоминающихся пати, незабываемых встреч, а самое главное — счастья и успехов в нашем и вашем нелегком ретросценерском деле!

Привет всем, кого я знаю и не знаю, кого я встретил и с кем познакомился на CAFe, тем, с кем провел многие часы кодинга и фиксинга и тем, кого мы все знаем и любим!

Happy 0x7E4, scene! :)



p.s. разрешаю немного конспирологии — тут есть парочка намеков :)

HYPERADIO 2020

«Привет. А почему радио молчит?»


HYPERADIO — demoscene online radio

Очередной годовой отчет от Hyperadio — радио работало до 21 декабря, радио молчит с 21 декабря.

Практически весь год вещание шло 24\7 без долгих простоев и перебоев с минимальным вмешательством в техническую часть и я было уже собрался писать оптимистичный отчёт о вещании, как реальность дернула рубильник и погрузила вещание во тьму…

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

Фаззинг Z-машины (Перевод с 8bitworkshop)

Это перевод блогозаписи Стивена Хагга: Fuzzing the Z-Machine

Фаззинг Z-машины

Играть в текстовые приключенческие игры сплошное удовольствие, но удовольствие это довольно мозгозатратное. Но ведь сегодня у нас есть все вот эти вот простаивающие процессорные мощности.

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

Мы просто закинем на вход текстовой игры кучу полу-случайного текста и посмотрим что выйдет. В мире инфобезопасности это называется «фаззинг».

Целью будет Z-Машина, виртуальная машина-интерпретатор, разработанная Джоэлом Березом и Марком Бланком в 1979 году, сердце Инфокомовских игр. Это идеальная цель для фаззинга адвентюр, так как она хорошо документирована и для неё есть множество вспомогательных инструментов и библиотек.



Зорк, запущенный на Atari 800XL (Себастьян Грюнвальд, CC 3.0)

Мини-Зорк

Игра, которую будем фаззить — МИНИ-ЗОРК-1: Великая подземная империя. Это демо-версия Инфокомовского первого Зорка, рассчитанная на загрузку с кассеты, а не с дискеты. По сути, это была реклама, опубликованная в приложении к британскому журналу пользователей Commodore'а "Zzap! 64" в 1990.

Для тех, кто не играл в Зорк, вот что вы видите после загрузки игры:

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