|
ZX Pilot
#35
27 ноября 1999 |
|
Hard & soft - безглючная схема подключения музыкального сопроцессора AY-8910.

H A R D A N D S O F T
──────────────────────────────────────────
(C) MISHEL
Как мне надоело слушать реплики друзей
типа: "Ха, зависла!", а вот еще: "М-даа!"
или еше хуже: "Да продавай ты свой глючный
комп, купим тебе нормальный!". Ничего по-
добного - если компьютер виснет, это не
значит, что он плохой. Просто он неперева-
ривает некоторые программы и по этому у
него несварение памяти.
Продолжаться так дальше не могло. Все
эти наезды подтолкнули (толкнули) к тому,
чтобы разобраться в чем тут дело.
Позагружав виснущие проги выяснилось,
что если отключить музыку, то они работают
нормально. Вывод: выбрасываем музыкалку и
работаем без глюков.
Зная, что истина где-то рядом и, сделав
компьютеру харакири, после покапавшись в
вывалившихся внутренностях, составил схему
подлючения музыкалки по дорожкам, за не-
имением оной. Так подключается у меня:
DD1.4
11┌───┐
А14 ────┬┤ле1│13
││ █──────────────┐ DD1.1
└┤ │ │2┌───┐
12└───┘ └─┤ле1│1 BC1
____ 8┌───┐ 3│ █─────
IORQ ─────┤ле1│10 ┌┤ │
9│ █─┐ __ │└───┘
A1 ───────┤ │ │ WR 5│┌───┐
└───┘ │ ───────┤ле1│ BDIR
DD1.3└─────┐ 6││ █─────
DD2.3 DD2.4│ DD2.1┌┴┤ │4
9┌───┐ 12┌───┐ │1┌───┐│ └───┘
A15 ────┤ла3│8 ┌┤ла3│ └─┤ла3││ DD1.2
10│ █──┤│ █┐ 2│ █┘3
A13 ────┤ │ └┤ │└──┤ │
└───┘ 13└───┘11 └───┘
Чтобы разобраться как работает схема,
пришлось пораскидывать порты обращения по
битикам:
А15 А0
#FFFD=1111111111111101
#BFFD=1011111111111101
системник для савнения
#7FFD=0111111111111101
15-й бит отвечает только за запись дан-
ных в выбранный регистр.
Как работает схема распиноваться не бу-
ду - больно сложно, но нарисую интересную
табличку как происходит запись и чтение
AY:
запись чтение REC данных перевод D0-D7
РЕГИСТРА в рег. у AY в Z-сост.
BC1 1 1 0 0
BDIR 1 0 1 0
УВАЖАЕМЫЕ КОДЕРЫ, ПОЛЬЗУЙТЕСЬ В ВАШИХ ПРО-
ГРАММАХ ПОЛНОЙ ДЕШИФРАЦИЕЙ ПОРТОВ!
Пораскинув мозгами (раскидывать приш-
лось около трех дней) до меня дошло, что
программы висли из-за того, что при обра-
щении к другому порту при неполной диши-
фрации почему-то не срабатывала защита от
совпадения с другими портами на элементе
DD2.1 в итоге музыкальный процессор заби-
вал шину данных своими даннымие, происхо-
дили (нежелательные моменты для цифровой
техники, когда два выхода объединяются в
один, при чем с разными логическими состо-
яниями) маленькие, но очень страшные ко-
роткие замыкания, из-за которых происходил
почти аппаратный сброс компьютера!
Поизвращавшись вдоволь, я все-таки на-
шел недостающий сигнал в этой схеме. Это
М1, что это за сигнал - я не знаю, но в
итоге получилась небольшая доработка, за-
ключающаяся в добавлении сигнала М1 в де-
шифратор порта.
Для этого нам понадобятся (нет, молоток
нам не нужен, но если эта мысль вас не по-
кидает, то можете ею воспользоваться :-)
два кусочка провода и паяло:
1) разрываем дорожку, которая объединя-
ет входы элемента DD2.4 так чтобы осталась
связь одного входа с выходом DD2.3 (8).
2) входы DD2.2 объединяем и подаем на
него сигнал М1.
3) подаем сигнал с выхода DD2.2 (6) на
свободный вход DD2.4.
Если же у вас схема другая и нет свобо-
дного элемента то придется взять микросхе-
мку ли1, ла3, лн1, 2, 3, короче, что у вас
есть и собрать простенькие схемки:
1┌───┐ вместо А15
А15 ────┤ли1├───────
М1 ────┤ │3
2└───┘
1┌───┐ 4┌───┐
А15 ────┤ла3│3 ┌┤ла3│6 туда-же
2│ █────┤│ █─────
М1 ────┤ │ └┤ │
└───┘ 5└───┘
После доработки я досмотрел-таки демку
"CONDOMMED", которая страшно висла и почи-
тал нелько газет, которые висли, если их
просматривать по строчкам.
Буду рад если эта доработка кому-нибудь
да поможет.
Разбрасывался мозгами Mishka, добрасы-
вал friend Sashka.
P.S. Многие, наверное, замечали, что на
плате компьютера микросхемы для принтера
имеются, а тесты показывают, что его нет
(бывает же). Ну так вот, дело в том, что
разработчики схемы решили так (не будем на
них злиться): если у вас нет принтера, то
зачем вам порт. Чтобы порт заработал, нам
понадобится залуженная пороволочка длиной
примерно 1 см. Запаиваем ее так, как пока-
зано на схеме:
разьем на плате
┌─┐
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
D7 D0
__ ┌──┐ ┌──────
WR───┤ 1├───┤ИР 23
┌─┤ │ └──────
│ └──┘
└──────┐
A2 ┌──┐ │
───┤ 1├─┘
┌─┤ │ Все дело в одном сопротив-
+ИП│ └──┘ лении, которое мы и замыкаем,
│ └──────┐ тем самым устанавливая на вхо-
█ ┌──┐ │ де микросхемы логический "0" и
─┴───┤ 1├─┘ разрешаем работу порту (т.к.
┌─┤ │ ИР 23 управляется "0"). В этом
│ └──┘ можно легко убедиться, если
__ └──────┐ посмотреть немного левее, на
IORQ ┌──┐ │ схему дешифрации порта. ТМ 2
───┤ 1├─┘ этот тригер из ДОС, а на перк-
┌─┤ │ лючение страниц в ПЗУ если ДОС
│ └──┘ то порт не работает.
└──────┐
┌────┐ │
│ТМ2─│ │
│ Q■─┘
└────┘
Другие статьи номера:
Похожие статьи:
В этот день... 1 ноября
Dnieprobite #03,
ACNews #13,
ZX Time #10,
Echo #07,
Funeral #1.5,
Info Guide #02,
ZX Guide #02,
Plutonium #14,
Crossroads #07,
ZX Club #09,
Black Crow #02,
Spectrum Expert #01,
C-Net Week #03,
Maximum #46,
Review #01,
Anigdot #46,
Nicron #05,
Spectrum Land #02,
Crysral Dream #01,
Platinum #02,
Oberon #02,
Echo #01,
Emulate #03,
ZX Format #01,
Speccy #02,
ZX Panorama #01