Эмулятор TurboSound

Данный эмулятор основан на решении с сайта NedoPC, а так же на эмуляторе AY-3-8910 с данного сайта.

В эмуляторе прилагается прошивка для двух микроконтроллеров Atmega8 (Atmega8A), первая предназначена для эмуляции AY-3-8910, который в схеме идет первым, вторая, для второго соответственно.

Прошивки сами определяют, какой чип должен быть выбран для чтения/записи регистров на основе данных полученных в качестве номера регистра, если выбран регистр с номером 0xFF, то выбирается первый чип, если 0xFE, то выбирается второй (в соответствии с данной информацией).

Таким образом, нужно просто запараллелить 2 микроконтроллера и объединить их звуковые выводы с помощью резисторов (примерно 10К).

Соответствие выводов у микроконтроллеров такое же как у двухканальной версии эмулятора.

Частота кристалла выбирается с помощью конфигурационного файла прошиваемого в EEPROM, есть конфигурации от 20 до 40МГц.

Примерная схема подключения вместо обычного эмулятора

turbosound_circuit

Скачать прошивку v26.1>> AY_Emul_TurboSound_2ch_26_1_hi-z.zip (Версия с HI-Z состоянием)

 

PS: к ZX-Spectrum подключается так же как обычный чип AY-3-8910, ничего дополнительно ставить не нужно.

PPS: эмулятор проверен, работает замечательно, на реальные ZX-Spectrum лучше ставить HI-Z версию, кварц достаточно поставить только один, подробнее смотрите схему в архиве. Резисторы лучше ставить 1К а не 10. Далее выход подключается к RC фильтру

filter_new

Эмулятор TurboSound: 21 комментарий

  1. Доброе время. Пытаюсь срастить эту схему с Ленинградом 3. Сделал на soic (с учетом распиновки), подключается совместно со схемой расширения памяти сходной но немного отличающейся от Вашей (к сожалению как прикрепить тут ее не знаю). Выбор эмулятора сделан точно так же с ИД7 на ЛА3, кварц один на 25 мгц (оба чипа вроде при программировании шились и определялись без сбоев). В результате по включению питания с установленными двумя чипами ленин чаще виснет но иногда вываливается в sos 48 (этого не наблюдалось при установке только одной (первой) меги. После сброса кнопкой «print» (у меня без wait контроллер клавы p/2) устойчиво входит в sos128 (велика частота кварца на мегах?). Тест 4.03 видит AY но порт #BFFD incorrect (так и должно быть?). Ошибок озу 4.03 не находит но в aumt ошибки есть (когда меги не были установлены ошибок он не давал).

    1. Тут 2 варианта.
      1. Не тянет какая-то из мег 25 МГц, можно попробовать 24 поставить или иногда может даже с 27 лучше работать.
      2. Конфликт с портом #7FFD сделанным по упрощенной схеме, может цеплять #BFFD

  2. Тогда поищу 24 у наших барыг.
    Как это можно проверить?
    Смотрю схемы подключения AY практически замешиваются сигналы те же что и на логике и на ИД7 ведь как то же оно работает. На первый ленин подключали вроде, а там с дешифрацией совсем не айс. К сожалению схему подключения хотя бы на ленин 2 найти не могу…..

      1. На 24 мГц завелось. Старт в sos128 при включении стабилен (при сбросе с клавы тоже). Aumt — 32 цикла без ошибок. Тест 4.03 так же не дает ошибок памяти, но на счет AY так же ругается на #BFFD, при проверке регистров AY пишет «однако проверь его подключение». Звук пока не проверял надо кабелек для подключения сделать (может сделаю завтра хорошо бы что то эталонное послушать если вдруг заработает вот только что не знаю). A14 A15 заведены на ИД7 ноги 2-3 соответственно (вызванивал напрямую с z80 — приходят, залипух думаю так же нет) . Если дадите мыло могу сбросить свою схему может углядите что свежим взглядом.

  3. Автору: музыка в деме Across the Edge играет неправильно. В самом начале слышно, что бас некорректен.
    Что очень опечалило. :(((
    И отсутствие возможности полноценного чтения регистров ау тоже радости не придало. :(((

    Версия прошивки 26.

  4. Hello,

    I want to built this turbosound emulator and I have few issues. I have build pcb (from https://github.com/andykarpov/turbosound28p) and I want to use 2 x Atmega328p with 27MHz quartz. I want to ask for help for programming chips. In all files I found only HEX for Atmega8. I downloaded asm source AY_Emul_Version26_0 to compile for 328p, but I don’t know which settings should I made for each chip. Can someone please help me with this ?

    Thanks in advance

  5. Добрый день! Последнее время китайцы под видом Atmega8A присылает что угодно: и Atmega88 и Atmega48. Большущая просьба, можете ли, пожалуйста, собрать прошивки Эмуляторa TurboSound и для Atmega48 и Atmega88? Или выложить исходники? Заранее большое спасибо и респект за Ваш замечательный проект!

  6. Доброго времени !

    Очень интересный проект, очень хочется его реализовать, причем есть желание прикрутить его к Вектор 06Ц.
    Очень интересны две вещи, исходники для конкретного решения, на сколько я понял по HEX файлам, они хоть и не много, но все же отличаются от исходников AY-8910.. И второй вопрос, Чем компилить эти исходники, что использовал автор конкретно, и где взять фьюз для атмеги8 ?
    Заранее благодарен за ответ !

  7. С фьюзом разобрался, конфигурационный файл нашел под необходимую частоту. Актуален вопрос про исходники и чем их компилить. Заранее благодарен !

  8. Хотя с фьюзом я тоже поспешил выводы сдеать … То что я конвертирую в BIN из файлов конфига в архиве имеет 5 байт, тога как фьюз Атмеги 8 должен состоять из трех. Первые два байта это 00 и 01, далее два меняющихся байта, и FF. Что из этих байт что означает, желательно бы получить пояснения, чтобы не напортить атмег…

  9. Вот код обнаружения:
    ld de,#ffbf
    ld bc,#fffd
    ld hl,#fe00

    ei: halt: di
    out (c),h ;chip1
    out (c),L ;reg 0
    ld b,e
    out (c),c ;val #FD
    ld b,d
    out (c),b ;chip2
    out (c),l ;reg 0
    ld b,e
    out (c),h ;val #FE
    ld b,d
    out (c),h ;chip1
    out (c),L ;reg 0
    in h,(c)
    out (c),b ;chip2
    out (c),L ;reg 0
    in a,(c)

    xor h
    jr nz,gotcha
    ld a,4
    inc h
    and h
    gotcha

    ; 0 — no chip (FF FF)
    ; 4 — single AY (FE FE)
    ; 3 — double AY (FD FE)
    ; 1 — TS, no 1st (FF FE)
    ; 2 — TS, no 2nd (FD FF)

Добавить комментарий для Алексей Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *