PDA

Просмотр полной версии : Продвинутый звук на ПК Специалист



CityAceE
02.09.2024, 09:39
К сожалению, в стандартной схеме Специалиста отсутствует какой-либо музыкальный чип или что-нибудь в этом роде. Кроме стандартной однобитной пищалки на Специалисте ничего нет. И несмотря на то, что даже с пищалкой можно генерировать вполне приличный звук (https://zx-pk.ru/threads/35893-firma-sp580-predstavlyaet-quot-xtree-com-quot-fx-music.html) (правда, ценой 100% загрузки CPU), хочется чего-то, что можно было бы с меньшими накладными расходами и большим качеством задействовать в озвучке игры.

И вот тут снова всплывает тот факт, что ещё в начале 90-х ребята из SP580 предложили подключение трёхканального таймера ВИ53, который они отвели под звук:

https://pic.maxiol.com/images2/1725259523.780858384.sp58053.png

К сожалению, разработчики не приложили каких-либо отдельных примеров, как звучит предложенная ими схема. Возможно, звук под эту схему был внедрён в какие-то игры, которые разработчики SP580 адаптировали со Спектрума. Но в то время ВИ53 к своему Лику я не припаивал и проверить не мог.

И всё-таки спустя годы у меня возникло желание заполнить пробел и припаять таки ВИ53 к своему Лику. Но предварительно хотелось бы убедиться, что игра стоит свеч, то есть поиграться с этой доработкой в эмуляторе. Благо Pyk сделал поддержку SP580 в своём эмуляторе, включая и поддержку ВИ53. Насколько я понимаю, ВИ53 без труда можно "подключить" в Emu80 и к стандартной конфигурации Специалиста. Тем более, что таймер никак не конфликтует с портами оригинальной схемы.

Но здесь возникает закономерный вопрос: а где же брать мелодии? Наверное, они в природе существуют, но у меня их нет. Наверное, можно что-то адаптировать с Апогея или Вектора, но, опять же, на текущий момент я понятия не имею как работать с таймером.

Прошу помощи сообщества! Может быть есть какие-то плееры с исходниками с других платформ + мелодии к ним, которые можно было бы легко адаптировать к Специалисту? И персональная просьба к ivagor, как к знатоку генерации звука на ретро-платформах, направить на путь истинный! ;)

ivagor
02.09.2024, 10:30
Мне кажется тебе стоит более детально продумать, что в итоге хочешь получить.
1. Таймер по схеме SP580. Сможешь услышать звук в некоторых их программах.
2. Таймер в трехканальном варианте, чтобы адаптировать музыку с апогея или вектора.
3. AY, чтобы адаптировать музыку с вектора и спека.
Пункты 2 и 3 для удобства требуют еще и прерываний 50 Гц, но в принципе можно обойтись и без прерываний.

CityAceE
02.09.2024, 14:27
Да, я, безусловно продумывал все три варианта.

1. Схема хоть и не журнальная, но она из начала 90-х, так что можно хоть и с натяжкой, но считать, что это какая-никакая, а классика. Плюс, как сейчас выясняется, в некоторых играх SP580 даже была поддержана. Плюс я всегда держу в голове твои слова, ivagor, что эту схему можно задействовать для синхронизации экрана.
2. По сравнению с п.1 заметно повышается качество звука - вместо одного канала обретаем сразу три. Но лишаемся совместимости с существующим ПО и возможности синхронизироваться (или нет?).
3. Самое лучшее качество звука, привычное звучание, три канала с дополнительными плюшками, тысячи готовых мелодий и эффектов, относительно лёгкое подключение. Но никто AY до сих пор к Специалисту из-за ненадобности не подключал, стандартом это не является и никогда не станет.

Посему я всё-таки больше склоняюсь к варианту 1. Хотя по части качества звука не вижу каких-либо преимуществ по сравнению с обычной пищалкой, кроме некоторой разгрузки CPU. А вот в отсутствие прерываний на Специалисте опираться на таймер для синхронизации было бы очень полезно.

ivagor
02.09.2024, 15:12
Насчет синхронизации с разверткой. Насколько помню, речь была о таком подходе:
1. Сначала интерактивно (пользователь нажимая клавиши загоняет некий индикатор на экране в нужное положение) синхронизируемся с разверткой.
2. Дальше или
2.1 за счет высчитывания и подгонки тактов процессора удерживаем синхронизацию. Чудовищно неудобно и сложно.
или
2.2 синхронизируем таймер и по нему сверяем, где сейчас луч. Это более-менее реальный вариант, хотя тоже не очень удобный. Годится практически любой вариант подключения ВИ53, хотя если используется звуковой канал, то может быть слышен некоторый посторонний звук, как в эксолоне на векторе.
Учитывая состояние демосцены для специалиста, я скептически отношусь к перспективам подобных штук. Плюс со временем появились специалисты, у которых кадровая не 50 Гц, т.е. это не универсальное решение.

CityAceE
02.09.2024, 19:12
Это более-менее реальный вариант, хотя тоже не очень удобный.
В любом случае, это лучше, чем ничего.

Посему возникает вопрос: Что можно выжать из этой схемы по части звука? Я правильно понимаю, что чего-то лучшего, чем уже есть на бипере ждать не стоит, а единственный профит в плане звука - это некоторая разгрузка процессора?

А как этим добром воспользоваться по части кода? Я бы хотел поэкспериментировать в Emu80.

ivagor
02.09.2024, 21:02
Если кто-нибудь не выложит примеры кода, то можно глянуть в отладчике имеющиеся программы. Например в шахматах (KAIS) низкоуровневая звуковая процедура с адреса 12B7h

ivagor
03.09.2024, 16:03
Кстати в Плюке (https://zx-pk.ru/threads/35892-plyuk-(novaya-igra-dlya-apogej-bk-01ts).html?p=1203114&viewfull=1#post1203114) несколько мелодий одноканальные и легко адаптируются на специалисты с таймером. Хотя можно и всю музыку оттуда адаптировать даже для бипера, правда с качеством похуже, но это уже выходит за рамки темы.

CityAceE
03.09.2024, 17:18
Кстати в Плюке несколько мелодий одноканальные и легко адаптируются на специалисты с таймером.
Вот мне тоже так показалось. И тоже как раз подумал именно про эту игру в плане экспериментов со звуком. Можно было на эмуляторе поэкспериментировать с переносом.

CityAceE
03.09.2024, 17:30
Например в шахматах (KAIS) низкоуровневая звуковая процедура с адреса 12B7h
Не могу у себя их найти. Вообще не могу понять куда подевались все мои программы для sp580. Только одна кассета нашлась. Но я точно ничего не выкидывал никуда! Надеюсь, что найду ещё.
Иван, можешь поделиться этой игрой и если есть ещё что-то под SP580?

ivagor
03.09.2024, 18:40
Ссылки на файлы для SP580 там (https://zx-pk.ru/threads/31727-monitor-sp-580-(g-barnaul).html?p=1060967&viewfull=1#post1060967), но сайт, на который они вели, похоже закончился.
Выложил на google drive, надеюсь Alex_B не будет против: SP580_ROM.RAR (https://drive.google.com/file/d/19ez0V0hXC6XnAXjZ5mhVqzFsWRMayHLm/view?usp=sharing), SP580_Tape_SIDE1.7z (https://drive.google.com/file/d/1TpRwXRJfXRgAZC-h4gwzq0f0wibDdWCP/view?usp=sharing), SP580_Tape_SIDE2.7z (https://drive.google.com/file/d/1W_B3s__OMQoNzzt8ix24edtk23VQLVwQ/view?usp=sharing)

CityAceE
03.09.2024, 19:06
ivagor, огромное спасибо!

HardWareMan
03.09.2024, 20:50
CityAceE, я тоже выложил всё, что у меня есть на постоянное хранение в облако. 8-Bit (https://cloud.mail.ru/public/n67X/eQ3j8xA87) Выше указанное лежит в разделе "Специалист" подпапка "SP580".

AlexBel
04.09.2024, 09:40
У меня появилась страшная идея - GeneralSound. При наличии накопителя можно загружать сэмплы, в играх появится музыка и крутые звуковые эффекты. И это почти не займёт процессорное время.
Пожалуйста, не воспринимайте это, как попытку троллинга, я такими вещами не занимаюсь :)

CityAceE
05.09.2024, 15:22
В вложении конфигурация для Emu80 стандартного Специалиста с подключенным ВИ53 по схеме SP580.
Также прилагаются шахматы KAIS, адаптированные с Монитора SP580, которые выводят звук по этой схеме.
Изначально звук хоть и был, он был неправильный. Но Pyk посмотрел и увидел, что первоначальная настройка ВИ53 делается в ПЗУ SP580. Так что после того, как Виктор добавил эту инициализацию в саму игру перед её запуском, звук появился точно такой же, как он есть в SP580. Конечно, это ужас ужасный, но уж что есть...

CityAceE
25.10.2024, 16:41
Посмотрите, чего в итоге добился Денис Грачёв, используя ВИ53 на Специалисте. Для этого он адаптировал свой плеер, который написал для Вектора-06Ц.


https://plvideo.ru/watch?v=OP-fv3ejFGZq
Музыка Олега Никитина из игры Плюк.

Исходники прилагаются. Интересно, это максимум чего можно выжать из ВИ53 на Специалисте? Есть ли возможность получить более интересный звук, если как-то задействовать возможности управления двумя сервисными каналами (частота и длительность)? ivagor, что скажешь?

ivagor
25.10.2024, 17:10
На мой взгляд основная проблема с музыкой на советских ретрокомпах (несовместимых с зарубежными) - исчезающе малое количество музыкантов. Если смотреть с этой точки зрения, то технические возможности можно отодвинуть на второй план. Они несомненно важны, но даже их наличие само по себе не привлекает музыкантов. Хотя достаточный уровень музыкальных возможностей позволяет портировать музыку с других компов, программистов все же побольше, чем музыкантов.

CityAceE
25.10.2024, 17:18
Если смотреть с этой точки зрения, то технические возможности можно отодвинуть на второй план.
Олег Никитин (N1k-0) сказал, что напишет музыку, чтобы выжать максимум из того доступного звука, что ему предоставят. Вот и хочется предоставить максимум :)