Из журнала 'Чёрная Ворона 5'
Украина, Донецкая область, г.Дмитров-1, 01.2001



          ПОДКЛЮЧЕНИЕ
    КОНТРОЛЛЕРОВ ДИСКОВОДА
         К ZX-SPECTRUM

(C) 2000 Sashulya/Smash Hackers Band
--------------------------------------------------------------
   На  территории  стран  бывшего  СССР стандартом на дисковую
систему  для  ZX-Spectrum  стал контроллер Beta Disk Interface
фирмы  Technology Research. За годы, прошедшие с момента появ-
ления  первого  отечественного  варианта этого контроллера, их
было  создано  огромное количество. Почти в каждом регионе был
разработан  свой.  Надо  сказать,  что было создано не меньшее
разнообразие и самих компьютеров. Отсутствие стандарта на сис-
темный  разъем  (как  компьютера, так и контроллера), неполная
его  реализация  или  вовсе  отсутствие  сделало подсоединение
контроллеров довольно хлопотным занятием, требующим хотябы по-
верхностного  знания основ цифровой техники и умения держать в
руках паяльник.

   Подключение  контроллера  сводится  к  тому, чтобы контакты
разъема  контроллера  были  подключены к одноименным контактам
системного разъема компьютера, которые подключены, в свою оче-
редь, к выводам процессора Z80 (при отсутствии системного раз-
ъема  -  напрямую  к выводам процессора), то есть адрес A10 на
разъеме  контроллера был соединен проводом с контактом на раз-
ъеме  компьютера, который соединен с адресом A10 Z80. Исключе-
ние  составляют  сигналы  блокировки  ПЗУ и критичных к работе
контроллера  портов,  например  кемпстон джойстика, которые не
всегда  выводят на системный разъем. Ниже описано их подключе-
ние.

   Контроллер и компьютер необходимо питать от одного источни-
ка питания. Дисковод можно питать от отдельного блока питания,
но не желательно.

   В различных вариантах ZX-Spectrum используется разное коли-
чество  микросхем ПЗУ (обычно не больше двух) в зависимости от
их объема. У всех у них 20-ый вывод - выбор кристалла, а 22-ой
- вход разрешения. На один из этих выводов приходит сиглал вы-
борки  ПЗУ,  а  другой подключен к "земле". Иногда для выборки
используется  оба  этих  вывода. Чтение из ПЗУ пройсходит, при
наличии  низких логических уровней одновременно на обоих выво-
дах.  Наличие логической единицы хотябы на одном из них блоки-
рует  ПЗУ. Это необходимо при подключении контроллера дисково-
да.  Для  этого  в контроллере имеется сигнал блокировки. Если
контроллер  содержит  собственное  ПЗУ,  то этот сигнал обычно
имеет  высокий  активный  уровень,  то  есть  при  обращении к
контроллеру дисковода принимает уровень логической единицы. Во
всех остальных случаях находится либо в нуле, либо в высокоим-
педансном состоянии, то есть эквивалентен никуда не подключен-
ному  сигналу.  При  отсутствии в контроллере собственного ПЗУ
обычно все наоборот. Это сделано с рассчетом на то, что в пер-
вом случае при подключении контроллера будет блокироваться ос-
новное  ПЗУ компьютера, а во втором - вся информация, необход-
мая  для работы контроллера будет считываться из ПЗУ компьюте-
ра. Однако в этом случае прийдется сначала заменить его на ПЗУ
большей емкости.

   Сигналы  с низким активным уровнем обычно обозначаются чер-
той  над их названием, а в данном случае перед ними будет сто-
ять наклонная черта. --x-- - разрыв цепи.

   Рассмотрим  различные  варианты  блокировки  ПЗУ компьютера
контроллерами с ПЗУ и сигналом блокировки активным в единице.

   Если  один из выводов основного ПЗУ подключен к общему про-
воду,  то достаточно подать на него "землю" не напрямую, а че-
рез  резистор  сопротивлением  1  кОм,  а  сигнал блокировки с
контроллера   подключить  к  этому  выводу  микросхемы  непос-
редственно. Смотри рисунок 1.
   Если  для выборки ПЗУ компьютера используются оба описанных
выше  вывода,  то  надо объединить любой из сигналов выборки и
сигнал блокировки по схеле логического ИЛИ, то есть сигнал вы-
борки  будет проходить на соответствующий вывод ПЗУ, пока сиг-
нал блокировки не равен логической единице. Для этого в разрыв
одного  из  сигналов  выборки  можно включить незадействованый
элемент  микросхемы  ЛЛ1, если такой есть (смотри рисунок 2а),
или сделать как показано на рисунке 2б.
   В тех вариантах ZX-Spectrum, где установлено две микросхемы
ПЗУ,  для  блокировки используется тот сигнал выборки, который
идет  на  обе микросхемы. Подключение производится по одной из
схем рисунка 2.

   Далее  приводятся  рекомендации по подключения контроллеров
без ПЗУ. Сигнал блокировки имеет низкий активный уковень.

   Для  начла прийдется заменить ПЗУ компьютера. В ZX-Spectrum
48  для  этого  можно использовать микросхему 27256, в нулевой
банк  которой  записана  TR-DOS,  а  в  первый  SOS-48. Если в
компьютере  были установлены две микросхемы 2764, то новое ПЗУ
устанавливается на место одной из прежних. На 26 ножку подает-
ся сигнал процессора A13 и он не должен участвовать в формиро-
вании сигнала выборки ПЗУ. В противном случае в схему формиро-
вания  выбора вместо A13 подключается общий провод либо +5V, в
зависимости от того вместо какой ПЗУ установлена новая микрос-
хема,  нулевой или первой соответственно. На 27 вывод подается
сигнал  блокировки  с платы контроллера и +5V через резистор 1
кОм.  При  замене  одной  микросхемы 27128 изменения относятся
только к 27 выводу.

   Если  предполагается  последующее расширение ОЗУ до 128 кб,
то  лучше  использовать  микросхему 27512 с прошивкой Pentagon
128.  В  этом  случае  все  аналогично  подключению микросхемы
27256,  с  той  лишь разницей, что на 27 вывод подается +5V, а
сигнал  блокировки и +5V через резистор 1 кОм подключаются к 1
ножке.

   Если  по  каким-либо  причинам нет возможности заменить ПЗУ
компьютера,  то  в  этом  случае прийдется установить дополни-
тельное с прошивкой TR-DOS как показано на рисунке 3.
   Существуют  контроллеры,  у которых сигнал блокировки имеет
низкий  активный  уровень, и в то же время они содержат собст-
венное ПЗУ. Это сделано для удобства подключения к ZX-Spectrum
48  с двумя микросхемами 2764. Сигнал блокировки в этом случае
подключается  к  27 ножкам обеих микросхем, которые желательно
подтянуть  к  +5V  через  резистор  сопротивлением  1 кОм. При
подключении  к  другому варианту компьютера возможно прийдется
инвертировать  сигнал  блокировки на любом имеющемся свободном
инвертирующем  элементе.  После  чего подключение производится
одним из описанных выше способов.

   Для  уменьшения  нагрузки на шину процессора, особенно если
она  не буферизирована, допускается удаление ПЗУ из контролле-
ров  в  которых оно установленно и подключение способом замены
ПЗУ  компьютера  микросхемой  большей емкости. Правда при этом
скорее  всего прийдется инвертировать сигнал блокировки. Также
если  в  контроллере дисковода на шине данных стоит буфер типа
АП6, то 19 вывод этой микросхемы прийдется освободить и подать
на него сигнал /IORQ с Z80. А при подключении таким способом к
ZX-Spectrum  128 желательно сделать следующее: в разрыв сигна-
ла,  идущего  на  27  вывод микросхемы 27512, включить элемент
микросхемы  ЛЛ1,  подав на второй его вход сигнал блокировки с
высоким  активным уровнем. То есть сигнал, инверсный тому, ко-
торый  подается  на  1 ногу 27512. Смотри рисунок 4. Нет нужды
ставить  два резистора, на 1 и 27 выводы, достаточно поставить
туда, куда приходит напрямую сигнал с контроллера, а после ин-
вертора его устанавливать не надо.
   При  условии  исправности контроллера дисковода, правильном
подключении  всех сигналов, соответствующих сигналам процессо-
ра,  дисковода  и  сигнала блокировки, одним из описанных выше
способов,  компьютер  должен  заходить в TR-DOS. Если этого не
пройсходит - проверьте питание и правильность подключения всех
сигналов.  Когда  же  наконец  появится заставка системы, надо
вставить  диск в дисковод и попробовать поработать с ним. Если
это  возможно, то подключение завершено. В противном случае на
экран будет выведено сообщение No disk, что говорит о конфлик-
те  контроллера  с  портом  кемпстон джойскика. Чтобы этого не
происходило,  в  контроллере обычно предусмотрен сигнал блоки-
ровки критичных портов. Он активен в логический единице. Иног-
да  такой  сигнал в контроллере отсутствует и тогда для блоки-
ровки  джойстика используется сигнал блокировки ПЗУ. Если неб-
ходимо,  он  инвертируется. Подключение показано на рисунке 5.
Допускается включение доработки в разрыв сигнала /IORQ, идуще-
го  только на дешифрацию порта джойстика, остальное так же как
показано на рисунке 5.
   Иногда  сигнал блокировки джойстика в контроллере объединя-
ется  с  /IORQ,  в  этом случае его можно просто подать вместо
/IORQ в схему дешифрации порта кемпстона. Однако не рекоменду-
ется делать это если контроллер подключен не "намертво", а че-
рез  системный  разъем,  так  как  в  этом  случае, отсоединив
контроллер, кемпстон джойстик перестанет работать.

   И последняя проблемма, которая может возникнуть при подклю-
чении контроллера к ZX-Spectrum 128. Контроллеры, рассчитанные
на подключение к ZX-Spectrum 48, после сброса компьютера сразу
переводят  компьютер  в  режим TR-DOS. В компьютерах со 128 кб
ОЗУ  это приводит к тому, что одновременно выбираются страницы
ПЗУ  с  TR-DOS и SOS-128. В лучшем случае это приведет к очень
долгому  сбросу. Чтобы этого не происходило, надо установить в
контроллере перемычку или переключатель в положение, при кото-
ром  вызов  TR-DOS  возможен  только из бейсика. Иногда это не
предусмотрено.  В  этом случае надо найти на плате контроллера
микросхему  ЛА2  и такой ее вход, который никуда не подключен,
или подключен к +5V, или соединен с другим входом. В последних
двух  случаях  освободить его и подключить к 27 ноге ПЗУ. Если
была сделана доработка с рисунка 4, то к соответствующему вхо-
ду  ЛЛ1. В общем случае сигнал выбора банка ПЗУ с SOS-128 (ну-
лем) и SOS-48 (единицей). Это четвертый бит порта конфигурации
ZX-Spectrum  128  #7FFD.  Его  можно взять с выхода микросхемы
ТМ9,  на  которой  он собран, к соответствующему входу которой
подключен сигнал процессора D4.

   Наиболее часто встречающиеся обозначения сигнала блокировки
ПЗУ:  ROM CS, /DOS, /-BETA, /SEL J (SEL J); сигнала блокировки
критичных  к  работе  контроллера  портов:  Inp.Lock,  IORQGE,
+BETA, SEL J.

              Список использованных материалов:
   1.  Ларченко  А.,  Родионов  Н.  ZX  Spectrum  и TR-DOS для
пользователей  и  программистов.  - СПб: Изд. "Питер", 1994. -
472 с.
   2.  Инструкция  по подключению контроллера Beta-Mini Plus к
компьютеру типа Sinclair (ZX-Spectrum).
   3. Инструкция по подключению платы расширения ОЗУ ZX-Spect-
rum до 128к "Blesser".
   4. Гетманец В. М. Расширение ОЗУ "ZX-SPECTRUM 48K"//РадiоА-
матор. - 1994. - N1. - С.6-7.
   5. Nemo. Контроллер дисковода для компьютера KAY-256//Ради-
олюбитель. - 1995. - N3. -С.6-8.
   6. Схема контроллера дисковода "Радуга 636-2" для ZX-SPEKT-
RUM  совместимых компьютеров: "Харьков", "Ленинград-2", "Крас-
нодар", "Робик" и других.
   7.  Technology Research & Alex Krupp. Disk Controller "Beta
128" & ZX Lprint 3.
   8.  Беззубцев  А.  С.  Расширение  памяти  "Ленинград-1" до
128к//ZX-Ревю. - 1994. - N4. - С.30-31.

                            -----