К вопросу об адресации
{}С.Филимонов, 1999
Эти короткие заметки навеяны статьёй
"О подключении внешних устройств к ZX
SPECTRUM", опубликованной в "Полесье" |13.
Действительно, как пишет SSSR, автор
этой статьи, - при подключении нового
внешнего устройства (ВУ) к компьютеру
пользователя иной раз ждёт большой облом.
Причину этого автор видит в том, что каж-
дое устройство ввода-вывода в компьютере
при активизации сигнала -IORQ считает сво-
им долгом засунуть на шину данных всякую
отсебятину.
Должен заметить, что это утверждение не
вполне корректно, поскольку процессор, об-
ращаясь к любому "устройству ввода-выво-
да", активизирует не только сигнал -IORQ,
что, собственно, свидетельствует о работе
с ВУ, и, даже, не только адрес этого само-
го устройства, но и ещё один из сигналов
-RD или -WR, говорящих о чтении из
устройства или записи в него, соот-
ветственно.
На основании вышеизложенного можно ска-
зать, что указанных конфликтов, по идее,
возникать и не должно было бы, но (из-
вестно, как у нас всё делается), экономя
на каком-нибудь корпусе микросхемы, наши
"славные" разработчики зачастую делают
настолько грубую дешифрацию портов, что
добавление к такому компьютеру любого ВУ
сопряжено с переделками, иногда значи-
тельными, самого этого компьютера.
И вот, - продолжает SSSR, - победа в
этом конфликте между ВУ зависит от их при-
оритета, обусловленного, в свою очередь,
схемной реализацией конкретных моделей
компьютеров и ВУ.
Но как прикажете понимать это выражение
- "приоритет"? Что, Sound Drive - более
важное устройство, чем, скажем, ZX Lprint?
Или, может быть, имелось в виду, что "бо-
лее высокий приоритет" имеет ВУ, у которо-
го на выходе стоит более мощная микросхе-
ма? А может, то, у которого наиболее "кри-
вая" дешифрация адреса выборки?..
В одном из компьютеров заводского (!)
производства я видел настолько грубую де-
шифрацию Kempston Joystck'а, что при оной
компьютер вообще не должен был бы рабо-
тать. Но он работал! Как? А очень просто -
данные с порта на шину данных шли через
резисторы, "гасящие" конфликты. (Прямо-та-
ки напрашивается аналогия с попавшим
как-то ко мне в ремонт китайским плейером,
в котором горомкость регулировалась пере-
менным резистором, стоявшим последователь-
но с элементами питания).
Ещё один пример такого подхода связан с
упопинанием в статье схемы контроллера
kempston-mouse, опубликованной в "Оптро-
не" |13 (за что SSSR'у, конечно, спасибо).
Ведь то, что SSSR вынужден был "позаимс-
твовать" из нашей схемы два входных триг-
гера, как раз и было вызвано недобросо-
вестностью "фирменных" разработчиков!
Весь корень зла - именно в подобном на-
плевательском отношении "фирмачей" к своим
детищам.
В качестве пути решения проблемы SSSR
предлагает при выборке одного из ВУ блоки-
ровать все остальные, чтобы они не "пута-
лись под ногами". Выгоду от этого он видит
в том, что, в отличие от корректной дешиф-
рации ВУ, здесь не требуется лепить на не-
го десяток-другой диодов или несколько
корпусов мелкой логики, да к тому же -
вести широкий шлейф, перегружая адресную
шину.
Означенную блокировку портов ввода-выво-
да предлагается осуществлять сигналом
IORQGE.
Что ж, в каком-то частном случае, это,
может быть, и поможет. Но! Если сигнал
IORQGE берётся с каждого из подключённых к
компьютеру ВУ, то возникновения конфликта
не избежать: при грубой дешифрации адреса
этот сигнал будет активен одновременно от
нескольких ВУ.
Поэтому, на мой взгляд, совершенно не
надо ничего блокировать! Каждое ВУ имеет
свой адрес, который должен корректно выби-
раться.
Только лишь исключительно правильная,
подробная дешифрация адреса может решить
эту проблему.
──══════════──