Просмотр полной версии : Эмулятор AY-8910 на ATMega
Lisitsin
29.06.2013, 20:04
Короче, заснял на видео: http://youtu.be/1CXDRhVrTLE
Исправил OUTI/OUTD, пошло дело ...
Одного канала не хватает.
---------- Post added at 21:30 ---------- Previous post was at 21:26 ----------
Короче, заснял на видео: http://youtu.be/1CXDRhVrTLE
Бордюр обновляется не одновременно с экраном.
Lisitsin
01.07.2013, 11:57
Бордюр обновляется не одновременно с экраном.
Прошу прощения ... Ценная для меня информация. А можно по-подробнее в личку? Буду благодарен !!! А канала одного нет потому что у меня ноут как-то криво на микрофонный фхот пишет ...
Прошу прощения ... Ценная для меня информация. А можно по-подробнее в личку?
Посмотри демку в эмуляторе.
Там цвета фона экрана и бордюра меняются синхронно,создавая ощущение монолитного пространства, а у тебя идет разрыв, похожее бывает на компьютерах с турбо режимом, но у тебя ведь его нет?
Lisitsin
04.07.2013, 13:07
Посмотри демку в эмуляторе.
Там цвета фона экрана и бордюра меняются синхронно,создавая ощущение монолитного пространства, а у тебя идет разрыв, похожее бывает на компьютерах с турбо режимом, но у тебя ведь его нет?
Турбо нет, просто красный с зелёным перепутал когда кодер припаивал ...
Дополнил версию для тиньки режимом чтения. Для чтения данных нужно подать сигнал BC1 (Int0) и держать его не менее 1.8мкс, после чего тинька на ШД выдаст байт данных, не снимая сигнала BC1 считать данные, после чего сигнал BC1 нужно снять чтобы тинька освободила ШД (переключила ее в режим входов). Все остальное работает как и раньше.
Предупреждаю сразу, в реалах чтение работать небудет, т.к. время выдачи данных слишком велико!
эта фича сделана специально для эмулятора Lisitsin-a
marinovsoft
10.08.2013, 12:35
ребята почините сайт
http://vector06c.narod.ru/ не работает после переезда на юкоз. Там вначалае index.html надо скрипт удалить
Lisitsin
31.08.2013, 17:29
Завёл сей девайс от внешнего генератора на 28.322 МГц
https://dl.dropboxusercontent.com/u/12408899/Vibrate.wav - в формате .wav
https://dl.dropboxusercontent.com/u/12408899/Vibrate.mp3 - в формате .mp3
marinovsoft
31.08.2013, 17:45
МК какой?
Lisitsin
31.08.2013, 18:13
МК какой?
Attiny2313-20su ...
marinovsoft
12.08.2014, 18:05
Сегодня наткнулся на форк
http://mystd.ru/topic/71-ay-8910-ay-3-8910-ay-3-8912-emulator-on-atmega8-эмулятор-музыкального-сопроцессора/
vfiuchcikicshuusrch
13.08.2014, 21:52
:) после такого..... просто мастхэв :)
у меня как раз, атмег8 в планарном исполнении штук 15 валяется)
vfiuchcikicshuusrch
14.08.2014, 16:59
а в чем будет различие, если я не на 27мгц а на 20 соберу ?)
oracleua
25.12.2015, 23:34
Прикольная вещь получилась
http://i.piccy_.info/i9/2b65d98108613a84cc2d1d1984e716de/1451075622/8795/986014/2015_12_25_22_29_29_240.jpg (http://piccy_.info/view3/9200706/e26ac4fab95226f00f27be69ee8137ff/)http://i.piccy_.info/a3/2015-12-25-20-33/i9-9200706/240x180-r/i.gif (http://i.piccy_.info/a3c/2015-12-25-20-33/i9-9200706/240x180-r)
http://i.piccy_.info/i9/9307525d25477fdda72cba790abbe87b/1451075644/8854/986014/2015_12_25_22_29_41_240.jpg (http://piccy_.info/view3/9200707/7902bac975cfbb95790526f9ad3f3b2f/)http://i.piccy_.info/a3/2015-12-25-20-34/i9-9200707/240x180-r/i.gif (http://i.piccy_.info/a3c/2015-12-25-20-34/i9-9200707/240x180-r)
Вариант на 2313 получиться встроить в первый Ленинград?
oracleua
27.12.2015, 03:40
Почему бы и нет.....
Ясно.
На сайте автора не могу найти прошивок, вроде есть вариант на 8-16 меге, без внешней логики.
marinovsoft
27.12.2015, 19:19
На этом сайте
http://www.avray.ru/ru/ , а конкретно на этой http://www.avray.ru/ru/оригинальная-версия-эмулятора/ странице - оригинальный архив
На этом сайте
http://www.avray.ru/ru/ , а конкретно на этой http://www.avray.ru/ru/оригинальная-версия-эмулятора/ странице - оригинальный архив
Спасибо тебе, добрый человек.
USERHOME
29.12.2015, 21:47
Прикольная вещь получилась
http://i.piccy_.info/i9/2b65d98108613a84cc2d1d1984e716de/1451075622/8795/986014/2015_12_25_22_29_29_240.jpg (http://piccy_.info/view3/9200706/e26ac4fab95226f00f27be69ee8137ff/)http://i.piccy_.info/a3/2015-12-25-20-33/i9-9200706/240x180-r/i.gif (http://i.piccy_.info/a3c/2015-12-25-20-33/i9-9200706/240x180-r)http://i.piccy_.info/i9/9307525d25477fdda72cba790abbe87b/1451075644/8854/986014/2015_12_25_22_29_41_240.jpg (http://piccy_.info/view3/9200707/7902bac975cfbb95790526f9ad3f3b2f/)http://i.piccy_.info/a3/2015-12-25-20-34/i9-9200707/240x180-r/i.gif (http://i.piccy_.info/a3c/2015-12-25-20-34/i9-9200707/240x180-r)
Сколько будет стоить такой "модифицированный" AY?
oracleua
29.12.2015, 21:58
Сколько будет стоить такой "модифицированный" AY?
Я даже не считал...атмега была....а платку за пару вечеров не спеша сделал...
А так если самому делать...то в принципе по цене атмеги..(конечно если есть в запасе фоторезист,гетинакс,хлорно е железо)
oracleua
18.01.2016, 10:36
Ramiros а реально переделать прошивку atiny2313 что-бы дешифрация была внутри???
wr,a14,a15,m1,iorq,a1 на ноги atiny2313...правда наверное прийдется ресетом пожертвовать и последовательным вводом (rx,tx)..
за-то проще будет подключать к реалу....
Ramiros а реально переделать прошивку atiny2313 что-бы дешифрация была внутри???
wr,a14,a15,m1,iorq,a1 на ноги atiny2313...правда наверное прийдется ресетом пожертвовать и последовательным вводом (rx,tx)..
за-то проще будет подключать к реалу....
Если отключить ресет, повторная прошивка будет невозможна, к тому же оперативно реагировать на изменение сигналов на входах можно только по прерываниям (именно по этому BC1 BDIR используют Int0 Int1)
oracleua
18.01.2016, 23:05
Если отключить ресет, повторная прошивка будет невозможна, к тому же оперативно реагировать на изменение сигналов на входах можно только по прерываниям (именно по этому BC1 BDIR используют Int0 Int1)
На счер ресета то понятно...А так Никак??? Жаль...
На счер ресета то понятно...А так Никак??? Жаль...
скорости генерации сигналов BC1/BDIR и wr,m1,iorq совершенно разные + нужно анализировать сразу 5 бит, если сделать так, то все ресурсы МК уйдут только на обработку этих сигналов (и то не факт, что он справится). Перевести обработку на PCINT тоже не вариант, т.к. эти прерывания срабатывают гораздо медленнее, контроллер не будет успевать считывать данные за приемлемое время.
Вообще 2313 достаточно капризный контроллер, мне лично удалось сделать версию для Atmega8 с качественным режимом чтения, Atmega8 в этом плане лучше, т.к. PWM выводы у неё находятся на порту, на котором не идет переключение ВХОД/ВЫХОД
oracleua
20.01.2016, 10:01
скорости генерации сигналов BC1/BDIR и wr,m1,iorq совершенно разные + нужно анализировать сразу 5 бит, если сделать так, то все ресурсы МК уйдут только на обработку этих сигналов (и то не факт, что он справится). Перевести обработку на PCINT тоже не вариант, т.к. эти прерывания срабатывают гораздо медленнее, контроллер не будет успевать считывать данные за приемлемое время.
Вообще 2313 достаточно капризный контроллер, мне лично удалось сделать версию для Atmega8 с качественным режимом чтения, Atmega8 в этом плане лучше, т.к. PWM выводы у неё находятся на порту, на котором не идет переключение ВХОД/ВЫХОД
А на Atmega8 получится вариант с внутриней дешифрацией??
А на Atmega8 получится вариант с внутриней дешифрацией??
Нет, частоты сигналов очень большие по сравнению с BC1/BDIR поэтому и ставят схему дешифрации на логике (скорость TTL 4…20 нс, атмега за такой промежуток не успеет даже считать данные с порта, не говоря уже о их дешифрации)
Если кому-то нужен эмулятор под 8 атмегу, выкладываю задесь архив, в нем готовые сборки эмулятора двух- и трех-канальные, а так же исходник на ассемблере под AVRStudio. Параллельный режим работает отлично на ZX, трехканальную версию можно втыкать прямо заместо реального AY (возможно придется переделать фильтр на выходе, смотря как у вас в ZX он сделан). Определяется в тестах и тестируется корректно.
PS: забыл еще уточнить, что в моей версии генерация звука идет на частоте 109375Гц (частота таймера 218750Гц) для эмуляции 1.75МГц и 125000Гц (частота таймера 250000Гц) для эмуляции 2МГц, что соответствует реальному чипу, в отличие от оригинального эмулятора, где частота снижена вдвое из-за не оптимального кода. Так же в моей версии огибающие генерируются налету, а не из таблицы, шум звучит так же как на AY, а огибающая имеет 32 уровня громкости
PS2: для проигрывания в последовательном режиме есть специальная программа, скачать можно по ссылке в readme.txt в архиве.
USERHOME
21.01.2016, 19:18
Если кому-то нужен эмулятор под 8 атмегу, выкладываю задесь .....
Кварц какой в этом случае ? (в схеме бы указать)
Надеюсь дождусь "когда руки дойдут..." и сделаю это чудо себе
Кварц какой в этом случае ? (в схеме бы указать)
Там на выбор от 20МГц до 32МГц, устанавливается конфигом прошиваемым в EEPROM, конфиги есть под частоту 1.75 и 2 МГц,
Рекомендую использовать в реале не менее 24-25МГц, иначе может не успевать
Версия 22 эмулятора для Atmega8, новый принцип работы в режиме чтения параллельного режима, теперь еще быстрее идет обработка и более безопасно для шины данных.
В турборежиме вроде как тоже работает от 25МГц и выше, но так как мало контроллеров которые тянут кварцы более 25МГц рекомендуется использовать внешний генератор, в этом случае фьюзы будут -U lfuse:w:0xD0:m -U hfuse:w:0xCF:m
внешний генератор подключается к PB6
PS: и еще раз поясню, почему не нужны конденсаторы на кварц в данном варианте, если посмотреть даташит на атмегу8 "By programming the CKOPT Fuse, the user can enable an internal 36pF capacitor between XTAL1 and GND, and XTAL2 and GND." Т.е. если фьюз CKOPT включен (а в приводимых в readme.txt фьюзах он включен), то включаются внутренние конденсаторы на 36пФ
В версии 23 исправлен генератор шума.
PS: версии 22,23 будут работать, если у вас подтянута шина данных (а на реалах она всегда подтянута)
PS2: если у вас реализованы оба #7FFD и #FD, то менеджер памяти может быть медленным и тогда может глючить, в остальных случаях должно быть всё ок.
PS3: добавил новый RC фильтр, т.к. достаточно всего лишь ФНЧ, проверил, работает отлично, гораздо лучше предыдущих монстров, при подключении к звуковой карте она не входит в ступор, как с предыдущим фильтром, так что рекомендую! Можно на выходе еще поставить конденсаторы 1-10мкФ
На основе эмулятора версии 23 сделана так же очень простая реализация TurboSound на двух МК Atmega8, подробности в архиве. К сожалению, без исходников.
Если есть вопросы - пишите в ПМ или сюда.
PS: в данной версии в порт данных шлется и 1 и 0, версию с HI-Z выложу чуть позже, будет в имени файла добавлено hi-z
Благодаря Василию Лисицыну удалось улучшить схему избавишись от второго кварца, схема прилагается, в архивах схема тоже обновлена.
PS2: опытная эксплуатация показала, что резисторы лучше ставить не 10кОм, а 1кОм, а то сильно гасится сигнал.
так же не всегда корректно на реале работает режим чтения, буду пытаться оптимизировать
PS3: оказалось плохо пропаял первый МК, после исправления глюки исчезли, так что всё нормально, пригодно к использованию :)
marinovsoft
20.02.2016, 18:31
Может, кому-то пригодится версия 21 для последовательного интерфейса для ATmega8515 56102
В ближайшие дни будет новая версия со следующими исправлениями: улучшен генератор шума, улучшена генерация огибающих, в двухканальной версии улучшено смешивание каналов.
USERHOME
05.07.2016, 18:02
В ближайшие дни будет новая версия ...
А AtMega-168 подойдёт? (есть для/под неё код)
А AtMega-168 подойдёт? (есть для/под неё код)
Теоретически подойдет, но нужно будет переделывать часть кода, т.к. порты другие (программные имеются в виду), возможно еще придется ставить конденсаторы на кварц.
Бета версия 24.0 двухканальная
Напомните как звук получается? ШИМ?
marinovsoft
15.07.2016, 07:50
http://zx-pk.ru/threads/10510-emulyator-ay-8910-na-atmega.html?p=207196&viewfull=1#post207196
Новая версия, как и обещал.
Улучшен генератор шума, улучшена таблица громкости огибающих, улучшено смешивание каналов в двухканальной версии.
Новая версия, как и обещал.
Улучшен генератор шума, улучшена таблица громкости огибающих, улучшено смешивание каналов в двухканальной версии.
Эмуляция сабжа делалась по мотивам какого-то эмуля-плеера или чисто по докам?
Эмуляция сабжа делалась по мотивам какого-то эмуля-плеера или чисто по докам?
Чисто на слух :) у меня он вроде как идеальный :v2_walkm:
Генератор шума сделан так
http://www.avray.ru/wp-content/uploads/2016/07/noise-gen.png
нулевой бит так же идет в шум
PS: если вопрос более глобальный, про эмулятор в целом, то да, за основу был взят тот что изначально был в этой теме, затем была изучена куча мануалов и исходников, различные недокументированные вещи, и, через 3 года вы имеете то что имеете :)
UPD: оказалось это не совсем корректно, по последним данным нужно двигать значение генератора на 1 бит вправо, затем, если вытолкнутый бит равен единице, то сигнал шума становится равен единице (иначе нулю) а значение генератора ксорится с 0x14000
Алгоритм шума (как в оригинальном чипе) в версии 24.2
57992
PS: если вопрос более глобальный, про эмулятор в целом, то да, за основу был взят тот что изначально был в этой теме, затем была изучена куча мануалов и исходников, различные недокументированные вещи, и, через 3 года вы имеете то что имеете
А что имеем? Где-то можно гглянуть вавки с канальным сопоставлением реала и эмулятора?
Вообще такое дело лего проверяется следующим образом. В одно ухо выводим реал, во второе эмулятор, любое расхождение в частоте или громкости будет заметно.
Хорошо, постараюсь завтра сделать, запишу YM2149 на эве и то же самое на кворуме с эмулятором, потом наложу на 2 дорожки в MP3. Утомительно конечно это будет, но для чистоты эксперимента придется :)
Хорошо, постараюсь завтра сделать, запишу YM2149 на эве и то же самое на кворуме с эмулятором, потом наложу на 2 дорожки в MP3.
Лучше все записать на эве, по очереди. Частота кадров то разная. Частота AY возможно тоже.
Вот, дошли руки музыка из дизи 6
1: левый канал на ЭВЕ - YM2149F
2: правый канал эмулятор на кворуме, немного замедлен питчем примерно на 1% из-за разницы частот процессоров, чтобы совпадала скорость.
Короче, там где слышно треск спикера это канал с эмулятором.
http://www.avray.ru/Lym_Remu.mp3
PS: оба на эве делать не стал, т.к. нет большого желания делать макаронного монстра... лето... лень одолевает...
Не удается получить доступ к сайту
Превышено время ожидания ответа от сайта www.avray.ru.
Попробуйте сделать следующее:
Проверьте подключение к Интернету.
Проверьте настройки прокси-сервера и брандмауэра.
Были небольшие технические проблемы.
Кстати, еще один момент, по самому сигналу. Если сравнивать форму сигнала в редакторе, то в эмуляторе сигнал получается инвертированным, но форма похожа на оригинал.
UPD: в 24 версии обнаружилось несколько недочетов, в 24.1 будет исправлен генератор шума, микширование канала B и таблица громкости огибающей. В генераторе шума счетчик будет считаться в сторону увеличения, так что со всеми исправлениями шум будет звучать идентично оригинальному чипу.
Версия 24.1
Отличия:
1. Исправлена таблица громкости
2. Улучшено микширование каналов
3. Улучшен генератор шума
Теперь все версии 2-х канальная и 3-х канальная в одном архиве.
Так же добавлена версия с поддержкой порта спикера на PD1 чтобы он звучал прямо из эмулятора
Напоминаю, что с 22 версии эмулятор работает в режиме HI-Z, т.е. высокий уровень сигнала это не единица, а высокоимпендансное состояние (это относится к параллельному соединению, в последовательном режиме всё как обычно)
PS: на всякий случай напомню, что мой вариант эмулятора работает на частоте 250кГц (125кГц, если говорить про звук) для версии 2МГц, и 218.75кГц(109.375кГц) для версии 1.75МГц, так что скорость работы генераторов идентична оригинальному чипу.
UPD: в связи с тем, что обнаружился оригинальный алгоритм заложенный в чипе, генератор шума будет поправлен в версии 24.2, в 24.1 еще была допущена ошибка в микшировании канала B в двухканальной версии
Для тех кто еще сомневается в качестве звучания эмулятора
Супер микс, сделан на моем Кворум БК-04 (1024кб) с установленным эмулятором версии 24.2, кварц 28.332МГц
http://www.avray.ru/AYEmulDemoMusic.mp3 (12Мб)
Profesor_lampochkin
08.09.2016, 19:46
EvgenRU, супер проект !!!
Можно Вас попросить пояснить подключение данного эмулятора AY к ZX ?
Было бы неплохо разместить эту информацию на сайте, + печатная плата.
Хорошо бы, также, выложить описание использования реального AY с ZX с описанием количества каналов, частоты.
Есть ZX Ленинград-1 и давняя мечта поцепить на него AY, но мне не совсем понятно, какую частоту и колличество каналов использовать...
Спасибо.
Каналов 3 у AY, а частота на ZX - 1.75 МГц, насчет подключения смотрите pinmap2(3)ch.png и outputcircuit2ch.png
Если вы его хотите подключить к ZX а не просто вставить в уже разведенную плату, то проще поставить двухканальную версию с фильтром и сразу можете снимать звук с него. Если же цель сделать именно заменитель AY, тогда нужно брать трехканальную версию, ставить фильтры на каждый канал и тогда уже выводить выводы на место микросхемы AY
PS: даташит на AY можете посмотреть здесь http://www.colecovision.dk/PDF/ay-3-8910.pdf
PS2: по поводу того куда подключать BC1/BDIR D0-D7 эмулятора смотрите соответствующие темы по подключению AY к ZX
USERHOME
09.09.2016, 18:32
...
Было бы неплохо разместить эту информацию на сайте, + печатная плата.
Хорошо бы, также, выложить описание использования реального AY с ZX с описанием количества каналов, частоты.
Спасибо.
Поддержу. Тоже хочется видеть всю нужную информацию "для тех кто не в теме" в шапке/в одном посте.
Вот это я неожиданно так оптимизировал генератор огибающей и шума... :v2_confu:
HardWareMan
12.09.2016, 11:38
Вот только на картинке ничего не разобрать...
Ну, тут вверху генератор огибающей, внизу генератор шума. Смысл в том, что код уменьшился, хотя, до этого казалось, что уменьшить его уже нереально :)
UPD: последние достижения, количество циклов МК в цикле генерации звука
Версия 24.2 MIN - 72, MAX - 132
Версия 24.3 MIN - 75, MAX - 115
Выигрыш на макс нагрузке - 17 циклов, это существенно, особенно для кварца в 20МГц, где на один цикл генерации звука отводится 90 циклов МК, меньше шансов пропуска прерываний, более качественный звук.
Конечно максимальная нагрузка это очень редкий случай, но он приводит к пропуску прерываний таймера и некачественной генерации.
Для 115 циклов, чтобы всё успевало отрабатывать (имеется в виду прерывания по приходу регистров) рекомендуется использовать для конфига 1.75МГц кварц от 27МГц (122 цикла), для 2МГц конфига от 30МГц (119 циклов). Но, практика показывает, что даже для версии 24.2 (132 цикла) вполне приемлемое звучание дает кварц 24МГц.
Предыдущие версии имеют еще большее количество циклов на максимуме.
Мне еще удалось сделать версию со всеми счетчиками считающими в сторону увеличения с макс 128 циклов, но по звучанию она мало чем отличается от считающей в сторону уменьшения (за исключением генератора шума), так что я решил её не выкладывать, следующая будет версия 24.3, возможно удастся еще немного уменьшить количество циклов на максимуме.
Выкладываю версию 24.3
Улучешния - оптимизация описанная в предыдущем сообщении + небольшая оптимизация режима записи параллельного режима
Проверил на реале, определяется в тесте 4.30 как YM2149F :) работает отлично
ДОП ИНФО:
режим чтения - 15 + 3*X циклов - X это количество циклов ожидания режима неактивности (Inactive Mode) после режима чтения.
режим записи - 33 цикла
режим адреса - 17 циклов
Новая 24.4 версия
Что-нового:
1. Количество циклов МК в коде генерации звука MIN - 69, MAX - 110 (если со спикером, то еще + 4 цикла, если трехканальная, то -5 циклов)
1.1 оптимизированы генераторы тона на 1-2 цикла каждый
1.2 снова вернул для шума понижающий отсчет
2. Режим чтения уменьшился на 1 цикл, теперь для кварцев от 24МГц всё четко укладывается в минимальные 350нс (как указано в даташите) для установки шины данных и 400нс для её освобождения.
PS: наверное это уже будет последняя версия, т.к. оптимизировать с виду уже нечего...
PS2: для тех, кто до сих пор не понимает как подключить это дело к ZX выкладываю картинку
58338
Изображение полностью (http://avray.ru/Emul_2_ZX.png)
oracleua
11.12.2016, 00:58
24.4 версия почему то плохо работает (искаженный звук) кварц 27
а 24.2 нормально работает..
Вот, дошли руки музыка из дизи 6
1: левый канал на ЭВЕ - YM2149F... Я что-то не догоняю, какой чип здесь эмулируется YM2149F или AY-8910? У них звук разный...
24.4 работает отлично, уже проверено много раз мной и другими, это самая лучшая версия звучащая наиболее близко к оригиналу, если даже не лучше :) Насчет 27, может не тянет атмега, попробуйте 25 и 24МГц или резистор в 1-5МОм на ноги кварца попробуйте напаять.
Фактически эмулируется YM2149F, но отличие только в генераторе огибающей, в цикле в 2 раза больше ступенек у YM (т.е. огибающая более плавная), чем в AY-8910, разница в звучании конечно заметна слегка, но только на огибающих, в остальном чипы ничем не отличаются. Уровни тона в эмуляторе больше соответствуют AY, поэтому, это, скажем так, улучшенная версия обоих чипов :))))
PS: на всякий случай продублирую ссылку на версию 24.4, чтобы долго не искали.
PS2: добавил экспериментальную 2 канальную версию со спикером и без спикера для Atmega48
Фактически эмулируется YM2149F, но отличие только в генераторе огибающей, в цикле в 2 раза больше ступенек у YM (т.е. огибающая более плавная), чем в AY-8910, разница в звучании конечно заметна слегка, но только на огибающих, в остальном чипы ничем не отличаются. Ну, это теоретичеки, а на самом деле они ощутимо по-разному звучат - послушайте и сравните. Причём, AY звучит чётко и звонко, а у YM какой-то мягкий приглаженный звук. Большинству демомейкеров и музыкантов нравится звук AY, хоть там и меньше градация огибающих... Предполагаю, причина отличий в аналоговой части чипов, а не в цифровой...
Собираю автономный AY-плеер типа айпода с сенсорным экраном (HMI экранчик от Nextion). В качестве основного контроллера взял ESP8266-ESP01.
Собрал на макетке эмулятор на ATMega48 (только он запустился на 25 мгц, имеющиеся меги 8 оказались нестабильные уже на 24). Файлы читаю с MicroSD карты.
Т.к. у ESP очень ограничено количество GPIO-портов, то эмулятор пришлось подключать через последовательный интерфейс.
Внимание вопрос: насколько критичным будет добавить поддержку режима чтения в последовательный режим (поковырял исходники, ничего не нашел), т.к. очень хочется реализовать индикаторы уровня?
http://leproimg.com/2556317
http://leproimg.com/2556320
Т.к. у ESP очень ограничено количество GPIO-портов, то эмулятор пришлось подключать через последовательный интерфейс.
Внимание вопрос: насколько критичным будет добавить поддержку режима чтения в последовательный режим (поковырял исходники, ничего не нашел), т.к. очень хочется реализовать индикаторы уровня?
Могу предложить вариант эмулятора с 4 битной шиной, т.е. байт шлется в параллельном режиме, но за 2 раза по 4 бит, типа как в 1602 дисплее, я такой фигней заморочился когда делал автономный проигрыватель на 2х атмега8 :)
UPD: посмотрел описание, там всего 3 GPIO, так что этот вариант отпадает :)
PS: еще вопрос, зачем для проигрывателя режим чтения? у вас же все регистры есть в памяти контроллера, это в ZX он был нужен для организации резидентного проигрывателя работающего по прерываниям, а считывание регистров которые играют производилось уже отдельным интерфейсом.
На самом деле там GPIO портов несколько больше, просто не все выведены на разъём с чипа. Я расширил их до 8 штук + 2 UART вот таким колхозным способом:
http://leproimg.com/2556372
4 порта идут на подключение SD-карты, 2 на подключение экрана (софтовый сериал), 1 TX аппаратного UART идёт к эмулятору
Итого у меня есть ещё 2 свободных порта общего назначения + 1 RX от UART.
Короче не густо.
Изначально я пробовал делать на меге328 управляющий контроллер, но мне тупо не хватило оперативки под всё (но в тот момент у меня был подключен OLED экранчик, который требовал наличие знакогенератора и экранного буфера), но с переходом на Nextion потребность в оперативке снизилась, поэтому можно вернуться обратно к avr-варианту )
А по поводу режима чтения, хм. т.е. предлагается анализировать отправляемые значения регистров и высчитывать уровень трёх каналов?
Изначально я пробовал делать на меге328 управляющий контроллер, но мне тупо не хватило оперативки под всё (но в тот момент у меня был подключен OLED экранчик, который требовал наличие знакогенератора и экранного буфера), но с переходом на Nextion потребность в оперативке снизилась, поэтому можно вернуться обратно к avr-варианту )
А по поводу режима чтения, хм. т.е. предлагается анализировать отправляемые значения регистров и высчитывать уровень трёх каналов?
Смысла переходить на мегу особо нет, параллельный режим в основном нужен, чтобы гонять оцифровки, а для этого нужно много памяти или специальный формат на SD, да и нет уверенности, что потянет. Если 50Гц, то последовательный режим самое то, я проверял, тянет аж до 2 килогерц в последовательном режиме, но нужно поднимать скорость TTL (текущая 57600).
Насчет режима чтения, да, если у вас регистры в памяти, то просто берете их из памяти, а не из AY, ибо там они точно такие же, подозреваю, что в ZX режим чтения использовался потому, что проигрыватель писался одними товарищами, а использовался в программах других товарищей, которые не знали где в памяти располагаются данные регистров + во время прерывания значения в памяти могли изменяться.
UPD: обновил архив с версией для Atmega48, добавил туда версию без спикера, т.к. в вашем случае он может издавать посторонние звуки из-за не подключенного порта спикера.
Спасибо за совет, всё получилось. Выхватываю состояние регистров R8, R9 и R10 прямо перед отправкой в UART и с частотой 10 раз в секунду обновляю состояние индикаторов на экранчике. Если сделать чаще, то почему-то падает отзывчивость экрана на нажатия.
Вышло как-то так:
https://www.youtube.com/watch?v=VW-dP6kd4n0
NEO SPECTRUMAN
14.02.2017, 18:36
а на самом деле они ощутимо по-разному звучат - послушайте и сравните. Причём, AY звучит чётко и звонко, а у YM какой-то мягкий приглаженный звук.
в остальном чипы ничем не отличаются
запилите 2 разных версии Ау и ум
с разными огибающими
и разными таблицами громкости
и будет усем счастие
труЪ таблицы громкости можно взять сдеся
http://forum.tslabs.info/viewtopic.php?f=6&t=539
так же от туда можно наклацать и таблицы громкостей от всяких WF19054
Ок, сделал новую версию. Взял таблицы оттуда, подогнал под 8 битные значения в пределах диапазона ШИМ.
В данной версии включены прошивки под Atmega8/48/88/168/328 и по 4 версии для каждой 2 таблицы громкости и версия со спикером для прямого подключения к порту спикера, при этом спикер подмешивается к звучанию эмулятора программно!
PS: для AY я все-таки сделал 32 уровня для огибающих (промежуточные подогнал), а то 16 уровней звучит не очень на слух.
UPD: Поставл сейчас 48 атмегу проверить, гудит и не играет :) значит накосячил где-то, буду исправлять, на 8 атмеге всё ок.
UPD2: оказалось не учел, что в 48/88/168/328 больше прерываний и прерывание USART на 7 прерываний дальше расположено, передвинул и всё норм стало. В параллельном режиме должно работать нормально. Кстати, на Atmega48 у меня отлично запустилось на 28МГц, никаких проблем ) Еще проблема с 3 канальной версией у всех кроме Atmega8, некорректно инициализировал второй таймер :)
UPD3: ОБНОВИЛ архив с эмулятором, все косяки исправлены, можно пользоваться! :)
UPD4: проверил еще на Atmega328p заработало отлично с кварцем на 32МГц
UPD5: попробовал в очередной раз сделать TS на одной атмеге... опять фэйл, видимо это нереально :)
UPD6: блин, как же мне нравится как звучит новая версия на 48 и 328 атмегах с 28МГц кристаллом...
UPD7: 48 атмега запустилась аж на 40МГц у меня :) ATMEGA48PA-PU
Протестировал новую версию на Atmega48 (25Мгц) - особой разницы не заметил, разве что звук стал немного другим. А вот на Atmega168, которая завелась на 27 Мгц (был кварц на 32, но с ним не запустилась), звук вообще отличный.
Спасибо!
UPD7: 48 атмега запустилась аж на 40МГц у меня :) ATMEGA48PA-PU
Кварц без кондёров? Использовал ли шунтирование резистором? Если да, то какое сопротивление? У меня сейчас шунт на 5.6 МОм стоит, без него срывается.
Кварц без кондёров? Использовал ли шунтирование резистором? Если да, то какое сопротивление? У меня сейчас шунт на 5.6 МОм стоит, без него срывается.
Без кондеров и резисторов, видимо хороший образец попался :)
PS: на всякий случай добавлю еще раз ссылку на последнюю версию для Atmega8/48/88/168/328
brian4ever
27.04.2017, 19:33
Безуспешно пытался запустить эмулятор, пробовал несколько версий. Точно могу сказать, AY_Emul_245_2ch_m8_ay_speaker.hex с конфигом Conf_parallel_24MHz_1_75Mhz.hex у меня на Ленинграде не взлетела.
AY_Emul_245_2ch_m8_ay.hex без спикера тоже пробовал, не заработала.
Стал перебирать версии. Самая старшая, которая заработала 24.2 под Atmega8 файл AY_Emul_242_2ch_speaker.hex и конфиг Conf_parallel_24MHz_1_75Mhz.hex
Хм... весьма странно...
но там в этих версиях отличия небольшие, хотя звучание у 24.5 лучше.
у меня 24.5 работает без проблем как и 24.2, я все версии проверяю на железе, прежде чем выложить :)
UPD:
проверил на своей разработке, 24.5 глючит безбожно на Atmega48 в параллельном режиме, если вставить код обработки прерываний из 24.2, то всё работает более-менее хорошо.
Видимо здесь еще от генерации BC1/BDIR зависит, у меня на тестовом ZX было на ИД7, всё норм работало, а тут на логике и глючит, так что скорее всего переделывать буду под вариант из 24.2
Выкладываю новую версию с исправлениями в параллельном режиме, полностью проверенный и рабочий вариант!
Вот, прогнал тестом на всякий случай
http://savepic.ru/13867842.jpg
прошил последнюю версию на 27мГц в Atmega8a-AU TQFP-32 , подключаю к PLM-X комп постоянно ресетится может как-то не так прошил?
загрузил в понипрог прогу и епром, сохранил все одним куском и прошил вилемом, фьюзы L-CE H-CF
- - - Добавлено - - -
прошил последнюю без спикера, тест 4.30 не видит AY, через 5-7 мин. начинаются глюки компа, без эмуля работает нормально
- - - Добавлено - - -
может кто выложит полные рабочие прошивки на 16, 20, 25, 27 мГц 1.75 , чтоб не заморачиваться с конфигами
и насколько понимаю Клок генерится внутри Меги и дополнительный генератор не нужен
заработало, мега сильно фонила на плм-ку, навесил кондеров и все ОК
А никто не подскажет, на какой композиции там проверяют звучание?
http://fotogalleria.info/pub/ZXSpeccy/AYEmul/Audio/
А то хочу подправить шум, хотелось бы выбрать такую же композицию для тестов
PS: там еще и такая картинка есть :)
http://fotogalleria.info/pub/ZXSpeccy/AYEmul/AY-ATmega8_smd.png
UPD: скоро будет новая версия эмулятора, будет переделан микшер на исходный вариант, т.к. мой слух говорит мне, что такой вариант более приближен к звучанию оригинала.
Пример звучания можно оценить по данной ссылке
http://avray.ru/files/broken_j.mp3
http://avray.ru/files/Optron40.mp3
http://avray.ru/files/BigThings.mp3 (player v13.0)
http://avray.ru/files/BigThings2.mp3 (player v13.1) !!! true noise!!!
NEW VERSION: Новая версия эмулятора, исправлен генератор шума, выходит он всё-таки работает по XOR, попутно небольшой фикс в генераторах тона.
Теперь на слух не отличить от оригинала :) но время как всегда покажет
UPD: наверное возникают вопросы по поводу конфига, опишу его формат
Конфиг состоит из 4 байт
1) USART_ENABLE: 0 - отключено, 1-включено (если включено, последовательный режим активен)
2) INT_ENABLE: 0 - отключено, 1-включено (если включено, параллельный режим активен)
3) ICR_VAL: значение ICR
4) UBRRL_VAL: значение скорости USART можно вычислить в калькуляторе, коих полно в интернете, только учитывайте, что USART работает в режиме с удвоенной скоростью, например здесь (смотрите там где U2Xn = 1)
http://wormfood.net/avrbaudcalc.php?bitrate=57.6k&clock=14.7456%2C16%2C20%2C24%2C25%2C27%2C28%2C30%2 C32&databits=8
ICR вычисляется по формуле:
AVR_crystal_value/PSG_generator_freq/2-1
где
AVR_crystal_value - частота кварца атмеги
PSG_generator_freq - частота генератора AY, например, для 1.75МГц будет 1750000/16=109375, т.е. частота AY/16
пример:
AVR работает с кристаллом 27МГц, нужно получить звук похожий на AY с кварцем 1.75МГц
27000000 / (1750000 / 16) / 2 - 1 = 27000000 / 109375 / 2 - 1 = 122.43 = ~ 122 т.е. значение ICR будет 122 или 123 на ваш вкус.
Если немного упростить формулу, то получим 27000000 * 8 / 1750000 - 1, т.е.
(AVR_crystal_value * 8 / AY_crystal_value - 1)
Соответственно можно рассчитать это значение для любой частоты генератора AY
Далее, сделав такой бинарный файл из 4 байт прогоняем его утилитой bin2hex, результат и будет конфигом прошиваемым в EEPROM
marinovsoft
09.07.2017, 18:10
Что-то в версии 13.0 с загрузкой проца не то. Скачет от нескольких процентов до полной загрузки одного ядра.
http://rgho.st/6SRWrvWKW/image.png (http://rgho.st/6SRWrvWKW.view)
- - - Добавлено - - -
Если окно свернуто - то загрузка несколько процентов. Разоврачиваем - сразу возрастает.
Странно, в Win 10 таких проблем нет, я так понимаю там XP?
В 13.0 была удвоена дискретизация звука, т.е. он теперь имеет такую же частоту генерации (125кГц для 2МГц кристалла, 109кГц для 1.75) как реальный AY/YM, но такая частота поддерживается только начиная с Vista, далее она ресемплится ОС в 44100 или что-то еще более стандартное,
в XP судя по всему частота более 60кГц не поддерживается, поэтому при определении XP частота уменьшается вдвое.
Так что, на XP звук будет хуже, чем на Vista и выше.
А вот почему загрузка процессора большая в XP это надо проверить.... сейчас запущу виртуалку и посмотрю.
UPD: проверил, тоже нет таких проблем, прыгает немного при запуске новой мелодии до 8-11% потом становится меньше 2-3%, так что скорее всего проблема не в проигрывателе
marinovsoft
10.07.2017, 02:36
Это не XP, это Win 7 x86. Еще заметил, что загрузка процессора как-то коррелирует с использованием каналов. Если один из каналов "молчит", то загрузка падает.
Такой вопрос, а для Atmega162 можно, в принципе, адаптировать прошивку? Я в AVRStudio 4 компильнул конечно, кое-как. Но поскольку с AVR не знаком совсем, есть сомнения насчет инициализации того-же UART (в 162 их 2 шт). Я хочу просто через AVR-Player попробовать поиграть на него музыку.... И да, 162 по даташиту 16 МГц максимум. Такого кварца нет, зато есть на 12MHz. Чем чревато уменьшение частоты с минимальных 20МГц в сторону 12МГц?
Так, сначала впилил кварц на 32Мгц, вместо 16 по даташиту. Камень завелся. Заинитил уарт на 57.6, слал в цикле букву "A" - шлет. Но pwm как то странно себя ведет, судя по осцилу. Впаял кварц на 16, pwm попер вроде всегда и с первого раза. Но чегото ощущение, что не обрабатывает прерывание от уарт. Мож не разрешил их в регистре, завтра гляну, код на работе остался
Чисто технически никаких проблем нет, кварц 12 лучше не стоит ставить, 16 тоже не вариант, 20 минимум для последовательного режима, 24 для параллельного, т.к. у этого контроллера есть полноценные порты, то параллельный режим на нем, если переделать, будет работать гораздо быстрее, чем на 8/48/88/168/328. Еще возможно какие-то порты инициализировать придется через инструкции STS, LDS т.к. они там имеют значение больше чем 0x3F, хотя, вроде примерно такие же как у 88/168/328, так что можно смело MCU_TYPE ставить равным 2 и компилить, главное камень правильный выбрать в конфиге.
Насчет потолка в 16МГц - это всё фигня, можно ставить и больше, у меня Atmega8-16PU один завелся на 40МГц, правда такой только 1 был из 40 штук :) атмега48 без проблем работала с 32МГц, так что тут больше от конкретного экземпляра зависит. Рекомендую попробовать 24-32МГц.
Я наоборот, ставлю mcu_type 0. Хотя в части инициализации pwm, скопипастил с mcu 2, только заменил на out. Мне кажется эта хрень ближе к мега8 все-же. Завтра еще поковыряю. Кстати, я конфиг вынес прямо в прошу, .eseg и дальше Config: .db 1, 0, etc. Авр студиа генерит после этого hex сама. Вроде расширение .eep имеет.
UPD: А, ну точно, забыл прерывания по приему байта разрешить в UCSR0B. Поперло судя по осцилу. Спасибо.
UPD2: Работает, но тормозит. Хотя PWMит на ~219Khz. Наверно не успевает на 16Мгц. Будем искать кварц на 24Мгц....
UPD3: Угу, впаял кварц на 25Мгц - поперло нормально.
UPD4: Или не нормально? Файлы из папки примеров DigitalAY, например AYMD38.ay, играются ооочень странно, по сравнению с проигрыванием на звуковой карте компа. Это я скорости не набрал нужной?
UPD3: Угу, впаял кварц на 25Мгц - поперло нормально.
UPD4: Или не нормально? Файлы из папки примеров DigitalAY, например AYMD38.ay, играются ооочень странно, по сравнению с проигрыванием на звуковой карте компа. Это я скорости не набрал нужной?
По последовательному цифровой звук не будет работать, я даже пробовал максимальную скорость на USART развивать, максимум тянет 2кГц цифровой звук на скорости 1 мегабит. Так что, цифровой звук только в параллельном режиме.
Понял, спасибо. Ну ваще, нормально играет . Не смотря на 8 бит таймер. Может на стм32 портпнуть попробовать? Там 16 бит будет.
Может на стм32 портнуть попробовать? Там 16 бит будет.
Это как хотите, тема то не моя, я просто её развил дальше :) я ради эмулятора STM изучать пока что не хочу, изучу как будет острая нужда.
А так конечно, и таблицу громкости можно будет подобрать получше, если конечно 16 бит будет укладываться в нужное время,
в авр ШИМ 16 бит тоже есть, но чтобы оно успело, надо кварц мегагерц на 200 )))))
Есть еще вариант, на авр генерировать 4 битные значение и дальше на DAC передавать в параллельном режиме.
EvgenRU, а трех-канальной версии больше нет ????
Как нету, всё там есть в архиве
PS: продублирую файл с последней прошивкой на всякий
EvgenRU, прошу прощения, какой то из предидущих архивов брал и там были только 2сн. СПС
marinovsoft
16.07.2017, 19:21
Сделал версию для 8515 (только для режима serial)
marinovsoft, а как подключать ? AT90S8515 прокатит ?
marinovsoft
19.07.2017, 07:59
Подойдет ли AT90S8515 - не знаю.
Схема и печатка моего варианта здесь.
http://zx-pk.ru/threads/21867-podklyuchenie-emulyatora-ay-avr-k-vektoru.html?p=628949&viewfull=1#post628949
marinovsoft
19.07.2017, 17:44
EvgenRU, еще файлы с расширением AY как-то странно играют в версии 13.0 AVR-AY Player при использовании звуковой карты.
у меня на 20мГц на реале странно играет мега8, призвук металический в одном канале и вроде как не хватает голосов, шил и 24.5 и 24.6 и 24.7 (1.75) двух канальный еще ничего, а на трех канальной мрак какой-то, может конечно с мегами проблема (брал на али в TQFP32), но в контроллерах клав работают
На реале лучше минимум 24МГц ставить
PS: неожиданно получил подарок от Клауда
http://savepic.net/9603915.jpg
marinovsoft
26.07.2017, 16:04
В AVR-AY Player 13.1 при использовании звуковой карты файлы с расширением AY стали играть нормально, но не все. Пример Dobranocki.ay.
PS: неожиданно получил подарок от Клауда
http://savepic.ru/15024181.jpg
Well, well, well it arrived safely :)
marinovsoft
15.08.2017, 17:31
AVR-AY Player 13.1, запущенный на Win 8.1 x64 не работает в режиме звуковой карты. Ошибка выдается при попытке воспроизведения, при этом в список звуковых карт заполняется нормально.
http://f22.ifotki_.info/org/7160ee0e6004962f8584ee8300fc69686dab02285467425.pn g (http://i-fotki.info/)
Ну он как бы намекает, что надо откатиться до сесмерки либо уже апгрейднуться нормально на десятку.
marinovsoft
17.08.2017, 17:42
Попробовал на w2k16 через RDP - играет, но с каким-то треском.
Ну, видать не все винды тянут 120кГц звук, надо что-то придумывать... может галку сделать, типа режим совместимости? Или может попробовать другой фреймворк? Сейчас 3.5 используется.
The prototype of the AY replacement in SMD works fine and I've tested it up to 30MHz :) Great work Evgeniy.
The photo the AY Emulator in the real hardware below
http://fotogalleria.info/pub/ZXSpeccy/AYEmul/AY-ATmega8_smd_prot_01.jpg
The photo the AY Emulator in the real hardware below
So, looked wery well. Many thanks to Evgeniy for him AY-emulator.
juka1868
04.02.2018, 19:08
Сегодня протестировал плату купленную у Павла Рябцова, которую мне собрали и прошили на заказ. Тестировал на Кае и Скорпионе при помощи переходника от MV1971. Оба компьютера при этом не стартовали. Проблема была в сигнале BC2 который и на переходнике и на плате эмулятора был заведен на +5В. При том, что в Скорпионе на BC2 заведен А13, а в Кае *M1/ :v2_dizzy_facepalm:
К счастью оба компа при стресс-тесте не пострадали и после перерезанной дороги на переходнике и откушенной ноги на плате эмулятора все заработало. :)
polikarpov76
04.02.2018, 22:45
Аналогичная беда. Комп не стартует. Побоялся спалить и забросил эту адскую машинку подальше. Спасибо, теперь попробую!
- - - Добавлено - - -
juka1868, а какую ногу надо откусить в эмуляторе и какую дорожку перерезали в переходнике?
Вроде по схеме 19 нога идет как раз на +5V:
http://storage9.static.itmages.ru/i/18/0204/s_1517778121_9796557_ea6b5cd7b4.jpg (http://storage9.static.itmages.ru/i/18/0204/h_1517778121_9796557_ea6b5cd7b4.jpg)
А на переходнике еще и A8 на 17 ноге идет на +5V. Это вроде нормально.
http://cats-chess.narod.ru/BOARD_SALE/PCB_sale/AY_adapter.jpg
В Кае256 1.1 и 1.4 по схеме там +5V должно быть. На 25 и 28 ноге панельки DIP40. А вот в Скорпионе там действительно сидит A13.
Я втыкал эмулятор Павла через панельку в Эву, комп не включается. В Эве по схеме там +5V. Скорее всего что-то еще не так.
juka1868
05.02.2018, 11:01
В Кае256 1.1 и 1.4 по схеме там +5V должно быть. На 25 и 28 ноге панельки DIP40.
Возможно, но у меня Кай1024 с памятью на Simm30 и там действительно M1/ :)
Резать нужно дорожку ведущую +5В к 19 ноге 8912 на переходнике и откусить 19 ногу на штырях платки эмулятора.
Вообще не понятно зачем было дублировать часть принципиальной схемы компьютера на переходнике, и тем более на эмуляторе???
Кто нибудь собрал эмулятор AAY-3-8912 на платах от Павла? https://img-fotki.yandex.ru/get/893904/28122058.8/0_1a02db_a44aabaa_orig.jpg
Как и куда подключается программатор ISP?
И скольки пиновый ISP нужен? Почему на плате 8 пиновый разъём?
SoftLight
11.02.2018, 17:34
Кто нибудь собрал эмулятор AAY-3-8912 на платах от Павла? https://img-fotki.yandex.ru/get/893904/28122058.8/0_1a02db_a44aabaa_orig.jpg
Как и куда подключается программатор ISP?
И скольки пиновый ISP нужен? Почему на плате 8 пиновый разъём?
Я то сначала думал там разводка под AVRAsp. Ну и при прошивке чип не определялся. Тогда я взялся по дорожкам рассматривать в лупу. Получилось вот это:
http://storage2.static.itmages.ru/i/17/1223/h_1514044152_8542279_6538c41673.jpg
Прошивал по инструкции с сайта EvgenRU командой
avrdude -p m8 -c USBasp -U flash:w:AY_Emul_247_2ch_m8_ay.hex -U eeprom:w:Conf_parallel_27MHz_1_75Mhz.hex -U lfuse:w:0xCE:m -U hfuse:w:0xCF:m
MISO, MOSI, SCK брал с этого разъема. GND, VCC, RST с соотв. ног эмулятора.
Я пару раз спрашивал Павла про схему, он ответил, что брал схему (https://img-fotki.yandex.ru/get/876523/28122058.9/0_1a4045_cdb9d494_orig) Евгения и по всем вопросам лучше к нему.
А воозможно ли добавить свитчик/джампер(ы) для переключения режимов звучания 8910/8912/YM для эстетов? (Надеюсь, я не изобретаю велосипед, не внимательно читал тему).
В принципе не проблема, но переключение будет только при сбросе, если очень такое нужно (хотя вряд ли много кому это надо), то могу сделать, как будет время.
у меня на 20мГц на реале странно играет мега8, призвук металический в одном канале и вроде как не хватает голосов, шил и 24.5 и 24.6 и 24.7 (1.75) двух канальный еще ничего, а на трех канальной мрак какой-то, может конечно с мегами проблема (брал на али в TQFP32), но в контроллерах клав работают
Аналогично. Собрал две платки с 25 Мгц с АТМЕГА8 и с 27 Мгц с АТМЕГА48. 3х канальную прошивку можно сразу выкидывать.
Хрипит, на Лире на второй демонстрашке проигрывается не вся музыка.
Двухканальная прошивка получше, но всё равно звучание очень далеко от оригинала.
EXOLON глючит на обеих прошивках ...
На Алиэкспрессе AY-8910 БУ стоят около доллара. Такая плата обходится в 3-4 раза дороже.
Автору конечно респект, но такую плату я бы ставил только в случае крайней необходимости ...
marinovsoft
13.02.2018, 10:35
Коллеги, успокойтесь, ваши атмеги просто не работают на повышенных нештатных частотах.
Если не работали, то не работали бы совсем. И две платы с разными контроллерами одинаково себя вести не могут. Дело в прошивке, что в 3х канальном режиме АТМЕГа просто не успевает обработать и проиграть все сэмплы, поэтому проигрывается не все и возникают хрипы. В 2 канальном режиме быстродействия уже хватает, но частотные характеристики звука всё равно не те ...
marinovsoft
13.02.2018, 10:55
Я не буду спорить, каждый в праве заблуждаться таким образом, каким хочет.
У меня работали даже самые ранние версии на 8 и 8А атмегах на 25 и 27 Мгц, работала оригинальная версия на 8515, потом я адаптировал прошивку от EvgenRU под 8515 (для последовательного режима) - тоже все ок.
На Дельте-С глючил режим чтения, но это проблема Дельты-С из-за некорректной дешифрации портов http://zx-pk.ru/threads/26193-podklyuchenie-ym2149f-k-delte-s-(52is).html?highlight=
На Векторе-06ц не заработала оригинальная версия, больше я не проверял http://zx-pk.ru/threads/21867-podklyuchenie-emulyatora-ay-avr-k-vektoru.html?highlight=
Я проверял на Speccy2007, возможно там к.н аппаратные проблемы, хотя реальный AY-8912 на нём работает и звучит превосходно ...
К тому же последние прошивки ПЛИС для Speccy2007 от EvgenRU у меня также не работают.
Попробую сегодня платку эмулятора на другом железе.
marinovsoft, попробуй запустить у себя демонстрашку LYRA по кнопке "2" с 3-х канальной прошивкой и послушай будет ли проигрываться вся музыка.
Желательно сравнивать со звучанием этой демонстрашки на реальном AY-8910 ...
marinovsoft
13.02.2018, 11:56
Нет возможности - все уже давно разобрано. Да и не имеет смысла - я уже все что нужно было проверить, проверил.
Скорпиона буду собирать - запишу.
Подтверждаю, что эмулятор работает отлично по звучанию почти не отличить от оригинального чипа, но могут быть атмеги не очень или дешифрация портов не очень.
У меня одна и та же атмега отлично работала в эмуляторе клавиатуры и отвратительно в эмуляторе, а другая наоборот, причем, обе, когда я на них подал частоту с внешнего генератора заработали отлично. А так, среди DIP версий атмеги8 очень мал процент тех которые могут на 27МГц работать, если вы слышите хрипы при включении ZX это верный признак того что атмега8 не тянет или вы поставили атмегу48/88/168/328 с кварцем без конденсаторов.
В принципе не проблема, но переключение будет только при сбросе, если очень такое нужно (хотя вряд ли много кому это надо), то могу сделать, как будет время.
Или даже не меняя железную часть, переключать OUTом прямо из васика в известный порт конфигурационным байтом (если такое возможно). Хотя по сути это действительно мало кому надо.
Я скачал сэмпл в начале темы, мне понравилось, очень качественное звучание, от AY не отличишь.
Если вам понравилось это, значит вы еще не слышали это
http://www.avray.ru/files/broken_j.mp3
http://www.avray.ru/files/Optron40.mp3
http://www.avray.ru/files/BigThings2.mp3
:-D
Это версия 24.7
Nice :) What was the AVR clock frequency for these samples?
Nice :) What was the AVR clock frequency for these samples?
27-32MHz
Вы тактируете AVR-ку частотой 32МГц ?? Сам пробовал гнать ATmega16 до 24МГц, всё прекрасно работало, но двукратное превышение номинальной частоты кажется сомнительным решением. Да, сэмплы послушал, звук хороший.
Вы тактируете AVR-ку частотой 32МГц ?? Сам пробовал гнать ATmega16 до 24МГц, всё прекрасно работало, но двукратное превышение номинальной частоты кажется сомнительным решением. Да, сэмплы послушал, звук хороший.
Ну, 32 это скорее экстрим, так то 24-27МГц, звук не сильно меняется с частотой, тут скорее важно, чтобы параллельный режим успевал с шиной работать.
К слову, на схеме вы указываете ёмкость проходных конденсаторов в миллифарадах, наверное, правильно было бы поставить микрофарады.
- - - Добавлено - - -
Я хочу сказать, что у вас на схеме указан номинал в 1mF, я так понимаю, правильно было бы указать 1uF.
Полностью с вами согласен, т.к. это часто вводит в заблуждения, особенно с индуктивностями...
С конденсаторами то проще, 1000мкФ это явно многовато :)
PS: да и на filter_new.png указано 10uF, можно догадаться, наверное...
SoftLight
10.04.2018, 01:39
Возвращаясь к платкам адаптера AY8912 от Павла (https://img-fotki.yandex.ru/get/478662/28122058.8/0_1a0166_a48cc6a7_orig). Все-таки, есть кто-нибудь, кто успешно ее запустил?
У меня ситуация следующая: с установленной платкой компьютер сбоит при старте, перезагружается, 128 меню сваливается в basic 48, либо комп просто не стартует. Опробовано на ZX Evo через адаптер AY8910/8912 - комп не стартует. На Harlequin Superfo 128 выпадает в basic48 при старте либо при старте квадратики. Опробовано с последней версией AY_Emul_247_2ch_m8_ay + Conf_parallel_27MHz_1_75Mhz и со старой AY_Emul_220_2ch + Conf_parallel_27MHz_1_75Mhz. Вот платка, схеме, вроде бы все соответствует:
https://s14.postimg.org/98xuofl1p/IMG_20180410_012024.jpg (https://postimg.org/image/98xuofl1p/) https://s14.postimg.org/hsh8m6te5/IMG_20180410_012108.jpg (https://postimg.org/image/hsh8m6te5/)
Тут вроде бы должна быть 3 канальная версия, а не двух.
Если не поможет - попробуйте кварц на 24-25 МГц поставить, ну и конфиг под него.
SoftLight
11.04.2018, 00:43
Менял кварц на 24 МГц, пробовал 3-х канальную прошивку - никаких результатов. Буду ждать, может кто-то все-таки запустит платку.
В AVR-AY Player 13.1 при использовании звуковой карты файлы с расширением AY стали играть нормально, но не все. Пример Dobranocki.ay.
Выложил версию 13.2, в ней как раз поправлена данная проблема, да и в целом AY файлы стали звучать еще лучше.
marinovsoft
08.06.2018, 04:43
Еще бы эту ошибку исправить.
http://jpegshare.net/thumbs/1b/7b/1b7bb973166880b2299d3883257d0828.jpg (http://jpegshare.net/1b/7b/1b7bb973166880b2299d3883257d0828.png.html)
marinovsoft
08.06.2018, 08:29
На другом ПК с другой звуковой картой, но с такой же ОС (Windows 8.1 x64) та же ошибка.
http://jpegshare.net/thumbs/0f/b7/0fb79304bec41874639ec19dcc854e7d.jpg (http://jpegshare.net/0f/b7/0fb79304bec41874639ec19dcc854e7d.png.html)
А можно тогда попросить проверить на других версиях Windows как оно работает?
А я тут тогда буду отмечать где идет, а где нет, потом поправлю список систем, которые поддерживают >200КГц дискретизацию звука
Поддерживают
Windows 10
Не поддерживают
Windows XP
Windows 8.1
UPD: хотя, наверное лучше сделаю автопереход c 218кГц на 109кГц, если выскакивает ошибка, это должно снять данную проблему, т.к. это может быть обусловлено не только ОС но и драйвером звуковой карты.
UPD2: залил новую версию 13.3, теперь проблем с проигрыванием через звуковую карту быть не должно, если 218кГц не поддерживается, то автоматически осуществляется переход на 109кГц. Частота показывается в заголовке окна.
marinovsoft
09.06.2018, 05:49
13.3 у меня заработала на обоих ПК на 109 кГц
marinovsoft
24.06.2018, 17:32
marinovsoft, попробуй запустить у себя демонстрашку LYRA по кнопке "2" с 3-х канальной прошивкой и послушай будет ли проигрываться вся музыка.
Желательно сравнивать со звучанием этой демонстрашки на реальном AY-8910 ...
Я собрал Скорпиона и подключил эмулятор на 23 двухканальной прошивке. МК atmega8. Позаписывал немного (65601)
Уточните, вы хотите проверить эту 65602 демку?
marinovsoft
25.06.2018, 18:28
Та же atmega8, двухканальная прошивка 24.7 (AY_Emul_247_2ch_m8_ay.hex) на 25 МГц. TheLyraII part 1-3
- - - Добавлено - - -
Попробовал atmega48p в той же плате - портит ШД, с н-ного раза компьютер стартует, даже получается что-то загрузить, играет несколько секунд - тональность сильно занижена, потом комп зависает или перезагружается. Нужно подбирать конденсаторы в обвязке кварца, сейчас у меня стоят 22 пф. Сейчас кондеров под рукой нет, есть смысл этим заниматься?
marinovsoft
25.06.2018, 20:48
Из-за замыкания в разъеме оба канала получились на записях одинаковыми, смикшированными в моно.
Да двухканальная прошивка работала, проблемы были с трёхканальной прошивкой ...
marinovsoft
26.06.2018, 13:56
Проблема не в прошивке.
Двухканальная прошивка получше, но всё равно звучание очень далеко от оригинала.
В 2 канальном режиме быстродействия уже хватает, но частотные характеристики звука всё равно не те ...
marinovsoft
26.06.2018, 18:15
Записал заново AY3demo https://yadi.sk/d/Yg2uNpUM3YS3vh
TheLyraII https://yadi.sk/d/rEkzMHBb3YS89s
Да нет там отличий от оригинала, полностью идентично AY генерация идет, за исключением огибающей, у неё 32 градации как у YM, для AY используется таблица громкости, которая ступеньки некоторые убирает.
Генерация звука идет на частоте 218кГц (для 1.75МГц) так же как и у AY.
PS: качество звука определяет уже фильтр, который стоит после ШИМ.
TheLyraII https://yadi.sk/d/rEkzMHBb3YS89s - похоже на двухканальную прошивку?
У меня приблизительно также звучало с двухканальной прошивкой.
С трёхканальной прошивкой у меня были совсем проблемы …
За неимением реального чипа потянет. Но как я уже не раз писал что звучание очень далеко от оригинала.
Слышна дискретизация и совсем слабые низы ...
Это как слушать музыку на HiFi технике и на дешёвом китайском плеере с рублёвыми наушниками ...
marinovsoft
28.06.2018, 16:33
А где спектрограммы соответствующих участков? Хотя тут будет влияние различия аналоговых частей.
"Слышна дискретизация" - что сие означает?
А где спектрограммы соответствующих участков?
"Слышна дискретизация" - что сие означает?
Это признак аудиофильства, ИМХО... Люди, которые слышат звук частотой до 40кГц и прочее...
Да поставьте оригинальный чип, возьмите хорошие наушники и внимательно прослушайте демонстрашки 2-4 из LyraII и сравните звучание со звучанием эмулятора … Не нужно быть аудифилом чтобы услышать различия ….
marinovsoft
28.06.2018, 16:47
Я вообще ожидал, что ответ будет вида: "на такой-то записи на таком-то отрезке времени слышно отличие в том-то том-то", а теперь я понимаю, что три вечера убил впустую.
Я так и не увидел ответа: твои выложенные wav - это двухканальная прошивка или трёхканальная?
Попробуй сделать и выложить тут файлы с трёхканальной прошивкой и кварцем 24 Мгц (с которым работаем практически каждая АТМЕЛ) для демонстрашки 2-4 из LyraII.
andykarpov
05.03.2019, 14:37
Встречайте платку Turbosound на основе проекта EvgenRu: https://github.com/andykarpov/turbosound28p
Проверял с karabas-128, работает :) Кварц на 24МГц. Глюков не замечено.
Использовалась прошивка Hi-Z без бипера версии 23.0.
http://i.piccy_.info/i9/0e840d48549ca4bfe1a98618cfa5f4db/1551785809/31374/1291044/turbosound28p_photo_back_500.jpg (http://piccy_.info/view3/13014927/dcc0a8b96688ac65df7dcd07aafcfea7/)http://i.piccy_.info/a3/2019-03-05-11-36/i9-13014927/354x472-r/i.gif (http://i.piccy_.info/a3c/2019-03-05-11-36/i9-13014927/354x472-r)
http://i.piccy_.info/i9/e8d4dde1ecff7507815f59259a9027ae/1551785993/38807/1291044/turbosound28p_photo_front_500.jpg (http://piccy_.info/view3/13014931/554afc556dbd20d93060e32af14fbe44/)http://i.piccy_.info/a3/2019-03-05-11-39/i9-13014931/354x472-r/i.gif (http://i.piccy_.info/a3c/2019-03-05-11-39/i9-13014931/354x472-r)
http://i.piccy_.info/i9/b8061bd69d65cbc7c8002d43c2eb9402/1551786018/42201/1291044/turbosound28p_photo_karabas_500.jpg (http://piccy_.info/view3/13014933/5c76b1ecb8b2d4fc66100e9caacf646a/)http://i.piccy_.info/a3/2019-03-05-11-40/i9-13014933/472x354-r/i.gif (http://i.piccy_.info/a3c/2019-03-05-11-40/i9-13014933/472x354-r)
Отличная идея! Еще бы сделать то же самое для микросхемы с 40 ножками.
А не Hi-Z прошивка не заработала?
Раз такое дело, могу на выходных переделать под TurboSound самую последнюю прошивку, если нужна именно Hi-Z - сообщите :)
andykarpov
11.03.2019, 20:50
Отличная идея! Еще бы сделать то же самое для микросхемы с 40 ножками.
Исходники Eagle открыты, кому интересно - можно сделать самостоятельно :)
Мне, правда, особо, 40-ножечную версию ставить некуда :)
Как идея - можно и 3ю атмегу на плату втулить, чтобы реализовать третий AY, как в ZX-Next.
А не Hi-Z прошивка не заработала?
Не пробовал, рекомендовали Hi-Z, с нее и начал.
Ближе к выходным смогу проверить не Hi-Z версию.
Раз такое дело, могу на выходных переделать под TurboSound самую последнюю прошивку, если нужна именно Hi-Z - сообщите :)
Конечно, давайте, очень жду! :) Затестим )))
Вот, на скорую руку сделал, проверяйте :)
PS: перезалил, для 0-го чипа со спикером не та прошивка была :)
EvgenRU, saa1099 не влезет туда еще
https://github.com/sorgelig/SAMCoupe_MIST/blob/master/saa1099.sv
или два ковокса хотя
саунд машин
zx_, не, то на ПЛИС сделано, а это микроконтроллер. Так то на ПЛИС можно и то и другое сделать, но там ЦАП будет нужен. Дорогое решение получится.
andykarpov
16.03.2019, 23:13
Вот, на скорую руку сделал, проверяйте :)
PS: перезалил, для 0-го чипа со спикером не та прошивка была :)
Залил новую версию, все отлично! Спасибо большое!
Как-то по сравнению с 23й повеселее играет, субъективное мнение :)
PS: однако нашлось несколько особенностей:
1) the lyra II в режиме одного AY с настоящим AY звучит кардинально иначе. такое впечатление, что turbosound'овский эмулятор половину звуков пропускает
2) то же самое в Kpacku Deluxe, например.
3) в некоторых демках громкость некоторых каналов как будто занижена или прыгает.
К сожалению, нет под рукой настоящего turbosound, чтобы сравнить звучание.
Залил новую версию, все отлично! Спасибо большое!
Как-то по сравнению с 23й повеселее играет, субъективное мнение :)
PS: однако нашлось несколько особенностей:
1) the lyra II в режиме одного AY с настоящим AY звучит кардинально иначе. такое впечатление, что turbosound'овский эмулятор половину звуков пропускает
2) то же самое в Kpacku Deluxe, например.
3) в некоторых демках громкость некоторых каналов как будто занижена или прыгает.
К сожалению, нет под рукой настоящего turbosound, чтобы сравнить звучание.
А если сравнить с 23 версией, то там так же? Просто я эту на скорую руку делал и кое что выкинул, может быть это из-за этого?
Так то на ПЛИС можно и то и другое сделать, но там ЦАП будет нужен. Дорогое решение получится.ЦАП (DAC) преспокойно на той же плис делается. Просмотрите проекты на U9, U10...
А не скажите от чего зависит частота применяемого кварца? Прошивок на различные кварцы несколько. Или просто зависит от наличия конкретного кварца у повторителя эмулятора?
А не скажите от чего зависит частота применяемого кварца? Прошивок на различные кварцы несколько. Или просто зависит от наличия конкретного кварца у повторителя эмулятора?
На низких частотах на сложных композициях контроллер может не успеть обработать прерывание и пропустит очередной цикл генерации, вроде начиная с 24-25МГц такого происходить не должно.
Связано это с тем, что в моей версии частота дискретизации 218кГц (что соответствует 109кГц звучания для 1.75 МГц эмуляции), в отличие от оригинальной версии, где частота была вдвое меньше и контроллер справлялся на более низких частотах кварца, но там код был неоптимизирован и частота не подгонялась под кварц, так что на низких частотах кварца звучание было более низким и ниже 24МГц тоже была потеря прерываний.
Как-то так, надеюсь доходчиво объяснил :)
Анонсирую в ближайшее время выход новой (надеюсь последней) версии эмулятора. Кодовый номер новой версии 25.0.
Исправления следующие:
Когда активны оба шум и тон, уровень сигнала должен удваиваться, об этом нигде не написано, но так должно быть!
Исправления в генераторе шума, сейчас он ксорит уровень, если выходной бит равен единице, а должен использоваться выходной бит, как уровень шума.
Новая версия выйдет в ближайшее время, ожидайте :)
NEO SPECTRUMAN
10.09.2019, 04:13
Когда активны оба шум и тон, уровень сигнала должен удваиваться, об этом нигде не написано, но так должно быть!
ШТА!?!? о_О
(уже чот не помню про этот момент)
есть записи с реального Ау-ка?
Как идея - можно и 3ю атмегу на плату втулить, чтобы реализовать третий AY, как в ZX-Next.
а под 3-й Ау что нибудь есть?
ШТА!?!? о_О
(уже чот не помню про этот момент)
есть записи с реального Ау-ка?
Я ориентировался на запись композиции "Miracle #5" при сравнении звучания реального AY и эмулятора обнаружились расхождения в уровне звучания шума, установив удваивание громкости при одновременной активности тона и шума в канале удалось добиться идентичного звучания шума (тот что идет в начале композиции)
NEO SPECTRUMAN
10.09.2019, 13:30
Я ориентировался на запись композиции "Miracle #5" при сравнении звучания реального AY и эмулятора обнаружились расхождения в уровне звучания шума, установив удваивание громкости при одновременной активности тона и шума в канале удалось добиться идентичного звучания шума (тот что идет в начале композиции)
а где собственно взять эту запись?
Проверил на небезызвестной d_mikona, запись которой у нас есть практически для всех чипов (https://zx-pk.ru/threads/19258-sravnenie-ay8930-ay8910-ym2149f.html?p=923765&viewfull=1#post923765), проверил на AY-3-8910A и на проигрывателе версии 13.6 (https://www.avray.ru/ru/avr-ay-player/), если отключить удвоение громкости, то начиная с 1:47 до 2:07 шум практически не слышен
Подготовил новую версию для Atmega8, если есть возможность - проверьте как работает, а то у меня сейчас нет возможности, если всё в порядке, то выложу финальную версию
UPD: проверил, накосячил в микшере, вместо AND написал OR :) поправил, проверил, работает, так что попозже будет новая версия.
Качество звучания совершенно другое по сравнению с тем что было!
UPD2: залил исправленный вариант, проверил в последовательном режиме, звучание супер! В параллельном пока что не могу проверить, если у кого-то есть возможность.... :)
UPD3: залил релиз у себя на сайте, продублирую и здесь
SoftLight
11.09.2019, 23:26
Залил новую версию, все отлично! Спасибо большое!
Как-то по сравнению с 23й повеселее играет, субъективное мнение :)
PS: однако нашлось несколько особенностей:
1) the lyra II в режиме одного AY с настоящим AY звучит кардинально иначе. такое впечатление, что turbosound'овский эмулятор половину звуков пропускает
2) то же самое в Kpacku Deluxe, например.
3) в некоторых демках громкость некоторых каналов как будто занижена или прыгает.
К сожалению, нет под рукой настоящего turbosound, чтобы сравнить звучание.
Расстроился я тут: собрал платку turbosound28p, кварц на 24M, Atmega8A, прям все как на картинке. Прошил обе атмеги прошивками из папки проекта 'Version 23.0 with speaker support (19.02.2016)'. Тестил на ZXEvo на альбоме karbofos (https://vtrd.in/sbor/TSZX.ZIP). Фальшивит ужжасно, ноты все плывут и трек, как будто, неравномерно проигрывается. Подскажите, пожалуйста, что можно предпринять? На этой же машине этот альбом тестил с реальными AY8910 и AY8912 - все отлично играет, на одном чипе, конечно.
Расстроился я тут: собрал платку turbosound28p, кварц на 24M, Atmega8A, прям все как на картинке. Прошил обе атмеги прошивками из папки проекта 'Version 23.0 with speaker support (19.02.2016)'. Тестил на ZXEvo на альбоме karbofos (https://vtrd.in/sbor/TSZX.ZIP). Фальшивит ужжасно, ноты все плывут и трек, как будто, неравномерно проигрывается. Подскажите, пожалуйста, что можно предпринять? На этой же машине этот альбом тестил с реальными AY8910 и AY8912 - все отлично играет, на одном чипе, конечно.
Что-то вы какую-то странную прошивку скачали, нужно взять здесь https://www.avray.ru/ru/turbosound/ 23.0 с HI-Z и заливать те что без спикера, 24.2 я не тестил, но судя по цитате она лучше, чем 23.0 играет, ну и если будет время обновлю турбосаунд прошивки до 25 версии (надеюсь скоро)
SoftLight
12.09.2019, 00:53
Что-то вы какую-то странную прошивку скачали, нужно взять здесь https://www.avray.ru/ru/turbosound/ 23.0 с HI-Z и заливать те что без спикера, 24.2 я не тестил, но судя по цитате она лучше, чем 23.0 играет, ну и если будет время обновлю турбосаунд прошивки до 25 версии (надеюсь скоро)
Это она и есть 'AY_Emul_TurboSound_2ch_23_0_hi-z (Версия с HI-Z состоянием) (http://www.avray.ru/?edmc=2045)' - просто я брал из репы (https://github.com/andykarpov/turbosound28p/tree/master/firmware) проекта, но я сравнил, они двоично идентичные.
Может завтра попробую с Арлекином, в нем можно без переходника тестить.
http://www.picshare.ru/uploads/190912/2i4d0w3O32_thumb.jpg (http://www.picshare.ru/uploads/190912/2i4d0w3O32.jpg)
Когда активны оба шум и тон, уровень сигнала должен удваиваться, об этом нигде не написано, но так должно быть!
я прочёл такое " If both Tone and Noise are enabled on the same channel the signals are ANDed (aren't ADDed)"
..........
люди изучающие AY под микроскопом подтвердили
"Там точно ничего не удваивается, сложение сигналов делается просто через логическую функцию
(внутри все сделано на NOR, NAND и NOT гейтах), никаких сложений (через сумматор) там точно нету.
..............
другое дело что похоже шум может быть громче/тише
"Noise can be output on all 3 channels, but there is only one noise generator (so all channels share the same noise frequency). The noise generator consists of 17bit shift register, and a 1bit noise level (0=LOW or 1=HIGH). These are updated at the selected frequency as follows:
noise_level = noise_level XOR shiftreg.bit0
newbit = shiftreg.bit0 XOR shiftreg.bit3
shiftreg = (shiftreg SHR 1) + (newbit SHL 16)
Note that level isn't set equal to bit0, instead, it toggles when bit0=1"
NEO SPECTRUMAN
12.09.2019, 11:54
люди изучающие AY под микроскопом подтвердили
фух значет у меня все правильно
вот бы они еще подтвердили
что на выходе при установке частот тона\огибающих\шума в 0...
громкость 0 при отключенном микшере меньше громкости 0 при включенном микшере?
на YM-ке какие уровни громкости у тона
F самая большая амплитуда? (как в мануале)
или вторая за ней (как мне недавно где то попалось)
- - - Добавлено - - -
другое дело что похоже шум может быть громче/тише
чота из приведенной цитаты не понел как шум может быть громче тише
кроме как при стандартном управлении громкостью
не понел как шум может быть громче тише
я тоже, но как иначе перевести это "noise level (0=LOW or 1=HIGH)" ?
Это явная ложь и провокация :)
https://cdn1.savepice.ru/uploads/2019/9/12/5d19fd08a0ecc8e9b2bff7a41e43d9bd-full.png
В даташите написано, что берется именно бит из последовательности и ничего не ксорится
А по диаграмме видно, что шум удваивает амплитуду!
blackmirror
12.09.2019, 20:59
noise_level это это просто триггер меняющий состояние при выходе из сдвигового регистра 1. А палки на графике могут быть помехами по питанию, при возрастании потребления их амплитуда может возрастать.
ещё-бы понять как сделано смешение каналов и откуда снимался сигнал
Тогда вот еще пример, в выделенном участке идут совместно тон и шум
https://cdn1.savepice.ru/uploads/2019/9/12/fc056d1836cd0770e592efcd3a0eeab5-full.png
PS: на всякий случай напомню, что эта картинка отсюда (https://zx-pk.ru/threads/19258-sravnenie-ay8930-ay8910-ym2149f.html?p=923806&viewfull=1#post923806) композиция d_mikona
noise_level это это просто триггер меняющий состояние при выходе из сдвигового регистра 1
А можете на фотке стравленного чипа показать где этот триггер находится? А то даташит говорит, что именно бит из генератора идет на микшер и по ощущениям это похоже на правду, да и смысл им был лишний триггер ставить, если шум нормальный генерируется этой последовательностью?
про картинку
"такие палки возникают просто из-за особенностей изображения сэмплов когда сделан сильный zoom out, если сделать зум никаких палок не будет.
Ну и замеры надо делать на AYке нагруженном только на резистор, чтобы там никаких кондеров не было и прочего, а то кондер может работать как дифференцирующая цепочка и давать любые помехи на быстро меняющийся входной сигнал."
про AY
"Генератор тона (делитель на обычных триггерах) и генератор шума (на LFSR) смешиваются через 2NOR гейты, у каждого гейта один вход является сигналом /EN (от регистра включения шума и тона).
ЦАП - это 15 калиброванных транзисторов (для каждого уровня громкости включается 1 из транзисторов), эти транзисторы имеют логарифмическое соотношение сопротивлений (они подключены к шине питания),нагрузкой служит внешний резистор (именно по этому все выходы AYка можно соединять вместе).
У ямахи YM2149F совершенно другое устройство"
NEO SPECTRUMAN
12.09.2019, 23:44
Это явная ложь и провокация :)
https://cdn1.savepice.ru/uploads/2019/9/12/5d19fd08a0ecc8e9b2bff7a41e43d9bd-full.png
В даташите написано, что берется именно бит из последовательности и ничего не ксорится
А по диаграмме видно, что шум удваивает амплитуду!
к чему сдесь эта схема?
она описывает всего лишь форму однобитного сигнала
"такие палки возникают просто из-за особенностей изображения сэмплов когда сделан сильный zoom out, если сделать зум никаких палок не будет.
и какие палки и зум аут
какой масщтаб?
там частоты шума 109 и 54 кГц
явно записанные при 44\48
а еще длина проводников, мишкер каналов (стерео) и фильтр на входе звуковухе
если каптурить сигнал на прямую с ноги с частотой мегагерца 2
все будет значительно ровней
и ЭТА ШТА
смотреть нужно в таком мастшабе
https://jpegshare.net/images/3d/8a/3d8a2a81ccaf050791f8f14e5b63d5f1.png
А то даташит говорит, что именно бит из генератора идет на микшер и по ощущениям это похоже на правду, да и смысл
чтоб это было похожим на правду
им нужно было ставить еще 3 ЦАП-а
что как бы не логично
а мишкер там на логике по идеи
и поэтому когда микшер выключен
громкостью работает как ЦАП
- - - Добавлено - - -
да и записи со 100500 чипов можно сказать бесполезны (для сравнения друг с другом (тем более визуально))
тк начальная фаза у разных каналов
на каждой записи сто пудова не совпадает
- - - Добавлено - - -
PS: на всякий случай напомню, что эта картинка отсюда композиция d_mikona
вощем записывай эмулятор до поднятия громкости и после
и будем сравнивать
и думать чего оно кажетсо громче
В качестве примера еще могу привести композицию "awake.ftc" в ней активно идет шум с тоном, если отключить удвоение амплитуды, то шум становится практически никаким
PS: кстати, если кто-то еще не читал, интересная статья на эту тему https://link.springer.com/content/pdf/10.3758%2FBF03202403.pdf
особенно интересно утверждение, что у всех каналов разная фаза
В качестве примера еще могу привести композицию
напишите тест (с конкретными примерами работы) его и будем проверять.
....
"по поводу невозможности сложения - там внутри AYка все линии в которых идет шум, звук, огибающая и прочее - однобитные (просто 1 провод) и все действия над этими линиями делаются обычными логическими элементами у который выход однобитный"
andykarpov
26.09.2019, 21:45
Расстроился я тут: собрал платку turbosound28p, кварц на 24M, Atmega8A, прям все как на картинке. Прошил обе атмеги прошивками из папки проекта 'Version 23.0 with speaker support (19.02.2016)'. Тестил на ZXEvo на альбоме karbofos (https://vtrd.in/sbor/TSZX.ZIP). Фальшивит ужжасно, ноты все плывут и трек, как будто, неравномерно проигрывается. Подскажите, пожалуйста, что можно предпринять? На этой же машине этот альбом тестил с реальными AY8910 и AY8912 - все отлично играет, на одном чипе, конечно.
Платку послал на пробу в ByteDelight (https://www.bytedelight.com/), результаты работы на реальном 128к спектруме в прямом эфире:
(https://www.youtube.com/watch?v=FH9P7VGhhP8&fbclid=IwAR3BEoNtf3McuXTXqlXQgi0w55Gmr27FTAZKI0Mij DQnn9mWp3AZeYlQ-Zg)
https://www.youtube.com/watch?v=FH9P7VGhhP8&fbclid=IwAR3BEoNtf3McuXTXqlXQg i0w55Gmr27FTAZKI0MijDQnn9mWp3AZeYlQ-Zg
1) по сравнению с реальным AY - частотки не те (играет чуть ниже, а при активном использовании всяких трюков с AY - вообще полный рассинхрон), ну то и понятно, у реала там 1.7734МГц.
2) демка badapple как-то странно себя повела
3) trd'шка с turbosound музыкой от AAA как-то странно заикалась все время почти на всех мелодиях, и вот тут непонятно, это заикается плеер (TSPlayer), потому что не на пентагоне, или это эмуль тормозит? :)
PS: Интересно, можно ли как-то привязаться к реальному клоку, который на AY заходит из железа ? ну чтоб, например, высчитать при включении (за первые пару секунд после ресета) нужные коэффициенты делителя и их заюзать вместо конфигурирования жестко их в EEPROM ?
PS2: пересчитал конфиг под 1.77 (https://github.com/andykarpov/turbosound28p/raw/master/firmware/Conf_parallel_24MHz_1_77MHz.hex), надо будет попробовать на реале 128к.
SoftLight
26.09.2019, 23:03
Вот и у меня такая же засада как в этом видео в TS-Player, проверял на арлекине и эво :( но у меня хуже - в любой мелодии фальшивит страшно, даже не в turbo-sound. как нибудь доберусь запишу видео для примера
- - - Добавлено - - -
Прошивка у ByteDelight-ов последняя с гитхаба из папки проекта?
andykarpov
26.09.2019, 23:21
Вот и у меня такая же засада как в этом видео в TS-Player, проверял на арлекине и эво :( но у меня хуже - в любой мелодии фальшивит страшно, даже не в turbo-sound. как нибудь доберусь запишу видео для примера
В моем понимании "фальшифит" - это когда диссонанс по нотам слышно.
В данном случае "фальшивит" - это когда музыка заикается?
И вот тут непонятно, кто виновник.
А кварц какой стоит? и меги какие? с буквой А?
Если есть возможность, пробуем ближайший меньший кварц, например на 20МГц с соотв конфигом для EEPROM.
Прошивка у ByteDelight-ов последняя с гитхаба из папки проекта?
Вот не понмю ;) Модуль был давненько зашит и лежал без дела, кажется да, 23-я.
NEO SPECTRUMAN
27.09.2019, 00:40
В моем понимании "фальшифит" - это когда диссонанс по нотам слышно.
и тоже не верно
ибо диссонанс и фальшивит
абсолютно разные вещи...
можно не фальшивить и на 0.003 цента
но делать при этом жесткий диссонанс
а фальшивит это большое отклонение в центах
в сравнении с первой услышанной в начале воспроизведения нотой
или одной из предыдущих или около того
а для некоторых "особо одаренных" (не очень завидую я им) от 440Гц или еще от чего то...
а некоторым фальшивят равномерно темперированные интервалы
...а мне вполне фальшивят натуральные например
но нормальным людям абсолютно пофиг если все ноты будут завышены\занижены на 50 центов
не все и заметят
и конечно в сочетании нескольких нот
фальшивение может быть более заметным...
...а может и не быть
тк различить одновременно 100+ синусоид
+определить к какой фундаментальной частоте какая из них относиться
(тк некоторых гармоник может как не быть, в том числе первых,) так и быть "растроенными", или вообще не там...)
явно не всем дано...
- - - Добавлено - - -
В данном случае "фальшивит" - это когда музыка заикается?
слегка послушал
на 54 минуте
плавает темп
и судя по звучанию у него на 128-м просто не хватает тактов во фрейме
наших пентагоновских и безвайтовых...
и в итоге периодически 1 фрейм плеер не вызывается...
или же происходит пропуск обработчика инт-а по какойто другой причине
как бы не тормозил авр
он никак не может повлиять на 50Гц кадрового инта
и создать хоть близко подобный эффект...
...если конечно он сам не подает вайты на проц
проблему чего так колбасит bad apple нужно скорей искать в самом bad apple-e
там может будет плющить не только аврмулятор
но и обычный турбосаунд
угу оно и есть под турбосаунд
а может дело в дешифрации номеров регистров
вообщем нужно дебагать дему...
- - - Добавлено - - -
Кстате кто подскажет что за ATARI плеер\демо на 10 минуте????
и де его скачать
andykarpov
27.09.2019, 01:03
Кстате кто подскажет что за ATARI плеер\демо на 10 минуте????
и де его скачать
Оно?
https://zxart.ee/rus/soft/art-pack/music-collection/atari-musicdisk/
NEO SPECTRUMAN
27.09.2019, 01:15
Оно?
оно
Распространение запрещено правообладателем
и п*л я правообладателей
скачал с pouet-а
и только потом заметил что есть на оно ссылке с самога зхарта
SoftLight
27.09.2019, 11:59
И вот тут непонятно, кто виновник.
А кварц какой стоит? и меги какие? с буквой А?
Если есть возможность, пробуем ближайший меньший кварц, например на 20МГц с соотв конфигом для EEPROM.
Именно диссонанс по нотам. Как будто частота не правильная. Меги обе c 'А', кварц на 24:
https://i.ibb.co/FwgWpLq/photo.png
Меги когда платку отмывал тер бензином, маркировка не слезла, вроде не фейк.
Кварц спасибо попробую поставить на 20. Очень хочется довести такую прикольную игрушку до ума.
andykarpov
27.09.2019, 12:11
Под кварц 24МГц пересчитал конфиг для фирменных машин с 1.77МГц клоком для AY. Еще не тестировал: https://github.com/andykarpov/turbosound28p/raw/master/firmware/Conf_parallel_24MHz_1_77MHz.hex
Но мне все больше нравится идея запилить автоматический замер реального внешнего клока при старте платки и для него пересчитать все эти опорные константы, которые сейчас берутся из EEPROM, с fallback'ом на 1.75, например, в случае неудачи.
Проблем пока вижу несколько:
1) я в AVR ASM вообще ни в зуб ногой, нужно автора просить такую фичу запились
2) нет исходников для Turbosound-версии
NEO SPECTRUMAN
27.09.2019, 12:16
Именно диссонанс по нотам. Как будто частота не правильная.
интересно бы послушать\посмотреть на запись
вот разрешили показать кусочек из потрохов AY
https://b.radikal.ru/b25/1910/59/95d0925ec931.png (https://radikal.ru)
HardWareMan
03.10.2019, 20:48
https://jpegshare.net/images/4e/31/4e31bdecc6b9b1941a05ee2b2d56db93.jpg
ну это всего лишь подтверждение
"смешивания шума (NOISE) и звука (TONE_C), тут же идут и сигналы управления включением шума(/NOISE_C_EN)/звука(/TONE_C_EN), далее смешанный сигнал SND_C идет на микшер, где идет управление громкостью либо через огибающую либо через фиксированный уровень.
Схема для канала C. Все три канала полностью одинаковые.
.............
фотка означает "не верю" ?
.............
на данном этапе я всего лишь прослойка между пытливыми личностями которые ушли отсюда
(скорее из-за несогласия с модерацией чем с пользователями)
HardWareMan, если будут нужны подробности сообщи в личку.
NEO SPECTRUMAN
04.10.2019, 04:45
если будут нужны подробности сообщи в личку.
если кто реверсит Ау-к
то подробносте нужны мне :v2_dizzy_vodka2:
HardWareMan
04.10.2019, 07:09
HardWareMan, если будут нужны подробности сообщи в личку.
Да, подробности всегда нужны. Если есть что показать - показывай. Если не можешь тут - можно в личку на своих условиях. А там посмотрим.
реверс AY закончен
https://github.com/lvd2/ay-3-8910_reverse_engineered/raw/master/sch/ay-3-8910.pdf
"Все транзисторы условно показаны одинаковыми,
хотя в реальности "верхние" транзисторы в логических элементах со встроенным каналом (нормально открытые)"
NEO SPECTRUMAN
19.11.2019, 21:03
Уря
теперь бы еще научится читать схемы
у которых дорожки идут в никуда
и которые нельзя отследить пальцем :v2_crazy:
...в принципе по этой схеме поиск работает
SoftLight
16.04.2020, 20:01
Возвращаясь к вопросу о точности эмуляции в версии ay-эмулятора для установки на плату Спектрума.
Провел сравнительные испытания трех железных эмуляторов. Результаты с плюмканиями и хрипением ниже.
Тестовый стенд: Karabas-128 Rev.A int=Pentagon
Тестовый софт: Gauntlet III: The Final Quest релиз FFC (https://vtrd.in/gamez/g/GAUNTL_3.ZIP)
Две мелодии, хорошо подходящие для поиска дефектов: музыка intro от KSA ~1,5 минуты + внутриигровое меню ~1,5 минуты
http://i.imgur.com/VDYSZFZm.jpg (https://imgur.com/VDYSZFZ)
1) Оригинальный чип AY38912A, для сравнения:
https://yadi.sk/d/tTPJWZ0TVDHelA
2) Платка TurboSound Emulator 2x Atmega8A от Andy Karpov
Все очень хорошо, очень близко к оригиналу
Прошивка Conf_parallel_24MHz_1_75Mhz.hex + emul_247_turbosound_chip1.hex + emul_247_turbosound_chip0.hex
https://yadi.sk/d/PNiQt98hpkqM3A
3) Белая платка AY-AVR:
Atmega8A / 27MHz
Прошивка: Conf_parallel_27MHz_1_75Mhz + AY_Emul_250_2ch_m8_ay
Все очень не очень, особенно в мелодии меню
https://yadi.sk/d/HYnwrLanzICruQ
4) Красная платка от Павла Рябцова AY-AVR:
Atmega8A / 27MHz
Прошивка: Conf_parallel_27MHz_1_75Mhz + AY_Emul_250_2ch_m8_ay\
Все еще хуже чем в случае с белой хотя схемное решение похожее:
https://yadi.sk/d/bdKdH-Je0Vpu_A
И теперь вопрос: а что я делаю не так? Проблема скорее в прошивке или скорее в железе?
Хотелось бы понять откуда берутся эту ужасные гличи, которые хорошо видно на сравнении. Плюс правый канал почему-то в полтора раза громче левого:
http://i.imgur.com/W77FU3qm.png (https://imgur.com/W77FU3q)
Используйте прошивку 24.7, она работает лучше, 25.0 прошивка не очень в плане производительности
В течение часа выложу версию 26.0, которая как 24.7 + исправления генератора шума из 25.0, ну и турбосаунд заодно поправлю
PS: проверил 26 версию, на композиции NIAGRA получил полностью аутентичный шум :) очень рад
Evgeny Muchkin
14.12.2021, 17:29
EvgenRU, а нормально играет на вашем эмуле музыка из этой демы?: https://zxart.ee/rus/soft/demoscene/across-the-edge/
Я попробовал две прошивки (24.7 и 26) на двухчиповом варианте (кварц 24Мгц). Так вот, на звук с оригинального чипа ну совсем не похоже, прямо с самого начала темы. :( Бас звучит как-то странно.
Печаль...
музыка из этой демы?
там ещё и чтение из портов AY используется.
эмуль такое поддерживает ?
Evgeny Muchkin
15.12.2021, 18:48
чтение из портов AY
Ой, блин, оно и это не умеет?
Печаль x2...
И еще вопрос. Зачем делать под разные кварцы? Оно под 20 разве не должно нормально играть? Если должно, то зачем делать переразгон на 24 и более?
NEO SPECTRUMAN
15.12.2021, 19:08
переразгон на 24 и более?
затем что и на 20 еле работать
- - - Добавлено - - -
вон у тслабса и 100МГц арм не справляетсо на 100%
Evgeny Muchkin
15.12.2021, 21:59
Тогда получается, что на Меге8 в принципе невозможно сделать AY эмуль. Ибо лотерея, заведется - не заведется, будет глючить - не будет...
- - - Добавлено - - -
Неправильность эмуляции подтвердилась. В деме "Across The Edge" вместо баса звучит какое-то пердение.
Видимо, цитата с сайта полное соответствие AY-3-8912 не соответствует действительности. :( Я уж не говорю, про чтение из портов AY. :(
Печаль x3...
Печаль
Ещё печаль что нет портов IO. Некуда цеплять ESP. Во всяком случае, в версии turbosound28p.
Я уж не говорю, про чтение из портов AY
возможно я тебя чуток запутал.
имеется ввиду чтение из регистров AY
(в "Across The Edge" это применяется)
и я не знаю точно поддерживает это эмуль или нет.
Evgeny Muchkin
15.12.2021, 23:34
goodboy, мы поняли друг друга правильно. Но спасибо за уточнение. :)
Будем надеяться, авторы/соавторы сюда заглянут, подскажут чего да как...
SoftLight
15.12.2021, 23:41
С версии 12.4 поддержка режима чтения (6 бит данных). С версии 12.6 эмулятор определяется в тестах наличия чипа AY, корректная обработка BC1,BDIR в режиме чтения.
Evgeny Muchkin
16.12.2021, 00:15
С версии 12.4 поддержка режима чтения
На моей Turbosound AVR хрень какая-то читается (смотрю по анализаторам в демках). На правду похоже, но весьма-весьма неточно. Может, в более новых версиях поломали?
А второй чип на 24Мгц, так, вообще, похоже, через раз запускается... то слышно его, то не слышно ;) ;(
С версии 12.4 поддержка режима чтения (6 бит данных).
Не работает однако.
- - - Добавлено - - -
А второй чип на 24Мгц, так, вообще, похоже, через раз запускается.
А никто и не обещал. Можно попробовать чуть поднять питание может помочь.
marinovsoft
16.12.2021, 11:09
Атмеги от официальных поставщиков или нет? Ну и если не тянут 24МГц можно и меньше попробовать.
Так-то этим эмулятором довольно много людей пользуется (в том числе и буржуи) и только у единиц какие-то проблемы возникают.
Бывают эмуляторы с портами IO?
А железный TS на настоящих AY нормально работает с портами IO?
Evgeny Muchkin
16.12.2021, 13:39
А железный TS на настоящих AY нормально работает с портами IO?
На железном TS IO с первого чипа идут на разъем подключения к материнке, так что, все должно быть нормуль. Чипы там YM2149.
http://nedopc.com/TURBOSOUND/ts_c_sch.png
- - - Добавлено - - -
у единиц какие-то проблемы возникают
На вашем экземпляре "Across the Edge" приятно уху звучит??? Не верю!
marinovsoft
16.12.2021, 13:57
Ваше право.
Evgeny Muchkin
16.12.2021, 14:08
Ваше право.
В каком смысле? :)
Где можно скачать последнюю актуальную прошивку для "Turbosound AVR AY Emul v1.0"?
На гитхабе https://github.com/andykarpov/turbosound28p всё удалено.
andykarpov
23.05.2022, 00:34
Где можно скачать последнюю актуальную прошивку для "Turbosound AVR AY Emul v1.0"?
На гитхабе https://github.com/andykarpov/turbosound28p всё удалено.
А при чем тут гитхаб andykarpov ? там только дизайн платы, один из возможных.
Прошивки тут: https://avray.ru - у них есть автор, и автор не я, а Евгений Иванов :)
А при чем тут гитхаб andykarpov ? там только дизайн платы, один из возможных.
Прошивки тут: https://avray.ru - у них есть автор, и автор не я, а Евгений Иванов :)
Ну тут https://chipkin.ru/product/pechatnaya-plata-turbosound-avr-ay-emul-v1-0/ есть ссылка на https://github.com/andykarpov/turbosound28p
Прошивки тут: https://avray.ru
А где там прошивки для TS? Не вижу.
andykarpov
23.05.2022, 21:51
А где там прошивки для TS? Не вижу.
https://www.avray.ru/ru/turbosound/
В попыхах перед Undef-ом собрал для Вектора на коленке R-Sound из AVR-AY на ардуине-нане. Невероятно круто, что так можно -- хочу сказать большое спасибо всем, кто приложил к этому проекту руку.
Вопрос -- я вопспользовался конфигом на 20МГц, вдруг прокатит (моя ардуина на 16). Круто все работает, но звучит как будто басовито. Я попробовал пересчитать ICR по формуле, как нашел где-то здесь. Сделал конфиг из 4 байт. На глаз конфиг сразу отличается от тех, что в архиве. В архиве везде длина 5, а у меня 4. Звучит мой конфиг тоже очень странно. Не могу точно охарактеризовать что не так, но как будто что-то стало не строить. Не пропорционально все выше-ниже, а как будто какие-то звуки сместились не туда. Что не так может быть? Как все-таки получены конфиги из дистрибутива?
electroscat
16.10.2024, 00:01
Доброго времени коллеги !
Первым делом хотел бы поблагодарить разработчиков проекта эмуляции AY и TurboSound за проделанную, прекрасную работу ! Очень вам благодарен, вы просто молодцы !
Вопрос к разработчикам и хранителям исходников для TurboSound. Можете скомпилить прошивку атмеги не на 2 канала (левый, правый) а на 3 канала (A,B,C) чтобы этим можно было заменить аутентичные устройства без переделок, просто вставив вместо AY ?
Если желания заниматься нет, можете тогад открыть исходники именно для TurboSound. Для AY исходники есть, вот второй день исследую, сравниваю в бинарном виде то что получается от их компиляции, с тем что есть уже откомпилированное на сайте проекта. КОмпилится все хорошо, но при сравнении с бинарниками прошивки TurboSound выясняется что есть небольшие отличия в коде, прежде всего в циклах опросе шины, ну и кое где еще. В целом я могу и сам дизасемблировать отличные участки кода, но хотелось бы все таки делать это с согласия автора, а лучше просто получить исходники. Автор кода, пожалуйста, минимально, откомпилируй код для первого и второго чипа под три канала, чтобы соответствовало вот этому:
#define CHANNELS 3 ; choose 2 or 3 channel version
#define SPEAKER 0 ; use SPEAKER port input on PD1 (0 - no, 1 - yes)
#define VOLUME_TABLE 1 ; 0 - AY, 1 - YM, 2 - ALTERNATE volume table
#define MCU_TYPE 0 ; 0 - Atmega8, 1 - Atmega48, 2 - Atmega88/168/328
Тогда не нужно будет столько лишней работы проводить )))
Н на всякий случай можно еще и альтернативку сделать (0,1,2)
#define VOLUME_TABLE 1 ; 0 - AY, 1 - YM, 2 - ALTERNATE volume table
В остальном все исчерпывающе, благодарю за Ваш проект !
- - - Добавлено - - -
На основе эмулятора версии 23 сделана так же очень простая реализация TurboSound на двух МК Atmega8, подробности в архиве. К сожалению, без исходников.
Если есть вопросы - пишите в ПМ или сюда. :)
Доброго времени !
Вот чуть выше для вас вопрос как раз !!!
- - - Добавлено - - -
PS: проверил 26 версию, на композиции NIAGRA получил полностью аутентичный шум :) очень рад
Вот именно 26 версию прошивки TurboSound хотелось бы в версии на 3 канала для обоих чипов. И так же с таблицей и AY и YM.. ли просто исходники от нее. Было бы прям шоколадно !
- - - Добавлено - - -
Последние изменения в прошивке походу были 4 года назад. :(
electroscat
20.10.2024, 23:20
Друзья, ели вдруг у кого то есть вариант попробовать вот эти дампы, скомпилил с YM и AY таблицами, на 3 канала, прошивки для 0 и 1 чипа, платы для девайса в работе пока что, не на чем проверить, а колхозить на макетке совсем желания нет, жалко МГТФ, его в мире немного осталось))). Если кто то проверит, отпишитесь плиз.
81439
- - - Добавлено - - -
Канал B на PB3- 15 выв. обоих микросхем. Нужна схема как для обычной AY с 3 канальным выходом.
- - - Добавлено - - -
Наверное благоприятно через резюки 1 кОм соединить 15 выводы двух микросхем, чтобы получить канал B.
Исходники прикладываю, можно делать с ними всё что угодно.
4 года не выходило новой версии т.к. там уже нечего допиливать :v2_dizzy_roll:
electroscat
21.10.2024, 01:14
Исходники прикладываю, можно делать с ними всё что угодно.
Благодарю, Чуть бы раньше, уже сдизассемблил )
4 года не выходило новой версии т.к. там уже нечего допиливать :v2_dizzy_roll:
Да, согласен, код максимально оптимизирован, вряд ли что то там можно улучшить, все четко!
Спасибо Вам огромное за вашу работу !!! Прекрасный проект!
Прошивка версии 26, демка Across the edge, огибающая звучит как будто кто-то гороха объелся. На прошивке 23 огибающая звучит нормально, но там звук "затянутый", практически нет затухания.
Так что есть что допиливать.
marinovsoft
05.01.2026, 16:06
Используется TurboSound? Все как здесь https://www.youtube.com/watch?v=wuC8uQtGueY ?
На "одночиповом" варианте такая же проблема?
Кстати, какие демки и игры на Спектруме используют 2 AY сразу?
marinovsoft
05.01.2026, 18:24
https://zxart.ee/rus/soft/demoscene/hw:ts/sorting:year,desc/
marinovsoft
05.01.2026, 21:21
Не актуально.
Скачал 26 fix. Играет точно так же само. Затем сравнил 26 версию с 26 FIX в HEX редакторе. Оказалось что файлы идентичные, с единственной разницей, что чип 0 стал чип 1. Тоесть прошивка 26 версии для чипа "0" идентична прошивке 26 FIX для чипа "1" и наоборот! Надеюсь это ошибка.
Вот как неправильно звучит данная демка на этой прошивке.
83556
marinovsoft
06.01.2026, 01:38
Не актуально.
У меня на другом клоне есть не турбосаунд на атмега8. Там правильный звук. Правда я не помню что там за прошивка, только дампить и сравнивать нужно.
Проверил 26 FIX2. Ничего не изменилось. Все так же Across the edge играет криво. Только если перед Across запустить AY test или какой-то турбосаунд трек, тогда играет правильно. Но если после ресета первым запустить Across - глючит.
Пока писал пришла в голову мысль проверить чипы по-отдельности. Выпаять не повредив разъем не представляется возможным, зато можно отделить ресет на каждый чип. При подаче gnd на ресет первого чипа - тишина, толко турботреки играют часть звуков. Но при подаче земли на ресет второго чипа, демка Екросс работает правильно!!! Далее я восстановил оба ресета и отпаял резисторы с аудивыхода первого чипа, чтобы удостовериться что при работе в паре второй чип точно молчит. И таки да, молчит. Вывод следующий: первый чип, при отключеном втором чипе работает правильно. Но при подключеном втором чипе, в первом начинает сбоить огибающая, но только в демке Across the edge (по крайней мере что я нашел).
marinovsoft
06.01.2026, 03:43
Попробуйте перед запуском демки из бейсика сделать запись в порт #FFFD значения #FF - это выбор чипа 0.
OUT 65533, 255
Не помогло.
Провел эксперимент. Выявил следующее:
OUT 65533, 254
OUT 65533, 13
OUT 49149, 255 (или 254)
Исправляет ситуацию.
Как это влияет на чип 0 - не знаю, ведь именно он выдает звук, но факт есть факт.
Бегло просмотрел исходники и, если я правильно понимаю, переключение чипа происходит только по старшему (D7) и младшему (D0) биту в режиме выбора регистра? Поправте если я ошибаюсь. Но в оригинальной схеме турбосаунда при выборе чипа кроме d7 и d0 участвует еще и d3, d4, d5, d6. Может в этом проблема?
Всем спасибо. Причина найдена.
marinovsoft
07.01.2026, 21:13
Ну так причина в неполной дешифрации порта переключения FF или FE ?
При чтении регистров AY не был учтен номер чипа .
83574
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot