User Tag List

Страница 33 из 47 ПерваяПервая ... 293031323334353637 ... ПоследняяПоследняя
Показано с 321 по 330 из 476

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    По умолчанию

    А никто не подскажет, на какой композиции там проверяют звучание?
    http://fotogalleria.info/pub/ZXSpeccy/AYEmul/Audio/
    А то хочу подправить шум, хотелось бы выбрать такую же композицию для тестов

    PS: там еще и такая картинка есть


    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!!!
    Последний раз редактировалось EvgenRU; 08.07.2017 в 02:15.

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

  3. #2

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

    По умолчанию

    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?...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
    Вложения Вложения
    Последний раз редактировалось EvgenRU; 08.07.2017 в 21:10.

  4. #3

    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,409
    Спасибо Благодарностей отдано 
    72
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    161 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что-то в версии 13.0 с загрузкой проца не то. Скачет от нескольких процентов до полной загрузки одного ядра.


    - - - Добавлено - - -

    Если окно свернуто - то загрузка несколько процентов. Разоврачиваем - сразу возрастает.
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

  5. #4

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

    По умолчанию

    Странно, в 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%, так что скорее всего проблема не в проигрывателе
    Последний раз редактировалось EvgenRU; 09.07.2017 в 19:31.

  6. #5

    Регистрация
    06.02.2009
    Адрес
    Кемерово
    Сообщений
    1,409
    Спасибо Благодарностей отдано 
    72
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    161 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это не XP, это Win 7 x86. Еще заметил, что загрузка процессора как-то коррелирует с использованием каналов. Если один из каналов "молчит", то загрузка падает.
    ПК8010 "Корвет"+ExtRom+AY, Atari 65XE+SDrive, Дельта-С(52ИС)+AY, Scorpion ZS 1024+SMUC

  7. #6

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Такой вопрос, а для Atmega162 можно, в принципе, адаптировать прошивку? Я в AVRStudio 4 компильнул конечно, кое-как. Но поскольку с AVR не знаком совсем, есть сомнения насчет инициализации того-же UART (в 162 их 2 шт). Я хочу просто через AVR-Player попробовать поиграть на него музыку.... И да, 162 по даташиту 16 МГц максимум. Такого кварца нет, зато есть на 12MHz. Чем чревато уменьшение частоты с минимальных 20МГц в сторону 12МГц?

  8. #7

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так, сначала впилил кварц на 32Мгц, вместо 16 по даташиту. Камень завелся. Заинитил уарт на 57.6, слал в цикле букву "A" - шлет. Но pwm как то странно себя ведет, судя по осцилу. Впаял кварц на 16, pwm попер вроде всегда и с первого раза. Но чегото ощущение, что не обрабатывает прерывание от уарт. Мож не разрешил их в регистре, завтра гляну, код на работе остался

  9. #8

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

    По умолчанию

    Чисто технически никаких проблем нет, кварц 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МГц.

  10. #9

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я наоборот, ставлю 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, играются ооочень странно, по сравнению с проигрыванием на звуковой карте компа. Это я скорости не набрал нужной?
    Последний раз редактировалось Tronix; 11.07.2017 в 13:49.

  11. #10

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

    По умолчанию

    Цитата Сообщение от Tronix Посмотреть сообщение
    UPD3: Угу, впаял кварц на 25Мгц - поперло нормально.

    UPD4: Или не нормально? Файлы из папки примеров DigitalAY, например AYMD38.ay, играются ооочень странно, по сравнению с проигрыванием на звуковой карте компа. Это я скорости не набрал нужной?
    По последовательному цифровой звук не будет работать, я даже пробовал максимальную скорость на USART развивать, максимум тянет 2кГц цифровой звук на скорости 1 мегабит. Так что, цифровой звук только в параллельном режиме.

Страница 33 из 47 ПерваяПервая ... 293031323334353637 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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