Подключение музыкального процессора к БК0011М, AY-3-8910 AY-3-8912 Yamaha YM2149F YM2149 AY8910 AY8912 |
Здравствуйте, гость ( Вход | Регистрация )
Подключение музыкального процессора к БК0011М, AY-3-8910 AY-3-8912 Yamaha YM2149F YM2149 AY8910 AY8912 |
SuperMax |
4.8.2020, 0:17
Сообщение
#1
|
Администратор Группа: Root Admin Сообщений: 6 286 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 |
Схема RDC (Денис Сотченко) она же московская, частота работы чипа 1.5МГц.
с делителем на распространнёной микросхеме ТМ2. Используются: AY-3-8910 AY-3-8912 Yamaha YM2149F оригинал документация перерисовка Вообще в идеале частота должна быть 1/2 от поднесущей NTSC (3 579 545,5) те 1 789 772,75 Однако есть проблема - красивого подключения не получится - будет куча соплей: Ссылки https://zx-pk.ru/threads/27705-podklyuchenie-muzykalnogo-protsessora-k-bk0011m-na-primere-ym2149f.html https://zx-pk.ru/threads/20933-plata-bk0011...rbo-74f198.html -------------------- Живы будем - Не помрем !
|
SuperMax |
22.9.2022, 14:03
Сообщение
#2
|
Администратор Группа: Root Admin Сообщений: 6 286 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 |
2AY реализованные варианты для БК
На момент написания этого текста существует три варианта подключения спаренных чипов AY-3-8910 (YM2149F) к БК-0011(0010). Первый вариант. Маски разрядов 14. и 15. порта 177714. Основан на переключении AY при помощи старших разрядов 14. и 15. порта 177714. Суть в следующем. Поскольку обмен с AY происходит путем отправки пары "регистр AY (слово)- данные (байт)", то в момент отправки слова с номером регистра AY один из битов 14. или 15. устанавливается, как маска, что позволяет подключить нужный AY. Например, нужно отправить данные регистра 7 одного из AY в 177714: Код MOV #100007, R0 ;ПОМЕСТИЛИ НОМЕР РЕГИСТРА AY В МЛАДШИЙ БАЙТ COM R0 ;ДАННЫЕ ДЛЯ ОТПРАВКИ В 177714 ИНВЕРСНЫЕ MOV R0, @#177714;ОТПРАВИЛИ СФОРМИРОВАННОЕ СЛОВО И УСТАНОВИЛИ ДЛЯ ЗАПИСИ РЕГИСТР 7 ТРЕБУЕМОГО AY MOV #100005, R0 ;ТЕПЕРЬ НУЖНО ОТПРАВИТЬ НАПРИМЕР ЗНАЧЕНИЕ 5 В УСТАНОВЛЕННЫЙ ВЫШЕ РЕГИСТР ПОДКЛЮЧЕННОГО AY COMB R0 ;ИНВЕРСНЫЕ ДАННЫЕ ДЛЯ ОТПРАВКИ В 177714 MOVB R0, @#177714;ОТПРАВИЛИ БАЙТ И ЗАПИСАЛИ ЗНАЧЕНИЕ В УСТАНОВЛЕННЫЙ РЕГИСТР ПОДКЛЮЧЕННОГО AY Для записи в регистр другого AY программный код будет аналогичным, только вместо MOV #100000,R0 следует указать MOV #40000,R0 т.е. установить 14.-й разряд. Данный вариант подключения обратно совместим, т.к. все legacy ("старые") проигрыватели при отправке данных в 177714 ничего не записывают в старший байт, и соответственно не трогают биты 14. и 15. Единственное "но" при этом оба AY "играют" параллельно одно и то же. На слух это иногда звучит оригинально, но для истинных ценителей желательно предусмотреть возможность физического отключения одного из AY. Второй вариант. Стандарт TurboSound. Плата TurboSound спроектирована и реализована так, что ее можно подключить на место существующего чипа AY-3-8910 (YM2149F) и она будет работать как с legacy ("старыми") проигрывателями так и с новыми, которые поддерживают способ переключения двух AY. Этот способ подключения очень прост. Что бы переключить AY потребуется отправка слова в порт 177714 с номером несуществующего регистра AY. В стандарте TurboSound этими регистрами выбраны значения 255. и 254. Программно это выглядит достаточно просто. Перед отправкой основных данных управления регистрами AY в порт 177714 пишется подключение нужного AY: Код MOV #255., R0 ;ДЛЯ ПОДКЛЮЧЕНИЯ AY#1 УСТАНОВИМ ЗНАЧЕНИЕ 255. (ИЛИ 254. ДЛЯ AY#2) COM R0 ;ДАННЫЕ ДЛЯ ОТПРАВКИ В 177714 ИНВЕРСНЫЕ MOV R0, @#177714;ОТПРАВИЛИ СЛОВО И УСТАНОВИЛИ НУЖНЫЙ AY ... ;ДАЛЕЕ ИДЕТ ОБЫЧНАЯ ОТПРАВКА ДАННЫХ ДЛЯ AY Для legacy проигрывателей все остается по старому. Т.е. после RESET на БК, порт 177714 устанавливается в инверсную -1, что соответствует значению 255. или подключению AY#1. Третий вариант. Внешнее устройство AZBK. В AZBK произошел полный отказ от использования 177714 для 2хAY и были реализованы новые порты для управления 2xAY. (legacy AY 177714 конечно поддерживается) Это: Код 177172 - для указания номера регистра AY#1 177173 - для записи данных указанного в 177172 номера регистра AY#1 177174 - для указания номера регистра AY#2 177175 - для записи данных указанного в 177174 номера регистра AY#2 Все порты байтовые! Кроме этого, для управления AY теперь не требуется инверсия передаваемых данных, а порты доступны как для записи, так и для чтения. Запись данных в нужные AY выглядит просто: Код MOVB #2, @#177172;УСТАНОВИЛИ РЕГИСТР 2 AY#1 MOVB #124, @#177173;ОТПРАВИЛИ ДАННЫЕ В УКАЗАННЫЙ ВЫШЕ РЕГИСТР AY#1 MOVB #5, @#177174;УСТАНОВИЛИ РЕГИСТР 5 AY#2 MOVB #30, @#177175;ОТПРАВИЛИ ДАННЫЕ В УКАЗАННЫЙ ВЫШЕ РЕГИСТР AY#2 Все указанные реализации были проверены с помощью написанного мной универсального проигрывателя, который поддерживает все варианты: https://disk.yandex.ru/d/Rv26trQndwKexw 2022, Владимир 'KUVO' Кутяков / CSI 2AY_universal_player_by_KUVO.zip ( 5.89 мегабайт ) Кол-во скачиваний: 195 -------------------- Живы будем - Не помрем !
|
Текстовая версия | Сейчас: 27.4.2024, 13:24 |