Мне тут в один прекрасный момент очень захотелось, чтобы FMonster мог воспроизводить музыку с Sega Mega Drive.
Звук в Сеге генерируется 3-мя возможными способами:
OPN2 (YM2612)
PSG (SN76489)
PCM (из процессора)
PSG на борту FMonster уже есть. PCM будет обеспечиваться навеской с Covox Speech Thing совместимым стерео ЦАПом. Не хватает только OPN2...
Вернее, теперь должно хватать. Я сделал отладочный OPN2 блок.
Т.к. звуковух с OPN чипами что-то как-то не видать, то пришлось "сочинить" её самому.
В качестве базового адреса можно будет выбрать из списка:
0x2A0
0x2B0
0x2D0
0x2E0
Карта занимает 4 порта, из них все 4 доступны для записи и базовый порт - для чтения. Прерывания плата не использует (также как Sega MD).
Работу над текущей версией трассировки проводил на стриме и упихал всё в ширину блока в 26 мм. Меньше есть только один блок - PSG (25,5 мм).
Fagear писал(а):Я хочу этот материал в видео положить.
Ув. Fagear, можно не только в виде видео? Я очень редко отписываюсь в подобных темах, но ваша слишком интересна что бы пропустить. Создайте развёрнутый пост со ссылками на видео, если уже так хочется. Думаю многие меня поддержут, дело не в трафике, а в восприятии информации.
Поддерживаю. Видео - краеугольный формат. Сам пытался снимать ролики, но потом смотрю вот, и понимаю, что даже после агрессивного монтажа, получается 20 минут видео, в котором описана идея на 3 минуты чтения...
mcloud4477 писал(а): ↑05.04.2019,22:23
Ув. Fagear, можно не только в виде видео? Я очень редко отписываюсь в подобных темах, но ваша слишком интересна что бы пропустить. Создайте развёрнутый пост со ссылками на видео, если уже так хочется. Думаю многие меня поддержут, дело не в трафике, а в восприятии информации.
Я и так отписываюсь о результатах тут и на Vogons.
Но сам факт первого включения будет именно в видео.
Кай писал(а): ↑05.04.2019,22:31
Я поддержу. Макс, ты совсем погрузился в этот новомодный видеостриминг. По самые помидоры, так сказать.
Что касается формата - мне просто так удобнее. Видео снимается быстрее, чем писать текст, убирать опечатки, приводить стилистику в порядок. Отдельно оформлять-грузить картинки. Плюс у меня нет какой-то однозначной базы, куда бы я выкладывал текстом информацию по каждому проекту. А проектов слишком много, чтобы я тратил больше времени на оформление результатов по ним.
На текущий момент удалось запустить реплику CSM, а также починить оригинальную плату и заставить её работать.
Присланная (вроде как считанная) прошивка не заработала, а вот "сочинённая" мной прошивка GAL'а с 4-й правки заработала.
Вот пример работы оригинальной платы (оооочень шумная):
Продолжаю работы над репликой Covox Sound Master.
Всё-таки в Covox завозили какие-то вещества... К всей той вакханалии, что творится с запросами DMA через аналоговый выход AY, попытками регулировать громкость через хитрый ОУ и наглухо кривой трассировкой прибавилось ещё кое-что.
Можно заметить, что в видео выше огромное количество шума и треска в паузах. Это играла оригинальная плата. Уровень её шума просто катастрофический. В простое около -35 дБ, при какой-либо активности машины (ЦП, ОЗУ, что-то ещё) - треск и рокот до -15 дБ.
Реплика моя тоже имела с этим проблемы, но с ними я начал бороться. Хоть блокировочные конденсаторы рядом с каждым чипом у меня есть (в отличие от оригинала) - это не спасает. Лезут помехи как по +12 В питанию на каскады на ОУ, так и (самое главное) лезет всё по питанию +5 В прямо в AY. Ещё есть фактор старого БП и кривой материнки, которые шумят и свистят на все лады. Тем лучше для отладки.
После ряда экспериментов было решено сделать так:
- вместо резистора 22 Ома по +12 В ставится стабилизатор 78L09 для получения стабильных +9 В для питания двух стадий на ОУ;
- питание AY и аналогового коммутатора 4066 отрывается от "грязных" +5 В, ставится ещё один стаб 78L05 для получения "чистых" +5 В из +9 В;
Итог: в разы меньшие шумы на выходе моей реплики. Шумы по уровню -60 дБ.
Но это ещё не всё... Я заметил, что на моей плате оооочень слабый выход. Оригинал всё же достаточно громкий. Отличия в платах - оконечный каскад. В оригинале две LM386, у меня один NE5532.
Как оказалось, сразу после AY (с размахом сигнала под 1,5 В) стоит делитель 100к/1к и от сигнала не остаётся ничего. Поверх остатков радостно ложатся все шумы и наводки, в таком виде оно проходит через первый ОУ, а затем (в оригинале) дико усиливается LM386. Вместе со всем мусором. Т.е. сначала сигнал "топится" в шумах, затем изо всех сил усиливается.
Пока в качестве полумеры поставил вместо 4-х резисторов по 100 кОм - 2,2 кОм. Уровень ещё не достаёт до оригинала, но уже в разы лучше и сигнал не тонет в шумах.
Нужно заказывать платы для R2R и согласовывать его по уровню с AY номиналами резисторов делителей, вытаскивая максимальный уровень, чтобы поднять соотношение сигнал/шум.
Между делом, записал для сравнения у себя оригинал, реплику в текущем виде и ещё DuoSID на одних композициях. Пока синхронизировал и нарезал дорожки в редакторе, случайно включил две дорожки одновременно... Так родилось это видео (использованы записи только реплики CSM и DuoSID):
В игре BadBlood управление что SID, что AY сделано крайне примитивно. И даже мелодия по-разному сделана для них. Как оказалось, если воспроизвести их вместе - то они отлично друг друга в данном случае дополняют! Чипы-синтезаторы из вечных конкурентов (Commodore 64 и ZX Spectrum 128) работают вместе. И ведь даже имея на руках обе платы невозможно их заставить вместе работать в игре, install.exe позволяет настроить игру только на какую-то одну звуковуху.