Oberon #04
28 ноября 1997
  Железо  

(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:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
News - Random reports that Chaos Constructions 2001 demo party as at least this year will be canceled.
Introductory article to the collection of responses to letters from users received by the ZX Spectrum firm C Nemo.
Review - Overview of new products: Kolobok Zoom II, White Eagle: unknown companion, Twilight: The Land of Shadows, Quadrax, The Gate, Deja Vu # 7, Twin World, CSC-2: Deja Vu, CBSpeccy v0.19b.

В этот день...   16 August