FT812. SDK



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

Данный SDK по замыслу должен включать в себя:
— поддержку железа FT812 в его инкарнации VDAC2 на ZX-Evolution по интерфейсу SPI,
— поддержку железа TS-Conf,
— программирование FT812 (инициализация режимов, создание дисплей листа, функции сопроцессора),
— геометрию (синусы/косинусы etc.),
— прочие функции, полезные при создании игр или утилит.

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

PCSPE - создание музыки для PC Speaker в современных DAW

Вас мучает непреодолимое желание сделать демку для предельно олдскульного IBM PC, не имеющего даже звуковой карты, но вы не знаете, как же быть с музыкой? Можно расслабиться, ведь теперь есть альтернатива трекеру MONOTONE. Свежий VSTi плагин PCSPE позволяет создавать прекрасно ужасную одноканальную музыку для PC Speaker, подобную звучавшей в играх Monkey Island или Lotus III, с помощью любой современной DAW — FL Studio, Cubase, Reaper, и им подобных.

Полученный результат можно экспортировать для использования в ваших программах для IBM PC или других компьютеров, использующих таймер 8253 для генерации звука (Микроша, Корвет), а также прочих причудливых затей — экспорт представляет собой обычный текст очень простого формата и легко парсится. Пример простейшего проигрывателя на QBasic прилагается.

Плагин позволяет создавать инструменты, подобные тем, что используются в трекерах для AY и других звуковых чипов. Огибающие громкости, арпеджио (орнамент) и изменения питча задаются в виде строк текста с очень простым форматом, аналогично MML или FamiTracker. Условная громкость инструментов является основой системы приоритета. В один момент времени всегда звучит только тот инструмент с наибольшей текущей громкостью. Например, инструмент баса имеет громкость 1, а инструменты ударных имеют громкость 2 — значит, они будут прерывать бас в момент своего звучания. Таким образом несколько одновременно звучащих музыкальных партий утрамбовываются в один канал спикера, что, конечно, требует вдумчивого подхода при сочинении музыки и создании аранжировок.

Типичное чиптюновое арпеджио можно создавать как соответствующей огибающей, так и более удобным способом, с помощью арпеджиатора ChipArp, что позволит использовать в редакторе традиционные аккорды.

Небольшая демонстрация в MP3
Скачать плагин

Vortex Tracker. Моды и форки.

Уже не раз мы обсуждали на канальчике телеграмчика Vortex Tracker. Все pro и contra. Впрочем, каким бы не был VT неудобным, у него есть неоспоримое достоинство — это единственный трекер для AY/YM на PC. Поэтому выбирать не приходится.
Однако, сколько бы я не предпринимал попыток освоить AYшные чиптюны, все эти попытки разбивались об очень убогое юзабилити вортекс трекера. Я понимаю, что грех на это жаловаться, Сергей Бульба даже при таком подходе проделал большую работу, но тем не менее VT ещё слишком сырой, чтобы считаться качественным, удобным продуктом, на уровне, например, Famitracker'а.

Итак, ниже я перечислю некоторые недостатки трекера, которые подбешивают больше всего, и расскажу как их исправить и заточить под себя, ведь у нас есть исходные коды.

1. Неудобные горячие клавиши навигации. Нельзя, я считаю, проигрывание биндить на F5-F8 а остановку проигрывания на Escape. Зачем разбивать play song from current row и play pattern from current row на две отдельные клавиши — я не понимаю, достаточно оставить первое, второе не нужно.
Самой удобным я считаю реализацию в Impulse tracker. F5 — играть модуль. F6 — играть текущий паттерн. F7 — играть модуль с текущей позиции. F8 — стоп. Всё гениальное просто, под пятернёй вся навигация, и не нужно оголтело размахивать руками или раскорячивать пальцы, прыгая от F8 к Escape.

2. Неудобная навигация между треками паттерна. Классический подход — TAB и shift-TAB а не ctrl-right и ctrl-left.

3. В режиме turbo sound оба трека проигрываются вместе только в режиме «play song». Отдельно паттерн из двух модулей проиграть не получается — играет только один из них, текущий. Зачем — непонятно. Ведь отключить ненужные каналы можно соответствующими кнопками в окне модуля.

Вообще реализация режима turbo sound вызывает больше всего досады. Ведь куда удобнее было бы одно окно с шестью треками а не сцеплять джва трёхканальных модуля. Полагаю, это связано с классом TTracks (собственно, три трека для записи нот), который Бульба предпочел унаследовать от TWinControl и реализовать в виде текста (отсюда и требование только моноширинного шрифта в настройках) и сохранение модуля в txt формате. Похоже, что на тот момент автор еще не задумывался о режиме турбосаунда достаточно глубоко, и решил задачу «в лоб». В идеале было бы лучше создать потомка от TGraphicControl, но, понимаю, хотелось прежде всего поддержать множество трехканальных форматов, не хотелось много и нудно кодить, а о турбосаунде думалось в последнюю очередь. Именно поэтому режим TS и был реализован костылём, в виде «сцепки» двух обычных модулей.

Итак, далее расскажу как всё это поправить. Также могу в коментариях ознакомиться и с другими полезными предложениями, которых я мог не учесть.


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

SDCC Z80 и как с ним бороться



Драма в трёх актах с разрушенными судьбами программ и убитыми человеко-часами.

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

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

FT812. Архитектура



В этой статье я расскажу об особенностях работы и внутреннем строении FT812 с точки зрения разработчика подобных видеосистем.
Вопросы программирования сабжа будут рассмотрены поверхностно (а подробно — в отдельной статье).

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

FT812. Вступление и лирика



Как в своё время было принято начинать научные труды цитатами из вождей, так и данную статью стоит начать чем-то вроде: сценообразующий режим 6912 неисчерпаем, как андронный коллайдер и все такое.

Но данная статья будет ровно о противоположном — она будет не о 6912, а наоборот.

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

Crazy Siberian Party 2017

CSP 2017 – в этот раз действительно крейзи!
Какой-то знакомый взгляд с прищуром!
Друзья, всех приветствую! В связи с поступающими многочисленными вопросами относительно CSP’2017 мы вынуждены сделать небольшой анонс предстоящего события.
Итак, первое! Традиционная пати CSP состоится на берегу Оби в привычном месте, 29-30 июля 2017 года! Это вы и так знаете, здесь всё стабильно.
Второе. Нам задают вопросы «А будет ли демопати?», «А если я пришлю работу?», «Может, всё-таки, забацаем демопати?». Нашу позицию мы озвучивали ранее и повторяем – демопати, как в 2015-2016 годах не будет, по крайней мере при нашем организинге. Тем не менее, мы пошли навстречу всем спектрумистам и объявляем безбашенные конкурсы!!!
GFX-compo! Свободная тема!
Присланные работы будут распечатаны в размере 20х30 сантиметров и размещены в зоне CSP на верёвочке. Каждому участнику демопати будут выданы стикеры, которые он сможет наклеить на оборот понравившейся работы. Победители будут определены количеством стикеров у каждой работы. И это будет так называемый «приз зрительских симпатий»!
Основное определение победителя в данной номинации планируется провести на площадке events.retroscene.org!
Учитывайте, что при распечатке RGB нет, только CMYK.
Crazy Demo/Intro compo! Принимаются работы, выполненные в виде анимации в блокноте (книге). Это те самые «мультики», которые рисовали многие из вас на полях тетрадей и блокнотов. Понятно, что никто не пришлёт свои блокнотики (это ж надо почту задействовать), поэтому на пати желающим будут выданы небольшие блокнотики и карандаши/ручки. Запилить дему сможет любой желающий!
OpenAirCraftCompo! Не забываем приносить на CSP домашние заготовки, сало, рыбу, лечо и другие продукты, сделанные своими руками. Мои 5 «копеек» уже выдерживаются в отдельной ёмкости!
Третье. В каждой номинации победителей ждут призы и памятные подарки! Иногородним будет организована доставка призов.

Более подробные правила будут опубликованы позднее.

Всех новосибирцев и гостей города приглашаем приложиться к организингу CSP’2017! У нас есть техника и шатры!
Требуются активные волонтеры для организации доставки аппаратуры на патиплейс с последующей ее эвакуацией!
Кроме того, необходим электрогенератор мощностью около 2 кВт.

Ждём вас всех в последние выходные июля в г. Новосибирске на CSP’2017!!!

1tracker v0.25

1tracker, экспериментальный кроссплатформенный мультитрекер, уже несколько лет играющий роль подпольного конкурента давно не обновляющейся Beepola, докатился до версии 0.25.

Редактор понемногу разворачивается к пользователю лицом. Произведён переход на SDL2, что улучшает пользовательские характеристики и снимает некоторые проблемы совместимости. Спорная концепция одного большого паттерна без ордер-листа, разработка которой является одним из краеугольных камней проекта, дополнилась рядом возможностей, приближающих интерфейс к классическому с ордер-листом, но только без ордер-листа, но почти как с ним. Добавлено множество шрифтов и цветовых тем в стиле классических домашних компьютеров, чтобы покрыть разнообразие разрешений экрана и хоть немного скрасить примитивность интерфейса.

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

Помимо этого, доступны такие обделённые вниманием музыкантов движки, как:

— BuzzKick, аналог SpecialFX с сэмплами на ударных
— из игры Earth Shaker
— трёхканальный Тима Фоллина из игры Vectron
— движок Lyndon Sharp из Mig-29 и других игр
— ntropic
— Octode XL
— Phaser 2 и 3
— POWW
— prdr
— Stocker
— tBeepr
— ZX-10

Это прекрасный шанс проявить себя в музыкальном компо на грядущем DiHalt 2017, сразив публику наповал новым экзотическим звучанием старого бипера!

Скачать и начать.

Краткое руководство по выживанию в условиях отсутствия ордер-листа. На замену ему предлагается концепция блоков. Можно отмечать границы блоков произвольной длины, нажимая Space на любой строке. Удобно использовать классические 16, 32 или 64 строк. Список блоков виден в правой части экрана, также можно присвоить текущему блоку имя по Ctrl+F. Операции выделения, такие как Ctrl+A и Ctrl+L, сначала применяются к текущему блоку, потом к треку целиком. Между блоками доступен быстрый переход по Ctrl+PageUp/Down. Чтобы скроллинг и соседние блоки не мешали сосредоточиться, доступен режим ограниченной видимости, включаемый и выключаемый по Ctrl+F1.

Демосцена на VERVE 2017

VERVE 2017

Фестиваль пройдет 9 сентября, удалённое участие приветствуется.

Мы понимаем, что ламповости Мультиматографа, угара Дихальта и толпы народа ЦЦ у нас нет, но всё же очень постараемся, чтобы было интересно и комфортно. Будем рады видеть вас и ваши проды на финальном российском пати уходящего года.

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

Ниже список конкурсов, которые могут быть интересны. Правила для каждого конкурса появятся в ближайшее время.
Читать дальше →