Просмотр полной версии : Aberrant Sound Module для УКНЦ
randomizer
20.06.2020, 17:28
Давайте сделаем железку, и сразу к нам придут и начнуть писать под неё софт :v2_smile:
А если кому то не удобно с ней работать окажется, обзовём их ЗЕЛЁНЫМИ РУКОЖОПАМИ :v2_lol:
И наступит всем счастье :v2_dizzy_punk:
А если серьёзно: те кому надо уже подключили AY к УКНЦ.
Сейчас неспешно занимаюсь переносом AKG проигрывателя (http://www.julien-nevo.com/arkostracker/index.php/the-akg-generic-player/) на УКНЦ.
Когда более-менее закончу с портированием, сформируются более четкое видение.
Пока есть только набор базовых требований
1. Ширина и высота изделия не больше КНГМД
2. Вся логика в DIP корпусах
3. Не использовать компоненты недоступные или малодоступные в начале 90-х
4. Последнее, но так же важное - аппаратная инверсия.(просто использовать шинные драйверы с инверсией)
Все это ограничивает сложность изделия, и это большой плюс на мой взгляд.
GitHub репозиторий (https://github.com/aberranthacker/aberrant_sound_module) проекта.
Диапазон занятих адресов 177360-177377.
P.S. Недавно наткнулся на проект со схожими ограничениями))) (https://www.hp9845.net/9845/projects/featureboard/) (кстати интересная идея там насчёт аппаратного генератора случайных чисел)
SuperMax
20.06.2020, 19:03
Диапазон занятих адресов 177760-177777.
imho плохой выбор адресов
randomizer
20.06.2020, 21:43
imho плохой выбор адресов
Почему? Начиная с 177718 и до конца - свободное пространство.
Кстати, вопрос, который меня довольно давно занимает: при обращении к каким адресам формируется BS7 на шине ПП?
- в адресном пространстве ЦП, страница ввода-вывода начинается с адреса 160000. И при обращении к ней формируется сигнал BS7
- в адресном пространстве ПП, страница ввода-вывода начинается с адреса 177000.
- и согласно ГОСТ на МПИ - "сигнал ВУ на линии `Выборка устройства` используется в качестве признака обращения к адресуемым регистрам периферийных устройств"
- - - Добавлено - - -
Хм, раз уже моё сообщение переехало прям в отдельную тему. Возможно ли заголовок темы изменить?
Например на "Расширяемый аудио модуль для ПП УКНЦ"
Начиная с 177718
Точно не с такого адреса :):):)
при обращении к каким адресам формируется BS7
При обращении к адресам, которые решено было выделить под страницу в/в
Традиционный вариант - последние 8 кб адресного пространства (то есть 160000-177777 если адрес 16-ти битный, 760000-777777 для 18-ти битного, 17760000-17777777 для 22-ух битного)
А реальный - зависит от формирователя BS7, причём, если даже его формирует проц (как, скажем, ВМ3 или J11), то внешней схемой можно и в это дело вмещаться :)
По сути - память не реагирует на активность на шине, если выставлен BS7, устройства не реагирует на активность на шине, если НЕ выставлен BS7
- - - Добавлено - - -
Возможно ли заголовок темы изменить?
Вроде как модераторы могу это сделать :)
randomizer
20.06.2020, 21:48
Точно не с такого адреса
Опять же, почему? Согласно ТО, последний используемый адрес 177716
Опять же, почему?
Потому что система счисления - восьмеричная :)
То есть адрес будет 177720 :)
randomizer
20.06.2020, 22:19
То есть адрес будет 177720
Точно :v2_lol:
Давайте сделаем железку, и сразу к нам придут и начнуть писать под неё софт :v2_smile:
Смешно, да.
А если кому то не удобно с ней работать окажется, обзовём их ЗЕЛЁНЫМИ РУКОЖОПАМИ :v2_lol:
И наступит всем счастье :v2_dizzy_punk:
А если серьёзно: те кому надо уже подключили AY к УКНЦ.
В соседней теме тут обсуждают подключение AY к параллельному порту УКНЦ, т.е. по адресам 177101-177102 ПП -- так тех, кто под это пишет софт уже сразу можно записывать в ЗЕЛЁНЫЕ РУКОЖОПЫ или этим титулом наделяют отдельно?
randomizer
21.06.2020, 00:14
ЗЕЛЁНЫЕ РУКОЖОПЫ
Это те кому не нравятся аппаратные недоработки.
Отсылка к ОПЫТНЫЕ И УМЕЛЫЕ, из той же темы вроде. Видимо почистили.
- - - Добавлено - - -
Кстати, вопрос, который меня довольно давно занимает: при обращении к каким адресам формируется BS7 на шине ПП?
Отвечу сам себе))) Проверил осциллом - сигнал BS7 формируется для адресов начиная с 160000.
Несмотря на то что страница ввода-вывода начинается с 177000.
Жаль. Не получилось детектор адреса упростить(
Это те кому не нравятся аппаратные недоработки.
Отсылка к ОПЫТНЫЕ И УМЕЛЫЕ, из той же темы вроде. Видимо почистили.
Вопрос был не про титул. Зачем выдумывать девайс на других портах, когда уже есть готовые рабочие используемые девайсы под порт принтера?
randomizer
21.06.2020, 14:10
Вопрос был не про титул. Зачем выдумывать девайс на других портах, когда уже есть готовые рабочие используемые девайсы под порт принтера?
Чего вас так прям беспокоит вопрос - а зачем?
Краткий ответ: хочется мне, или ещё проще just for fun :v2_smile:
Но мы ведь взрослые люди, выдресированные делать вид что все наши действия рациональны и полны смысла :v2_lol:
Чтож, погнали:
1. Вместо
AYout:
MOV R1,R0
COM R0
MOV R0,@$PAR.B # put a register address on the AY data bus
MOV $0xFFFF^3,@$PAR.C # latch the address
MOV $0xFFFF,@$PAR.C # reset the AY control bus
MOV R2,R0
COM R0
MOV R0,@$PAR.B # put a register data on the AY data bus
MOV $0xFFFF^2,@$PAR.C # write to PSG
MOV $0xFFFF,@$PAR.C # reset the AY control bus
RETURN
хочу делать просто:
MOV R1,(R5)
MOVB R2,(R5)
да, я ЗЕЛЕНЫЙ РУКОЖОП)))
2. Хочу 3 AY(два как минимум) чипа. Arkos Tracker 2(в теории поддерживает неограниченное их количество). Да и 9-ти голосная музыка звучить клёво.
3. Есть подозрение что IDC40 на надеть на разъем параллельного интерфейса.
4. Собственно шлейф тянущийся за устройством подключенным к параллельному интерфейсу, тоже ни разу не плюс.
5. Чтоб подключить к нему INIT и подмешать сигнал от встроенного динаминка - нужно еще отдельные провода тащить.
6. Без сигнала INIT, нужно устройство распологать так, чтобы была доступна кнопка сброса на самом устройстве.
7. Один из слотов расширения у меня занять КНГМД, если воткнуть вторую плату, не превышающую по размерам КНГМД, до эта вторая плата не будет никак мешаться и визуально выделяться.
Все, лень мне больше выдумывать
хочу делать просто:
Не, ну ты чё, это не наш метод! Устройство должно содержать строго 1 (одну) К155ЛА3, всё остальное сделать программа!
randomizer
22.06.2020, 20:06
Разослал набросок схемы с просьбой оценить трассировку ПП.
Ценник очень даже приемлимый))
По сути разводка платы это единственное что меня тормозило. Но теперь счастье так близко.
Осталось только разрешить вопросы со схемой.
Пока неопределился:
использовать отдельный синхрогенератор, или просто взять 4МГц и поделить на два
Даже таблицу когда-то составлял, с базовыми частотами, и теми что на AY подаются
| Amstrad CPC | 16/16 | 1.0 |
| BK | 12/7 | 1.7142857 |
| ZX USSR clones | 14/8 | 1.75 |
| ZX-Spectrum 128 | 17.73475/10 | 1.7734475 |
| ZX post 128 | 35.469/20 | 1.77345 |
| MSX | 3.579545/2 | 1.7897725 |
| Atari AT | 32.0424/16 | 2.00265 |
По сути частота имеет значение только если собрался тащить код и данные с другой платформы без преобразования.
Но при использовании трекерного проигрывателя, это не важно.
аудио-штекеры довольно большие по размеру, если расположить разьем на краю платы, то штекер будет изрядно торчать наружу
Пока решил не мудрствовать, а расположить разъем справа, и воспользоваться подобным (https://www.amazon.com/LANMU-Degree-Adapter-Headphone-Adapter-3/dp/B01NBJW3T5) этому переходником.
Supermax писал что диапазон адресов 177760-177776 не самый лучший для использования этой железякой. Интересно все же почему.
SuperMax
23.06.2020, 13:50
Разослал набросок схемы с просьбой оценить трассировку ПП.
Supermax писал что диапазон адресов 177760-177776 не самый лучший для использования этой железякой. Интересно все же почему.
[/LIST]
ответ прост
https://pic.maxiol.com/thumbs2/1592909071.3232235619.photo2020060611183.jpg (https://pic.maxiol.com/?v=1592909071.3232235619.photo2020060611183.jpg&dp=2)
конечно, если делать железку которая будет выпущена в 3х экземплярах то можно и забить
ps: мое мнение что надо не "3 AY чипа" ставить, а ПЛИС в которой эмулировать что угодно и как угодно. на выход с ПЛИС - ЦАП итд. как пример стоит смотреть Carnovore2 для MSX.
randomizer
23.06.2020, 20:02
конечно, если делать железку которая будет выпущена в 3х экземплярах то можно и забить
Я не расчитываю на всемирное признание PDP-11 сообщества)))
Ради интереса посмотрел какие адреса задействованы в Союз-Неон - все что выше 170000 страница эмуляции внешних утройств.
БКшники? У них вроде есть все что нужно.
Не уж то есть те, кто хочет прикрутить эту железку, да еще и через переходник к ДВК??? (но стесняются в этом признаться))))
Мне ещё нужно дорисовать формирователь сигналов BC1 и BDIR - решил всё же добавить возможность читать из звукогенератора.
Останутся свободные логические элементы - можно и детектор адреса будет переделать.
Задействовав диапазон 177720-177736 например.
ПЛИС в которой эмулировать что угодно и как угодно
А что эмулировать то? Для УКНЦ подобного устройства никогда не существовало.
То что я хочу сделать, вольная фантазия на тему, что могло быть сделано в начале 90-х.
Да и чисто эстетически, многоногая ПЛИСина не тянет на ретро.
- - - Добавлено - - -
Если ссылаться на существовавшие устройства, то вот https://en.wikipedia.org/wiki/Mockingboard
хочу делать просто:
MOV R1,(R5)
MOVB R2,(R5)
Как на БК-0011
randomizer
08.07.2020, 13:19
Как на БК-0011
https://i.ibb.co/pWVD4Fn/bk.png (https://ibb.co/pWVD4Fn)
- - - Добавлено - - -
Мини апдейт - схема передана на доработку и разработку ПП.
falanger
08.07.2020, 13:45
randomizer, буду ждать что получится.
- - - Добавлено - - -
И несколько вопросов и уточнений - на борту картриджа есть своя память для загрузки фрагментов и последующего воспроизведения звука? Если постоянно дергать ПП воспроизведением звука то справится ли он с работой по обслуживанию видеосистемы и ввода-вывода дискового?
Три канала AY-8912 - понятно. А вот ЦАП-АЦП для вывода звука помимо "пиликанья шумогенераторов" и ввода? Если да - есть ли режим автономного чтения-записи в набортную память если не картриджа то ПП?
Система может работать без доработок платы? А то лезть с паяльником лишний раз к ней стремно - текстолит плохого качества слишком часто был. Пиликанье пищалки вполне можно оставить как есть, эстеты могут поставить микродинамик.
И главное есть ли ПО на все это? Причем мне важнее даже не музычку пиликало чтобы, хотя в фоне было бы неплохо если ПП хватит на все задачи, а на ввод-вывод с ЦАП-АЦП для записи-воспроизведения живого звука, приема и анализа сигнала вроде радиолюбительских сканеров и так далее.
randomizer
08.07.2020, 15:26
ПО - отсутствует))) В процессе разработки проигрывать для AY и все пока на этом.
Кроме логики позволяющей процессору вести с AY чипами ничего нет)
Полный минимализм.
На будущее есть future connector, для подключения RAM диска, ЦАПов, или чего еще.
На в схеме есть 8 линий для выборки устройств, 3 из них задействованны под AY чипы.
Остальные пять - как раз на будущее.
Тоже по аналогии с БК, там в процессоре по адресам 177714 и 177716 то же самое сделанно.
Единственная опциональная дорабока - это вывод сигнала для встроенного динамика на разъем МПИ, если захочется его с линейного выхода устройства снимать.
В общем и целом, устройство делается в рамках проекта по переносу игры. С неким заделом на будущее.
shattered
08.07.2020, 20:10
Если будет несколько чипов, какая-то синхронизация записи в них будет полезна, чтобы ритм соблюдался на разных каналах
randomizer
08.07.2020, 21:36
Если будет несколько чипов, какая-то синхронизация записи в них будет полезна, чтобы ритм соблюдался на разных каналах
В смысле синхронизация?
По моим представлениям, надо постараться сделать программу плеера так, чтобы было хоть как то заметно рассинхрон.
Под хоть как то, я подразумеваю то что наблюдается в эффекте хора.
ПО - отсутствует))) В процессе разработки проигрывать для AY и все пока на этом.Можно взять исходники (http://gid.pdp-11.ru/sources.html) плеера для БК
randomizer
13.07.2020, 00:33
Как оказалось AY-3-8913 отличают не только не выведенные порты, еще и тайминги :-(
Чтобы не повторятся, на создал тему в раделе спектрума https://zx-pk.ru/threads/32037-ay-3-8913-strannye-tajmingi.html?p=1072373#post1072373
Но хотелось бы ещё выяснить какие тайминги у переферийного блока 1801ВМ1, той части что выставляет сигналы SEL1 и SEL2.
Сколько тиков проходит, прежде чем этот блок выставит RPLY?
По сути хочу выяснить, сколько времени висит DOUT при обращении к переферийному блоку.
Точнее даже минимальные тайминги, на которых AY работает с том или ином устройстве.
В частности на разогнанном БК.
randomizer
10.08.2020, 01:11
Возникший вопрос по таймингам затянул весь проект.
Пришлось собрать прототип (https://ibb.co/MGMMM04)(подключаемый к ЦП, проще так).
Выяснил не то что хотел :)
Изначально хотел использовать AY-3-8913, но оказалось что они толи дефектные, толи бракованные.
Здесь (https://www.bytedelight.com/?p=6327)говорят о том же. Точнее даже о том, что похоже, что вообще не купить нормальных AY-3-8913.
Чтобы убедится, заказа чипы у разных продавцов, в том числе из европы - как и пишут в статье, все работают с нареканиями :(
В общем решил использовать AY-3-8912, но как оказалось, при частоте процессора 8МГц(длительность DOUT 375ns), они начинают сбоить, а при частоте 10МГц вообще не работает.
Тут все соответствует даташиту. На штатной частоте ПП всё норм.
У меня ещё есть AY-3-8910A, у него уменьшены тайминги. И он нормально работает даже при частоте процессора 10МГц(длительность DOUT 300ns).
По идее, AY-3-8912A тоже должены нормально работать на повышенной частоте ПП, но нужно ещё их дождаться, чтобы убедится.
На этих выходных человек уже занялся трассировкой, не хочется его вновь останавливать до выяснения. И так проект затянулся.
Думаю, стоит ли заморативатся о том, что если разогнать ПП, то звуковой модуль может начать работать некорректно(и вновь притормаживать разработку печатной платы).
Тем более что, AY-3-8912A, с высокой вероятностью, все бутет работать нормально и при повышенной частоте ПП.
- - - Добавлено - - -
Повторю просьбу модераторам: тему я не создавал, но во главу темы вынесен мой пост. Поэтому прошу переименовать тему в "Aberrant Sound Module для УКНЦ".
Я уже писал о переменовании, но мой вопрос "тактично" проигнорировали.
- - - Добавлено - - -
Изменил всё же диапазон адресов использумых модулем. Будет 0177720-0177736.
AY чипы по адресам 0177720, 0177722 и 0177724.
В будущем планирую дополнить модуль (https://github.com/aberranthacker/ms0511_sound_card) парой ЦАПов, парой чипов OPL2, и памятью.
Как раз весь диапазон адресов будет задействован :)
Я уже писал о переменовании, но мой вопрос "тактично" проигнорировали.
Я тоже просил переименовать свою тему - мне ответили, что то ли это невозможно, то ли непонятно как это делается..
длительность DOUT 375ns
Схемное решение по задержке ответа для сигнала DOUT делается на 1 резисторе, конденсаторе КМ5 и германиевом диодике Д9Б .
Рекомендуемое время задержки - 400 нс. ( + тайминг МПИ = порядка 600 нс. ).
randomizer
10.08.2020, 15:55
Схемное решение по задержке ответа для сигнала DOUT делается на 1 резисторе, конденсаторе КМ5 и германиевом диодике Д9Б .
В прототипе у меня стоит задержка выдачи сигнала RPLY. Cостоящая из резистора и конденсатора. Не ясно только зачем диод :v2_confu:
https://i.ibb.co/GtZdS2r/aberrant-sound-module-Prj-PCB-Altium-Designer-18-0.png (https://ibb.co/1dC0Wq4)
Но конечном варианте я её убрал.
У AY-3-8912 не выведена наружу линия A9(инверсная), из-за чего, для выборки чипа, нужно использовать A8, при этом инвертировав сигналы выборки.
Я жёстко ограничил размер платы модуля - должет быть такой же как и у контроллера дисководов.
Поэтому хотел избежать добавления дополнительных компонентов в схему.
Но пожалуй стоит добавить задерку выдачи RPLY.
Повторю просьбу модераторам: тему я не создавал, но во главу темы вынесен мой пост. Поэтому прошу переименовать тему в "Aberrant Sound Module для УКНЦ".
Я уже писал о переменовании, но мой вопрос "тактично" проигнорировали.
Не нужно быть таким злым. Я еще не во всем разобрался. Тему переименовал.
randomizer
10.08.2020, 16:50
Не нужно быть таким злым. Я еще не во всем разобрался. Тему переименовал.
Спасибо большое! Даже не подумал что могут быть какие то заморочки с переименованием :v2_blush:
shattered
10.08.2020, 21:16
Изменил всё же диапазон адресов использумых модулем. Будет 0177720-0177736.
0177720 используется HD.SYS (виртуальный диск в эмуляторе ДВК)
randomizer
10.08.2020, 22:34
0177720 используется HD.SYS (виртуальный диск в эмуляторе ДВК)
Хм, модуль предназначен для УКНЦ.
Например на БК, под AY задействован порт 0177014, а в адресном пространстве ПП УКНЦ этот порт занят.
Стоит ли заморачиватся, чтобы диапазон адресов не пересекался например с устройствами ДВК?
Учитывая что модуль предназначен для переферийного процессора.
В принципе, если не усложнять схему, то можно сделать стартовым адреса:
0177360
0177560 не годится, потенциально может быть использован последовательным портом
0177660
0177720
0177740
SuperMax
11.08.2020, 07:12
Хм, модуль предназначен для УКНЦ.
Например на БК, под AY задействован порт 0177014
177714
randomizer
11.08.2020, 11:32
Точно, ошибся малость)) Видимо из-за того, что этот адрес тоже занят на УКНЦ.
SuperMax
11.08.2020, 12:00
Точно, ошибся малость)) Видимо из-за того, что этот адрес тоже занят на УКНЦ.
вот интересная сводная
https://forum.maxiol.com/index.php?showtopic=5540
randomizer
11.08.2020, 14:01
вот интересная сводная
Судя по таблице, как раз диапазон 177360-177377 свободен.
Если не будет возражений, то можно занять его.
Единственное, таблица не полная: в ней нет регистров УКНЦ, а так же отсутствуют два адреса 176560 и 176570, на которых может работать 1801ВП1-065.
SuperMax
11.08.2020, 14:07
Судя по таблице, как раз диапазон 177360-177377 свободен.
Если не будет возражений, то можно занять его.
Единственное, таблица не полная: в ней нет регистров УКНЦ, а так же отсутствуют два адреса 176560 и 176570, на которых может работать 1801ВП1-065.
ну значит надо дополнять - присылайте информацию - вставлю
randomizer
16.09.2020, 09:40
Мини апдейт, наконец то в производство пошла плата.
Пока в Резоните заказал три штуки.
Ещё неделя, и будет собран самый первый экземпляр :v2_dizzy_dance:
https://i.ibb.co/K7JFPCM/main-board-Pcb-Doc-Altium-Designer-20-2-3-2020.png
randomizer
29.09.2020, 23:29
Очередной апдейт.
На выходных собрал,все работает как и ожидалось :v2_happy:
Обнаружилась пара ошибок правда, футпринт кварцевого генератора нарисовал вверх ногами, т.е. если раместить его с обратной стороны платы, то всё совпадет.
Или можно повернуть его на 180 градусов, чтобы линии питания совпали, и кинуть коротенькую перемычку.
Плюс вырез под ключ нарисовал малость смещенным, его левый край в точности совпадает с центром ключа.
На собранной плате можно заметить что вырез шире.
https://i.ibb.co/3vxy6TH/DSC-0021-1.jpg (https://ibb.co/ypznvNJ)
https://i.ibb.co/FH3NndG/DSC-0018-1.jpg (https://ibb.co/fDFBQTm)
Очередной апдейт.
На выходных собрал,все работает как и ожидалось :v2_happy:Круто! Теперь бы послушать как она играет музыку :)
P.S. а контакты под разъём P2 зачем?
футпринт кварцевого генератора нарисовал вверх ногамиНаоборот правильно, когда плата воткнута в компьютер - так даже лучше.
randomizer
02.10.2020, 21:13
Круто! Теперь бы послушать как она играет музыку
Я закончил перенос кода AKG player, но нужно ещё отлаживать его.
Для теста давно ещё перенес мелодию из демки (https://github.com/aberranthacker/uknc_ay_test).
Вот как она играет на этом (https://www.dropbox.com/s/yzm2pzs3i590b0p/AY-3-8912.mp3?dl=0) модуле.
На плате три чипа, и есть идея проигрывать музыку предназначенную для одного, на двух.
Но во второй чип будет играть ноты с удвоенной частотой относительно первого.
Т.е. получится, что к нечетным гармоникам как бы добавятся чётные (те самые, ламповые))
P.S. а контакты под разъём P2 зачем?
У ПП два слота расширения, один занят КНГМД.
Воткнув звуковуху во второй слот, получалось бы что все слоты заняты.
Поэтому на плате модуля предусмотрел возможность подключение расширений. Feature connector в общем))
В перспективе хочется ЦАП и дополнительное ОЗУ.
https://i.ibb.co/N1qt4GT/DSC-0028.jpg (https://ibb.co/8zwNhQY)
Хотел ещё плату сделать одинаковой высоты с КНГМД, но в итоге получилось на 5мм выше.
https://i.ibb.co/Gn98GSD/DSC-0029.jpg (https://ibb.co/ydpZKjC)
randomizer
29.11.2020, 23:54
До конца добил AKG player (https://github.com/aberranthacker/akg_player/blob/master/akg_player.s).
Осталось правда ещё несколько директив .error, там где код не протестирован.
Просто не нашлось музыки использующей этот код.
А то что есть в комплекте с Arkos Tracker 2 (http://www.julien-nevo.com/arkostracker/) звучит как надо :v2_dizzy_punk:
Теперь наконец можно закончить интро ChibiAkumas)
BlaireCas
25.09.2022, 01:43
Есть несколько вопросиков :)
Аналог 74F642 это наша КР1533АП9?
Инверсный шинный преобразователь, а то извините 642-ю попробуй вообще где найди их-же нет нигде.
randomizer
25.09.2022, 12:22
Аналог 74F642 это наша КР1533АП9?
Очень похоже. Я схему разрабатывал как программист, единички/нолики.
В плане физики у меня мутновато.
Народ настаивал, что обязательно нужны драйверы с открытым коллектором.
А я хотел инверсные, чтобы не нужно было делать как на БК - отправлять инвертированые данные на AY.
Поэтому выбор пал на 74F642.
КР1533АП9 по распиновке соответствует, но непонятно какие у неё выходы. В принципе, должно работать.
74F642 можно заказать здесь https://www.utsource.net/itm/p/6896042.html
А можно проще, 74F642 уже проверенный вариант, отдам пару вместе с платой.
Очень похоже. Я схему разрабатывал как программист, единички/нолики.
Запость сюда схему в виде картинки.
BlaireCas
25.09.2022, 14:49
Народ настаивал, что обязательно нужны драйверы с открытым коллектором.
Интересно зачем. По-идее без него подтягивающие резисторы были-бы не нужны на плюс питания.
А можно проще, 74F642 уже проверенный вариант, отдам пару вместе с платой.
Готов прикупить :) А то сейчас по неким известным событиям попробуй там еще купи, квест с оплатой будет
- - - Добавлено - - -
Запость сюда схему в виде картинки.
Наберусь наглости запостить раз ее рассматриваю сейчас
Общий план
https://i.imgur.com/U2EzTOZ.png
Шина
https://i.imgur.com/UiqloKq.png
Детектор адресов
https://i.imgur.com/7PnxKUt.png
Собственно АЮшки
https://i.imgur.com/Dbz4OU3.png
Усилок/микшер
https://i.imgur.com/qJkuKtz.png
Future connector просто коннектор для видимо будущих задумок там ничего нет
Интересно зачем.
Потому что шина QBus - с ОК
randomizer
25.09.2022, 15:53
Наберусь наглости запостить раз ее рассматриваю сейчас
У меня вышел из строя монитор на десктопе с виндой, как раз хотел попросить))
На разъёме шины ПП есть свободные контакты, поэтому предусмотрел возможность завести звук встроенного динамика на плату.
В плане физики у меня мутновато.
Поэтому после сборки прототипа, передал схему профессиналу, он уже забросал её кондесаторами настолько, что куда не кнти, 100MHz-вый осцил не видид звона)
Наберусь наглости запостить раз ее рассматриваю сейчас
На мой взгляд, схема значительно избыточна.
Не говоря уже об использовании редких 74F642, которые, как я смотрю, снимаются с производства в пользу неинверсных 74F641.
Зачем делать внутреннюю шину тоже с открытым коллектором? Только внешняя QBUS нуждается в этом.
BlaireCas
25.09.2022, 16:15
В принципе на алике полно 74LS642 вроде это то-же самое... :) Кажется
Прикинул так - если не считать AYшки (недешевые) - то остальное вроде как копеечное и доставаемое у китайцев. Ну а всякая мелочь типа резюков да кондеров небось в чипе есть.
В принципе на алике полно 74LS642 вроде это то-же самое... Кажется
Сильно подозреваю, что будут отличаться по макс выходному току при нуле на выходе - у F по идее должен быть больше. Но, учитывая, сколько в УК-НЦ подключено к (внутренней) ПП шине устройств - по идее должно пройти. По стандарту же (если надо будет подключить, например, устройство 10-ти метровым кабелем) выходной ток требуется до 100 мА. Но такие приёмопередатчики вроде были только в 559-ой серии - которые дрались с оригинальных DEC-овских, которые, в свою очередь, специально отбирались. Как то примерно так. Была тут тема про QBus приемо-передатчики, но искать влом (развлекаюсь с апгрейдом виртуалке, где хостится www.kpxx.ru).
- - - Добавлено - - -
Вот, нашлось - В вариантном исполнении 74ALS641 и 74LS641 максимальный ток на выходе, имеющем напряжение низкого уровня, составляет 48 мА. У микросхемы 74F641 на выходах - 64 мА.
- - - Добавлено - - -
О, нашёл :) https://zx-pk.ru/threads/26172-mikroskhemy-shinnykh-drajverov-dlya-q-bus-mpi.html
BlaireCas
25.09.2022, 17:36
максимальный ток на выходе, имеющем напряжение низкого уровня, составляет 48 мА
https://i.imgur.com/gfYEJgx.png
Ну попробовать-то можно :) Мало-ли. Они копейки стоят. А F это жесть купить щас. Да не факт кстати что там с опен коллектором-то надо на деле. Есть такие подозрения.
- - - Добавлено - - -
передал схему профессиналу, он уже забросал её кондесаторами настолько
Ахах да уж заметно. Не пожадничал. А на сколько там кварц кстати чет недогоняю. В альтиуме картинка на 25мгц, а на деле?
randomizer
01.10.2022, 18:24
В альтиуме картинка на 25мгц, а на деле?
Я поставил 14.31818MHz. Поделить на 8, получается 1.7897725MHz, частота которая подаётся на AY.
Не помню уже почему именно такую выбрал, то ли что бы на OPL2(который думал в перспективе добавить), подавалась такая же частота как на карте AdLib, то ли что ещё.
- - - Добавлено - - -
Насчёт проигрывателя есть одно замечание.
Код в формате gas, там синтаксис отличается от MACRO11.
По большей части это не проблема, заменить пару символов, и ещё префиксы у чисел в разных системах счисления.
Но есть такой момент, там есть участки кода, которые дублируются для каждого канала, для этого используются макросы.
Например в коде три раза подряд вызывает макрос:
ReadTrack 1
ReadTrack 2
ReadTrack 3
А внутри самого макроса, в метках вроде Channel\cN\()_BeforeEnd_StoreCellPointer:, \cN\(), заменяется на номер канала.
Не знаю, можно ли так сделать в MACRO11, и плюс метки больше 6-ти символов.
Вроде на БК популярен pdpy, не помню точно как называется, помню только, что там с макросами совсем беда было.
можно ли так сделать в MACRO11
Можно
Поддержка Aberrant Sound Module добавлена в UKNCBTL версии 2022.3 - https://zx-pk.ru/threads/6257-emulyator-uknts-ukncbtl.html?p=1165684&viewfull=1#post1165684
Так что все те кто хотел писать под него софт - могут себя уже совсем себя не сдерживать.
BlaireCas
27.12.2023, 13:09
Подкину немного в темку:
Портировал проигрыватель .pt3 от KUVO с БК:
ppt3.sav (https://raw.githubusercontent.com/blairecas/mousetest/main/release/ppt3.sav)
Диск с ним и некоей тестовой музыкой:
moutst.dsk (https://raw.githubusercontent.com/blairecas/mousetest/main/moutst.dsk)
(ну так диск назван, там в репозитории заодно мышь и прочее)
Вызов стандартный PPT3 music[.pt3]
Возможно есть кривота (не уверен что в точности перенес код с БК (там использовался PDPy11 компилятор) на виндовый аналог MACRO11 (macro11.exe).
Ну и поскольку у меня эмулятор (так и не спаял реальный девайс) - мог пробовать воспроизведение только на нём. На реальном неизвестно что еще получится :)
Исходник там-же в гитхабе (https://github.com/blairecas/mousetest/blob/main/ppt3.mac)
Запилил новую аппаратную реализацию ASM с применением ПЛИС EPM3xxx и AY-3-9810 (YM2149F)
Схема 80274
Гербер 80275
Проект на ПЛИС и прошивка EPM3128 80280
Проект на ПЛИС и прошивка EPM3064 80279
https://pic.maxiol.com/thumbs2/1706900706.3274620859.img20240201232219.jpg (https://pic.maxiol.com/?v=1706900706.3274620859.img20240201232219.jpg&dp=2) https://pic.maxiol.com/thumbs2/1706900740.3274620859.img20240202183610.jpg (https://pic.maxiol.com/?v=1706900740.3274620859.img20240202183610.jpg&dp=2) https://pic.maxiol.com/thumbs2/1706900771.3274620859.img20240202183625.jpg (https://pic.maxiol.com/?v=1706900771.3274620859.img20240202183625.jpg&dp=2) https://pic.maxiol.com/thumbs2/1706900804.3274620859.img20240202221605.jpg (https://pic.maxiol.com/?v=1706900804.3274620859.img20240202221605.jpg&dp=2)
- - - Добавлено - - -
Еще одна реализация ASM на ПЛИС EPM7128.
В отличие от предыдущей не используются шинные формирователи на КР580ВА87, отсутствует разъем расширения и уменьшены габариты платы (менее 100х100мм).
Гербер 80276
Схема 80277
Проект ПЛИС и прошивка 80278
https://pic.maxiol.com/thumbs2/1706901200.3274620859.img20240202183755.jpg (https://pic.maxiol.com/?v=1706901200.3274620859.img20240202183755.jpg&dp=2) https://pic.maxiol.com/thumbs2/1706901247.3274620859.img20240202183732.jpg (https://pic.maxiol.com/?v=1706901247.3274620859.img20240202183732.jpg&dp=2) https://pic.maxiol.com/thumbs2/1706901272.3274620859.img20240202184137.jpg (https://pic.maxiol.com/?v=1706901272.3274620859.img20240202184137.jpg&dp=2) https://pic.maxiol.com/thumbs2/1706901295.3274620859.img20240202184228.jpg (https://pic.maxiol.com/?v=1706901295.3274620859.img20240202184228.jpg&dp=2)\
* На схемах и фото плат присутствуют ошибки в разводке: перепутаны каналы A и B на AY(YM). Ошибка связана с использованным в проекте компонентом. Схемы править не стал, но в герберах эта ошибка устранена.
Продажа здесь (https://zx-pk.com/forum/viewtopic.php?f=7&t=23395).
А я для разнообразия и ознакомления с шиной МПИ решил повторить сабж на Pi Pico.
Pi Pico эмулирует два AY-3-8910 (хотя ничего не мешает добавить туда N штук AY, хоть все восемь, ну или какие-нибудь SAA1099, или вообще OPL3), обрабатывает шину МПИ, так же перехватывает запись в порт А ВВ55 (0177100), тем самым эмулируя еще и Covox.
Звук выводится посредством двух PWM через обычные простые RC-фильтры.
Для этого скрафтил макетку, которую можно сувать в разъем УКНЦ, принеся в жертву недавнюю плату divMMC от спектрума (благо китайцы вместо 5 штук прислали 10).
https://pic.maxiol.com/thumbs2/1709023561.1578964724.photo2024021511282.jpg (https://pic.maxiol.com/?v=1709023561.1578964724.photo2024021511282.jpg&dp=2) https://pic.maxiol.com/thumbs2/1709023623.1578964724.photo2024021511282.jpg (https://pic.maxiol.com/?v=1709023623.1578964724.photo2024021511282.jpg&dp=2)
Распаял на неё левелшифтеры и начал сопрягать все это дело с шиной МПИ:
https://pic.maxiol.com/thumbs2/1709023673.1578964724.photo2024022317595.jpg (https://pic.maxiol.com/?v=1709023673.1578964724.photo2024022317595.jpg&dp=2) https://pic.maxiol.com/thumbs2/1709023697.1578964724.photo2024022318001.jpg (https://pic.maxiol.com/?v=1709023697.1578964724.photo2024022318001.jpg&dp=2)
Не могу сказать, что всё прошло гладко, но в конечном итоге с помощью костылей и подпирающих их костылей, стоящих на костылях удалось выудить первые звуки из УКНЦ. Процесс наладки отладки:
https://pic.maxiol.com/thumbs2/1709023754.1578964724.photo2024022317500.jpg (https://pic.maxiol.com/?v=1709023754.1578964724.photo2024022317500.jpg&dp=2)
В итоге вроде timeCS демо работает, игра ChibiAkuma's поёт, PPT3.SAV играет PT3. Так же работает Covox, микшируясь с AY'ми. Немного коротеньких видео:
https://youtu.be/AV58tZoQmUk
https://youtu.be/HMITQZBpq2c
Выложил "как есть" примерную схему, исходники прошивки здесь: https://github.com/Tronix286/tsound .
"Как есть" означает, что это не готовое изделие, а всего-лишь небольшая самоделка выходного дня, поэтому качество кода плохое, схемотехнические решения спорные, не исключены баги и глюки, с которыми вам придется разбираться самим, так как автору поделка уже надоела -) Но может быть кто-то когда почерпнет отсюда пару каких-то новых для себя идей.
electroscat
09.03.2024, 18:48
Дорогие коллеги !
Вслушался внимательно на хорошей аккустике 3.1 и в проф. наушниках Philihps, в голос УКНЦ с лице Aberant Sound. Могу резюмировать качество звука. Как бывший профессиональный бас- гитараст а ныне мридангист - любитель в целом не обделенный музыкальным и ритмическим слухом, думаю что сделаю это достаточно точно. И так, чистота звуковой картинки на твердую 5.. Без плюса, потому что все расно если хорошо прислушаться в наушниках, то реально услышать блок питания УКНЦ НА СЭМЗе моем стоит блок импульсный на 24 вольта, а после него еще и штатный УКНЦшный - и там чистенький звук, ничего не услышал по питанию, а вот на СЭМЗ стоит штатный блок с тороидальным трансформатором, и там реально выведя все на полную громкость услышать таки 50 герц... Ну скажем, это не штатный режим, а скорее придирка к тому, что притание звуковой карты можно вывести наки на уровень лучших creaеtive параноидально застабилизировав... Но в целом - считаю это излишним в данном случае...
В остальном - мои поклоны реализоваавшим этот шедевр, звук мягкий и чистый, по началу прямо таки привел меня в восторг.. Единственное что еще хотелось бы подчеркнуть, как бас гитарист я ожидаю от карты всегда агрессивных низов, это хотелка исключительно професситнальная, и многим она вообще вредна, моя жена например в буквальном смысле может упасть в обморок от агрессивного интенсивного баса, вероятно именно из за этого я в свое время передел с бас гитары на мридангу, ее бас гораздо мягче и интенсивнее. ТАк вот, бас "аберанта" исключительно мягкий, и даже в пиках он не напрягает мою супругу, это можно отнести к огромным плючом карты, но в моем понимании это таки минус, бас мягкий и красивый, без резких фронтов, но увы, меня это не цепляет так как хотелось бы. В итоге, вижу вероятную доработку конкретно своей карты, сравнил со схемой мультикарты, которая обеспечивает весьма агрессивный бас, и заметил, 1. РЕзисторы R2R (если не ошибаюсь) ЦАПА - в данной схеме 1к и 2.2к, в схеме вектора 10к и 20к, это мне вполне кажется одной из вероятных причин недостатка агрессии низких частот. Вторая причина может крыться в обратной связи операционного усилителя и самом операционном усилителе, тут конкретно еще не разбирался, но наверняка тоже есть варианты сильно расширить AЧХ в области низких частот.
В остальном, повторюсь, я в восторге и очень благодарен создателям сего шедевра !!! Огромное спасибо, карта реально подлучилась просто прекрасной, и для среднего и выше среднего меломана она может полностью закрыть максимум его потребностей ! Еще раз благодарю !
https://i.ibb.co/k4jFrVy/photo-2024-03-09-00-01-08.jpg (https://ibb.co/X71Tdf4)https://i.ibb.co/mbKyrRf/photo-2024-03-09-00-01-09.jpg (https://ibb.co/bQVvj6c)
Ну и заказал корпус, опять же у профи, кстати, хотелось бы отдать должне @Yrust за исполнение коробки, она сделана по размерам картриджа УКНЦ и в целом, по максимуму удовлетворяет все требования по корпусам к слотовым девайсам УКНЦ !
BlaireCas
15.03.2024, 15:25
Подправил .pt3 плеер (ссылка на него выше есть).
Исправлен один мелкий баг в проигрывании сэмплов с понижающейся зацикленной громкостью.
Ну и другие баги (зажирание адресного пространства ПП и еще чего-то).
Спасибо тестировщикам electroscat, reddie, Xrust (за саму платку с ямахой), Alex_K (за обучение меня глупого в программировании под РТ-11)
BlaireCas
27.07.2024, 09:12
Поскольку звуковая карта от Aberrant превратилась в какого-то уже монстра - тут ссылки на софт для так скажем "раскрытия ее потенциала" ... :)
(напомню что всё это делает Xrust , поэтому за вопросами как спаять, чем прошить - это вот к нему, я лишь софт пишу)
1) В карте появился GM чип, соответственно MIDI player для нее:
Плеер: PMIDI.SAV (https://raw.githubusercontent.com/blairecas/mousetest/main/release/pmidi.sav)
Исходник: PMIDI.MAC в репозитории https://github.com/blairecas/mousetest
2) В карте сделан covox на регистре #14 третьего чипа AY (@#177364 в периферийном процессоре, что-нибудь засылаем в обычно неиспользуемый регистр 14 - оно микшируется как байтовая амплитуда)
Нагло утянул плеер .SPC+.INS файлов от Manwe для БК-0010/11
Плеер: SPCP.SAV (https://raw.githubusercontent.com/blairecas/spcplay/main/release/spcp.sav)
Исходники: https://github.com/blairecas/spcplay
При запуске указать ключ /Y (иначе заиграет на LPT порту А), например: RUN SPCP FILE/Y (оба файла FILE.SPC и FILE.INS должны присутствовать при этом)
Микширует в 10-бит как в БК-0011 (а выводит все-равно 8). Играет малость быстрее, но не критично быстрее.
Из игр звуковая эта плата поддерживается в Krakout (я его обновил к версии как для БК, появилась музыка и что-то еще)
Сама игра вот тут (https://zx-pk.ru/threads/31397-portirovanie-igry-quot-krakout-quot-na-uknts.html)
randomizer
27.07.2024, 14:11
Адреса то какие у миди?
Понятно, что не проблема залезть в репку, и посмотреть исходники.
Но всё же.
...
В шапку добавлю.
BlaireCas
27.07.2024, 18:14
Адреса то какие у миди?
А прямо после 3-го AY идет.
@#177366 (control, не знаю зачем, туда пишется 77(восьм) в самом начале, управление чипом может)
@#177370 (data, обычный поток данных миди туда)
Поэкспериментировал с Ковоксом. Сначала прилепил R2R на один из параллельных портов AY через КМОП буфер . Работать работает, но не понравилось качество звука и склонность AY к глюкам.
Решил попробовать нормальный ЦАП типа MAX5480. Результат порадовал. Качество значительно лучше.
Собрал прототип. Громкость с трудом удалось согласовать с другими источниками. Придется переделать выхлоп на ОУ.
Схема будет выглядеть примерно так:
https://pic.maxiol.com/thumbs2/1732295172.1734555019..png (https://pic.maxiol.com/?v=1732295172.1734555019..png&dp=2)
Тем временем уважаемые BlaireCas и reddie запилили первый софт под эту реализацию ковокса.
Сейчас жду новые платы и запчасти. Как только все недоработки будут устранены, опубликую документацию. А пока фотки.
https://pic.maxiol.com/thumbs2/1732294063.1734555019.img20241122203420.jpg (https://pic.maxiol.com/?v=1732294063.1734555019.img20241122203420.jpg&dp=2) https://pic.maxiol.com/thumbs2/1732295768.1734555019.img20241122203411.jpg (https://pic.maxiol.com/?v=1732295768.1734555019.img20241122203411.jpg&dp=2) https://pic.maxiol.com/thumbs2/1732294163.1734555019.img20241118234133.jpg (https://pic.maxiol.com/?v=1732294163.1734555019.img20241118234133.jpg&dp=2)
randomizer, порт ковокса 177372
Выкладываю документацию по последней версии звуковой карты, совместимой с Aberrant Sound Module с General MIDI и COVOX.
Архив проекта в Квартусе и файл прошивки для EPM7128 81843
Архив схемы в PDF 81842
Гербер платы 81841
https://oshwlab.com/yrust/uknz_asm_sam_covox
randomizer
16.01.2025, 09:08
последней версии звуковой карты Aberrant Sound Module с General MIDI
Очень интересно, когда это успело стать последней версией?
Это реализация Aberrant Sound Module на FPGA, с сомнительными дополнениями в виде MIDI.
Не нужно одно, подменять другим.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot