Подключение внутренних Hayes-совмести-
мых модемов к Спектруму.
------------------------------------------
Для начала хочу сказать пару слов по по-
воду всего нижеследующего. В принципе, эта
схема уже не раз публиковалась, но... Но
ведь не у каждого есть Питерская электрон-
ная газета ZX-News, в 15-м номере которой
была аналогичная статья. И уж тем более не
каждый имеет доступ к эхоконференции
ZX.SPECTRUM в сети Фидонет. А потому, мы
взяли на себя смелость донести до вас этот
материал, дорогие читатели. Тем более, что
здесь же мы расскажем о тех тонкостях
подключения, с которыми сами столкнулись.
COPYRIGHT на схему контроллера принадле-
жит Михаилу Кондратьеву. Автор статьи, под
впечатлением от которой написана эта -
Игорь Груздев.
В первых же строках хочу ещё раз развеять
миф о том, что нормально hayes-совместимый
модем можно подключить только к Скорпиону.
Ничего подобного! Просто на системном
разъёме Скорпиона уже выведены все необхо-
димые сигналы, а вот владельцам, например,
Пентагонов придётся самим их протянуть.
Причём, ещё неизвестно кому повезло боль-
ше, владельцам Скорпиона или Пентагона -
"пентагонщикам" не надо собирать схему,
блокирующую внутренние порты компьютера.
Да и согласование внутреннего и внешнего
сигналов /NMI в Скорпионе выполнено немно-
го неудачно (по крайней мере, для этой
схемы подключения).
Итак, меньше слов, ближе к делу. Для
реализации контроллера внутреннего (!!!)
HAYES-совместимого модема вам понадобятся
три микросхемы и 8-10 резисторов. Микрос-
хемы: DD1 - ЛЛ1, DD2 - ЛН1, DDЗ - ТМ2. Се-
рия любая, хоть 1533-я, хоть 555-я, прин-
ципиального значения это не имеет. Резис-
торы любого номинала в интервале от 1 до
15 кОм.
Как видите, схема довольно проста. C ле-
вой стороны приведены названия сигналов и
номера контактов (A - верхний ряд, В -
нижний) для Скорпиона, с правой - Hayes-
совместимого модема. На 1-й вход триггера
(DDЗ) через резистор 1 КОм следует подать
+5В для более надёжной работы схемы. Для
запитывания микросхем на их 14- й вывод
необходимо подать +5В, а на 7-й - землю.
Как видно из схемы, контроллер произво-
дит дешифрацию всего лишь по одному адрес-
ному сигналу - A4, а между тем, полный его
адрес - #xEF. Поэтому, если у вас Скор-
пион или любой другой компьютер, у которо-
го при дешифрации внутренних портов не
анализируется сигнал A4, то вам надо ещё
собрать и схемку формирования сигнала
/IORQGE, котурую вы можете найти в этом же
номере, в статье о подключении C-DOS моде-
ма. Входными сигналами для этой схемы бу-
дут: /IORQ и A4, выходным - /IORQGE.
Теперь о том, как будет выглядеть рас-
пайка слота модема и системного разъёма
комьютера (номера контактов даны для Скор-
пиона: A - верх, В - низ: на модеме: верх
- верхняя часть платы, где расположены все
микросхемы, нумерация контактов слота
начинается со стороны разъёма для телефон-
ной линии и дальше вдоль модема):
Скорпион Модем
┌------┬---┐ ┌---┬------┐
│A 8 │A26│----> │A31│ A 0 │
│A 9 │В27│----> │A30│ A 1 │
│A10 │A27│----> │A29│ A 2 │
│D 0 │A6 │----> │A9 │ D 0 │
│D 1 │A7 │----> │A8 │ D 1 │
│D 2 │A8 │----> │A7 │ D 2 │
│D 3 │A11│----> │A6 │ D 3 │
│D 4 │A12│----> │A5 │ D 4 │
│D 5 │A10│----> │A4 │ D 5 │
│D 6 │A9 │----> │A3 │ D 6 │
│D 7 │A3 │----> │A2 │ D 7 │
│ │ │ │A28│ A 3 │ -┐
│ │ │ │A27│ A 4 │ │ на
│ │ │ │A26│ A 5 │ │ +5В
│ │ │ │A25│ A 6 │ │через
│ │ │ │A24│ A 7 │ │3-10К
│ │ │ │A23│ A 8 │ │
│ │ │ │A22│ A 9 │ -┘
│ │ │ │A21│ A10 │ -┐ на
│ │ │ │A20│ A11 │ -┘ землю
│ │ │ │A11│ AEN │ на землю
│ +5v │В3 │----> │В3 │ +5v │
-->│ +12v │В17│----> │В9 │ +12v │
-->│ -12v │A16│----> │В7 │ -12v │
-->│ -5V │A18│----> │В5 │ -5v │
│ GND │A30│----> │В1 │ GND │
│ GND │В30│----> │В31│ GND │
(*)│/IORQG│В13│-│н │ │ │ │
│/RESET│В20│-│а │ │ │ │
│ /RD │A18│-│ │ │ │ │
│ A4 │В24│-│п │ │ │ │
│/IORQ │A17│-│л │-│В2 │ RESET│
│ /WR │A19│-│а │-│В14│ IOR │
│ A11 │В28│-│т │-│В13│ IOW │
│ /NMI │A14│-│у │-│В24│ IORQ4│
└------┴---┘ └---┴------┘
сигнал сигнал
Обозначения слева:
--> - подвести сигнал к системному разъ-
ёму.
(*) - только для компьютеров, в которых
необходимо блокировать внутренние
порты (сигнал /IORQGE).
Сам модем надо настроить на СОМ1, что
соответствует адресу #3F8 и запросу на
прерывание IORQ4. О том, какими перемычка-
ми это можно сделать, читайте в инструкции
по вашему модему.
Ну вот, теперь сделать осталось совсем
немного - чуть-чуть доработать ваш компь-
ютер.
Во-первых. Надо реализовать нормальное
согласование сигналов /NMI, получаемых с
системного разъёма (если у вас на разъёме
его нет - выведите) и от схемы Magic-
кнопки. Делается это добавлением всего
лишь одной микросхемы 5SSЛИ1 (или любой
другой серии). Для этого около процессора
перережьте дорожку, ведущую к его 17-му
контакту, и в разрыв вставьте логический
элемент "И" (К5SSЛИ1), ко второму входу
которого подведите сигнал /NMI с системно-
го разъёма. Изменения будут выглядеть сле-
дующим образом:
┌-------
│
17│
------┬---х-----┬--┤ Z80
│ 1┌---┐ │ │
└--┤& │3 │ │
/NMI 2│ ├--┘ │
---------┤ │ └------
└---┘
Во-вторых. Если у вас не Пентагон и не
Профи, и при дешифрации внутренних портов
не принимает участие сигнал A4 (например,
в Скорпионе контроллер модема будет
конфликтовать с внутренним портом #FF), то
вам надо позаботиться о том, чтобы вывес-
ти на системный разъём сигнал /IORQGE. Ес-
ли у вас его нет, то, опять же, читайте
про это в статье о подключении C-DOS моде-
ма - вам надо будет добавить на плату все-
го лишь один резистор.
В-третьих. Отрицательные напряжения для
модема. Один из самых больных вопросов,
потому как, если на разъёме вашего модема
данные контакты задействованы, то подавать
на них соответствующее напряжение ОБЯЗА-
ТЕЛьНО !!! Т.е., например, если у модема
задействованы контакты В5 (-5v) и В7
(-12v), то надо обязательно подводить эти
напряжения. Если у вас IBM'овский блок пи-
тания, то там все эти напряжения есть, и
вы можете не волноваться.
В-четвёртых. Самый-самый больной вопрос
- исправление ошибки в ПЗУ. Как, наверное,
многим известно, в стандартном ПЗУ-48 со-
держится грубейшая ошибка в процедуре
обработки немаскируемого прерывания. По
адресу #006D вместо команды JR Z,#70 (коды
#28 #01), находится команда JR NZ,#70
(коды #20 #01). По идее, это должно рабо-
тать так: при приходе немаскируемого пре-
рывания процессор запускает процедуру по
адресу #66, которая берёт вектор (адрес)
процедуры обработки из ячейки #5CB0: если
в этой ячеке 0, т.е. вектор не определён,
то управление возвращается прерванной про-
грамме: если же вектор определён, то осу-
ществляется переход по нему. В следствии
ошибки, переход на вектор осуществляется
именно тогда, когда он не определён т.е.
равен 0. В результате компьютер сбрасы-
вается.
К нашему великому сожалению, есть только
один способ исправить эту ошибку - переп-
рошить ПЗУ-48. Впрочем, некоторые програм-
мы не используют немаскируемое прерывание
от модема, но именно поэтому они, как го-
ворится, "не используют на полную" катуш-
ку все возможности hayes-совместимых моде-
мов. А потому, наш вам совет: постарайтесь
найти возможность и перепрошить свою
ПЗУ'шку. Хотя, если вы владелец Скорпиона,
с версией теневого монитора 2.95 и выше,
то у вас эта ошибка уже исправлена.
Ну вот, модем мы подключили, а как те-
перь проверить его. Для этого, раздобудьте
какую-нибудь терминальную программу, кото-
рая работает с данной реализацией контрол-
лера, и запустите её. Например, терминалку
под IS-DOS, написанную самим Михаилом
Кондратьевым.
Для проверки связи между компьютером и
модемом включите в модеме режим эха (пере-
дайте модему команду АТЕ1), хотя, обычно,
в больщинстве модемов этот режим включен
по умолчанию. При этом модем будет возра-
щать каждый посланный ему байт. Если связь
без сбоев, то на экране каждый вводимый
вами символ будет продублирован (один с
клавиатуры, второй - эхо от модема). Сле-
дует также помнить, что в некоторых терми-
налках (например, в терминалке by Alex
Globa под IS-DOS) отключен режим вывода
вводимых символов, и все символы, которые
выводятся на экран - эхо модема. Здесь ещё
проще - если, допустим, вы нажали клавишу
"I", а появилась буква Q, то это непра-
вильно, а вот если I - всё нормально.
Вот, в принципе и всё. Теперь для вас
открыты двери в увлекательный мир BBS,
электронных сетей и прочих чудес техноло-
гии. Вы сможете скачать у вашего друга
IBM'щика любой файл. Вы сможете получить
доступ к IBM'овским BBS, а если повезёт,
то и к узлам сети FidoNet.
И уж точно вы получите доступ к органи-
зующеся сейчас в Самаре Спектрум-Сети на
hayes-совместимых модемах.
Ну и напоследок, для тех,кому интересно,
как работает контроллер.
Выборка портов модема осуществляется при
A4=0, при этом сигналы A8-A10 задают один
из семи регистров модема. Но... Но, как
видно из схемы, в этом принимает участие и
ещё один адресный сигнал - A11. Он не
участвует напрямую в выборке модема, он
лишь задаёт состояния ключа прерываний,
собранного на основе тригера DDЗ. При за-
писи в любой регистр модема, ключ прини-
мает состояние линии A11. И зачем всё это?
- спросите вы. А вот зачем. При закрытом
ключе (5-й вывод DDЗ = 1), на выходе
контроллера - входе компьютера сигнал /NMI
всегда равен 1, независимо от состояния
модемного сигнала IORQ4. Т.е. импульсы
запроса прерывания, генерируемые модемом,
никогда не попадут на компьютер.
При записи в регистр при A11=0 ключ
открывается и состояние сигнала /NMI нап-
рямую зависит от IORQ4. При RESETe компь-
ютера ключ опять закрывается.
Таким образом, адреса регистров модема
определяются маской:
F Е D C В A 9 8 7 6 5 4 3 2 1 0
-------------------------------
х х х х 1 r r r 1 1 1 0 1 1 1 1 - 0EF-7EF
х х х х 0 r r r 1 1 1 0 1 1 1 1 - 8EF-FEF
х - состояние не учитывается.
r - соответствующий разряд трёхбитного
номера регистра модема.
Вот. Вот теперь всё. Собирайте, подклю-
чайте и наслаждайтесь.
(C) Евгений Милун
MUSIC ВУ : MARKET SOFT
-════════════════════════════════════════-
* * *
Other articles: