IPB

Здравствуйте, гость ( Вход | Регистрация )

> Подключение музыкального процессора к БК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



--------------------
Живы будем - Не помрем !
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 27.4.2024, 13:24