AY/YM/TS test v0.1



Предлагаю вашему вниманию небольшой тест, написанный как для проверки работоспособности плат turbosound (NedoPC), так и самих чипов AY/YM. Думаю, он будет полезен не только владельцам/изготовителям TS, но и тем, кто сейчас приобретает YM-чипы из Китая.

Предыстория

Я давно хотел обзавестись классическим турбосаундом, но в прошлом году, связавшись с CHRV (Роман Чунин, разработчик TS/TSfm) выяснил, что платы не производятся уже много лет, и даже свои личные остатки он давным-давно распродал/раздарил всем желающим. Не имея желания копаться в барахолке zxpk, после некоторых раздумий было принято решение скачать принципиальную и монтажную схемы, файл в формате PCAD для производства и заказать изготовление знакомым электронщикам. Скинувшись с несколькими заинтересованными спектрумистами (которые так же, как и я давно хотели обзавестись этим девайсом), мною были закуплены все необходимые детали, распаяны переходники и заказано изготовление самих устройств. Так появились на свет 10 плат классического TurboSound (revision C), нашедшие своих хозяев на минувшем Chaos Constructions'2017:)

Но прежде чем отдавать платы людям, их необходимо было как следует проверить. Признаться, я так и не смог найти ни одной программы, тестирующей TS на более серьёзном уровне, чем простая проверка на его наличие/отсутствие — а потому распахнул ноутбук, обложился справочниками и загрузил ассемблер. Результат перед вами.

Как с этим жить

Разумеется, долго и счастливо. Счастье наступает практически сразу после загрузки и запуска: первым делом определяется звуковая конфигурация пользовательской машины. Имеется 5 вариантов:

    — есть TS, доступны оба чипа;
    — есть TS, доступен только первый (2nd chip is disabled)
    — есть TS, доступен только второй (1st chip is disabled)
    — нет TS, на борту всего один чип (single AY/YM soundchip)
    — на компе вообще нет AY, либо есть TS, но оба чипа дохлые (отсутствуют) — no soundchip



В последнем случае программа дождётся нажатия на любую клавишу и сделает вам reset, потому что раз нет звуковых чипов — то и говорить не о чем.

Первый тест довольно грубый, и основан на проверке содержимого нулевого (R0) регистра обоих чипов. Дальше, в зависимости от определённой ранее конфигурации, происходит тщательный подсчёт контрольных сумм каждого регистра (причём только тех битов, которые реально отвечают за формирование звука):



Обратите внимание: в случае обнаружения TS проверка контрольных сумм будет произведена для обоих чипов вне зависимости от того, определился на первом тесте только один чип или оба — это сделано специально (мало ли, может у конкретного экземпляра сбоит только один бит одного регистра...)

Далее в каждый канал каждого найденного чипа будет последовательно выведен чистый тон, все 32 градации белого шума и два типа огибающей — C и E. Каналы подписаны как буквенно (ABC), так и по расположению в пространстве (Left, Right, Middle). Дабы не оглушить вас или ваших соседей (если вы забыли отрегулировать громкость на усилителе) для всего, чего возможно, сделан fade-in/fade-out:)



Далее, если определился только один чип, вы вернётесь в начало. Если же всё прошло благополучно, вас ждёт последний тест — проверка номиналов выходных резисторов каждого чипа (для оценки баланса громкостей каждого канала). Проверяем «на слух» — для этого в каждый из трёх каналов (ABC) выводится чистый тон на максимальной громкости с попеременным переключением чипов. Если номиналы гуляют, один из чипов будет звучать тише:



На десерт прозвучит turbosound-композиция Stellar one by Cj Splinter & MmcM (1 место с DiHalt'2011 ZX-Spectrum music compo).

Спасибо всем, кто заинтересовался проектом, и самой идеей тестирования AY/YM-чипов. На текущий момент версия программы имеет номер 0.1, и все реализованные в ней тесты придуманы мной. Я реально не знаю как ещё можно проверить работоспособность turbosound и отдельных микросхем AY/YM, так что если у кого-то будут идеи на эту тему — смело пишите в комментарии, я постараюсь их реализовать.

Отдельное спасибо Диме Quiet за терпение, ожидание и поддержку! Изначально тест не предназначался к публикации и существовал в виде голого ассемблерного кода для личного пользования, но именно поддержка Димы подтолкнула меня к доведению его (теста) до ума:)

Скачать

27 комментариев

avatar
Показано организаторам любой демопати где есть спектрум.
В обязательном порядке
Для решения извечного вопроса
  • Nuts_
  • +6
avatar
всё-таки проглядел ошибку в последнем тесте — центральный и правый каналы были перепутаны:) пофиксил, файл обновлён
  • bfox
  • +4
avatar
Все ок. Это жизнь :)
avatar
bfox, спасибо тебе огромное за проделанную работу! Очень нужный и важный тест! Надеюсь теперь на патях мы будем меньше встречаться с проблемой, когда какой-то из каналов не звучит. Отдельное спасибо за турбосаунды!!!
  • Quiet
  • +7
avatar
Ай, красавчик! Спасибо за тест!
  • Flexx
  • +1
avatar
  • Quiet
  • +3
avatar
кстати! а для патийного прогона туда бы еще тест бипера добавить. чтоб было всё-в-одном
  • nyuk
  • +3
avatar
это мысль. подумаю
avatar
точно нужно, как пострадавший гарантирую это.
avatar
Спасибо, Олег! Рад за всех, кто наконец обзавёлся турбосаундом ;)
Тест классный и безусловно нужный, очень долго пытался найти подобный для C64, да так и не нашёл.
avatar
Как только TSL вернёт мне Пентевку, сразу прогоню тест на AYX-32 :)
  • Flexx
  • +1
avatar
Спойлер: работает )
avatar
Если бы работало изначально, я бы не посылал пентеву TSL'у ))
avatar
Чувак, это мегакруто! Такой тест давно нужен!
Я тоже попал на непонятки со звуком, и путём долгих манипуляций и телефонных звонков с кодингом на бейсике — выяснился ляп на плате под УМ.
Спасибо!
  • VBI
  • +4
avatar
Угу! У меня такая же ситуация — когда искали багу в звуке, тоже приходилось писать тестовые строки на бейсике. Теперь жизнь станет легче :)
avatar
— нет TS, на борту всего один чип (single AY/YM soundchip)
то есть тест не только для турбосаунда? для обычного пентагона с AY подойдёт?
какая-то совместимость с другими расширениями?
тут вроде три AY народ делал… :)
avatar
Вроде бы больше двух на реальных чипах никто не делал же?
avatar
я не очень пристально слежу за разработками. может просто где-то слышал, или показалось.
а вот кстати тестировать таким образом эмуляторы — пригодится.
avatar
да, для любого компа с AY/YM подойдёт, даже фирменного. с той лишь разницей, что последний тест (ориентированный именно на turbosound) будет пропускаться (программа это учитывает)

совместимости с другими расширениями пока нет, но я готов их добавить, если нужно. присылайте документацию:)

p.s: нашёлся ещё один (надеюсь, теперь уж точно последний) баг с выборкой номера неисправного чипа — на подходе новая версия
avatar
в конце тогда вместо Stellar one добавь какой-нить трек для тех у кого один AY :)
avatar
Ну например спецом для dihalt была закуплена
ZXM-Soundcard Extreme
И gs точнее наверное newgs
avatar
не перегружайте bfox хотелками/железками так сразу.
особенно редкими железками.
avatar
Гитхаб :)
avatar
капец… чего только не придумают:)

внимательно прочитал документацию — с точки зрения AY/TS эта карта полностью совместима с ТS от nedopc, так что проверить её (и микросхемы) можно уже сейчас. а вот поддержку FM, SAA и GS я делать всё-таки не буду, по крайней мере в рамках этого теста… на данном этапе мне интересно лишь классическое звучание AY/YM, так что если где-нибудь в Казани сделают плату на 49 микросхем — я с радостью проверю их все, а всяческие частотные модуляции, sid'ы, sound drive'ы и general sound'ы — это как-нибудь без меня:)
avatar
Возможно ошибаюсь, у меня все жИ как бы не-настоящий TS, но зато хорошо отключать хоть чипы, хоть каналы по одному\оптом.
Так вот, первый и второй чип как бы перепутаны. Когда все 6 каналов сведены в стерео, попробуй догадайсО, какой чип звучит.
Авот когда выходы второго чипа отключены, и при этом первый молчит, а второй работает(судя по тесту) — тут я и задумываюсь, у меня ли перепутано или все же в сабже. На скорость конечно не влияйет, но все жЫ…
avatar
перепутано у меня: я нашёл этот баг ещё в прошлую среду, и уже исправил — но потом была судорожная подготовка к verve и безумные выходные, так что до публикации не дошло… сейчас доделываю версию с бипером + слегка доработал функционал, в этой версии уже будет всё ок.
avatar
Чото подумал, если все так хотят реальных чипов, чо б не сделать девайс в формате «бутерброда».
Плюсы:
— вставляется в панельку, отстутствует шлейф, приводящий шину данных з80 в состояние «кровь-кишки-говно-распидорасило»,
— занимает меньше места в пространстве.
Минусы:
— чуть габаритнее по высоте и совсем чучуть по ширине.
— чипы видимо придется запаивать — панельки особого смысла не имеют (как доставать нижний чип?).
  • tsl
  • +2
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.