Важная информация

User Tag List

Страница 32 из 48 ПерваяПервая ... 282930313233343536 ... ПоследняяПоследняя
Показано с 311 по 320 из 472

Тема: Эмулятор AY-8910 на ATMega

  1. #311
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    19 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    24.4 работает отлично, уже проверено много раз мной и другими, это самая лучшая версия звучащая наиболее близко к оригиналу, если даже не лучше Насчет 27, может не тянет атмега, попробуйте 25 и 24МГц или резистор в 1-5МОм на ноги кварца попробуйте напаять.

    Фактически эмулируется YM2149F, но отличие только в генераторе огибающей, в цикле в 2 раза больше ступенек у YM (т.е. огибающая более плавная), чем в AY-8910, разница в звучании конечно заметна слегка, но только на огибающих, в остальном чипы ничем не отличаются. Уровни тона в эмуляторе больше соответствуют AY, поэтому, это, скажем так, улучшенная версия обоих чипов )))

    PS: на всякий случай продублирую ссылку на версию 24.4, чтобы долго не искали.

    PS2: добавил экспериментальную 2 канальную версию со спикером и без спикера для Atmega48
    Вложения Вложения
    Последний раз редактировалось EvgenRU; 11.02.2017 в 20:21.

  2. #312
    Veteran Аватар для krotan
    Регистрация
    30.08.2010
    Адрес
    Санкт-Петербург
    Сообщений
    1,263
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    192
    Поблагодарили
    159 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от EvgenRU Посмотреть сообщение
    Фактически эмулируется YM2149F, но отличие только в генераторе огибающей, в цикле в 2 раза больше ступенек у YM (т.е. огибающая более плавная), чем в AY-8910, разница в звучании конечно заметна слегка, но только на огибающих, в остальном чипы ничем не отличаются.
    Ну, это теоретичеки, а на самом деле они ощутимо по-разному звучат - послушайте и сравните. Причём, AY звучит чётко и звонко, а у YM какой-то мягкий приглаженный звук. Большинству демомейкеров и музыкантов нравится звук AY, хоть там и меньше градация огибающих... Предполагаю, причина отличий в аналоговой части чипов, а не в цифровой...

  3. #313
    Junior Аватар для 3dEyes
    Регистрация
    09.02.2017
    Адрес
    21.01.1978
    Сообщений
    20
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Собираю автономный AY-плеер типа айпода с сенсорным экраном (HMI экранчик от Nextion). В качестве основного контроллера взял ESP8266-ESP01.
    Собрал на макетке эмулятор на ATMega48 (только он запустился на 25 мгц, имеющиеся меги 8 оказались нестабильные уже на 24). Файлы читаю с MicroSD карты.
    Т.к. у ESP очень ограничено количество GPIO-портов, то эмулятор пришлось подключать через последовательный интерфейс.
    Внимание вопрос: насколько критичным будет добавить поддержку режима чтения в последовательный режим (поковырял исходники, ничего не нашел), т.к. очень хочется реализовать индикаторы уровня?



  4. #314
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    19 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от 3dEyes Посмотреть сообщение
    Т.к. у ESP очень ограничено количество GPIO-портов, то эмулятор пришлось подключать через последовательный интерфейс.
    Внимание вопрос: насколько критичным будет добавить поддержку режима чтения в последовательный режим (поковырял исходники, ничего не нашел), т.к. очень хочется реализовать индикаторы уровня?
    Могу предложить вариант эмулятора с 4 битной шиной, т.е. байт шлется в параллельном режиме, но за 2 раза по 4 бит, типа как в 1602 дисплее, я такой фигней заморочился когда делал автономный проигрыватель на 2х атмега8

    UPD: посмотрел описание, там всего 3 GPIO, так что этот вариант отпадает

    PS: еще вопрос, зачем для проигрывателя режим чтения? у вас же все регистры есть в памяти контроллера, это в ZX он был нужен для организации резидентного проигрывателя работающего по прерываниям, а считывание регистров которые играют производилось уже отдельным интерфейсом.
    Последний раз редактировалось EvgenRU; 11.02.2017 в 13:56.

  5. #315
    Junior Аватар для 3dEyes
    Регистрация
    09.02.2017
    Адрес
    21.01.1978
    Сообщений
    20
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На самом деле там GPIO портов несколько больше, просто не все выведены на разъём с чипа. Я расширил их до 8 штук + 2 UART вот таким колхозным способом:

    4 порта идут на подключение SD-карты, 2 на подключение экрана (софтовый сериал), 1 TX аппаратного UART идёт к эмулятору
    Итого у меня есть ещё 2 свободных порта общего назначения + 1 RX от UART.
    Короче не густо.
    Изначально я пробовал делать на меге328 управляющий контроллер, но мне тупо не хватило оперативки под всё (но в тот момент у меня был подключен OLED экранчик, который требовал наличие знакогенератора и экранного буфера), но с переходом на Nextion потребность в оперативке снизилась, поэтому можно вернуться обратно к avr-варианту )

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

  6. #316
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    19 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от 3dEyes Посмотреть сообщение
    Изначально я пробовал делать на меге328 управляющий контроллер, но мне тупо не хватило оперативки под всё (но в тот момент у меня был подключен OLED экранчик, который требовал наличие знакогенератора и экранного буфера), но с переходом на Nextion потребность в оперативке снизилась, поэтому можно вернуться обратно к avr-варианту )

    А по поводу режима чтения, хм. т.е. предлагается анализировать отправляемые значения регистров и высчитывать уровень трёх каналов?
    Смысла переходить на мегу особо нет, параллельный режим в основном нужен, чтобы гонять оцифровки, а для этого нужно много памяти или специальный формат на SD, да и нет уверенности, что потянет. Если 50Гц, то последовательный режим самое то, я проверял, тянет аж до 2 килогерц в последовательном режиме, но нужно поднимать скорость TTL (текущая 57600).

    Насчет режима чтения, да, если у вас регистры в памяти, то просто берете их из памяти, а не из AY, ибо там они точно такие же, подозреваю, что в ZX режим чтения использовался потому, что проигрыватель писался одними товарищами, а использовался в программах других товарищей, которые не знали где в памяти располагаются данные регистров + во время прерывания значения в памяти могли изменяться.

    UPD: обновил архив с версией для Atmega48, добавил туда версию без спикера, т.к. в вашем случае он может издавать посторонние звуки из-за не подключенного порта спикера.
    Последний раз редактировалось EvgenRU; 11.02.2017 в 20:23.

  7. #316
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #317
    Junior Аватар для 3dEyes
    Регистрация
    09.02.2017
    Адрес
    21.01.1978
    Сообщений
    20
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо за совет, всё получилось. Выхватываю состояние регистров R8, R9 и R10 прямо перед отправкой в UART и с частотой 10 раз в секунду обновляю состояние индикаторов на экранчике. Если сделать чаще, то почему-то падает отзывчивость экрана на нажатия.
    Вышло как-то так:

  9. #318
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    657
    Поблагодарили
    511 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от krotan Посмотреть сообщение
    а на самом деле они ощутимо по-разному звучат - послушайте и сравните. Причём, AY звучит чётко и звонко, а у YM какой-то мягкий приглаженный звук.
    Цитата Сообщение от EvgenRU Посмотреть сообщение
    в остальном чипы ничем не отличаются
    запилите 2 разных версии Ау и ум
    с разными огибающими
    и разными таблицами громкости
    и будет усем счастие

    труЪ таблицы громкости можно взять сдеся
    http://forum.tslabs.info/viewtopic.php?f=6&t=539
    так же от туда можно наклацать и таблицы громкостей от всяких WF19054

  10. #319
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    19 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ок, сделал новую версию. Взял таблицы оттуда, подогнал под 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
    Вложения Вложения
    Последний раз редактировалось EvgenRU; 16.02.2017 в 21:12.

  11. #320
    Junior Аватар для 3dEyes
    Регистрация
    09.02.2017
    Адрес
    21.01.1978
    Сообщений
    20
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Протестировал новую версию на Atmega48 (25Мгц) - особой разницы не заметил, разве что звук стал немного другим. А вот на Atmega168, которая завелась на 27 Мгц (был кварц на 32, но с ним не запустилась), звук вообще отличный.
    Спасибо!

Страница 32 из 48 ПерваяПервая ... 282930313233343536 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Подключение AY-3-8910
    от Zloy в разделе Звук
    Ответов: 40
    Последнее: 21.01.2011, 12:20
  2. КПЛЮ AY 8912(8910) в харькове!
    от nickpush в разделе Барахолка (архив)
    Ответов: 74
    Последнее: 12.07.2009, 21:08
  3. Продам AY-3-8910
    от crolicasm в разделе Барахолка (архив)
    Ответов: 9
    Последнее: 17.03.2009, 15:25
  4. AY-3-8910(8912) и ВГ93
    от ALEXEY.GORDEEV в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 02.12.2007, 09:21
  5. О портах AY-3-8910...
    от ILoveSpeccy в разделе Звук
    Ответов: 2
    Последнее: 02.07.2007, 15:02

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •