|
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 за прек-
расную идею и помощь в подключении моего
модема.
Другие статьи номера:
Похожие статьи:
В этот день... 18 ноября