Вложений: 1
Полифоническая музыка на РАДИО-86РК
С первого знакомства с трилогией игр SAVAGE был потрясён их мощным музыкальным оформлением на заставках.:v2_dizzy_heart:
И всегда мечтал сделать нечто подобное и на своём РАДИО-86РК / КР-03.
В качестве примера - вот ссылка на онлайн эмулятор с загруженным в память треком SAVAGE#3.
(Не забудьте в онлайн-эмуляторе заранее галочкой разрешить воспроизведение звука.)
Конечно, до оригинала ему далеко.:v2_dizzy_coder:
http://www.youtube.com/watch?v=DalLKqdvD0k
И, собственно, сам образ (32 Кб) .rkr-файла для загрузки.Вложение 79941
Вложений: 2
Промежуточный вариант на три голоса / 100 тактов
Цитата:
Сообщение от
CityAceE
Исходников не будет?
Зачем исходники, когда есть дизассемблер и отладчик?
Чтобы оценить стиль листинга?:v2_dizzy_coder:
Полностью переписал весь код на три голоса с циклом в 100 тактов, сделав звук несколько громче.
Против ZX-Spectrum с его тактовой частотой и командами Z80, на К580ВМ80 с известной частотой РАДИО-86РК довольно сложно соревноваться в музыкальном творчестве.:v2_dizzy_facepalm:
Вот, ещё промежуточный вариант, разрабатываемый в данный момент.
Вложение 79950
- Введён выход в Монитор по нажатию любой клавиши в конце каждого паттерна
- Начало мелодии с адреса 0x1000
- Паттерны располагаются по адресам, кратным 256 байтам, с адреса 0x1100
- Список порядка воспроизведения паттернов - 0x10C0..0x10FF
- Ссылка на паттерн указывается теперь индексом, а не адресом
- Цикл воспроизведения теперь можно замкнуть в бесконечность, указав вместо индекса паттерна (0x01..0x65) позицию в списке порядка воспроизведения паттернов (0x80..0xFF)
Собственно, сам конвертор: Вложение 79951
Вложений: 2
Robocop !!! на РАДИО-86РК
Итак, с помощью несложного скрипта (Вложение 79952) удалось почти в автоматическом режиме получить Вложение 79953:v2_dizzy_punk:
Robocop !!! / Savage !!! / Arkanoid на РАДИО-86РК
Когда знания в теории звука - нулевые
Наткнулся на 1tracker, откуда узнал про Beepola и сделал для себя открытие!
Цитата:
- Из игры Savage. Оригинальный код разработан Jason C. Brooke и использовался в ряде игр компании Probe. Два тональных канала, длительость нот фиксирована, изменяемая скважность, слайды. Пять ударных инструментов, прерывающих звук. С помощью слайдов и комбинирования каналов можно получить дополнительные звуки ударных.
Дело в том, что неделями ранее я писал код на два голоса полифонии + сэмпл с любой формой. При этом, сэмпл воспроизводился как третий голос. Всё это вымотало мне много нервов, так число тактов на одну итерацию полифонии переваливало за 200!
(Для сравнения, нынешный код укладывается тремя голосами ровно в 100 тактов!)
То есть, нужно снова написать весь код с нуля именно на два голоса, убрать из трека байт о длительности нот (сейчас каждая строчка паттерна имеет свой байт длительности).
Иначе говоря, при написании кода я поставил себе достаточно высокие требования. Хотя, для воспроизведения оригинальных треков Savage хватит и меньшего.
А учитывая разницу в частотах процессоров РАДИО-86РК и ZX-Spectrum, задача была слишком трудоёмкой для меня.
P.S.: В общем, как-то так...
"Магнитные Поля" с таймером и заголовком
Кое-как добавил таймер (Счёт паттернов : Счёт строк), а также и заголовок файла, не нарушив качество воспроизведения.:v2_dizzy_punk:
http://www.youtube.com/watch?v=njqj8DdMbek
Попытка конвертации MOD'ов
Трекерная музыка на РАДИО-86РК - уже нонсенс
Цитата:
Сообщение от
ALS
ivagor, мне слон на ухо наступил, поэтому тут я вообще не лезу )
В любом случае, я никоим образом не осуждаю. Наоборот, очень интересно.
Конкретно под РАДИО-86РК публиковалось две музыкальные программы:Про "трекерное направление" вообще говорить нечего: Сам классический РАДИО-86РК - не про графику и музыку.
У меня музыкального образования и слуха нету. Просто попытался, как мог, сделать свой трекерный плеер конкретно под РАДИО-86РК без каких-либо доработок, Just must to be.
Если кто-то сможет лучше и качественнее - пожалуйста!
Вложений: 1
Конвертор Amiga/ProTracker-MOD в RKR
Попытался написать скрипт для быстрой конвертации модульных треков.
Вложение 80049
Конечно, работает не идеально и расчёт темпа сбоит, коэффициенты нот очень фальшивят. Но как пробный конвертор - вполне годится.
В архиве вариант плеера с перкуссией.
Конвертируемые мелодии в заголовок добавляют кучу управляющих F1/F3 кодов ВГ75, чтобы максимально разгрузить процессор от циклов ПДП.
Из-за чего вся информация отображается в три кадра и всё сильно мерцает: Это не так плохо, чем наблюдать совсем чёрный экран.
(Если по адресу 005F код 32 заменить на 3A, ПДП не запустится и звук будет чище)
Цитата:
Сообщение от
ivagor
Мой вариант конверсий на РК пары SAVAGE. В ноты более-менее попадают, но качество звука плохое. Играют зацикленно, выход в монитор - АР2 (Esc).
Автор оригинальной музыки (бипер) - David Whittaker
Автор AY кавера - Андрей Сендетский (ASC)
Ваш вариант, безусловно, звучит богаче!
Я до сих пор не могу найти способ реализовать нормальную перкуссию, а у Вас она звучит!
Однако, на моём КР-03 с 16 Кб ОЗУ это просто не запустится: Ваши файлы превышают 14 Кб.
Вложений: 1
Промежуточный вариант на три голоса / 79 тактов
Доработал код Вложение 80075 с разными режимами запуска:- G1..G5 - Запуск в режиме 1-5
- G6 - Запуск без ПДП
- G7 - Запуск с ПДП
Собственно, директива G1..G5 запускает плеер в одном из пяти режимах длительности EI-DI импульса.
Вот видео для оценки звучания (в дампе - весь код / 843 байта):http://www.youtube.com/watch?v=kISDXgzhkLw
Поиск оптимального движка для РАДИО-86РК
Цитата:
Сообщение от
ivagor
Конкретно эти два примера можно утрамбовать в 16 Кб, просто не вижу в этом смысла.
Дело в том, что ZX-Spectrum не использует один только ШИМ для смешивания голосов.
Например...
https://www.youtube.com/watch?v=4wpg5p-8sWQ
На слух звучит как "Музыкальная Система" РАДИО-86РК - используются "иглы" на нотных интервалах счёта. Частота достаточно высокая, но звук - заметно тише.
В этом я уже немного разобрался и достиг оптимального звучания по громкости и мягкости.
https://www.youtube.com/watch?v=TymO0Lj7Vp8
На слух звучит как тот же оператор BEEP у Бейсика - тон чистый. Используются традиционные меандры (по-видимому).
Здесь я ещё не разобрался.
https://www.youtube.com/watch?v=IR1TWDocL_M
Вот тут всё несколько сложнее, так как присутствует и тональный ШИМ, и семплы.
Здесь у меня совсем всё сложно: Все ШИМ-варианты на четыре уровня у меня звучат просто несносно...
(Я не использую готовый поток, конвертированный с AY, а генерирую два тона прямо в ШИМ-цикле, что экономит память.)
Вложений: 2
Генератор меандра на два голоса
К этому моменту удалось чуточку продвинуться вперёд и добиться громкого меандра двух голосов.
К сожалению, слышен некий треск, который пока не удаётся побороть. Однако, по звучанию уже ближе к музыкальному редактору WHAM!
Вложение 80112
При этом, сам код занимает 700 байтов.
(Проигрывание - по директиве G0; Запуск по G7 изменяет режим "ПДП вкл./выкл."; Режимы G1-G6 имеются, но в данном варианте не рекомендуются.)
Вот так сейчас звучит и Арканоид: Вложение 80113