С первого знакомства с трилогией игр SAVAGE был потрясён их мощным музыкальным оформлением на заставках.
И всегда мечтал сделать нечто подобное и на своём РАДИО-86РК / КР-03.
В качестве примера - вот ссылка на онлайн эмулятор с загруженным в память треком SAVAGE#3.
(Не забудьте в онлайн-эмуляторе заранее галочкой разрешить воспроизведение звука.)
Конечно, до оригинала ему далеко.
И, собственно, сам образ (32 Кб) .rkr-файла для загрузки.
You do not have the required permissions to view the files attached to this post.
Полностью переписал весь код на три голоса с циклом в 100 тактов, сделав звук несколько громче.
Против ZX-Spectrum с его тактовой частотой и командами Z80, на К580ВМ80 с известной частотой РАДИО-86РК довольно сложно соревноваться в музыкальном творчестве.
Вот, ещё промежуточный вариант, разрабатываемый в данный момент.
Music_SAVAGE-3_test.RKR.zip
Введён выход в Монитор по нажатию любой клавиши в конце каждого паттерна
Начало мелодии с адреса 0x1000
Паттерны располагаются по адресам, кратным 256 байтам, с адреса 0x1100
Список порядка воспроизведения паттернов - 0x10C0..0x10FF
Ссылка на паттерн указывается теперь индексом, а не адресом
Цикл воспроизведения теперь можно замкнуть в бесконечность, указав вместо индекса паттерна (0x01..0x65) позицию в списке порядка воспроизведения паттернов (0x80..0xFF)
Собственно, сам конвертор:
convert_savage-3.html.zip
You do not have the required permissions to view the files attached to this post.
Занялся написанием конвертора из формата Amiga-MOD, так как он довольно низкоуровневый (ноты кодируются прямо коэффициентами деления) и легко поддаётся разбору.
Сам скрипт пока очень сырой, имеются проблемы с вычислением темпа и пересчёта коэффициентов. Но вполне работает.
В архиве
Player-86RK.zip
, собственно, сам скрипт, мелодии и проигрыватель.
(Для чистоты звука можно по адресу 005F код 32 заменить на 3A, чтобы ПДП не запускался.)
Скрипт конвертации выдаёт rkr-файл с заголовком, разбивающий буфер экрана на три кадра.
Частота кадров снижается примерно до 17, так как в каждом отображается отдельная информация (таймер, заголовок и автор), из-за чего всё сильно мерцает.
(Это не игра и отображение чего-либо - условность: Либо чёрный экран с чистым звуком, либо что-то о треке хоть как-то.)
You do not have the required permissions to view the files attached to this post.
Last edited by Alikberov on 07 Jan 2024 14:38, edited 1 time in total.
imsushka wrote:на РКшке был родной полифоничный нотный редактор/проигрыватель
звук был гораздо лучше чем тут
ну, канешно он был без битов, только синтезатор
Музыкальная Система на РАДИО-86РК - это порт с ПЭВМ Альтаир или Sol20. Как-то даже писал конвертор в МИДИ, что как-то глупо: Партитуры для "Музыкальной Системы" писали ещё до появления МИДИ как попытка оцифровать произведения мировой классики (сейчас в МИДИ произведения Бетховена и Моцарта доступны без всяких конвертаций).
Данная тема о другом: Трекерное искусство, звучащее именно на РАДИО-86РК!
imsushka wrote:и я про то же. но какчество звучания в данной реализации не айс. не тянет по частоте дискретизации
может через 53 выводить, как на писюке делалось ?
Вот когда на IBM PC/XT я запускал игры, типа Goody
или Digger
с звуковым сопровождением на i8253 (или что там?), после ZX-Spectrum заставок эта музыка звучала неприлично бледно. А с запуском на Pentium'е эмулятора ZX-Spectrum с выводом звука через PC-спикер, я понял, что PC вообще не приспособен к спикерной музыке.
Даже ставил специально драйвер, чтобы Windows'98 выводила звук не только через SoundBlaster, но и через PC-спикер (грешил на эмулятор ZX), но убедился, что биперная музыка на PC вообще нереально позорно звучит!
Те же Scream Tracker / Impulse Tracker умели выводить звук и через PC-спикер, но качество звука было сильно ниже ZX-Spectrum'а. А ведь программисты знали толк в звуке и не смогли добиться превосходного результата на PC с его ВИ53!
Вообще, я из категории тех, кто не признаёт AY-треки Spectrum-128, а уважает чисто биперную музыку на ресурсах самого процессора.
И к своему РАДИО-86РК я ни ВИ53, ни AY/YM так и не подключил.
Я идеологически и принципиально пытаюсь получить музыку ресурсами самого процессора.
P.S.: Думаю, тематически всё это можно отнести к лабораторной работе: Музыкальные заставки на РАДИО-86РК даже подобного качества - уже нонсенс.
Ну Scream Tracker замечательно умел выводить музыку на COVOX (лесенка резисторов, вешаемая на порт LPT) - я сам так делал в ранних 90х и Axel F на IBM PC AT 12MHz звучал просто офигительно
А по поводу музыки на РК - я ровно 10 лет назад пробовал делать эксперименты на модифицированном эмуляторе Emu80, когда кроме обычного бита INTE для звука брался бы второй бит, идущий с ВВ55 (мафон) - таким образом получается как бы 2-битный звук (4 уровня) - звучало это стремновато, но по-любому лучше однобитного
Ещё можно поэкспериментировать с дельта-модуляцией - подключить резистор и кондёр со специально подобранными значениями, чтобы выход перестал быть 2-уровневым, а стал бы аналоговым, напряжение на котором зависело бы от скважности выдаваемых импульсов - а так конечно же бы ещё управляемый счётчик добавить, чтобы он PWM делал вместо софтового счёта и потом уже дельта-сигма (ВИ53 кстати умеет индивидуальные импульсы выдавать требуемой длины?)
Я тут за главного - если что шлите мыло на me собака shaos точка net
Shaos wrote:Ну Scream Tracker замечательно умел выводить музыку на COVOX (лесенка резисторов, вешаемая на порт LPT) - я сам так делал в ранних 90х и Axel F на IBM PC AT 12MHz звучал просто офигительно
он же мог играть через родной спикер писюка и звук был приличный, а выводилось через 53
а еще на писюке была игрушка mach3 и там была музыка дельтой оцифрованная и вы водимая через 53 на спикер
Shaos wrote:Ещё можно поэкспериментировать с дельта-модуляцией - подключить резистор и кондёр со специально подобранными значениями, чтобы выход перестал быть 2-уровневым, а стал бы аналоговым, напряжение на котором зависело бы от скважности выдаваемых импульсов
Да, скважностью я управляю. Только вот эмулятор не имеет DSP-фильтра, чтобы задать параметры RC. Да и запись в mp3 с последующим воспроизведением в VLC желаемых результатов не даёт.
Нужно тестировать не реальном железном РЛК.
imsushka wrote:а еще на писюке была игрушка mach3 и там была музыка дельтой оцифрованная и вы водимая через 53 на спикер