RUSH #01
29 мая 1999
  Железо  

Развитие Spectrum - Блокировка порта клавиатуры SPECCY при подключении C-DOS модема.


Аппаратное обеспечениеЭксплуатация и доработкиПорты и дешифрация

    БЛОКИРОВКА ПОРТА КЛАВИАТУРЫ SPECCY
       ПРИ ПОДКЛЮЧЕНИИ CDOS-МОДЕМА    

   Написать  данную  статью я  решил после
того,  как на протяжении месяца безуспешно
пытался  подключить  к  своему  компьютеру
"Compact-128"  минский CDOS-модем.  Теперь
же эта проблема успешно решена, при помощи
одного  простенького приспособления, кото-
рое  придумал наш гомельский hard'er SSSR,
за что я ему безмерно благодарен.
   Вообще-то  я человек  весьма далекий от
железа, поэтому,  когда я столкнулся с по-
добным глюком,  мне  пришлось прибегнуть к
помощи профессионального электронщика.
   Суть проблемы состоит в том, что на мо-
ем "Компакте",  который широко распростра-
нен в Гомеле, а также  на некоторых других
компьютерах, из-за не до конца продуманной
схемотехники возникает конфликт между пор-
том  клавиатуры и внешним устройством, на-
пример модемом. Все порты либо оказываются
занятыми, либо на них висит клавиатура.  В
результате  внешнее устройство  невозможно
выбрать программным способом и,  например,
терминалка EMS просто виснет выдавая вмес-
то номера порта "--".

   Подойдем к этой проблеме с точки зрения
железячника. На  первый  взгляд ничего тут
сложного нет: подключить модем, равно  как
и другое внешнее устройство довольно прос-
то: ищем свободные порты, смотрим по прин-
ципиальной  схеме компа разводку шины дан-
нных и припаиваем выводы согласно сигналам
схемы на системный разьем,  либо непосред-
ственно на процессор.
   На всякий случай привожу распайку выво-
дов модема разработанного ARS'ом.
 Первый вывод обозначен на плате, как "1".
 
      01  -  D7   (шина данных);  
      02  -  +5V  (питание);
      03  -  D6   (шина данных);
      04  -  D4   (шина данных);
      05  -  D5   (шина данных);
      06  -  GND  (корпус);
      07  -  WR   (запись);
      08  -  RD   (чтение);
      09  -  IORQ (ввод/вывод); 
      10  -  A4   (если на порт #EF);

   Всего  существует несколько стандартных
портов для подключения CDOS-модема:
 #EF (239) - наиболее широко используемый.
 #F3 (243) - для "Байта";
 #77 (119) - для "GRM";
Найти свободный порт очень легко.   Доста-
точно из  любого BASIC'а набрать следующую
комбинацию: PRINT IN N;  где N-номер порта
в десятичной системе счисления. Если после
всех этих манипуляций Вы увидите на экране
число  255  -  то вроде бы все в порядке -
порт свободен. Однако не спешите радовать-
ся надо еще проверить порт на запись.  Это
можно сделать подавая команды: OUT N, M, -
где  N-десятичный  номер порта,  а M-любое
число (0,1,255 и т.д.).  Если при  этом  с
компьютером не происходит  ничего странно-
го: типа изменение цвета бордюра,  писка в
динамике  и т.п, можете  себя поздравить -
порт действительно свободен  и можно смело
вешать на него модем.  В противном случае,
этот порт адресуется, как #FE  и требуется
либо искать другие свободные порты или же,
если таковых не будет найдено - ужесточать
дешифрацию портов (по двум битам):
           
           ┌─────┐
    А0<────┤1  & │
 А1<───────┤2    │
    А2<────┤3    │     
 А3<───────┤4    │   к 9-й ноге микросхемы
    А5<────┤5   80──────>   555ЛЛ1 (DD1.3)
 А6<───────┤6    │          модема.
    А7<──*─┤11   │
         └─┤12   │ 555ЛА2 
           └─────┘

   Однако в моем "Компакте" это не являет-
ся панацеей,  т.к.  тут начинает  "пудрить
мозги"  kempston  джойстик  и  шина данных
засоряется, что ведет к различным глюкам и
траблам.
   Конечно,  можно  этот kempston отрубить
напрочь, как например, это  сделал  KVA из
Гродно в своем "Компакте-128", и поставить
тумблер.  Мы позвонили KVA и попросили по-
мочь со схемой доработки и новым драйвером
для EMS.  Виктор  обещал  прислать  схемку
обычной почтой  и по Фидо,  однако, за два
месяца мы не получили от него ничего, нес-
мотря на наши постоянные звонки и просьбы.
Поэтому нам пришлось  использовать старый,
хорошо проверенный метод научного тыка.
   Делается сия кнопка следующим образом:

             D24     (К555КП11)     D25 
           ┌─────┐                ┌─────┐
 ────>KB0 ─┤02   │      ────>KB4 ─┤2    │
 ────>KB1 ─┤05   │      ────>KB5 ─┤5    │ 
 ────>KB2 ─┤11 04├──D0  ────>IN  ─┤11 04│
 ────>KB3 ─┤14 07├──D1  ────>KB7 ─┤14 07│ 
 ────>DV0 ─┤03 09├──D2  ────>DV4 ─┤3  09│
 ────>DV1 ─┤06 12├──D3         ┌──┤6  12│ 
 ────>DV2 ─┤10   │           │─*──┤10   │
 ────>DV3 ─┤13   │             └──┤13   │ 
┌───>x┌────┤01   │    ┌────>x┌────┤1    │
│A0  ─┴─ ┌─┤15   │    │A0   ─┴─ ┌─┤15   │ 
│   -IORD0 └─────┘    │    -IORD0 └─────┘
│                     │ 
└─────────────────────┘ 

   Ищем на плате "Компакта" две микросхемы
D24 и D25 (К555КП11).  Перерезаем  дорожки
ведущие к первым ножкам обоих микросхем от
контакта A0  и бросаем освободившиеся пер-
вые ноги на корпус.  Результат - кемпстона
больше нет,  ни одна тестирующая программа
теперь его Вам не найдет. Сразу же начина-
ют нормально работать "ZX-ELEMENT-1",  где
раньше  курсор был постоянно активирован и
некоторые другие программы. 
   Тумблер ставим в разрез цепи:  от A0 до
выводов "01" микросхем.  Для  этого  можно
использовать  любой двухпозиционный перек-
лючатель, например на "микриках". 
                          
   Однако   согласитесь,   это   несколько
неудобно  - вешать дополнительный тумблер,
а потом каждый раз  отключать kempston при
работе с EMS, MMD, CDOS и им подобными.
   И  тут, в голову SSSR приходит гениаль-
ная мысль  - поставить обычный инвертор на
транзисторе, блокирующий чтение порта кла-
виатуры (#FE),  для того,  чтобы запретить
выбор портов, когда опрашивается модем.
   Собираем элементарную схемку:
                        
                      К __  +5B
                       /
         ____     Б | / КТ315 (n-p-n)  
    <───│_\\_│──────|<  ------------
          1K        | \  Э
к модему:  принимает   \_____  к 15 ножкам
значения "1" если он       обоих микросхем
выбран.                    D24,D25 на сиг-
                           нал - IRD0.


   Если выбрано внешнее устройство, то че-
рез транзистор порт клавиатуры блокируется
и  больше не мешает опросу того же модема.
Смело  вешайте модем на порт (#EF) и рабо-
тайте на здоровье в EMS, MMD и CDOS. 
   Теперь отпадает необходимость  в  уста-
новке переключателя - блокировка  происхо-
дит  автоматически  и совершенно незаметно
для пользователя. Никаких  побочных эффек-
тов эта переделка на "Компакте" не вызыва-
ет. 
   На  компьютерах  с  правильным  выбором
портов, например, в фирменном "Скорпионе",
данная доработка не требуется.

   Большое спасибо hard'ery SSSR за  прек-
расную  идею  и помощь в подключении моего
модема.




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

Похожие статьи:
Железо - схема блокировки глючных портов на Scorpion и Profi.
Очумелые ручки - Цифровой индикатор состояния порта.
Железо - порт #FF в русских клонах Спектрума.

В этот день...   20 октября