Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 30

Спасибо за статью, очень интересно.

PCEngine - IMHO самый тру-8-битный из всех 16-битных! И вероятно формат треков достаточно компактен и прост для эмуляции. Семплы фиксированной длины, много каналов и эффектов... Спасибо, до этого не знал и не слышал.

Мне тоже очень нравится комбинация простоты и эффективности. И музыка в играх звучит очень приятно.

я собрал аппаратный плеер vgm/s98 на ym2608, только без проигрывания ADPCM и Rhythm - как по мне, звук намного лучше, чем на эмуляторах на ПК, балдёж...

Бро! Статья идеальна!

Первое место в конкурсе Техно Текст 2025 - присуждаю за неё тебе! Точка.

Изобрели метод частотной модуляции в США в 60-х годах. 

До этого считалось в 30-х

Согласен, косноязычие. ЧМ для вещания в 30-х, синтез звука методом ЧМ - в 60-х.

Не помню уже, смотрел ли я своим визуализатором эту игру или нет, надо попробовать. Самому интересно: используют ли они Z80 как аппаратный DMA или М68К напрямую всё выдаёт. Почему делаю такое предположение: дело в том, что у нас ходила NTSC версия и при запуске на PAL звук этой музыки звучал хрипло. Если посмотреть на сигнал то можно увидеть пустые пробелы с частотой 50 Гц. Это потому что кадр при NTSC 60 занимает примерно 16мс, а при PAL 50 все 20 мс. А код рассчитанный на 60 Гц рендерил звука ровно на 16мс, поэтому 4мс звука не было. Если бы Z80 выводил отрендеренный звук в свободном полёте, как это делает DMA у звуковых карт, то происходили бы заикания а не пробелы. Единственное объяснение при этом может быть только использование IRQ для синхронизации, которое так же привязано к VBlank. Поэтому, я обязательно запишу видео как визуализируется воспроизведение MOD в этой игре, просто стало самому интересно.

Привет. Куда будешь вылаживать видео? Есть канал на ютубе?

Есть, но я туда не намерен больше ничего выкладывать. Вон, облака хватает.

109 герц — нота Ля второй октавы

Ля второй октавы это 880 герц. А 110 герц это "ля" большой октавы.

Есть разные способы счёта октав.

Ребят! Автор - скромная легенда sega_звукостроения, в том числе активный участник реверса чипа ym2612 в условиях никакой документации.

Недавно наткнулся на user-friendly MOD плеер. Звучит классно на встроенных треках. Правда, не тестировал заливку своих MOD.
https://www.pouet.net/prod.php?which=92359

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

Агонь!

А можно ещё вкратце о той уникальной ситуации, когда Cool Spot могла адресоваться ко второй ямахе, если её подпаять, и выводила туда дополнительные каналы звука?

Там модифицировали GEMS для этого. Было такое кино с артефактами из прошлого:

Я делал визуализатор транзакций на шине Z80. Сначала сделал как поле 256х256 пикселей, но оказалось, что там слишком много не используемых чёрных областей. Как итог получилась следующая организация: верхняя половина с чёрным фоном это ОЗУ Z80 организованная как 128х64 точек или как два блока 128х32 расположенных друг над другом (этот режим показан белой чертой слева на бордюре). Нижнее поле с серым фоном это старшие 32 килобайта или банка, организована как 256х127 точек. В обоих случаях, счёт идёт с верхнего левого угла в нижний правый. Справа на бордюре квадраты доступа YM2612 (первые 4 сверху), квадрат доступа к PSG и под ним квадрат доступа к регистру переключения банка. Легенда цветов такая: голубой - цикл М1 Z80, зелёный - чтение данных Z80, красный - запись данных Z80, фиолетовый - запись данных М68К, жёлтый - чтение М68К. Очень залипательное зрелище + сразу подсвечиваются разные области. У GEMS виден шлюз синхронизации с М68К.

Добавлю немного ещё видосиков. Вот так работает GEMS на примере Comix Zone:

Виден внизу ОЗУ кольцевой буфер для ЦАП на 256 байт. Делаю зум на шлюзе обмена данными с М68К, он двухсторонний (фиолетовая точка и желтая). Здесь только задаётся команда, параметры GEMS вычитывает сам из банка. В самом банке видны вычитки сэмплов.

А вот так работает драйвер игры Captain Lang (aka High Seas Havoc) от Data East. Драйвер обрабатывает только цифровые семплы, в остальном FM программирует М68К напрямую: фиолетовый в доступе к YM2612, кроме данных (порт 1) там красный потому что данных ЦАП больше и они чаще.

Драйвер первого Соника работает схожим образом, только все сэмплы помещаются в ОЗУ и он не исопльзует банк:

А вот TFM Player от @shiru8bit порадовал самомодифицирующимся кодом (красные точки записи среди исполняемого кода). Правда, меняются не сами команды (голубые точки) а их аргументы (зелёные точки).

Мне всегда нравилась мелодия из начала уровня Цитадель в Pirates of Dark Water. Ну и весь OST Dune 2 и Rock n' Roll Racing.

В 90-х я записывал всю музыку из Dune 2 и Rock n'Roll Racing на аудиокассету, чтобы слушать, когда не было доступа к приставке.

Уф, у меня этих кассет была целая полка. Всякое записывал. Дуня была, Бубба'н'Стикс, Контра, Саб Террания и Бэтмен и Робин, Экко дельфин, Бетмент первый. А сколько их было с музычкой от Денди...

Крохи артефактов прошлого, которые попались прямо сейчас на глаза:

Класс, столько артефактов прошлого. Ооо, Lethal Enforcers II тоже записывал. Невероятно крутая музыка!

"Do you wanna piece of me, sheriff?"

PS Кстати, в третьем ролике с визуализацией это твой TFM Player играет. И наверное интересно видеть как именно код там гуляет в реальном времени.

Есть ли эмулятор MIDI как в Sound Blaster 16 под DOS?

Такой, чтобы непосредственно использовал MIDI-файлы - вроде в одной игре было, кажется гольф какой-то. Я давно пробовал прогнать ромсет всех консолей через поиск MIDI-файлов, и на всех платформах такой файл нашёлся в одной и той же игре. А импорт данных из изначального MIDI-файла реализован в том же GEMS, и наверное много где ещё.

Это слишком сложно, я совсем не погружен в эту тему.

Я помню, что в DOOM-2 была абсолютно заунывная музыка, атмосферу создавала будь здоров. Пронзительные чистые ноты, а потом пошла мода делать сэмплы настоящих инструментов и это выглядит жалко..

Зарегистрируйтесь на Хабре, чтобы оставить комментарий