AY/YM/TS test v0.2



Предлагаю вашему вниманию небольшой тест, написанный как для проверки работоспособности плат turbosound (NedoPC), так и самих чипов AY/YM. Думаю, он будет полезен не только владельцам/изготовителям TS, но и тем, кто сейчас приобретает YM-чипы из Китая.

Начиная с версии 0.2 добавлена проверка звучания beeper'a и магнитофонного порта, так что тест, возможно, окажется полезен ещё и организаторам demoparty для проверки звука перед показом музыкальных конкурсов:)

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

Ускоряем DeSmuME


Какое-то время назад зоопарк форматов, поддерживаемых ZXTune пополнился еще одним экспонатом — .2sf. Типичный представитель семейства Portable Sound Format (.psf, .psf2, .ssf, .dsf, .usf, .gsf, .snsf, .2sf, .qsf), предназначенный для хранения дампов памяти с музыкой игр для карманной приставки Nintendo DS.
Для воспроизведения используется библиотека vio2sf от Christopher Snowhill на основе эмулятора DeSmuME. На далеко не самом быстром референсном устройстве и случайно выбранных треках библиотека показывала достаточное быстродействие, поэтому она была портирована as is, без оптимизаций (хотя беглый взгляд на код и вызывал зуд в руках). К тому же, будучи измученным Рамзаном нарзаном оптимизацией библиотеки lazyusf2 (если интересно, могу рассказать о процессе), я не имел ну никакого желания опять влипать в это дело.


Да куда ж ты денешься?.. (С) Жызнь

Новый релиз — Vortex Tracker 2.0 — Перерождение (2017)

Комфортная и приятная работа за счёт упрощения рутинных операций. Более отзывчивый и дружественный интерфейс. Поддержка горячих клавиш, цветовых тем, жонглирование позициями паттернов, автобекапы, свободное перемещение по всему треку, улучшенный редактор семплов, новый дизайн и многое другое…

Ждёт вас в новом релизе Vortex Tracker, который вышел совсем недавно — 2 сентября 2017 года, и уже успел покорить сердца заслуженных ветеранов AY-сцены. Что, кстати, совершенно неудивительно, ведь именно под их чётким руководством развивалась новая версия :)

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

А ещё поздравляю всех музыкантов с новым релизом! Поздравляю автора программы — Сергея Бульбу — с тем, что его детище живёт и развивается. И выражаю огромную благодарность всем, кто помогал мне сделать Вортекс лучше.


А теперь ближе к делу...

FT812. SDK



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

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

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

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 с точки зрения разработчика подобных видеосистем.
Вопросы программирования сабжа будут рассмотрены поверхностно (а подробно — в отдельной статье).

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