Это не "дура", это FMonster (Попытка создать ISA 8-bit плату со всеми синтезаторами)

Описания, советы, ремонт, эксплуатация старых IBM PC-совместимых ПК
Аватара пользователя
Fagear
Advanced Member
Сообщения: 1477
Зарегистрирован: 22.01.2010,11:23
Откуда: Москва, САО

Вклад в сообщество

Это не "дура", это FMonster (Попытка создать ISA 8-bit плату со всеми синтезаторами)

Сообщение Fagear » 10.05.2020,14:38

Обновление по проверке отладочных блоков.
Наконец, добрался до блока с SID'ом.
Если кратко, то всё работает как положено:


Кусок работает с играми для SSI-2001 и работает с плеерами *.SID-файлов.
Но обнаружились проблемы с отводом тепла при работе с "настоящими" SID'ами, особенно с 8580.
Нужно будет с этим разобраться. Скорее всего, я немного переделаю питающую часть. Например, можно ронять напряжение (12 -> 5 В) в два этапа вместо одного как сейчас.
Сейчас стоит один 78L05, на котором выделяется (12-5)*0,11 = 0,77 Вт при работе с 8580. И вокруг регулятора мало меди, чтобы эффективно отводить тепло.
У меня уже есть в BOM регулятор 78L09. Суммарное тепловыделение с двумя регуляторами не изменится: (12-9)*0,11 = 0,33 Вт and (9-5)*0,11 = 0,44 Вт, но оно будет распределено уже по двум корпусам. И я постараюсь добавить больше медных полигонов вокруг для теплоотвода.

Далее, я проверил работу эмуляторов nano Swin SID и ARMSID на DuoSID'е.


ПЛИСового FPGASID у меня нет, да и не собираюсь покупать в виду его ценника.
Также сравнил в видео уровни выходного шума у реплики SSI-2001, куска FMonster и DuoSID'а.
И, заодно, замерил потребление с разными синтезаторами.

Burun
Advanced Member
Сообщения: 650
Зарегистрирован: 09.01.2017,15:13
Откуда: Москва

Это не "дура", это FMonster (Попытка создать ISA 8-bit плату со всеми синтезаторами)

Сообщение Burun » 10.05.2020,16:38

Fagear писал(а): 19.01.2020,17:26 Свершилось таки...
Руки дошли полностью проверить хоть один отладочный блок.
SN76489A/SN PSG/3-voice PSG/Tandy sound блок полностью проверен и, в принципе, отлажен.
2020-01-12 03.35.42.jpg
Без косяков не обошлось.
Плату трассировал в полусне, т.ч. забыл подать питание на одну микросхему. И, т.к. проверялась 01-я ревизия платы, то все описанные ранее приколы с шумами выхода и шунтированием "N.C." ноги имели место. Но всё вполне успешно разрешилось.
Что приятно, логика, которую я навернул для коммутации выхода микросхемы (которая должна была не пускать выход наружу, пока плата не проинициализируется) тоже заработала.
Fagear, браво! Посмотрел ваше видео про Tandy sound - безумно интересно и ни одного лишнего слова, потрясающая четкость мысли и изложения. Многим ютюберам поучиться бы. При том, что видео на час с лишним, и в основном состоит из технических подробностей.
Если кто не смотрел, - очень рекомендую.
НЕТ

great coder
Advanced Member
Сообщения: 340
Зарегистрирован: 20.06.2020,22:40
Откуда: msk.ru

Это не "дура", это FMonster (Попытка создать ISA 8-bit плату со всеми синтезаторами)

Сообщение great coder » 18.01.2021,03:15

По поводу реплики Covox Sound Master - был какой-то прогресс после добавления footprint-а для 4310R-R2R-104LF ?
Кстати, по этому поводу тоже напрашивается мысль: не только для SG0309 сложно подобрать замену (тот же 4310R-R2R-104LF "не рекомендуется для использования в будущих проектах"), но и для GAL16V8 - так может, реализовать их подобно SwinSID-ам? Причем как по отдельности (мелкологика - возможно даже 1G на платке над DIP20, та плата на SIP10), но и вместе (тогда можно вместо R2R влепить 7524, взяв питание как раз с DIP20). Тогда стоит оставить взаимное расположение GAL и R2R таким же, как на оригинале. Но, кажется, оно и так совпадает - а если меня подводят глаза и/или угол фотографий и на оригинале они строго в одну линию, то слегка подвинуть 365ые чуть наверх, там ничего не мешает.
А для пущего визуального сходства с оригиналом можно даже спрятать одну из резисторных сборок под недокровать AY, согнув ей (сборке, не AY=) ноги.

Аватара пользователя
Fagear
Advanced Member
Сообщения: 1477
Зарегистрирован: 22.01.2010,11:23
Откуда: Москва, САО

Вклад в сообщество

Это не "дура", это FMonster (Попытка создать ISA 8-bit плату со всеми синтезаторами)

Сообщение Fagear » 31.03.2021,03:38

Приношу свои извинения за долгое отсутствие.
Решительно не было времени дать отчёт в тексте даже на то, что уже выложено в виде видео.


Была произведена проверка блока на двух SAA1099 (он же блок, имитирующий Creative Music System). Напомню, что схема в нём использована от Tronix, с некоторыми изменениями.
Проверялся отладочный блок 01-й версии, один из самых ранних (2018-й год). Без ошибок, конечно же, не обошлось - я забыл подключить /OE у 245-го буфера на шине данных и плата не давала системе даже пройти POST. Ошибку быстро нашёл, напаял проводок, система ожила и загрузилась.
Чипы SAA показали себя довольно горячими, на исходной плате 01-й версии они напрямую питались от шины ISA, но во время отладки это (ожидаемо) показало повышенный уровень шума на выходе и я пустил их питание через большую КРЕНку на 5 В с радиатором, который ощутимо грелся.
В обновлённой версии каждый SAA я повесил на свой 5-вольтовый стаб (используемые стабы имеют максимальный ток 100 мА, на пределе для одного такого чипа) и вокруг дал большие медные полигоны для теплоотвода.

В целом схема заработала, но не без замечаний. Основное - из двух чипов один сбоил. У меня их на руках на тот момент было всего два, так что подменить сбойный было нечем и большую часть тестов я провёл в "обгрызанном" варианте с одним чипом (звучали не все голоса).
Большую часть тестов плата прошла успешно, музыка играла, в софте, который детектировал наличие платы, разные способы её обнаружения работали, спасибо исследованиям Tronix.

Но я также нашёл пару неприятностей в той самой схеме.
Первая касается лишнего шума в чипы SAA: по умолчанию в их ноги A0 и WR летит всё напрямую с шины ISA через пару буферов 74HC32, то есть практически постоянно эти ноги у них дёргаются. Входы /CS, конечно, спонтанно не активируются, так что "на скорость не влияет", но лишний шум чипу с аналоговым выходом явно не нужен.
Решение простое: оторвать по одному входу у 32-х буферов перед ногами A0 и WR, а затем привязать оба к выходу первой стадии декодера адреса на 74HC138. Полностью шум это не уберёт (ибо тут не полностью декодированный адрес, да и адреса не только для I/O бывают на шине), но сделает его куда меньше.
Вторая проблема: обнаружился конфликт на "внутренней шине ISA", что между 74HC254, 74HC374 и двумя SAA.
Дело в том, что по умолчанию 74HC245 "направлена" "внутрь" платы, то есть пока не будет плате принудительно сообщено "чтение I/O", трансляция у 245-го чипа идёт с ISA на материнке в сторону платы, и это правильно. 374-й чип на плате может как сохранять в себя данные от 245-го (по входу CLK), так и выдавать их на "внутреннюю шину" (при активации /OE).
Тут проблема в том, что /OE у 74HC374 привязан напрямую к выходу декодера адреса и никак не принимает во внимание входы обращения к I/O (/IOR, /IOW). И у 74HC245 вход /OE также привязан напрямую к декодеру адреса, причём к первой его стадии (более широкий диапазон) и также без внимания к /IOR и /IOW.
И как раз, когда на шине ISA идёт обращение НЕ к I/O, НО по адресу, который декодируется на плате, то возникает конфликт. /IOR и /IOW стоят в единице (обращения к I/O нет), значит у 74HC245 вход DIR = 1 и чип транслирует данные шины ISA с материнки внутрь платы. На входе /OE у 74HC245 висит "0", так как декодировался похожий адрес (но не для I/O!), то есть 245-й активно "драйвит" "внутреннюю шину". В это же самое время декодированный адрес даёт "0" на входе /OE у 74HC374. И два чипа начинают "спорить" на "внутренней шине", что видно как половинные уровни по осциллографу.
Опять же, "на скорость не влияет", ибо наружу платы это никак не выходит и обращения к чипам SAA в этот момент нет, т.е. для них данные не портятся. Но тем не менее, можно поиметь повышенный расход энергии на "спор" с риском выгорания выходов у 245/374.
Решение едва сложнее предыдущего. Тут без дополнительного элемента не обойтись, но в схеме как раз есть один незадействованный 74HC32. Разрываем связь от второй стадии декодера адреса до входа /OE у 74HC374, пробрасываем её через "лишний" элемент 74HC32. А на второй вход этого элемента подаём сигнал /IOR с шины ISA. Это гарантирует, что 374-й чип будет отдавать свой байт только когда И адрес будет точно совпадающим, И будет обращение на чтение с платы.
Все правки к схеме я отразил в соответствующей теме.

Но увы, все эти правки никак не повлияли на работосопособность второго чипа SAA. Позже выяснилось, что глюки с ним уменьшались или полностью исчезали, если коснуться GND этого чипа. Не контакт в кроватке плохой, а именно коснуться GND.
Позже в комментариях к видео я получил информацию, что эти SAA довольно капризные к земле и могут вот так вот "прикидываться битыми", просто один чип у меня оказался более привередливым, чем другой. Дальнейшими экспериментами по "заземлению" SAA1099 я пока не занимался, но тот якобы "битый" чип всё ещё у меня и я ещё докупил пяток чипов для проверок.
Также попытался немного упростить выходной фильтр, ибо на плате будет общий фильтр на выходе. Буду ещё экспериментировать с этим.

Ещё из обнаруженных недостатков платы - я не учёл, что "настоящие" DIP-кроватки имеют довольно много пластика под чипами, а у меня там были размещены SMD-компоненты. В итоге, когда я цанговые кроватки на отладочном блоке заменил на "обычные", то последние повисли на SMD-конденсаторах.
В обновлённой версии платы я это учёл, перерисовал футпринты DIP и расположил SMD под чипами так, чтобы кроватки на них не ложились.
Кроме того, этот отладочный блок по итогу оказался самым высоким, так что для следующей версии я его фактически полностью переразвёл, включив в схему описанные выше доработки. Блок стал ниже на ~2 см.
Вложения
CMS_upd.png

Аватара пользователя
Fagear
Advanced Member
Сообщения: 1477
Зарегистрирован: 22.01.2010,11:23
Откуда: Москва, САО

Вклад в сообщество

Это не "дура", это FMonster (Попытка создать ISA 8-bit плату со всеми синтезаторами)

Сообщение Fagear » 04.04.2021,00:01

Ещё я успел уже проверить работу блока OPL2 (он же блок, имитирующий AdLib).
Пока у меня доходили до проверки руки, уже успело смениться несколько версий печатной платы, т.ч. проверял я сразу версию 02.


YM3812 - это уже чисто цифровой чип, т.е. он напрямую не выдаёт аналоговый аудио выход, для этого к нему присоединяется ЦАП-компаньон YM3014B. Поэтому питание OPL2 синтезатора было подано напрямую с ISA шины, а уже для ЦАПа - через 5 В КРЕНку. По итогу это сразу дало уровень шума ниже шумовой полки моего аудио-захвата, что прекрасно.
Схему за основу я никакую не брал, ибо там и схемы как таковой особо и нет. Чип-синтезатор, соединение с ЦАП по datasheet'у, выходной буфер-фильтр на ОУ - по тому же datasheet'у, буфер шины данных (74HC245) я ставлю на все блоки, декодер адреса - свой собственный на паре 74HC138, позволяющий выбрать адреса кроме базового 0x388, на котором работал AdLib.

К моему удивлению, блок просто взял и заработал, без нареканий. Никаких шумов, глюков. В любой программе или игре, просто "just works".
Было одно исключение - в Ultima VI звук крошило, но если замедлить машину (выключить Turbo), то оно начинало работать нормально. Оригинальной платы AdLib или какого-то её клона у меня для сравнения не было, так что списал на глюки драйвера игры.
Позже было обнаружено, что для Ultima VI есть патч, исправляющий проблемы с AdLib на быстрых ПК. Я его не пробовал, но, полагаю, он должен устранить глюки с отладочных блоком.
Чипы холодные, что синтезатор, что ЦАП.

Воспользовавшись "отладочным затишьем", я решил проверить десяток YM3812, приехавших с Али. У большинства были явные следы шлифовки и перемаркировки, однако на работоспособности это никак не отразилось.
Но я нашёл несколько битых синтезаторов. Фактически в каждой посылке от Китайцев было по 1-2 битому чипу. Парочка щёлкала при включении и хрюкала вместо музыки, в остальном себя никак не проявляя. А вот один чип оказался пробитым, ибо при подаче питания он начинал быстро разогреваться. Если оставить включённым, он вполне мог раскалиться до 100 градусов, при этом на выходе были случайные щелчки и звуки.
В виду отсутствия зрелищности видео про проверке "просто работающего" блока было принято решение подать пробитому чипу по-больше напряжения и тока и "сорвать ему крышу".

В качестве бонуса, звучание в AdPlay:


Что касается дальнейшего развития блока - я его, по сути, продублировал (кроме цепей питания и декодера адреса) и хочу сделать блок на 2-х YM3812, то есть будет возможна формула "стерео OPL2".
Собрал статистику по платам, использовавшим два чипа OPL2 (например, Creative SB Pro, MediaVision PAS) и доработал декодер адреса, чтобы можно было поставить чипы на те же адреса, что использовались в тех платах. Также декодер должен поддерживать выбор нескольких адресов сразу для каждого чипа.
Сейчас для левого чипа доступны адреса: 0x220, 0x228, 0x388, для правого чипа: 0x222, 0x228, 0x388, 0x38A.
Забавный факт: ширина сдвоенного блока оказалась лишь немного больше, чем ширина самого первого варианта одиночного блока.
Вложения
PC9.ReOPL2.03
PC9.ReOPL2.03
КЗ в YM3812
КЗ в YM3812
2020-08-03 02.02.40.png (164.11 КБ) 1727 просмотров
PC9.ReOPL2.02
PC9.ReOPL2.02

great coder
Advanced Member
Сообщения: 340
Зарегистрирован: 20.06.2020,22:40
Откуда: msk.ru

Это не "дура", это FMonster (Попытка создать ISA 8-bit плату со всеми синтезаторами)

Сообщение great coder » 04.04.2021,11:44

Сначала удивило обилие линейных стабилизаторов 2OPL2-блоке: мелкий DAC явно не стоит целой цепи 7809-7805, как SID. Потом заметил 7909 и, соответственно ОУ (здесь и в OPL3-блоке). Усилители микшера не вытягивают?

Аватара пользователя
Fagear
Advanced Member
Сообщения: 1477
Зарегистрирован: 22.01.2010,11:23
Откуда: Москва, САО

Вклад в сообщество

Это не "дура", это FMonster (Попытка создать ISA 8-bit плату со всеми синтезаторами)

Сообщение Fagear » 04.04.2021,17:40

great coder писал(а): 04.04.2021,11:44 Потом заметил 7909 и, соответственно ОУ (здесь и в OPL3-блоке). Усилители микшера не вытягивают?
ЦАПу OPL2 нужна пара буферов отдельно для своей работы.
Поэтому на OPL2 блоке было 2 ОУ на нужды ЦАП и ещё на 2-х был ФНЧ.
На сдвоенном блоке OPL2 теперь по 2 ОУ на каждый ЦАП, а ФНЧ больше нет (он стоит после микшера на FMonster).

Аватара пользователя
Fagear
Advanced Member
Сообщения: 1477
Зарегистрирован: 22.01.2010,11:23
Откуда: Москва, САО

Вклад в сообщество

Это не "дура", это FMonster (Попытка создать ISA 8-bit плату со всеми синтезаторами)

Сообщение Fagear » 05.07.2021,04:48

По Covox Sound Master (CSM).


Что касается шумного выхода - всё понятно и логично, ибо что все ОУ, что AY питались (как в оригинальной плате) напрямую с шины ISA, что есть прямой путь ко всем шумам.
Как уже стало привычно, приколхозил парочку КРЕНок с +12 В до +9 В (для аналоговой части с ОУ) и с +9 до +5 В (для AY и коммутатора выхода). Шум на выходе сразу стал значительно меньше.
Собрал и вставил таки платку с R2R ЦАПом, проверил, звук с ЦАПа есть!
Далее начал разбираться с микшером. Напомню, что на вход приходит стерео-пара с AY, моно-выход с AY и моно-выход с повторителя R2R ЦАП. Поставив просто эмиттерный повторитель на ЦАП в Covox получили слишком тихий сигнал, поэтому вместо того, чтобы усилить сигнал с ЦАП, они в 100 раз ослабили сигнал с AY. Чтобы совсем его потопить в шумах.
Я же попытался сделать более сбалансированный микшер, но для этого мне нужно было предварительно усилить сигнал с ЦАПа. А я в аналогово-транзисторной схемотехнике ни в зуб ногой... Короче и так резисторы ставил, и сяк, и второй каскад добавлял, даже, в конце концов, просто заменил на буфер-усилитель на ОУ... Но такого же звучания, как у исходной платы, получить не удалось: оригинал даёт больше баса. Пока что остановился на варианте со слегка изменённой схемой на одном транзисторе. Надо ещё ставить эксперименты.
Но, в итоге, уровень ЦАПа удалось поднять, микшер заработал без сильного перекоса, общее усиление ещё приподнял, чтобы финальный выход был похож на уровни оригинальной платы.
Обнаружил, что далеко не во всех играх плата видится. CSM явно поддерживает авто-определение и часть игр явно не могла в моей реплике увидеть "оригинал". Дело оказалось в том, что я использовал AY8910 (и, ранее, YM2149), в то время как на оригинальной плате стоял AY8930. К счастью, в этот раз у меня на руках уже был свой 8930-й чип, я его поставил в свою реплику и проблемы с определением реплики исчезли.
Также я написал пару DOS-утилит и "пошарился" по регистрам AY всякими недокументированными способами. Заодно, научился программно различать AY8910, AY8930, YM2149 и KC89C72 (чипы, что есть у меня на руках). И да, явно те игры, которые ранее не определяли реплику, использовали расширенные регистры AY8930 для определения наличия CSM. То есть для "настоящей реплики" все остальные чипы не подходят, нужен именно AY8930.
Если опустить детекцию в некотором софте, то и остальные чипы будут работать в реплике, но с оговорками. У 8930 есть ещё дополнительные делители тактовой частоты и они используются в CSM. У остальных чипов такой опции нет, поэтому они звучат не в той же тональности. Вопрос можно решить, если добавить ещё одну 74HC74 в роли делителя на 2, но свободных элементов на плате нет, а присирание ещё одного DIP-14 явно потратит аутентичность вида.
Плюс ещё есть проблемы конкретно с YM2149, вернее с извращённым способом генерации DMA-запросов для ЦАПа на CSM. Этим тут занимается чип-синтезатор: канал C отключается от аудио-выхода и через транзистор подаётся в логику, которая генерирует DRQ на шине ISA. Так вот, если у AY8910 и AY8930 выход в состоянии тишины находится на нуле и при наличии генерации поднимается в сторону +5 В, то у YM2149 по умолчанию выход "висит" в районе 2,5 В и колеблется около них. То есть, с точки зрения того буферного каскада для DMA, у YM2149 выход всегда находится в состоянии "1", никакую генерацию он никогда не "увидит" и, соответственно, DRQ запросы формироваться не будут.
Возможно, можно как-то малой кровью модифицировать схему этого каскада, чтобы DMA заработал и с YM2149, пока не разбирался.
Некоторые игры с ЦАПом работают и без DMA, то есть просто записью в порт, CSM позволяет оба варианта.
Также я заменил разъёмы джойстиков (у меня с первого раза были впаяны не того "пола"), но не смог найти ни одну игру, которая бы поддерживала джойстики именно на CSM. Из тех игр, поддерживающих CSM, что были у меня, джойстик либо не поддерживался вообще, либо только обычный PC-совместимый (который на Game port'у висит).
Возможно, есть какие-то игры из десятков совместимых с CSM, которые поддерживают эти разъёмы... но у меня не было времени заниматься полным перебором. Поэтому точно утверждать, что джойстики работают точно как задумано в оригинале я не могу, ибо декодер адреса в GAL-чипе написан частично "по наитию" и адрес работы портов джойстиков может и отличаться.
Чтобы хотя бы проверить работу того, что прописал в GAL я, пришлось написать ещё одну DOS-софтину. Она показывает нажатия всех кнопок с обоих портов. Собрал макет геймпада и нашёл какой-то Atari-совместимый джойстик - с обоими оба порта на реплике (и на оригинальной плате с моим GAL'ом) работают.
Так что, в общем и целом, реплика живёт и допиливается. Уже можно задуматься о написании плеера музыки со Спектрумов на CSM.

great coder, что касается сборки SG0309, то для её замены я сделал мини-плату с 0805 резисторами. Найти GAL'ы вроде не проблема, их и в Китае много продают, да и Atmel'овский вариант, вроде, всё ещё производится.
Однако на предыдущей странице я давал фотографию платы, которая суть CSM переделанный на SMD. Там GAL "разобран" на чипы логики. Только в виде DIP это будет намного большая плата, никак не похожая на оригинал.

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26861
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Это не "дура", это FMonster (Попытка создать ISA 8-bit плату со всеми синтезаторами)

Сообщение Rio444 » 05.07.2021,11:46

Fagear писал(а): 05.07.2021,04:48 оригинал даёт больше баса.
Видимо там стоит НЧ фильтр. Можно взглянуть на схему?
Электронка: Изображение копия Изображение

great coder
Advanced Member
Сообщения: 340
Зарегистрирован: 20.06.2020,22:40
Откуда: msk.ru

Это не "дура", это FMonster (Попытка создать ISA 8-bit плату со всеми синтезаторами)

Сообщение great coder » 05.07.2021,23:59

Fagear, вы не совсем правильно мня поняли. Идея была не в том, чтобы повторить GAL в TH-компонентах, а в том, чтобы сделать отдельной платкой ему замену на SMD - ведь он, действительно, больше не выпускается (пусть и еще доступен). А вот что аналог есть актуальный аналог - я не знал, так что тогда это действительно бессмысленно.
И по поводу SG0309 - вроде же была картинка с удлиненной разводкой, под современную сборку 4310R-R2R-104 (~30.09.19). Кстати, эта "мини-плата с 0805" не такая уж и "мини". Ясно видно, что в текущем (отладочном?) исполнении реплика с ней выбивается за доступные 14.48мм (высота компонент на primary side) - даже может быть, за 18.75мм (расстояние между ISA минус толщина текстолита - все доступное пространство, если соседняя карта вообще не использует secondary side). Если делать ее съемной, то надо мезонинное соединение творить, т.е. совсем другую плату.

И да, выровнять ее контакты с одним из рядов GAL предлагалось именно как альтернативный вариант для обоих - на навесной плате мелочь (типа 1G?) эмулирует GAL, а на ее продолжении - 7524 вместо R2R (и плата, собственно, одна чтобы DAC было откуда запитатся).

Но это все больше про реплику CSM, не про FMonster :)

Аватара пользователя
Fagear
Advanced Member
Сообщения: 1477
Зарегистрирован: 22.01.2010,11:23
Откуда: Москва, САО

Вклад в сообщество

Это не "дура", это FMonster (Попытка создать ISA 8-bit плату со всеми синтезаторами)

Сообщение Fagear » 06.07.2021,01:10

great coder писал(а): 05.07.2021,23:59 Идея была не в том, чтобы повторить GAL в TH-компонентах, а в том, чтобы сделать отдельной платкой ему замену на SMD - ведь он, действительно, больше не выпускается (пусть и еще доступен)
В смысле, чтобы вставлять в сокет для GAL плату с SMD логикой? Размеры этой платы будут с треть основной, наверное. Тоже смысла мало. Проще купить на Али эти же GAL'ы или снять с ненужных плат и перешить.
great coder писал(а): 05.07.2021,23:59И по поводу SG0309 - вроде же была картинка с удлиненной разводкой, под современную сборку 4310R-R2R-104 (~30.09.19).
Разводка сохраняется универсальной и на текущий момент. На один контакт в одну сторону - встаёт 4310R-R2R-104, смещаем на контакт в другую сторону - встаёт SG0309 или заменитель.
great coder писал(а): 05.07.2021,23:59Кстати, эта "мини-плата с 0805" не такая уж и "мини". Ясно видно, что в текущем (отладочном?) исполнении реплика с ней выбивается за доступные 14.48мм (высота компонент на primary side) - даже может быть, за 18.75мм (расстояние между ISA минус толщина текстолита - все доступное пространство, если соседняя карта вообще не использует secondary side).
По ширине плата с саму резисторную сборку, а высота от платы большая только при использовании гнездовой гребёнки (18 мм суммарно).
Если же впаивать SMD-сборку (как и оригинальную SG0309), то её высота от платы всего 12,5 мм.

К слову, снова про FMonster.
Я тут немного подумал и решил не только блоки на основной плате местами переставить, но и обменять часть блоков между основной и "2-м этажом".
Конкретно, обменялись местами блоки OPL3 и OPN2.

На всякий случай напомню, что OPL2 - это то, на чём построена звуковая карта AdLib. Оно же потом было включено в Sound Blaster и, в стерео варианте (2 чипа OPL2), на Sound Blaster Pro и Pro Audio Spectrum.
OPL3 - это одночиповое стерео решение с куда большим числом голосов, ставилось на Sound Blaster 16, SB AWE32 и кучи "SB-совместимых" звуковых карт в виде оригинальных чипов Yamaha или клонов. Куда более массовое применение и на тот момент все остальные синтезаторы на ПК уже были особо не нужны.
OPN2 - это тоже Ямаховский синтезатор, но на ПК он не был (насколько я знаю), зато был в моей любимой Sega Mega Drive. И этот характерный звук мне бы тоже хотелось иметь на ПК. VGM-рипы музыки с Сеги давно есть, так что адаптация или написание плееров - вопрос времени.

Объясню, почему так.
- На основной плате одновременно сидят 2xOPL2 и OPL3. Условно, почти одно и то же (да, у OPL3 больше возможностей и совместимость стерео-OPL2 далеко не 100%).
- Все синтезаторы на основной плате - выводные (DIP) и только OPL3 был в SMD. А на 2-м этаже всё было в SMD, кроме синта в OPN2. Некрасиво.
- У меня были определённые задумки по перестановке блоков для оптимизации трассировки питания, тактовых шин и охлаждения синтов (особенно касается SID'ов) и со старым набором блоков оно никак иначе не собиралось в отведённых габаритах и без "дыр".

На мой взгляд, AY-SID-OPL2-SAA-SN всё примерно одного поля ягоды, примерно около близкие по году выпуска и своим возможностям.
OPL3 из общей картины выбивается.

Теперь на основной плате:
  • 1x SN76489 (SN PSG: Tandy 1000, IBM PCjr, Sega Master System)
  • 1x AY8930 (AY PSG: Covox Sound Master, ZX Spectrum, Amstrad CPC, Atari ST, ...)
  • 2x MOS8580 (SID: Innovation SSI-2001, Commodore 64)
  • 2x SAA1099 (SAA PSG: Creative Music System)
  • 2x YM3812 (OPL2: AdLib, Sound Blaster)
  • 1x YM2612 (OPN2: Sega Mega Drive)
FMonster @ 2021-07-06
FMonster @ 2021-07-06

На "2-м этаже":
  • 1x ATmega1284P (MIDI host: Hard MPU)
  • 2x AD7524 (Stereo DAC: Covox Speech Thing, Covox Voice Master, Covox Sound Master)
  • 1x YM262-M (OPL3: Sound Blaster 16, ...)
FMonster 2nd stage @ 2021-07-06
FMonster 2nd stage @ 2021-07-06

В конце концов, я не убираю полностью OPL3, он будет теперь жить на "2-м этаже" вместе с MIDI-хостом и стерео-"ковоксом" (ЦАПом). Для реализации полного функционала FMonster всё равно "2-й этаж" лучше поставить. В варианте без оного мне кажется, что сдвоенный OPL2 закроет нужды "OPL-синтеза".
В конце концов, в спарку к FMonster можно поставить любой SB-клон и заиметь на нём OPL3, если он очень нужен.

Из попутных изменений пришлось перетрассировать блок OPN2, чтобы он стал немного ниже и немного шире. В целях подготовки к возможному автоматизированному производству, были перекопаны каталоги сборщиков и выяснилось, что достать у них 74HC192D крайне сложно. Да даже просто на Али с их доступностью сложновато. Поэтому была подобрана замена в виде близкого 74HC193D, правда пришлось пересчитывать коэффициенты, менять логику и схему вокруг счётчиков. Попутно убрал один из кварцевых генераторов (оптимизация) и полностью переделал логику выбора частот у AY и SID'ов. Теперь не нужно менять положение 2-х или 3-х перемычек сразу, чтобы попасть в нужную частоту. Только одна перемычка и 4 чётко подписанных её положения в каждом случае.
FMonster clock gen @ 2021-07-06
FMonster clock gen @ 2021-07-06

Ответить