Просмотр полной версии : Биперная музыка на Векторе-06Ц
Сам я все же не определился. Если на реале слушать через пищалку, то вторую версию будет слышно сравнительно хорошо (насколько это возможно для пищалки), а третью скорее всего надо через магнитофонный выход в усилитель. В свое время так (через усилитель) слушал некоторые интересные векторовские композиции, это не больно.
На моем реале, пока он работал, даже обычные писки ви53 почти совсем не было слышно. Магнитофонный выход отличная вещь.
Пищалка слишком тихая, с этим я согласен. Она более-менее подходит для фоновой озвучки игрушек или для кликов клавиатуры, а музыку желательно слушать в усиленном варианте.
- - - Добавлено - - -
У 6128, если я правильно понял, пищалки совсем нет, только выход наружу, только хардкор.
Еще немного, еще чуть-чуть - получилось слегка ускорить основной цикл тритона и втиснуть туда линейную интерполяцию (четвертая версия (https://disk.yandex.ru/d/uoh0LyBv7zBQJw)). Больше идей по ускорению у меня нет. В итоге в отличие от второй версии не свистит и в отличие от третьей звук не глухой. Добавил композицию (всего стало 8) удобную для тестирования всяких нестандартных звуков
hvvua.rom - Hvvua (Strobe)
Теперь наверно не так стыдно будет привести ссылку на архив (http://z80.i-demo.pl/music.html) спековских записей биперной музыки с реала. Там есть композиции для всех движков, которые я выкладывал. Уточню - там представлены все движки, которые я портанул (и даже больше), а композиции может и не все, так детально я не проверил.
Тыгыдык в Монти отменный, прям настоящий Devil's Galop.
Huvva вообще огонь!
Забыл написать про эмуляторопригодность. Все осталось как с версией 3 - предпочтителен v06x, emu80 тоже подойдет, но слегка похуже.
- - - Добавлено - - -
Huvva вообще огонь!
Да уж, спековские музыканты выжимают максимум. Если по совокупности творческой и технической компоненты, то мне из портированных тритонских больше всего нравится Triton and Mermaid. К сожалению не все композиции удается найти в виде бинарников, хотел бы кое-что еще услышать на векторе.
Я упустил, или уже забыл... музыка вообще в каком формате записана, это какой-то специальный бинарный формат, или что-то стандартное ?
Для вектора я оформил в виде romов, а так для каждого движка есть свой формат. Есть редакторы: 1tracker (http://shiru.untergrund.net/files/1tracker.zip), beepola (http://freestuff.grok.co.uk/beepola/). Но у меня после пробы сложилось впечатление, что лучше редактировать во "взрослых" трекерах и потом конвертировать (для многих движков есть шаблоны и конвертеры из .XM).
В версии Emu80 40379 Pyk поправил эмуляцию звука вектора и Emu80 в моем субъективном рейтинге вышел на твердое второе место после v06x. У v06x качество звука несколько лучше, но и на солнце есть пятна (https://zx-pk.ru/threads/11029-vektor-06ts-emulyatsiya-kr580vi53.html?p=1130251&viewfull=1#post1130251), а у Emu80 в этом плане все правильно.
Не знаю, как нормально портировать phaser3 на 8080, но решил послушать, что можно выдавить из вектора с z80.
Автор движка phaser3 - Александр Семенов/Shiru
Автор музыки March Of The BioMech - Rich Hollins/Tufty
С эмуляцией традиционно для бипера сложно. В Emu и VV не совсем те тайминги и неудовлетворительное качество звука. В Emu80 правильные тайминги и почти хорошее качество звука, но есть баг - после ресета перестает играть музычка (в Emu и VV играет). Для эмуляции в данном случае могу рекомендовать только emu80, ресет (F12) жать не стоит.
Если вдруг у кого-то уникальное сочетание: реал с z80 и реле - не надо пробовать эту музычку, у меня есть более шумный, но реледружественный вариант.
Upd 07.09.2022: Разогнал движок и добавил вторую композицию - небольшой вальс из заставки игрушки Pi-Dentity (автор музыки опять Tufty).
Эдак ты меня заставишь приделать z80 к v06x..
Было бы здорово
- - - Добавлено - - -
не совсем те тайминги
Насчет VV - из используемых в основном цикле команд неправильные тайминги у xor с префиксом, 12 вместо 8 тактов.
metamorpho
01.09.2022, 22:50
Пишу вопрос, чтобы сэкономить себе (и возможно другим) время.
Я не знаю разных тонкостей различия ВИ53 и AY - но знаю что AY имеет больше возможностей.
В отношении Бипера на Векторе и Бипера на Спектруме на мой делитанский взгляд они должны быть совместимы - не считая разность частоты процессора Вектора и Спектрума и соответственно скорость плеера другая - но в остальном какая в Биперах разница ?
Поскольку на Векторе нет нормальных музыкальных редакторов, то можно ли сделать следующий "ход конём" ?
На Спектруме есть написанные для Виндовс Beepola (для бипера) и Vortex Tracker (для AY).
Возможно ли на Вектор на процессор 8080А и на ВИ53 и бипер сделать некий плеер, который сможет качественно играть то, что написано на вышеупомянутых музыкальных редакторах со Спектрума ?
Можно ли в Beepola или Vortex Tracker писать музыку так сказать в упрощённом виде (не использовать какие-нибудь фишки и навороты) , чтобы таким образом это было подходящим для Вектора для ВИ53 ?
Возможно ли на Вектор на процессор 8080А
у процессора z80 есть второй режим прерываний - IM2
(в `хороших` биперных движках он как раз используется)
Можно ли в Beepola или Vortex Tracker писать музыку так сказать в упрощённом виде (не использовать какие-нибудь фишки и навороты) , чтобы таким образом это было подходящим для Вектора для ВИ53 ?
Конечно можно (и в 1tracker тоже, да и в других редакторах). Играем только 3 тональных канала без управления чем-либо еще (например громкостью) и все. У меня легкое дежавю, вроде я про это писал, да и не только я. vinxru/alemorf подобным образом писал музыку для ВИ53, в каком-то "взрослом" редакторе.
- - - Добавлено - - -
Наличие или отсутствие IM2 для портирования биперных движков с z80 на 8080 не критично, а вот насколько широко они используют регистры - очень критично.
metamorpho
02.09.2022, 10:25
Конечно можно.........vinxru/alemorf подобным образом писал музыку для ВИ53, в каком-то "взрослом" редакторе.
А плеер (исходник) чтобы играть такую упрощёную музыку на ВИ53 есть ?
Это зависит от того, какой именно редактор (и движок, если биперный) выбрать. Кстати недавно усилиями svofski добавился такой вариант - берем vortex tracker 2, пишем музычку без шума/громкостей/огибающих, конвертим в ym, пакуем, а потом распаковываем на ходу. Причем тут очевидно будет использоваться меньше регистров, чем для AY.
Если я правильно понял идею, тут еще потребуется какая-то предварительная подготовка с пересчетом делителей?
- - - Добавлено - - -
P.S. был какой-то трекер специфически для писи спикера, но в качестве расширения в нем можно было сделать три канала причем кажется даже были примеры музонов -- он работал на современной платформе и спикер эмулировал. Не факт, что мне это не приснилось и не могу вспомнить, что именно это было.
еще потребуется какая-то предварительная подготовка с пересчетом делителей?
Можно так, а можно жать AYковые регистры и подцепить это (http://www.sensi.org/scalar/ware/788/) или нечто подобное.
Надо сказать что это в примерах звучит невероятно круто, просто не верится, что это ви53. Ты помнишь сколько оно требует времени и как часто апдейтит регистры? Это годится для фоновой музыки?
- - - Добавлено - - -
И к слову, RMP -- файлы это что?
Дык там же ссылка в карточке - Real Music Player (https://www.sensi.org/scalar/ware/609/)
Временем на преобразование делителей в первом приближении можно почти пренебречь. Основное время занимают потуги эмуляции шума. Обидно, что в выложенном варианте как раз ошибка в генерации шума. Для фона годится, особенно если отключить нафиг типашум.
Это да, но я надеялся на то, что вместо RMP можно взять что-то другое. Где существует RMP за пределами этой карточки ? На zxart.ee нету такого формата в критерии поиска. Как скрестить AYVI53 с Гигачадом?
я надеялся на то, что вместо RMP можно взять что-то другое.
Конечно можно.
Где существует RMP за пределами этой карточки ? На zxart.ee нету такого формата в критерии поиска.
Тут лучше Kansoft скажет. Я всегда думал, что это кировская вариация на тему какого-нибудь спековского формата.
Как скрестить AYVI53 с Гигачадом?
Нужно заменить запись в регистры AY на вызовы WRTPSG. WRTPSG в комплекте слишком специализированная, но я думаю у тебя не вызовет каких-либо затруднений ее деспециализировать.
Проще оттолкнуться от WRTPSG_dispatch: к этому моменту в A - номер регистра, в E - записываемое значение.
Нужно заменить запись в регистры AY на вызовы WRTPSG. WRTPSG в комплекте слишком специализированная, но я думаю у тебя не вызовет каких-либо затруднений ее деспециализировать.
Проще оттолкнуться от WRTPSG_dispatch: к этому моменту в A - номер регистра, в E - записываемое значение.
Ага, то есть эмулятор пристегивается за запись в регистры, а какой именно плеер это делает ему не важно. Это очень в духе Гигачада и возможно они созданы друг для друга.
Что касается rmp. Спековские музоны (нашел лиры, e-type) есть в формате stc. Файлы rmp раза в два меньше. А если сжать rmp и stc, то получается примерно одинаковый размер. Возможно rmp это поджатый stc (поверхностное впечатление, код не копал).
metamorpho
03.09.2022, 19:56
Это зависит от того, какой именно редактор (и движок, если биперный) выбрать. Кстати недавно усилиями svofski добавился такой вариант - берем vortex tracker 2, пишем музычку без шума/громкостей/огибающих, конвертим в ym, пакуем, а потом распаковываем на ходу. Причем тут очевидно будет использоваться меньше регистров, чем для AY.
Я правильно понял что речь идёт о gigachad16 ?
Если да, то вопрос: просматривая код gigachad16 не понял gigachad16 через ВИ53 или через AY звук на Векторе выдаёт ?
Да, о нем.
Выложенная версия - через AY, но с минимальными усилиями адаптируется на ВИ53.
metamorpho
03.09.2022, 22:04
Выложенная версия - через AY, но с минимальными усилиями адаптируется на ВИ53.
Насчёт gigachad16 - svofski будем ждать адаптации на ВИ53. :)
Если качество будет не хуже чем AY вариант, то это же будет "прорыв" - поскольку можно использовать vortex tracker 2 для Вектора.
Это зависит от того, какой именно редактор (и движок, если биперный) выбрать. ..........
А какие ещё есть редакторы на которых можно писать музыку и потом воспроизводить её на Векторе ?
И соответственно какие есть плееры-движки для ВИ53 (с хорошим качеством звучания), которые могут с этих редакторов взять мелодию и воспроизвести, есть на данный момент ?
Если качество будет не хуже чем AY вариант
Ха! :)
Ха!
Да уж, на всякий случай еще раз сошлюсь на ограничения, при которых будет не хуже
берем vortex tracker 2, пишем музычку без шума/громкостей/огибающих
И соответственно какие есть плееры-движки для ВИ53 (с хорошим качеством звучания), которые могут с этих редакторов взять мелодию и воспроизвести, есть на данный момент ?
В виде исходников ничего не выложено. В принципе подходит любой движок с >=3 каналами. Используем только 3 канала и не используем управление скважностью, громкостью, шум и т.п. Ну и подгоняем, чтобы ноты были с длительностью кратной 20 мс. Делал такой проигрыватель для тритона, но если не готов сам делать/настраивать подобный проигрыватель, то лучше ориентироваться на vortex tracker.
metamorpho
04.09.2022, 14:45
Ха! :)
:)
Да, похоже я неправильно (не до конца) выразил мысль. Я не имел ввиду что на ВИ53 будут такие же навороты как AY. Поскольку некоторые штуки на ВИ53 недостижимы т.к. это идёт на аппаратном уровне самого чипа AY.
Сказав "качество будет не хуже чем AY вариант", я имел ввиду, то что ЗВУК будет приемлемым (в достаточной мере), т.е. без хрипения, трещания и т.п.
Например возьмём мелодию игры PUTUP или RISE OUT или PAIRS или ROTORS и т.д. - мелодии там простые без наворотов AY, но как "цепляют ухо" любителей ретро музыки - и всё это звучит на ВИ53. Так вот я про то чтобы если возможно, то писать на vortex tracker, а делее через gigachad16 (вариант ВИ53) выводить подобную "простую" (без наворотов AY) музыку.
metamorpho, я разумеется именно так и понял. Но как тут не сказать было ха! :D
Дык там же ссылка в карточке - Real Music Player (https://www.sensi.org/scalar/ware/609/)
Временем на преобразование делителей в первом приближении можно почти пренебречь. Основное время занимают потуги эмуляции шума. Обидно, что в выложенном варианте как раз ошибка в генерации шума. Для фона годится, особенно если отключить нафиг типашум.
Вообще работает классно с гигачадом. Только вот заметил, что барабаны (боробаны) часто заканчиваются не молчком, а гудком. Это характерно, или у меня тут какой-то уникальный случай? Большой барабан при этом звучит очень даже.
Как отключить нафиг типашум?
Проще всего добавить ret после метки NoiseProcess.
Мм нет, в моем случае это видимо что-то другое. Я вообще заметил, что голоса по-моему в принципе никогда не затыкаются.
- - - Добавлено - - -
БТВ, прикольно когда выводится звук в AY и ВИ53 параллельно. На некоторых музонах только, конечно, где это не слишком вразнос. Получается еще шумнее и бестолковей, чем всегда.
голоса по-моему в принципе никогда не затыкаются
Наряду с шумом это было одно из направлений совершенствования счетмашевских наработок, но до совершенства далеко.
прикольно когда выводится звук в AY и ВИ53 параллельно
Для меня это как неприятный хорус.
Наряду с шумом это было одно из направлений совершенствования счетмашевских наработок, но до совершенства далеко.
Я пока не закапывался вглубь VI53.asm. Вроде бы гудок при установке громкости должен отсекаться при пороговом значении громкости <= 3 ? А при эмуляции огибающей по-моему такого порогового сравнения не производится, там как раз происходит переключение на шум (типа бум-тсс). В общем наверное надо внимательно посмотреть в регистровый дамп и понять, что в AY-версии мешает бас барабану превратиться в свисток.
- - - Добавлено - - -
Для меня это как неприятный хорус.
Неприятный хорус -- отличное выразительное средство.
Эмуляция огибающей там очень грубая, чтобы играть существующую (спековскую, msxную и т.д.) музыку ее надо радикально переделать. А если писать музыку сразу в расчете на ВИ53, то и реализованная эмуляция огибающей избыточна.
А если писать музыку сразу в расчете на ВИ53, то и реализованная эмуляция огибающей избыточна.
Просто ты нигде не уточняешь что именно реализовано.
В общем случае стоит ориентироваться на минимум - 3 тональных канала, можно задавать частоту. Ну еще микшер и громкость, чтобы включать/выключать каналы. Остальное надо смотреть индивидуально, или, повторюсь, радикально переделывать.
- - - Добавлено - - -
Кстати, может перенести обсуждение эмуляции AY с использованием ВИ53 туда (https://zx-pk.ru/threads/34149-emulyatsiya-ay-s-ispolzovaniem-vi53.html)?
К сожалению не смог избавиться от неприятных призвуков в альтернативном варианте фазера3 с двумя раздельными каналами через бипер+таймер. Это прям жаль, звук собственно музыки в том варианте более громкий и четкий. Зато в чистобиперном (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1161754&viewfull=1#post1161754) варианте почти догнал спек по частоте дискретизации в основном цикле (и добавил второй музыкальный пример). Своего потолка тут я достиг, но возможно кто-нибудь придумает что-нибудь получше.
В Emu80 правильные тайминги и почти хорошее качество звука, но есть баг - после ресета перестает играть музычка
Точно, спасибо за багрепорт! Будет время - посмотрю, доработка эмулятора до октября на паузе...
В Emu80 правильные тайминги и почти хорошее качество звука, но есть баг - после ресета перестает играть музычка
Исправил, изменения в репо, будет в следующем релизе.
ivagor, я тут спохватился, что практически все эти шедевры не в картотеке. Давай добавим? А то искать тут страшно заморочно. А если кто не знает что искать -- вообще без шансов.
Для начала -- https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1130092&viewfull=1#post1130092 -- это актуальная версия phaser1 ?
Ниже сообщение про tritone и ссылок не вижу.
Еще было бы прикольно вынести ссылки в первое сообщение. Типа как parallelno делает со средствами разработки.
Triton (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1132551&viewfull=1#post1132551) (v4), Stoker (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1131385&viewfull=1#post1131385), Octode XL (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1131442&viewfull=1#post1131442) (v2), Phaser3 (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1161754&viewfull=1#post1161754) (z80).
Версия phaser1 по ссылке актуальная, хотя есть и другие, которые я возможно когда-нибудь оформлю и выложу.
Список ссылок ссылок в первом посте возможно потом сделаю, лучше сразу на картотеку.
лучше сразу на картотеку
https://www.sensi.org/scalar/categories/beeper/ посмотри по возможности, все ли так как тебе нравится. Хорошо бы добавить скриншоты, но уж очень скучно их готовить. Не сдержался, добавил. Был приятно удивлен тем, что в браузерном эмуляторе вообще вполне себе звучно все звучит.
А что там насчет всевозможных Her Majesty и даже просто pwm18i2?
все ли так как тебе нравится
Мне все нравится, приятно удивлен качеством звука в онлайн-эмуляторе. Добавил ссылку на картотеку в первый пост.
А что там насчет всевозможных Her Majesty и даже просто pwm18i2?
pwm18i2 и компания пришли в итоге к проигрывателю wav (https://zx-pk.ru/threads/11403-vosproizvedenie-wav-s-isplzovaniem-shim.html?p=1167154&viewfull=1#post1167154) (ссылка (https://zx-pk.ru/threads/11403-vosproizvedenie-wav-s-isplzovaniem-shim.html?p=1132898&viewfull=1#post1132898) на образ более старой версии с примерами wav).
Векторный декодер надо бы тоже зарелизить, но я его как оставил с намерением сделать квазной проигрыватель, так все и есть на данный момент.
pwm18i2 и компания пришли в итоге к проигрывателю wav (ссылка на образ более старой версии с примерами wav).
Если у тебя будет свободных 10 минут, может быть ты мог бы сделать новый удобный образ диска с актуальной версией? Угробил час и понял, что тигры не любят делать векторовские дискеты.
Добавил (https://zx-pk.ru/threads/11403-vosproizvedenie-wav-s-isplzovaniem-shim.html?p=1167154&viewfull=1#post1167154) ссылку на образы дискет (только вариант c МикроДОС 28 для одного кваза наиболее простой для использования). Думаю желающие использовать двухквазный вариант смогут сами записать его на подходящий образ fdd или hdd с соответствующими досами.
svofski, если есть еще силы, может и околотрекерные штуки (https://zx-pk.ru/threads/31546-trekernaya-semplernaya-muzyka-na-vektore.html) закинешь в картотеку?
CityAceE
26.10.2024, 09:02
Чтобы не быть излишне вектороцентричным уточню, что есть еще пара советских ретрокомпов с ВМ80 подходящих для качественной адаптации phaser1.
Нет ли среди той пары и Специалиста?
Мне нужен какой-нибудь биперный движок под Специалист, чтобы N1k-0 смог в каком-нибудь редакторе написать музыку, а затем эту музыку проиграть на стандартном бипере Специалиста в заставке игры.
На специалисты с таймером можно портануть phaser1 с качественным звуком, но есть нюанс. Один канал будет через таймер, другой - через магнитофонный выход.
а почему так сложно, если движок в оригинале однобитный ?
Однобитное устройство воспроизведения (на спеке 48), о сложности движка это не говорит. Сложность определяется количеством генераторов, из разрядностью и спецэффектами. В Phaser1 2 канала, 3 генератора. Благодаря наличию "простого" канала на компах с таймером его (простой канал) можно воспроизвести таймером, остается сложный канал с 2 генераторами, который 8080 в районе 2 МГц успевает (на апогее с 1.78 практически успевает, я бы назвал звук вполне удовлетворительным).
CityAceE
26.10.2024, 11:15
На специалисты с таймером можно портануть phaser1 с качественным звуком,
Это отличная новость!
через магнитофонный выход
А вот это печально. На Сябре, который я сейчас пытаюсь собрать, на магнитофон по какой-то причине вообще "забили" - там нет ни чтения, ни записи. Соответствующие линии ВВ55 по этому назначению не задействованы никак и даже не выведены наружу. Но у меня есть Лик, и для него сейчас AlexBel проектирует плату расширения, на которой будут 8-ми цвет, защёлка для системы НП (чтобы не патчить ПЗУ), ВИ53 и SD-карта. Так что на своём Лике я бы, наверное смог всё это дело прослушивать, для чего бы даже подмешал к общему звуку магнитофонный выход. Ну, а уж на эмуляторе, которым пользуется большинство, это точно будет звучать нормально.
Но сейчас у меня немного другая цель. Я хочу, чтобы игра полноценно работала на любом стандартном Специалисте. Музыка во время игры будет выводится на ВИ53 - это опция. Тут уже всё протестировано и нормально работает - дело за музыкантом. Если нет у тебя ВИ53, то просто не будет музыки во время игры, вот и всё - это нестрашно. А вот эффекты и заставочная музыка (как, например, в Exolon'e) обязательно должны использовать только стандартный бипер. Конечно, хочется музыку покрасивее (типа такой (https://zx-pk.ru/threads/35893-firma-sp580-predstavlyaet-quot-xtree-com-quot-fx-music.html)), а не просто стандартное пиликанье. Не проблема дизассемблировать готовый код того же XTREEE.COM, но в чём писать для подобных плееров музыку? Поэтому я ищу что-то такое, что будет максимально красиво звучать на стандартной пищалке и которой хватит мощей Специалистовского i8080, и чтобы при этом было в чём писать современному музыканту. ivagor, направь, пожалуйста!
P.S. Вообще для меня эталоном биперной музыки на Спектруме является титульная мелодия в игре Ramparts. Вот в чём она написана?
для меня эталоном биперной музыки на Спектруме является титульная мелодия в игре Ramparts. Вот в чём она написана?
https://freestuff.grok.co.uk/beepola/help/engine-svg.html
что-то такое, что будет максимально красиво звучать на стандартной пищалке и которой хватит мощей Специалистовского i8080, и чтобы при этом было в чём писать современному музыканту
Вероятно движок MusicStudio, а в качестве редактора Beepola или 1tracker (https://shiru.untergrund.net/software.shtml)
CityAceE
27.10.2024, 09:23
Вероятно движок MusicStudio
Попробовал твой вариант перевести на Специалист в надежде, что всё будет играть так же, только медленнее. Поменял только 4 байта (номера порта и то, что в него засылают), ну и ВВ55 настроил на вывод в порт С. Суровая правда оказалась в том, что играет настолько медленно, что просто даже мелодия не узнаётся. А скорее всего кроме темпа там ещё и другие искажения вносятся (высота нот, что-то ещё). В общем, звук есть, но это какая-то тянучая какафония...
CityAceE
27.10.2024, 22:05
Суровая правда оказалась в том, что играет настолько медленно, что просто даже мелодия не узнаётся.
Заставил звучать на Специалисте. Чуть медленнее, чем на Векторе, но играет!
CityAceE
28.10.2024, 10:32
1tracker
Что-то я не вижу, чтобы 1tacker мог с формате MusicStudio треки экспортировать? Он точно может?
А в Beepola да, нашёл, набил пару нот на оба канала, добавил ударник и на Специалисте твоим плеером проиграл. Где бы примеры мелодий найти для загрузки в этот редактор?
ivagor, подскажи, пожалуйста, насколько критично, если я в твоей адаптации движка заменю OUT на LD (#FF02), A? Могу, конечно, оставить и OUT, чтобы по тактам всё совпадало, но мне хочется, чтобы в итоге потом всё работало и на Z80 тоже, когда я себе Сябр соберу ;)
Что-то я не вижу, чтобы 1tacker мог с формате MusicStudio треки экспортировать? Он точно может?
Насчет экспортировать я не понял. Он позволяет редактировать в формате MusicStudio, по крайней мере старая версия, которая у меня скачана, может он из новых выпилил. Меня правда смущает, что он написал "Modified again by Shiru for 1tracker, different song format, but sound generation code remained intact". Сам я набирал фрагментик в Beepola с использованием MusicStudio и он воспроизводится этим движком, в 1tracker MusicStudio не пробовал.
насколько критично, если я в твоей адаптации движка заменю OUT на LD (#FF02), A?
Ноты уедут (они и так уже уехали), но проще послушать, чем считать, может и не критично.
CityAceE
28.10.2024, 19:24
Перетащил со Специалиста на Вектор мелодию, которая, судя по звучанию, написана на движке Sound FX. А на Специалист она по попала со Спектрума. Ожидал услышать ускорение, а на самом деле почему-то получил замедление по сравнению со Специалистом. Какой-то парадокс...
Пропатчил на скорую руку. Чтобы подобные шимные штуки звучали как на спеке (или лучше) имеет смысл переделывать их на таймер. Пример такого подхода - stoker (https://caglrc.cc/scalar/ware/926/)
Спустя 7 лет послушал векторовский порт (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=928975&viewfull=1#post928975) The Music Studio и на фоне биперных достижений за это время стало грустно. Попробовал использовать прерывания, это помогло, стало ближе к оригиналу. Еще убрал недокументированную команду 8080.
- - - Добавлено - - -
Забыл написать в readme - если у вас ранний вектор с магнитофонным реле, то не стоит пробовать эту версию на реале.
- - - Добавлено - - -
Еще раз обновил, теперь в архиве сразу два варианта.
1. ei - исправленная версия с использованием прерываний, отключает кваз при старте. В ней точнее высоты нот.
2. di - новый вариант без прерываний. В нем точнее длительности нот, особенно коротких, что можно заметить во вступлении burnms.
Любой из вариантов лучше старого (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=928975&viewfull=1#post928975)
И еще версия Music Studio (без прерываний).
1. Она громче (бипер+канал таймера).
2. Она чуть ближе по высоте к оригиналу (чем 3di).
3. Не мигает РУС/ЛАТом и не клацает реле (там где оно есть).
4. В качестве бонуса - нормальный звук в Emu.
Недостатки:
1. Основной цикл несколько сильнее мотает на стыках нот.
2. В VV слышен только биперный канал, отключение опции
Sound>Filters>Play КР580ВИ53 (8253) Mode 3 Only
не помогает. Вероятно не поддерживается BCD режим таймера.
2. В VV слышен только биперный канал, отключение опции
Sound>Filters>Play КР580ВИ53 (8253) Mode 3 Only
не помогает. Вероятно не поддерживается BCD режим таймера.
Вообще то поддерживается. Опиши подробней, что ты с таймером вытворяешь, попробую найти косяк...
Вероятно не поддерживается BCD режим таймера.
А вот у меня в Emu80 как раз не поддерживается. Точнее, работает точно так же, как и двоичный.
Оно актуально, тем значения больше 9? И почему BCD вообще?
Один канал таймера используется как бипер.
->1:01h в порт 0Bh
->0:11h в порт 08h
У меня есть несколько промежуточных версий, которые работают в VV. Отличие последней версии только в режиме BCD, поэтому я подумал, что дело в нем. Получается ошибся, но у меня нет других предположений.
Придумал, как оптимизировать громкую Music Studio с сохранением совместимости со всеми (по крайней мере современными) эмуляторами.
В VV надо отключить опцию
Sound>Filters>Play КР580ВИ53 (8253) Mode 3 Only
А я тем временем починил VV, теперь играет нормально. Прикол был в том, что в режиме BCD счетчик после 0 становится равным 9999h, а выход устанавливался в 1 при условии перехода 0->FFFFh
- - - Добавлено - - -
ivagor, а режим BCD для чего использовался? мне показалось что оно там не нужно :)
Надо было решить 3 задачи: изменить состояние, проверить, получить значение для выдачи в порт. Сначала были три команды, потом две, а BCD позволил сделать все одной командой. А потом я додумался до loud2, где нет проверки и условного перехода.
Посчитал, при использовании в loud2 прерываний можно догнать и даже перегнать оригинал, но тут уже получающееся стаккато ему не соответствует, хотя в некоторых композициях отрывистость менее заметна.
Зато на 6128 loud2 и без прерываний близок к оригиналу, можно сбросить еще 4 такта и практически достанет. Для 6128 надо еще убрать коррекцию темпа. Но 6128 все же не 06Ц, а жаль.
Эпопея Music Studio все же закончилась позитивно, получилась хорошая версия для 06Ц. Таймер и прерывания в данном случае компенсировали более слабый по сравнению со спеком проц. Старые версии убрал.
Спековские биперные движки иногда кроме бипера параллельно трогают бордюр. Добавил вариант, в котором один из каналов меняет бордюр (и режим экрана). В данном движке это не особо красиво, но пусть будет.
Мне с бордюром нравится больше, чем просто черный экран.
Некоторую живость это придает, жаль что в данном движке (и в данной реализации) не получается каких-то интересных паттернов. Признаюсь, что использование бордюра вызвано в первую очередь погоней за скоростью (читать/писать порт ВВ55 чуть быстрее, чем память), а визуальная составляющая - побочный эффект. У спека один порт совмещает бипер и бордюр, а у вектора в большинстве случаев пришлось бы делать это отдельно и тратить такты. Учитывая, что скорости как правило не хватает даже на музыку, до визуализации дело не доходит.
Это out 2? Может быть можно подобрать место, где аккумулятор принимает более разнообразные значения и тогда, если сделать цветную палитру, будет веселее. Или просто заменить на out 12.
Добавил (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1206417&viewfull=1#post1206417) "цветомузыкальный" вариант MusStudColBor2ch, там на бордюре оба канала и больше цветов.
Для полноты картины еще вариант (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1206417&viewfull=1#post1206417) Out 0Ch. Возможно у меня устаревшая версия v06x, в данном "тесте" она выбивается из ряда эмуляторов визуалом.
Про движок (1 (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1205724&viewfull=1#post1205724), 2 (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1205942&viewfull=1#post1205942)) уже goodboy написал (https://zx-pk.ru/threads/35969-bipernaya-muzyka-na-spetsialiste.html?p=1205863&viewfull=1#post1205863) что это Тим Фоллин, но вроде не писали, что этот движок есть в 1tracker (Tim Follin 3ch, follin3ch). Надо считать, можно ли его дотянуть до оригинала на векторе.
Пара простых движков которые можно дотянуть и которые есть в 1tracker:
Earth Shaker - на 06Ц с прерываниями или на 6128 без прерываний.
Huby - убираем из основного цикла проверку клавиатуры и на 06Ц успеваем без прерываний. И если постараться, то похоже даже 2 МГц (без тормозов) хватит для Huby.
Earth Shaker и Huby для вектора. Касательно эмуляции могу только рекомендовать не запускать Huby в Emu.
На базе варианта из 1tracker конверснул трехканальный движок Тима Фоллина (в ноты попадает). Вывод звука переделал на 3 канала таймера в ШИМном режиме. Нормально звучит в v06x и в Emu80. Emu и VV в данном случае не рекомендую. На векторе не так много примеров музыки с огибающими, теперь будет еще один.
Основной цикл Music Studio уже (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1206417&viewfull=1#post1206417) был достаточно быстрый, но перекосы при смене нот все же были великоваты и иногда заметны. Переход к чередованию режимов 0 и 2 в таймерном канале позволил решить этот вопрос. Emu80, v06x и VV играют нормально, в Emu это не реализовано.
Цитата из даташита
Mode 0. The output will be initially low after the mode set operation - это в современных эмуляторах реализовано.
Mode 2. When this mode is set, the output will remain high until after the count register is loaded.
Mode 4. After the mode is set, the output will be high.
Использовал режим 2, а не 4 по двум причинам:
1. Чередование режимов 0/4 не поддерживают два эмулятора (emu, v06x), а 0/2 - только emu.
2. В данном движке использование режима 4 сопровождалось бы миганием РУС/ЛАТ.
Про состояние выхода после переходов в режимы 1, 3, 5 в даташите явным образом не написано, по рисункам похоже должна быть единица, но это надо проверять.
Уточнение насчет музыки Тима Фоллина, про которую здесь (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1206701&viewfull=1#post1206701) написал, что она из Mini Pacman 89. Авторское название Star Tip 2, опубликована в Your Sinclair Magazine, August 1987.
А можно объединить твои достижения в биперной музыке на Специалисте с Векторовским таймером и получить 5 ровных бесшовных каналов на Векторе? Или это уже сделано и я все пропустил?
Можно
1) 4 бесшовных равногромких канала
или
2) 5, но 2 из них получатся в 2 раза менее громкие, чем 3 других
- - - Добавлено - - -
В принципе объединение бипера с таймером в режиме 3 опробовано на порте phaser1. При наличии редактора и музыкантов там напрашивался бы phaser1++, в котором можно добавить еще 2 простых канала к одному сложному и одному простому.
- - - Добавлено - - -
2 из них получатся в 2 раза менее громкие, чем 3 других
Понятно, что это частный случай и можно сделать 60%+40% или близко к тому. Удобно для эха, которое например любят делать в тритоне.
5 с двумя минусгромкими по-моему может быть прикольно. Много голосов и даже какая-то динамика.
Насчет динамики у вектора возможности определенно есть. Например в спековском тритоне соотношение громкостей каналов фиксированное, а в векторовском можно было бы (опять же при наличии редактора и музыкантов) регулировать на лету. Правда векторовский свистит. Хотя есть и готовые движки даже с огибающими: stoker, движок Тима Фоллина.
У гипотетического четырехканального равногромкого есть заметный плюс - можно успеть на ходу переваривать более компактное представление музыки, а то пятиканальный может потребовать до 500 байт в секунду. Но и тут можно урезать осетра, если уменьшить дискретность изменений нот до 25 и менее Гц.
Давно хотел и наконец портанул спековский движок Squeeker. Автор движка и музыки - Zilogat0r (Pavel Cimbal). Фишка - интересный тембр, такого на векторе еще не слышал. Приятный побочный эффект - хорошая совместимость со всеми современными эмуляторами. Возможно кому-то покажется несколько странным фрагмент в районе третьей четверти, но так и было на спеке. Скорее всего это недоделка или такой юмор. Несмотря на шероховатости композиция зажигательная, мне нравится. Автоматическое зацикливание не стал делать, при желании можно перезапустить по F12 (БЛК+СБР). Бонус - цветомузыка на бордюре.
Правда интересный звук, спасибо!
metamorpho
19.12.2024, 21:56
Давно хотел и наконец портанул спековский движок Squeeker. Автор движка и музыки - Zilogat0r (Pavel Cimbal). Фишка - интересный тембр, такого на векторе еще не слышал. Приятный побочный эффект - хорошая совместимость со всеми современными эмуляторами. .....
А музыку в чём можно писать для этого движка ?
Для оригинального squeekera есть нативный редактор (https://www.dropbox.com/s/mnvulbz80ffkoon/squeekf6.sna?dl=1) для спека, что не очень удобно.
Более современный вариант - 1tracker (https://shiru.untergrund.net/software.shtml). Тот вариант squeekera несколько отличается от оригинала, но переделать не сложно.
Еще есть конвертер из XM (http://irrlichtproject.de/downloads/xm2squeek.zip). Какую вариацию squeeker поддерживает не разбирался.
Переделал для вектора вариант плеера squeeker из 1tracker, исходник для sjasmplus (https://github.com/z00m128/sjasmplus/releases) прилагаю. Исходник в мнемониках z80 (чтобы компилировалось в sjasm), но команды только 8080, подходит для стандартного вектора.
Как пользоваться:
1. Сочинили (или позимствовали где-нибудь) композицию для Squeeker в 1tracker.
F8 Export > Assembly code (задаем название и сохраняем).
2. Из сохраненного исходника берем только финальный фрагмент начиная с
;compiled music data
и заменяем им соответсвующий фрагмент в приложенном sqtest.asm
3. Компилируем и пользуемся.
В плеере опрашиваются CC, УС, РУС/ЛАТ, по нажатию любой из них выйдет из проигрывателя.
Пару лет назад делал порт (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1161754&viewfull=1#post1161754) Phaser3 на вектор с z80. Качество звука было так себе. Недавние находки в биперении через таймер позволили резко его улучшить (кое в чем даже лучше спека), стало заметно громче, четче, без призвуков, аж самому нравится. Для прослушивания подходят последние версии Emu80 (пробовал в 40480) и VV (пробовал в 7.14).
Ну и в дополнение пример композиции (автор - h0ffman) на движке SqueekerPlus (автор - utz) для z80 (для 8080 не могу, увы).
Порт тритоновского (автор движка Shiru) спековского кавера (https://www.youtube.com/watch?v=2PlydiE8AS4) (автор кавера MovieMovies1) коммодоровской мелодии (автор Reyn Ouwehand) из игры Rubicon (тема Stage 1).
Два варианта - v4 это "старая" версия (https://zx-pk.ru/threads/28132-bipernaya-muzyka-na-vektore-06ts.html?p=1132551&viewfull=1#post1132551) и сделал новую v5 с последними достижениями биперения через таймер.
Преимущества v5:
1. Главное - нет посторонних призвуков, громкое и чистое звучание. Это выгодно отличает даже от спековского варианта, где слышно легкий фоновый "хруст".
2. Выше частота дискретизации. Раз в первом пункте покритиковал спек тут надо отдать должное - на спеке частота дискретизации выше, для бипера z80 3.5 МГц >> 8080 3 МГц (еще и с торможением).
Недостатки:
1. В оригинале соотношение громкостей каналов примерно 4:3:2, здесь 4:2:2, поэтому канал с мелодией просел и на этом фоне бас (он в самом громком, так в оригинале) несколько выпирает.
2. В Emu слышны только барабаны и бас, но я и для v4 рекомендую лучше использовать v06x/Emu80/VV (в VV для v4 желательно включить Sound>Filters>LF Filter).
Практически wall of sound
Порт еще одного кавера MovieMovies1 - Remark Music (автор оригинала для C64 Jeroen Tel). Движок v5+, чуть-чуть выше частота дискретизации.
Вчера ссылка на спековскую версию Remark Music (https://soundcloud.com/moviemovies1/jeroen-tel-remark-music-zx) не открывалась, сегодня нормально.
Если кто-то ищет вдохновения для звуковых эффектов (например для игры) через таймер, можно глянуть фрагмент видео (https://youtu.be/bH8UITZadf4?t=1641) и потом посмотреть код (https://github.com/ncot-tech/pc-speaker). Сами данные в SOUNDS.CK1, код этого фрагмента в BEEP4.C и BEEPER.C/.H
Формат здесь (https://moddingwiki.shikadi.net/wiki/Inverse_Frequency_Sound_format) описан. Конкретно эти звуки неудобно использовать на векторе для фонового проигрывания, т.к. rate 8, т.е. требуемая частота прерываний в районе 145 Гц, но как источник вдохновения могут пригодиться.
Желание услышать звучки из Commander Keen 1 на векторе перебороло лень. Есть небольшое отличие - частота дискретизации 150 Гц (50*3) вместо примерно 145 Гц.
CityAceE
29.07.2025, 18:32
Если кто-то ищет вдохновения для звуковых эффектов (например для игры) через таймер
Иван, мне нужно будет озвучивать Tony через обычный beeper без таймера и прерываний. Может быть порекомендуешь откуда дёрнуть/черпать вдохновение?
К сожалению не знаю. Я вот думаю, как они сделали кучу эффектов для спикера для стольких игрушек. Редактор? Конвертер?
Если у тебя есть контакт с Shiru, то стоит к нему обратиться, он и по биперной музыке и по эффектам сейчас один из лучших в мире.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot