(C) Е.Милун (PAUL ATRIDES).
Подключение модема "АЛЕГРО" (C-DOS).
══════════════════════════════════════════
А сейчас, дорогие наши читателеи, мы
расскажем вам о том, как подключить модем
"АЛЕГРО" к вашему компьютеру. Поскольку в
народе уже прочно укоренилось другое его
название - "C-DOS", то в дальнейшем я буду
придерживаться его.
Для начала, подтвержу высказывания
всем известного умельца-железячника гос-
подина Кирилла Громова - со Scorpion'ом C-
DOS модем не работает. (О, не стоит пу-
гаться, _теперь_ работает. О том,как этого
добиться - ниже.) Но...
Но, виноват в этом отнюдь не Scorpion,
как утверждает этот господин, а... сам C-
DOS. И не работает он не только на Scor-
pion'ах, но и на всяком компьютере, где
реализован нормальный порт #FF.
Почему же это происходит ? Давайте раз-
берёмся. Любое внешнее устройство, хоть
сколько-нибудь претендующее на это звание
"внешнее", при своей работе должно сооб-
щать компьютеру: "я начало работать, а по-
тому, всем внутренним портам, просьба не
беспокоиться". Одним словом - внешнее ус-
тройство должно сообщать компьютеру, что
оно "просекло" обращение к себе. Понятно ?
Ну так вот, C-DOS этого _не_делает_.
Теперь рассмотрим всё подробнее. Итак,
компьютер попытался обратиться к порту
#FFEF (порту C-DOS) и тут же получил ответ
сразу от двух устройств: от самого C-DOS,
и от внутреннего порта #FF. Происходит это
следующим образом. При чтении порта модема
на шине адреса появляется адрес #FFEF
(llllllll lllOllll), поскольку дешифрация
порта модема осуществляется по всего лишь
одному сигналу A4, который сейчас в 0, то
C-DOS, естественно же, преисполняется гор-
достью и начинает деловито выставлять дан-
ные на шину данных. Всё правильно, не так
ли? Вот тут-то в эту идиллию и вламывается
самым наглым образом скорпионовский порт
#FF. Этот "мерзопакостный" порт на ту же
самую шину данных, в то же самое время
начинает выдавать свои собственные данные.
Всё, приехали ! Накладываясь на данные от
модема, атрибуты искажают их. Ничего не
подозревающий об этом конфликте процессор
забирает свой байт, и пытается интерпрети-
ровать его как информацию, полученную от
чуда современной техники - модема. И, ес-
тественно, у него ничего не получается !
Единомышленики К.Громова в этот момент
радостно потирают руки,и злорадно говорят:
"Ага, а мы говорили, предупреждали. Такая
реализация #FF - неправильная, глючная.
Делайте так, как у нас."
Вот тут-то и настаёт пора вмешаться нам
и сказать "Минуточку, а давайте разберём-
ся". Дещифрация порта атрибутов происходит
по всем правилам "хорошео тона" - учитыва-
ется сигнал IORQ (обращение к портам),
DOS (обращение к портам TR-DOS), а также
состояние 4-х адресных сигналов A0, Al,
A2, AS. Так что же здесь неправильного ?
Сигналы A0-A3 и AS-A7 в 1-це, IORQ - в
нуле, т.к. идёт запрос порта, DOS - в 1
т.к. это не TR-DOS'овский порт. Мало того,
сигнал IORQGE (разрешение выборки внут-
ренних портов) тоже в нуле !!! И что, по-
вашему, должен "подумать" #FF, если это
совершенно штатный запрос к нему ?
Конечно, можно завести в дешифрацию пор-
та атрибутов сигнал A4, но где гарантия
того, что при подключении какого-либо дру-
гого устройства вам не понадобится заво-
дить туда же A3, A6, A7, короче не делать
ПОЛНУЮ дешифрацию ? Есть ещё один вариант
- не заводить в порт #FF сигнал IORQ (как
и предлагает господин К.Громов), но тогда
возникает другая проблема, о которой мы
писали в первом нашем номере, - это
больше не порт атрибутов, т.к. нару-
шается синхронизация работы связки "про-
цессор - порт атибутов", т.е. иногда
вместо атрибутов будет читаться мусор.
А не проще ли использовать подобную вы-
борку порта атрибутов "на полную катушку".
И надо-то просто сделать так, что бы вне-
шнее устройство, в данном случае - модем,
формировал сигнал IORQGE ? А поскольку
сигналы IORQ и IORQGE взаимосвязаны, то
появление 1-цы на IORQGE приведёт к тому,
что на IORQ тоже установится 1, и вы-
борка порта атрибутов не произойдёт. По-
моему, это более нормальный способ.
Напомню, что подобные "глюки с модемом"
будут происходить не только в Scorpion'е,
но и в любом другом компьютере, в котором
порт #FF реализован полностью, а не по
схеме Громова.
Но, довольно теорий. К делу. Нужно зас-
тавить C-DOS формировать сигнал IORQGE,
как раз и сообщающий компьютеру, точнее,
всем его внутренним портам, когда они мо-
гут работать, а когда должны "заткнуться"
(IORQGE=0 - работают внутренние порты,
IORQGE=l - порты на внешнем устройстве).
На Scorpion'е такой сигнал уже заведён на
системный разъём. Если на вашем компьютере
такого сигнала нет, то не отчаивайтесь,
для его реализации вам потребуется неболь-
шой кусок провода и... один резистор, но
об этом ниже (причём, сигнал IORQGE при-
годится вам не только для модема).
Итак, вот схема доработки модема C-DOS
(которую, естественно, надо вставить вну-
трь модема) для формирования IORQGE. Схе-
ма подключается параллельно со "стандарт-
ным" подключением модема.
Транзисторы - KT36l, KT3lS или им подоб-
ные, буква значения не имеет. Микросхема
DDl - типа ЛЕl, любой серии lSS, SSS, S31,
lSЗЗ или любая другая микросхема, содержа-
щая логические элементы 2ИЛИ-НЕ, нужно то-
лько учитывать расположение ножек.
Сигналы A4, IORQ берутся с системного
разъёма, туда же заводится и IORQGE.
Причём, A4 и IORQ уже подводятся к моде-
му (в Скорпионе - контакты 24В и 17A сис-
темного разъёма соответственно), т.е. вам
фактически надо будет добавить только
IORQGE (в Скорпионе - контакт 13В).
Если вас по-прежнему не устраивает выбор-
ка модема по одному сигналу A4 и/или у
вас приведённая выше схема не даёт поло-
жительного результата, то можно исполь-
зовать более полную дешифрацию:
Как видите, надо только добавить одну
микросхему DD2, содержащую как минимум три
элемента 2И-НЕ, например ЛА9 серий SSS,
lSЗЗ, lSS. DDl - та же, что и в предыдущей
схеме (для формирования IORQGE). Итого,
для нормального подключения и дешифрации
модема вам понадобится всего две микро-
схемы - ЛЕl и ЛА9.
Сигналы A0, Al, A2, AS, DOS берутся с
системного разъёма (для Скорпиона - кон-
такты 9В, 10В, 11В, 23В, 4В), и являются
теми самыми, по которым в Скорпионе проис-
ходит дешифрация порта атрибутов. При
этом модем будет откликаться на любой
порт, адрес которого в двоичном виде
представляет собой число хххххххх
xl0xlll, и не является портом TR-DOS.
Если у вас сигнал DOS не выведен на
системный разъём и вы не знаете, где его
взять, то вместо него можете завести,
например, A6, A7, ..., или даже просто
подать +5В. В принципе, это не должно ни
на что повлиять, т.к. портов TRDOS с
похожими адресами - нет. Сигнал A4 - тот
же, что первоначально подводился к
модему, т.е. берётся с системного разъёма,
или с разъёма на модеме. Последний вариант
предпочтительней.
Получившийся сигнал MOD заводится в
модем (и в схему формирования IORQGE, ко-
торая теперь часть модема) вместо A4, то-
есть дорожка A4 на модеме перерезается с
той части, которая соединена с компьюте-
ром, берётся A4, а к другой подводится
MOD. Это показано на следующем рисунке:
A4, от разрыв A4, к
компьютера модему
■■■■■■■■■┬■■■■■■■х■■■■■┬■■■■■■■■■■
│ │
│ │
A4, к схеме MOD, от схемы
дешифрации дешифрации
Теперь о том, как сделать сигнал IORQGE
в других компьютерах.
Схема проста до идиотизма:
сигнал IORQGE 560 Ом сигнал IORQ
■■■■■■■■■■■■■■■■■■▓▓▓▓■■■■■■■■■■■■■■■
(системный разъём) (20 нога Z80)
Сигнал IORQGE выводится на системный
разъём (например, в Скорпионе это 13В в
60-ти контактном разъёме), а сигнал IORQ
подключается непосредственно к микропроце-
ссору (к дорожке, естественно).Всё, теперь
к вашему компьютеру можно подключать хоть
холодильник. И если он будет в нужные мо-
менты информировать компьютер о своей ра-
боте, то всё будет "хоккей".
--══════════════════════════════════════--
* * * *
MUSIC ВУ : GYN
Other articles: