PDA

Просмотр полной версии : Нужно протестировать AY.



KTSerg
30.09.2023, 14:36
Свершилось.
Получил сегодня (заказанный) кварц на 14МГц, и заменил стоявший в плате кварц 12МГц.
Первый раз, с 90-ых, услышал, как моя "звуковая карта" работает.
Но появился резонный вопрос, как её протестировать?
Есть ли тесты для AY ?
Понятно, что можно музыку запустить, так и сделал. Но на слух определить все ли каналы работают, я не смогу.
Ещё читал, что есть схемы подключения, при которых не читается порт 15, с какими-то последствиями...
Можно конечно, осциллогаф или анализатор, подключить, но нет гарантии, что выбранная композиция протестирует всё, что нужно.

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

Во вложении тест AY для Вектора. AY на "ВУ", на портах 14h, 15h.
Настройки AY:
Частоты каналов А ~500Гц, В ~1КГц, С ~2КГц.
Громкость всех каналов = 7.
Огибающая - (повторяющиеся) "продолжение" и "нарастание" R13 = 0Ah, период огибающей R12R11 = 9FFFh.

Управление:
"1", "2", "3" - вкл/выкл каналов А,В,С.
"4" - вкл/выкл огибающей громкости.
"0" - mute. в регистр микшера 7h записывается 3Fh.

На скриншоте:
постоянно читаемое состояние регистра 07h
Прочитанное при старте значение всех регистров (с маркерами по краям).
Постоянно читаемое значение регистров R8,R9,R10 из порта 15h.
На экране реала, кроме значения регистра 07h, считанного при старте, изображение соответствует Emu. На реале (ym2149F) при старте, значение регистра 07h = 0.

На реале:
Интересный эффект с активной огибающей, при выбранном периоде огибающей, в динамике постоянно слышны щелчки. И осциллогафом видно, что при включенной огибающей, громкость изменяется скачками. Видимо щелчки совпадают с моментом изменения громкости. При активных "mute" и огибающей - на осциллографе, частот тона не видно, но громкость продолжает меняться скачками, по характеристикам огибающей.


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

Добавлено управление:
"+" - увеличение громкости активного канала.
"-" - уменьшение громкости активного канала.

Изменено управление:
"4" - вкл/выкл огибающей только у активного канала.

Improver
30.09.2023, 14:51
Кстати, хороший вопрос -- надо бы сделать простой тест для АУ, с переключением каналов и выводом тестовых частот, с воспроизведением хорошо узнаваемого музыкального фрагмента, чтобы можно было на слух легко определить его работу. Примерно как сделано для ВИ53 в "Тесте устройств"... А если он будет дополнением к "Тесту устройств" -- так вообще замечательно.

ivagor
30.09.2023, 15:06
В музыкалке Indiana Jones (http://caglrc.cc/scalar/ware/107/) есть индикация каналов. Насколько помню по экспериментам с DE1 если нет чтения AY, то индикаторы не будут прыгать. Что касается проверки каналов на слух то она тоже удобна для этого, т.к. каналы вступают по одному и это сопровождается соответствующими движениями индикаторов уровня.

KTSerg
30.09.2023, 15:38
В музыкалке Indiana Jones (http://caglrc.cc/scalar/ware/107/) есть индикация каналов. Насколько помню по экспериментам с DE1 если нет чтения AY, то индикаторы не будут прыгать. Что касается проверки каналов на слух то она тоже удобна для этого, т.к. каналы вступают по одному и это сопровождается соответствующими движениями индикаторов уровня.
Спасибо.
На реале, все "смайлики" прыгают. По каналам, вроде слышно все 3 канала.
Для сравнения, хотел увидеть, как это в эмуляторах выглядит...
Только в "Emu" - смайлики прыгают. В Emu80 и v06x - смайлики неподвижны. Может у меня в конфигах эмуляторов косяки с настройками AY.

ivagor
30.09.2023, 16:18
Ситуация следующая - Indiana читает из 15h. А например FLY (http://caglrc.cc/scalar/ware/104/) из 14h. Похоже Emu и VV поддерживают чтение и из 14h и из 15h, а Emu80 и v06x - только из 14h.

ALS
01.10.2023, 06:53
Свершилось.
Получил сегодня (заказанный) кварц на 14МГц, и заменил стоявший в плате кварц 12МГц.
Как вариант - кварц на 14.318, который можно выпаять чуть ли не из каждой первой материнской платы, модема или звуковушки.

gdv2002
01.10.2023, 09:52
Свершилось.
Получил сегодня (заказанный) кварц на 14МГц, и заменил стоявший в плате кварц 12МГц.
Первый раз, с 90-ых, услышал, как моя "звуковая карта" работает.
Но появился резонный вопрос, как её протестировать?
Есть ли тесты для AY ?
Понятно, что можно музыку запустить, так и сделал. Но на слух определить все ли каналы работают, я не смогу.
Ещё читал, что есть схемы подключения, при которых не читается порт 15, с какими-то последствиями...
Можно конечно, осциллогаф или анализатор, подключить, но нет гарантии, что выбранная композиция протестирует всё, что нужно.

Привет земляк!
Есть в тесте 4.30 и есть отдельный тест для ТС или одной АУ.
Я не за компом, выложить не могу пока.

KTSerg
01.10.2023, 10:08
Привет земляк!
Есть в тесте 4.30 и есть отдельный тест для ТС или одной АУ.
Я не за компом, выложить не могу пока.
Приветствую.
А эти тесты есть в картотеке (Базис) ?
Что-то я таких тестов не помню и не нашел.

gdv2002
01.10.2023, 10:13
Приветствую.
А эти тесты есть в картотеке (Базис) ?
Что-то я таких тестов не помню и не нашел.

Ты есть в телеге?
Тест 4.30 старый и известный, вот тест АУ поновее.
А что за Базис?

ivagor
01.10.2023, 10:27
А эти тесты есть в картотеке (Базис) ?
gdv2002 не обратил внимание, что ты про вектор спрашиваешь. 4.30 (https://zxart.ee/rus/soft/tool/io-handling/system-test/system-test/) это для спека

gdv2002
01.10.2023, 10:33
Да, точно, с телефона не увидел (((

Improver
11.10.2023, 10:42
Вырезал из "Индианы" всё лишнее, оставил только музыку и скачущие смайлики, получился тест АУ на ~6кб. Управление такое же: кнопки 1..6 -- выбор музыки, плюс добавил кнопку 0 -- выключение воспроизведения.

Если кому надо для тестирования, вот архив с исходниками и ROM-файлом: 79605

З.Ы. В эмуляторах VVecror и EMU всё работает, в EMU80 и v06x звук есть, но смайлики не скачут.

KTSerg
11.10.2023, 16:40
Для тестирования, полезно иметь возможность включать/выключать каналы вручную.
Возможно, нужно подобрать мелодию, одноканальную, и адаптировать для всех каналов. Выбирая "вариант" адаптации, будет воспроизводиться/тестироваться только выбранный канал.

Improver
11.10.2023, 18:58
KTSerg, можно сделать как в тесте устройств -- выводить частоты 200Гц, 1кГц и 10кГц по очереди на каждый канал для их проверки, а потом и мелодию. Вот только мелодию тоже надо подобрать простую и пробовать менять местами каналы А и С (канал В -- общий обычно). Есть на примете такая мелодия для АУ?

KTSerg
11.10.2023, 20:02
Я про AY практически ни чего не помню. Что про него читал в 90-ых, уже давно забыл.
Думал, для тестирования будет достаточно просто оставить один канал в любой мелодии, остальное вырезать.
Цель теста ведь не музыку слушать, а наличие выхода звука на канале проверить.
Думал для тестирования будет достаточно отдельного вывода мелодии на каждый канал, и как опцион, 1КГц отдельно на каждый канал, итого 6 кнопок, плюс одна отключение звука - остановка теста.

Improver
12.10.2023, 10:09
для тестирования будет достаточно просто оставить один канал в любой мелодии, остальное вырезать.Там всё немного сложнее... Чтобы переключать каналы во время воспроизведения мелодии надо как-то патчить проигрыватель, либо саму мелодию. А вот просто выводить тоны в определённый канал проще -- описание управления АУ есть в "Вектор-Байт" (выпуск 17), можно что-нибудь сделать и дополнить тест.

ALS
12.10.2023, 10:21
А что, бывает так, что синусоида в одном канале работает, а в другом напрочь отказывается ?
Так, может, воспроизводить одну-единственную мелодию, в которой задействованы все три канала, а железными тумблерами включать/выключать выход каждого из них ?
Итого, кнопка пуск и аж три тумблера. Всё.

Improver
12.10.2023, 13:04
А что, бывает так, что синусоида в одном канале работает, а в другом напрочь отказывается ?На ВИ53 бывает, а про АУ не скажу -- нет опыта использования...


железными тумблерами включать/выключатьЭто ж не спортивно. :)

ALS
12.10.2023, 13:39
Это ж не спортивно. :)Зато по-пацански )

KTSerg
12.10.2023, 13:57
А что, бывает так, что синусоида в одном канале работает, а в другом напрочь отказывается ?
Так, может, воспроизводить одну-единственную мелодию, в которой задействованы все три канала, а железными тумблерами включать/выключать выход каждого из них ?
Итого, кнопка пуск и аж три тумблера. Всё.
Это не универсальный метод тестирования.
Есть эмуляторы Вектора, есть Вектор на ПЛИСЕ. В них тумблеры не воткнуть.
Изначально, думалось, что для тестирования AY нужно, что-то записать в регистры, и потом прочитать из регистров, вывести результат чтения на экран. Это позволит без привязки к "железу" понять, фунциклирует AY или он не правильно подключен.

ALS
12.10.2023, 20:31
KTSerg
Я предположил, что AY обычно не запаивается жестко в плату, а установлен в панельку.
Поэтому некая железная "прокладка" с тумблерами будет, наверное, все-таки проще и универсальней.

Improver
13.10.2023, 11:12
Я предположил, что AY обычно не запаивается жестко в плату, а установлен в панельку.Я даже более скажу: в случае Вектора чип АУ располагается на внешней плате (если он присутствует физически, а не эмулируется в ПЛИС), там можно прямо потыкать щупами по выходам микросхемы, без физического отключения. Но в случае эмуляции программный метод переключения будет единственно возможным.

KTSerg
14.10.2023, 12:22
Немного побаловался с выложенными исходниками.
Сделал вывод ~500Гц, ~1КГц, ~2КГц на каналы А, В, С - соответственно. Вкл/выкл выхода кнопками 1, 2, 3 - соответственно.
Заметил, что в разных эмуляторах, при запуске, ay имеет разные настройки по умолчанию.
Например, сначала воткнул значение громкости "16" - в некоторых эмулях услышал частоты на выходах, в некоторых - нет.
Потом сообразил, что значение громкости "16" включает зависимость громкости от состояния другого регистра (я так понял).

Добавил в тест чтение всех регистров AY до начала его программирования.
В эмуляторах Emu80 и v06x - все регистры в "00".
В эмуляторах Emu и vv - инициализирован ("3F") регистр микшера (07) - выключены все каналы и порты в "FF".

На моём реале (ym2149F) только порты "FF", остальное в "00". Даже микшер при включении - "00".

KTSerg
15.10.2023, 11:53
В первом сообщении темы выложил текущий тест AY с описанием и скриншотом из Emu.

KTSerg
17.10.2023, 10:56
Почему-то надеялся, что из порта 15h можно прочитать текущую громкость каждого канала, с учётом всех составляющих, ну типа текущее значение АЦП выходного канала.
Но оказалось, что из порта 15h читается просто значение выбранного регистра громкости.
Облом-с...

И ещё, я не изучал детально тему AY...
Два встроенных порта используются для возможности воспроизведения wav-файлов, если подключить к ним резисторные ЦАПы ?

Improver
17.10.2023, 18:54
оказалось, что из порта 15h читается просто значение выбранного регистра громкости.
Облом-с...Ну не такой уж и большой облом, в плане тестирования -- если оттуда хоть что-то читается, кроме FF, то это уже говорит о наличии АУ. :)

KTSerg
23.10.2023, 06:18
Хотел узнать, как на AY воспроизводятся файлы WAV-формата.
Нашел в каталоге программу "Wave AY" http://caglrc.cc/scalar/ware/606/
На эмуляторе Emu80 зависает, полная тишина. Думал с чтением портов AY проблема, но оказалось, что в проге нет чтения портов AY.
А отладчик показывает, что код крутится на чтении таймера ВИ53. На нём сделана задержка между программированием регистра громкости AY.