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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 17

Тема: Копия по мотивам "музыкальной ячейки Агат" для IBM PC

  1. #1
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Копия по мотивам "музыкальной ячейки Агат" для IBM PC

    Вообщем, давно зрела мысль перенести музыкальную ячейку Агат на шину ISA8 для PC, так как звук этого девайса очень нравится.

    UPD: Первая версия собрана, протестирована, и работает:



    Страница проекта: https://github.com/Tronix286/MuzCell




    Первоначальное сообщение:
    Вот тут демо:



    Единственное, что все время останавливало, так это полное отсутствие софта на PC для этой звуковой карты. Но немного погуглив, прикинув что к чему, в принципе появилась небольшая уверенность, что я смогу для этой муз карты сделать поддержку в плеере DOSMID, в драйверах AIL2 (как это уже было сделано для Creative Music System), так же можно попробовать перенести один из плееров AY-музыки с вектора или Агат, что бы играть тюны AY, так же можно поиграться с ШИМ, что бы просто воспроизводить WAVE файлы.

    Начал рисовать схему, и решил, что будут следующие отличия от оригинальной муз ячейки:
    - не буду делать внешний 8-битный порт. Один фиг к нему никто на ПЦ ничего цеплять не будет;
    - не будет IRQ от таймера одной из ВИ53 и управления IRQ. На ПЦ и так таймер есть, даже не один - если нужны прецизионные задержки никто не мешает повесить свой обработчик прерывания прямо на таймер в DOS;
    - за счет этого высвобождается один канал ВИ53, который заюзаю как еще один тональный канал. У оригинала было 5 тональных каналов, здесь будет 6 тональных канала;
    - будет возможность чтения регистров обоих ВИ53. В оригинале такой возможности не было. Нафига - пока не понятно, но оно не сложно, возможно для авто-детекта карты.

    В связи с этим немного меняется расположение портов, хотя и остается близкое к оригиналу - за счет появления шестого тонального канала сдвинулись порты управления ударными каналами. Перемычка выбора портов на адреса 300,310,320,330,380,390,3A0,3B0, чтоб никому не помешать если что. Распределение портов такое:
    3n0..3n3 - регистры первой ви53 (тональные каналы 1-3).
    3n4..3n7 - регистры второй ви53 (тональные каналы 4-6).
    Порты 3n0-3n7 доступны как на запись, так и на чтение;
    3n8..3nD - управление блоками коммутации тональных каналов.
    3nE..3nF - управление ударными каналами.
    Порты 3n8-3nF доступны только на запись.
    Последний раз редактировалось Tronix; 02.03.2022 в 17:55.

  2. Эти 7 пользователя(ей) поблагодарили Tronix за это полезное сообщение:

    ALS (20.01.2022), creator (18.01.2022), Doronetty (03.07.2022), randomizer (08.03.2022), svofski (18.01.2022), UA3MQJ (11.04.2022), Willy (18.01.2022)

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

  4. #2
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нарисовал декодер адресов, немного потупил над системой клоков: плате нужно две основные частоты - 1МГц на счетчики ВИ53 и 64КГц на генератор шума. В оригинале у Агата есть 2МГц на системном разъеме, поэтому они берут две штуки ИЕ5 и на них все делают как надо. В ПЦ 2МГц нету, зато есть 14МГц, которые хорошо бы сразу поколоть на 14, что бы получить 1 МГц, но я не придумал как изящно это сделать не нагородив кучу счетчиков и AND'ов вместе с XOR'ами. Поэтому не долго думая поставил 555ИЕ2 с одним лог элементом И, которая 14МГц делит на 7, давая 2МГц точно такой же скважности как и в Агате. В Агате, кстати, они 2МГц на системном разъеме получают из тех же 14,3МГц с помощью 155ИР3 и NOT, но такую лютую дичь я не решился повторять. В общем, наверное не оптимально, но работать должно я думаю:



    Так же небольшая затупка случилась в подключении GATE0,1,2 у обоих ВИ53. Где-то я краем уха слышал, что после подачи питания ВИ53 начинает считать и из-за этого динамики в каких-то компах пищат после включения. В оригинальной плате GATE'ы управлялись через тригер на порту nF, у меня же в связи с появлением шестого дополнительного канала этот порт занят, и вообще все порты от 0 до F заняты. С другой стороны, если начальное состояние триггеров 555ТМ7 будет 0, то аналоговые коммутаторы должны быть выключены, и звук не должен идти на выход. Поэтому даже не знаю, просто GATE тупо что-ли на +5В повесить и не городить огород?

  5. #3
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Значит решил все-таки GATE'ы у ВИ53 завести через триггер, линия сброса которого связана с сигналом RESET, примерно так же как и в оригинале, что должно нам дать после включения запрет счета, и соответственно, тишину на выходах OUT обоих ВИ53:



    Единственное, так все порты уже заняты, пришлось разрешающий бит управления GATE'ами впихнуть в порт управление ударным каналом 8.
    Генератор ударных, канал 8:

    • D0 - частота 1.
    • D1 - частота 2.
    • D3 - длительность.
    • D4 - пуск.
    • D7 - = 1 - запрет работы всех таймеров/счётчиков.


    Думаю не особо помешает, просто при инициализации нужно будет дернуть бит D7 у ударного канала 8, что бы включить GATE. Дальше можно будет работать по классической схеме Агат'овской ячейки. Ну и раз поставили сюда триггер 555ТМ2, то и клоки немного переделались - убралась одна ИЕ5, вместо нее поставилась вторая половинка триггера ТМ2:



    В принципе, с цифровой частью схемы вроде по большому счету всё, теперь просто нудное перерисовывание аналоговой части.

  6. #4
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вроде бы закончил расстановку компонентов.. Наверное приблизительный вид такой и кардинально меняться уже не будет:



    Доска получается, конечно, солидная по размеру - 118x275,25 . Но ужимал как мог, и так монтаж очень плотный, компоненты будут впритык друг к другу стоять.

  7. Эти 4 пользователя(ей) поблагодарили Tronix за это полезное сообщение:

    creator (03.02.2022), Doronetty (03.07.2022), Wierzbowsky (03.02.2022), Willy (03.02.2022)

  8. #5
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    После недели мучений, верчения компонентов, кое-как, но ячейка вроде развелась наконец. Аналог - ручками, а вот цифру руками не осилил, хотя честно пробовал неоднократно. Уже все шло к тому, что бы делать 4 слоя, но все-таки вывел на двух полу-руками, полу-автороутером. В любом случае, версия первая, пробная, и скорее всего найдутся косяки в схеме, поэтому хотя бы так для начала:



    Теперь не могу загрузить герберы на jlcpcb - у них бага какая-то на сайте - загрузка файла происходит, индикатор загрузки бежит, а потом - всё, файл не появляется в проектах. Может новый год, может быть завтра аклемаются и починят. Ради интереса грузанул в резонит - 1 штука примерно пять с копейками тысяч.

  9. #6
    Veteran Аватар для AlexBel
    Регистрация
    02.01.2007
    Адрес
    Волгоград, Россия
    Сообщений
    1,325
    Спасибо Благодарностей отдано 
    156
    Спасибо Благодарностей получено 
    126
    Поблагодарили
    76 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я только что на jlcpcb загрузил и оформил заказ - всё прошло нормально. Видимо, починили. Кстати, у меня при работе с jlcpcb нередко бывают сильные тормоза, скорее всего, из-за провайдера. Включаю работу через прокси - всё начинает работать нормально.

  10. #7
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexBel Посмотреть сообщение
    Видимо, починили.
    Да, сегодня удалось заказать 5 штук. Видимо глюк какой-то был...

  11. #8
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пока платы едут из китая, написал тест на турбопаскакале для данной железки:



    Интерфейс в наглую срисовал с оригинального Агатовского теста авторства "Ravodin" aka "tmptmp15" aka "Voldemar0", прямо с видео из ютуба. Потому что очень лаконично, простенько и со вкусом, мне нравится. Саму прогу накидал на Turbo Pascal. Так что теперь будет удобно "потыкать в нее палочкой" после сборки ))
    Последний раз редактировалось Tronix; 13.02.2022 в 10:16.

  12. #9
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Переместил проект сюда: https://github.com/Tronix286/MuzCell

    Доехали наконец платы. Доска получилась конечно внушительных размеров:


    Начал потихоньку собирать:


    Собрал основную цифровую часть, проверил схему генераторов частот на 555ИЕ2, 555ИЕ5 и 555ТМ2 - всё отлично работает, выдает необходимые 1,021 МГц на тактирование ВИ53 с шириной импульсов близкой к 50%, и 63.8 КГц для генератора шума. А самое главное, работает управление обоими ВИ53, значит я даже не накосячил в схеме декодера адреса.



    Регистры ВИ53 доступны как на запись, так и на чтение. Выходы ВИ53 управляются из тестовой утилиты, частота полностью соответствует расчетной из программы управления. Что же, далее буду собирать один тональный канал с его микшером и делать выходную часть.

  13. #10
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Фух, допаял ячейку. Выводных деталей здесь конечно различных номиналов, я вам доложу.... Я столько не помню когда последний раз паял. Но что поделаешь, аналог-с... Вот, с пылу с жару, не отмывал еще:







    Я переживал, что монтаж будет очень плотным, но опасения не оправдались - все компоненты очень хорошо разнесены друг от друга, ничто не жмется впритык к соседке. Для всех микросхем тоже можно установить панельки, и они не будут ничему мешать (но я не стал ввиду отсутствия панелек).





    Сегодня протестировал генератор шума, ударные каналы - работают. То есть фактически, получается что все работает. Удивительно, но плата без косяков развелась, и схема тоже.

    Небольшая errata (список замеченных ошибок) по итогам сборки платы v1_0_0:
    - На схеме, и как следствие, шелке не правильно обозначена полярность C43, C47, C58;
    - На схеме неверная маркировка U12 - U19. Указано 74LS373, должно быть - 74LS374;
    - На схеме неверная маркировка U22. Указано 176ИЕ10, должно быть - 176ИР10.

    Ну теперь самое трудное - софт....
    Последний раз редактировалось Tronix; 02.03.2022 в 17:51.

  14. Эти 4 пользователя(ей) поблагодарили Tronix за это полезное сообщение:

    AlexBel (01.03.2022), ALS (01.03.2022), LeoN65816 (02.03.2022), tnt23 (05.03.2022)

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. "Агат" и эмулятор дисковода Gotek
    от AlexBel в разделе Агат
    Ответов: 13
    Последнее: 17.09.2021, 19:49
  2. Ответов: 172
    Последнее: 28.11.2017, 13:28
  3. Ответов: 51
    Последнее: 11.08.2014, 10:40
  4. (Москва) ищу книгу Абель "asm для ibm pc"
    от Жека:) в разделе Барахолка (архив)
    Ответов: 20
    Последнее: 20.03.2009, 09:00
  5. По мотивам "Как написать игру..."
    от TomCaT в разделе Игры
    Ответов: 2
    Последнее: 04.12.2008, 13:56

Ваши права

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