City #47
19 июня 2000
  Железо  

Планета шелезяка - обобщенный опыт доработки различных ZX Spectrum.


Аппаратное обеспечениеКомпьютерыДоработкиПрочие

          П Л А Н Е Т А    *   *   *   *   *   *   *   *   *

         c.    c.   ccc.  ccc. ccc. ccc.   cccc. c. c.   ccc.
        c. c. c   c.    c. c. c.      c.  c. c. c.c.   c. c.
       c. c. c.  cc.   c. c. cc.    cc.   ccc. c.  c. cccc.
      c. c. c.  c.    c. c. c.   c.  c.  c.c. c.  c. c. c.
      ccc.cc.c. ccc.c.  c.  ccc. cccc. c. c. c.  c. c. c.

       *   *   *   *   *   *   *   *   *   *   *   *   *

                The ZX-SPECTRUM 48 & 128 computers
                Extended devices and user's manual

(c) UA3PRQ/Borisov Serge

  Основная  проблема  стоящая  перед  пользователями ZX-SPECTRUM
состоит  обычно  в  доведении  своего  варианта  компьютера  'до
кондиции'   внедрением   различных   модификаций   в  схему  для
использования  с  другими устройствами. Большинство схем данного
рода  ,  опубликованных  во  многих  радиолюбительских изданиях,
предназначались   для   обособленной   работы  и  многие  просто
противоречат друг другу в принципах подключения . Это заставляет
пользователей  много времени тратить на достижение совместимости
устройств  между  собой  ,  к сожалению такие эксперименты часто
сопровождаются   периодическим   'выгоранием'  различных  частей
компьютерной  схемы и периферии, а зачастую и простым отказом от
применения схем интефейсов.
  Автор данных строк постарался обобщить весь опыт полученный им
от  подобных  экспериментов  и всей информации которая на данный
момент ему известна. Ниже будет приведена информация и схемы как
правильно  использовать интерфейсные устройства на SPECTRUM и их
варианты  проверенные  и  применяемые долгое время на нескольких
компьютерах  типа  "ПЕНТАГОН-128".  Этот  вариант  построения не
изменяет   программную  совместимость  на  уровне  ZX  машин  по
прикладным и игровым программным продуктам как зарубежных, так и
отечественных фирм в 48/128К.
  Стандартное   распределение   портов   в   ZX-SPECTRUM   любой
конфигурации  имеет  следующий  вид  (если рассмотреть побитовое
распределение):

A15  A14  A13 A12 A11 A10 A9 A8 : A7  A6  A5  A4  A3  A2  A1  A0
────────────────────────────────────────────────────────────────
 X    X    X   X   X   X   X  X : X   X   X   X   X   X   X   X
 ┬    ┬    ┬                      ┬   ┬   ┬           ┬   ┬   ┬
 │    <--- #XXFE порт клавиатуры  │   │   │           │   │   │
 │    │    │                      0   0*  0*          │   │   0
 1    0    │                      порт #1F            │   │#XXFE
#FFFD  #BFFD                  KEMPSTON JOYSTIK        │   │порт
AY-3-8910(12)                     │                   │   0клав.
музыкальный сопроцессор           └─ X #7B,#FB 0 ─────┘порт#XXFD
 │    │    │                       порт принтера   AY-3-8910(12)
 0   0 *  0 *                (напр. ZX-LPRINT II-III)     │
порт #7FFD переключатель                              порт #7FFD
страниц RAM-DISK (128K)                          RAM-DISK (128K)

  Как  видно  из  схемы  упрощенная  дешифрация системных портов
компьютера  сильно усложняет подключение достаточного количества
внешних  устройств.  Эти  ограничения  нетрудно  проследить.  На
приведенной  выше  схеме  указаны  биты,  которые контролируются
дешифраторами        подавляющего        большинства        схем
("Ленинград","Москва",    "Пентагон-48,128"   и   мн.   другие).
Клавиатура   'забирает'   на  себя  большинство  адресов  (ровно
половину  -  32768)  , т.к. все четные адреса имеют A0=0, то это
непременно подключает порт клавиатуры. Таким же образом, сброс в
0  A7  выбирает  KEMPSTON  (в  "Ленинграде" например все сделано
гораздо  прощеэтот  порт занимает остальные 32768 адресов полной
адресации  Z80  ,т.е  все  нечетные  адреса).  При  желании  это
описание можно продолжить.
  Следовательно  подключение  любых  внешних  устройств  следует
производить  внимательно и при программировании указывать полный
адрес  порта  ( с "1"-ми в неиспользуемых разрядах). В некоторых
вариантах  компьютеров  без  переделок  при  этом естественно не
обойтись.
  Одним  из возможных вариантов решения данной проблемы является
применене  дополнительного  дешифратора.  Ниже  будут  указаны и
обоснованы  способы  разделения  адресного  пространства  данной
схемы.
  Для   дешифрации   желательно  использовать  младшую  половину
адресов  (A7-A0),  т.к.  при программировании машинного кода Z80
обращение к таким портам производится проще и быстрее, к тому же
ничего   не  мешает  программисту  использовать  полные  команды
(напр.'OUT   A,(C)')   и   таким   образом   дополнить  адресное
пространство за счет старших адресов. Как видно из рассмотренной
выше  схемы  для  контроля можно выделить следующие биты: 7,4,3.
При   использовании   м/с  К555ИД7  есть  возможность  полностью
отдешифрировать  все  эти биты, к тому же можно использовать еще
бит А0 для разрешения дешифрации и таким образом не использовать
все   четные  адреса.  Все  это  необходимо  учитывать  с  целью
обеспечения  программной  совместимости с непеределанными типами
компьютеров.   Таким  образом  8-мь  всех  возможных  комбинаций
адресов имеют вид:


A7  A6  A5  A4  A3  A2  A1  A0 │Канал│Назначение канала
───────────────────────────────┼─────┼──────────────────────────
0   X   X   0   0   X   X   1  │ 0   │резерв
1   X   X   0   0   X   X   1  │ 1   │порт КР580ВВ55 (II)
0   X   X   1   0   X   X   1  │ 2   │резерв
1   X   X   1   0   X   X   1  │ 3   │таймер КР580ВИ53
0   X   X   0   1   X   X   1  │ 4   │резерв
1   X   X   0   1   X   X   1  │ 5   │порт КР580ВВ51
0   X   X   1   1   X   X   1  │ 6 * │порт КР580ВВ55(I),стандарт
1   X   X   1   1   X   X   1  │ 7 * │порт AY-3-89XX и для даль-
                               │     │    нейшего расширения
───────────────────────────────┴─────┴──────────────────────────
* Отмечены устройства не отключаемые от системной шины буфера ZX

                    продолжение следует ...




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

Похожие статьи:
Радио - начинающим - доработка для ZX.
Планета шелезяка - обобщенный опыт доработки различных ZX Spectrum.
Радио - начинающим - доработка для ZX.

В этот день...   19 сентября