Вход

Просмотр полной версии : Новый порт?



Alex_LG
21.12.2024, 18:44
Собрал я TurboSound FM и настала пора подключения к Пентагону и тестов. Схему дешифрации сделал на РТ5 (заведены практически все адреса, кроме А2, А4, А6, А9, А11), т.к. "влепил" туда еще дешифрацию часов и Kempston Mouse. В общем, подключил TS и запускаю демо Lyra II - на заставке тишина, жму 1 и слушаю музыку из ЗВ. Ура, работает! Но при переключении на другие части - полная тишина, а во второй части индикаторы уровня стоят на месте! Пробую другие демки - тишина, на некоторых пробиваются какие-то ритмичные звуки. Запускаю игру Batty с потдержкой АУ - звук есть...
"Если ничего не получается - почитай инструкцию". Нахожу на форуме коротенькую прогу на Бейсике для теста правильности подключения:

10 OUT 65533,12
20 FOR A=0 TO 15 : OUT 49149,A
30 PRINT IN 65533, IN 49149
40 NEXT A
Программа красиво выдает в первой колонке от 0 до 15, во второй - 255. Дешифрация в норме. Запускаю тест 4.3 - говорит АУ на месте, тест каналов норма, но звука нет. Тест TSAYtest_v0.2 пишет все ОК, но ни звука... Нахожу листок по подключению АУ от ВМГ, где есть программка для тестов регистров АУ:

10 INPUT R,D
20 OUT 65533,R: OUT 49149,D
30 GOTO 10
Пробую значения, что приведены для примера (тест шума) - звук есть. Включаю тон, меняю громкость в каналах, меняю частоты - все работает, звук есть! Значит YM2203 рабочие. Запускаю демо - тишина! :v2_dizzy_wall:

:v2_dizzy_vodka4:

Начинаю, от безисходности тыкать анализатором в схему и обнаруживаю, что при проигрывании демок в 99% случаев при А1=0, А14=0, А15=1 (дешифрация АУ по большенству схем, порт BFFD) так же А8=0, т.е. обращение идет не по адресу BFFD, а по BEFD!!!! Отбрасываю от схемы А8 и о чудо - звук везде есть!
Получается, нас обманывали? Кроме портов FFFD и BFFD так же используется BEFD, причем практически во всех демках и плеерах!!!! :v2_conf2: :v2_dizzy_facepalm:

goodboy
21.12.2024, 20:33
Получается, нас обманывали? Кроме портов FFFD и BFFD так же используется BEFD, причем практически во всех демках и плеерах!!!!
это возникло из-за ошибки в описании принципа работы блочных команд процессора.
чаще всего применяется OutD, а она сначала уменьшает B, а потом выводит в порт.
zilog (сравнительно недавно) исправил эту ошибку в мануалах, но в большинстве литературы указан обратный порядок.
при адресации порта через три/четыре адресных линии это не критично.

.........
при полной адресации не будут звучать `цифровые` мелодии.
..........
в LyraII ещё используется и чтение из порта (для работы анализаторов)