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

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

<b>Планета шелезяка</b> - обобщенный опыт доработки различных 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) UAЗPRQ/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)                     │                   │   Oклав.
музыкальный сопроцессор           └─ 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.
При   использовании   м/с  К5SSИД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   │порт KPS8OBB55 (II)
0   X   X   1   0   X   X   1  │ 2   │резерв
1   X   X   1   0   X   X   1  │ 3   │таймер KPS8OВИ5З
0   X   X   0   1   X   X   1  │ 4   │резерв
1   X   X   0   1   X   X   1  │ 5   │порт KPS8OBB51
0   X   X   1   1   X   X   1  │ 6 * │порт KPS8OBB55(I),стандарт
1   X   X   1   1   X   X   1  │ 7 * │порт AY-3-89XX и для даль-
                               │     │    нейшего расширения
───────────────────────────────┴─────┴──────────────────────────
* Отмечены устройства не отключаемые от системной шины буфера ZX

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



Другие статьи номера:

Преамбула - На днях получил письмо от VEL'а, который прислал три диска с софтом.

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

Смайлик - - А вот мой отец- настоящий немец!

Ликбез - ПОЛHОЕ ОПИСАHИЕ + ПОЛHЫЙ ДИЗАССЕМБЛЕP ПЗУ TR-DOS 5.04 (5.03)

Бук - Лабиринт отражений.

Beatles - He's a real Nowhere Man, sitting in his Nowhere Land

Смак - антрекот с картофелем.

Двигатель торговли - Пpиобpету схемы паpаллельного поpта на ВВ55, теневого ОЗУ и подключения SIMM 1 Mb, проверенные (!!!!!) в работе со Скоpпионом-256


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

Похожие статьи:
Разберемся - Описание игры THE GREAT ESCAPE.
События - Отчёт с посещения питерского пати CHAOS CONSTRUCTION'2000 от Programmer & GreenPix.
Рабочий стол - Как работать с программами: Cache File Manager 512k.
Screen Editor - пакет программ Screen Editor для создания экранов к играм.
Заметки СисОпа - Правила пользования ZX-Magazine BBS-2...

В этот день...   26 апреля