Подключение AY-3-8910.

Обсуждение советского компьютера Фахiвець / Специалист и его развитие

Moderator: Lavr

Post Reply
User avatar
pyzhman
Novelist
Posts: 40
Joined: 29 Oct 2025 06:21

Подключение AY-3-8910.

Post by pyzhman »

Доброго!
Разработал схему:

AY8910.JPG
AY8910.JPG (229.56 KiB) Viewed 905 times

Написал тестовую программу из даташита (просто звук). Вижу на логическом осцилле, что BDIR и BC1 отрабатывают, данные выставляются корректные. Но звука нет. Что за беда может быть?
User avatar
pyzhman
Novelist
Posts: 40
Joined: 29 Oct 2025 06:21

Re: Подключение AY-3-8910.

Post by pyzhman »

Предложите свою схему.
User avatar
Black_Cat
Doomed
Posts: 635
Joined: 23 Nov 2007 22:53
Location: Saint Petersburg, Russia
Contact:

Re: Подключение AY-3-8910.

Post by Black_Cat »

pyzhman wrote: 22 Jun 2026 06:37 Доброго!
Разработал схему:
AY8910.JPG
Написал тестовую программу из даташита (просто звук). Вижу на логическом осцилле, что BDIR и BC1 отрабатывают, данные выставляются корректные. Но звука нет. Что за беда может быть?
Ессно не будет - выход сделан неправильно. У AY выходы эмиттерные повторители - поставь резистор в землю до разделительного кондёра.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
pyzhman
Novelist
Posts: 40
Joined: 29 Oct 2025 06:21

Re: Подключение AY-3-8910.

Post by pyzhman »

И действительно, эмиттерные повторители. Вот бы знать :) Поставил нагрузочный резистор и всё запело.
Спасибо.
User avatar
Black_Cat
Doomed
Posts: 635
Joined: 23 Nov 2007 22:53
Location: Saint Petersburg, Russia
Contact:

Re: Подключение AY-3-8910.

Post by Black_Cat »

Для моно такой смеситель избыточен, просто соедини все выходы вместе и подай на резистор в землю. Именно для такого соединения эмиттерные повторители и сделали.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
pyzhman
Novelist
Posts: 40
Joined: 29 Oct 2025 06:21

Re: Подключение AY-3-8910.

Post by pyzhman »

Он уже спаян. Не разбирать же.
Благодарю за замечание.
User avatar
Black_Cat
Doomed
Posts: 635
Joined: 23 Nov 2007 22:53
Location: Saint Petersburg, Russia
Contact:

Re: Подключение AY-3-8910.

Post by Black_Cat »

Из этой схемы просто сделать Pentagon-Scorpion ABC вариант стерео (в варианте Profi-KAY смешивание ACB):
Attachments

Безымянный.PNG
Безымянный.PNG (129.9 KiB) Viewed 808 times

"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
pyzhman
Novelist
Posts: 40
Joined: 29 Oct 2025 06:21

Re: Подключение AY-3-8910.

Post by pyzhman »

Благодарю за подсказку!
Скорректировал схему:

AY8910.JPG
AY8910.JPG (233.91 KiB) Viewed 771 times

1. Добавил буфер в генератор для надежного запуска.
2. Нагрузочный резистор использовал существующий - перепаял с правой обкладки конденсатора на левую.
3. Ввел сигнал чтения регистра по команде in 14h.
Вот здесь засада. Читает не то, что записано. Причем это видно и на осциллограммах - на шине данных в момент /RD находится что попало, только не то, что в регистре. Причем испытано на нескольких AY. Везде по-разному, что напрягает - неужели они сами неисправны в этом плане?
Подскажите, пожалуйста, может я неверно формирую rd_14h?
User avatar
Black_Cat
Doomed
Posts: 635
Joined: 23 Nov 2007 22:53
Location: Saint Petersburg, Russia
Contact:

Re: Подключение AY-3-8910.

Post by Black_Cat »

Буфер в генераторе на запуск никак не влияет, он просто формирует более вертикальные фронты, и ставится только если сигнал идёт на несколько входов, чтобы на них фронты были синхронны. В твоём случае вход один, и буфер избыточен.

А как ты читаешь? Пишешь адрес некоего служебного регистра, потом пишешь данные, потом сразу их читаешь? И если не изменяет склероз, в регистрах не все разряды могут записываться, и соответственно читаться из них будет не то, т.е. сличать данные в таком случае надо по маске.

И кстати почему такие адреса? Если софт драть со Спектрума, то и адреса логичнее сделать было по спектрумовски, т.е. запись адреса и чтение данных на одном адресе, а запись данных на другом.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
Lavr
Supreme God
Posts: 17087
Joined: 21 Oct 2009 15:08
Location: Россия

Re: Подключение AY-3-8910.

Post by Lavr »

pyzhman wrote: 26 Jun 2026 11:03 3. Ввел сигнал чтения регистра по команде in 14h.
Вот здесь засада. Читает не то, что записано. Причем это видно и на осциллограммах - на шине данных в момент /RD находится что попало, только не то, что в регистре. ...
Подскажите, пожалуйста, может я неверно формирую rd_14h?
Что-нибудь сдвинулось с тех пор как? :roll:

Мы закончили, что out 14h таки пишет в память. А LDA 1414h этот факт подтверждает.

Наши картинки, грохнутые варваром, вот здесь:
http://www.nedopc.org/forum/viewtopic.php?t=24157
iLavr
User avatar
pyzhman
Novelist
Posts: 40
Joined: 29 Oct 2025 06:21

Re: Подключение AY-3-8910.

Post by pyzhman »

А я-то думаю - куда делась вторая страница.
Да, я совсем не учитывал сигнал /WE. Он же формируется при обращении к портам. По итогу запись шла и в ОЗУ. Теперешняя схема (спасибо Shaos приложил пофигаченное):

AY8910 and interrupt.JPG
AY8910 and interrupt.JPG (369.57 KiB) Viewed 593 times

Теперь другая задача - обращение по in/out к портам, начиная с 0С000h, должны идти к ОЗУ. Ну это пока неживотрепещуще.
User avatar
Lavr
Supreme God
Posts: 17087
Joined: 21 Oct 2009 15:08
Location: Россия

Re: Подключение AY-3-8910.

Post by Lavr »

pyzhman wrote: 13 Jul 2026 06:38обращение по in/out к портам, начиная с 0С000h, должны идти к ОЗУ.
Так "начиная с 0С000h должны идти к ОЗУ" - там же ПЗУ в "Специалисте"! :roll:
iLavr
User avatar
pyzhman
Novelist
Posts: 40
Joined: 29 Oct 2025 06:21

Re: Подключение AY-3-8910.

Post by pyzhman »

Это для того, чтобы команда, например, OUT 0F8h писала в адрес 0F8F8h, что то же самое 0F800h - порт А ВВ55. Аргументируется сохранением совместимости с мне неизвестными программами.
User avatar
Lavr
Supreme God
Posts: 17087
Joined: 21 Oct 2009 15:08
Location: Россия

Re: Подключение AY-3-8910.

Post by Lavr »

pyzhman wrote: 30 Jul 2026 11:01 Это для того, чтобы команда, например, OUT 0F8h писала в адрес 0F8F8h, что то же самое 0F800h - порт А ВВ55.
Я себе сделал похожее решение для OUT 0FFh, оно же STA 0FFFFh, в "Специалист МХ" это запрещенный порт и адрес.
У меня он переключает область экрана "Специалист"-а на адреса экрана "Орион-128".

Думал для "Орион-128" много программ появится, но кроме "М-128" из доступных меня что-то ничего больше не впечатлило... :-?
iLavr
Post Reply