On-Line
#09
05 ноября 1995 |
|
Железо - Почему в некоторых программах не работает Kempston?
╔══════════════════════════════════════════════════════════════╗ │ ЖЕЛЕЗО │ ╚══════════════════════════════════════════════════════════════╝ И СНОВА О СОВМЕСТИМОСТИ Меня в последнее время часто спрашивают: "Почему у нас в не- которых программах не работает KEMPSTON 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, эти номера проходят. Зато на горе-компьютерах ти- па "АТМ" и так далее (вы меня поняли) это приводит к печальным результатам. Это были основные порты, теперь далее. Порт #F7 11110111 \ Порт #EF 11101111 } ZX LPRINT 3 Порт #E7 11100111 / Как видите, остались адреса с #1F до #DF. В двоичном виде это выглядит так: Порт #1F 00011111 Порт #3F 01011111 Порт #9F 10011111 Порт #DF 11011111 Это адреса по которым можно обращаться, избегая конфликтов на шине данных. Легко заметить, что во всех адресах разряд A5 ра- вен 0. Именно по принципу грубой дешифрации этот разряд "отве- чает" за KEMPSTON JOYSTICK. То есть, значения джойстика теорети- чески должны читаться по всем этим адресам. На деле же, у кого KEMPSTON JOYSTICK выполнен на м/схеме КР580ВВ55, значения джой- стика будут читаться ТОЛЬКО по адресу #1F (31). Именно по этому, в некоторых программах, где идет опрос по маске #DF, джойстик работать не будет. Решение проблемы видится в замене маски на #1F. Действительно, зачем городить лишнюю логику и мучить ком- пьютер, когда адрес #1F стал фактически стандартом в нашей стра- не. Я полагаю, что дал исчерпывающий ответ на данный вопрос. В заключение, хочется сказать, что все кому не безразличны вопросы железа, и у кого есть собственные находки, могут зво- нить ко мне на мою ZX, повторяю, именно ZX, а не PC (вонючая ма- шина), BBS. Свои находки желательно оформить в виде файла в ZX WORD и поместить мне на сервер. Это касается, правда, только жи- телей Москвы и области. Остальные могут мне писать. Громов Кирилл (C) CHUNG Software (FFC)
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября