ZX-Ревю 1996 №1-2 1996 г.

Читатель - читателю - проблемы Kempston интерфейса.


ПРОБЛЕМЫ KEMPSTON ИНТЕРФЕЙСА

© К. Громов, г. Москва.

Меня в последнее время часто спрашивают: "Почему у нас в некоторых программах не работает KEMSTON JOYSTICK?" Причин тут несколько, и я спешу их разъяснить. Для этого окунемся немного в схемотехнику нашего обожаемого SPECCY.

Первое. Изначально в родном SPECCY все порты дешифрировались грубо, по одному разряду шины младшего байта шины данных. Это станет понятно из следующей таблицы:

Порт #FF 11111111 O-O-O-H, MY GOD!

Порт #FE 11111110 BORD, MAG, BEEPER, KEYB

Порт #FD 11111101 ! ЧИТАЙ НИЖЕ !

Порт #FB 11111011 ZX-PRINTER

Порт #FF, на самом деле, читается не только по своему историческому адресу, а вообще по любому незадействованному. Порт #FD, на самом деле, нельзя использовать напрямую, так как возможен "ответ" сразу нескольких устройств - порт конфигурации ZX 128, музыкальный сопроцессор. Хотя его очень часто используют для переключения страниц памяти. На компьютерах, где он реализован как в фирменном SPECCY, эти номера проходят. Зато на горе-компьютерах типа "ATM" ну и так далее (вы меня поняли) это приводит к печальным результатам. Это были основные порты, теперь далее. #F7 11110111 ^

Порт #EF 11101111 } ZX LPRINT 3 Порт #Е7 11100111 У

Как видите, остались адреса с #1F до #DF. В двоичном виде это выглядит так:

ЧИТАТЕЛЬ - ЧИТАТЕЛЮ

Порт #lF 00011111 Порт #3F 01011111 Порт #9F 10011111 Порт #DF 11011111

Это адреса, по которым можно обращаться, избегая конфликтов на шине данных. Легко заметить, что во всех адресах разряд A5 равен 0. Именно по принципу грубой дешифрации этот разряд "отвечает" за KEMPSTON JOYSTICK. То есть, значения джойстика теоретически должны читаться по всем этим адресам. На деле же, у кого KEMPSTON JOYSTICK выполнен на микросхеме КР580ВВ55, значения джойстика будут читаться ТОЛЬКО по адресу #1F (31). Именно поэтому в некоторых программах, где идет опрос по маске #DF, джойстик работать не будет. Решение проблемы видится в замене маски на #1F. Действительно, зачем городить лишнюю логику и мучить компьютер, когда адрес #1F стал фактически стандартом в нашей стране. И вообще, надо чтобы все порты в SPECTRUM - совместимых компьютерах по возможности наиболее полно копировали порты в фирменном SPECCY (#7FFD, например). А внешние устройства ни в коем случае не должны создавать конфликтов на шине данных со всеми

"фирменными" портами. Я полагаю, что дал исчерпывающий ответ на данный вопрос. *************************************************************************************




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



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

Похожие статьи:
WANTED - Розыск программ...
Головоломка - В приведенных ниже стишках рассказывается о хитром хозяине гостиницы, сумевшем разместить в девяти номерах десять гостей так, что каждому из них досталось по отдельной комнате.
Scream - charts: "каждый сценовый e-zine должен иметь свои чарты, и мы решили не отходить от традиций".

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