|
Faultless
#08
29 ноября 1997 |
|
Кемпстон - кемпстон джойстик и eго применение.

Тема : Кемпстон и eго применение.
В наше время стало появляться много
отечественных программных продуктов.Иг-
ры,системные программы,журналы и это, как
говориться, правильно! Но всегда есть
'Но'. Многие уважаемые люди пишут свои
программы с использованием KEМPSTON
итерфейса, и лишь некоторая часть из них
реализовывает его поддержку правильно.
Возникает чувство, что эти люди пишут
программы, не имея возможности его
проверить (не буду называть конкретно
какие-нибуть имена или названия групп).
К примеру XL-DESIGN, COOPER FEET и
другие, не менее известные группы,
корректно поддерживают KEMPSTON. Ведь
как приятно, нажав 'вниз' на кемпстоне,
получить именно то, что ты хотел, а не
иное. По этому если кто-то хочет
использовать поддержку данного
устройства в своих прогах, не имея
возможности его проверить - могу дать
несколько советов:
1) Прежде всего надо проверить на
наличие
устройства как такового, иначе это
может
привести к неприятным последствиям
(имитация
постоянно нажатой клавиши Кемпстона)
Пример:
. . . .
LD B,0 Проверяем порт на
стабильность, т.к. работа
нестабильного кемпстона
нежелательна. LOOP IN A,(31)
AND A
JR NZ,KEMP_OFF
DJNZ LOOP KEMP_OFF
LD (KEMPSTON),A
. . . . KEMPSTON DEFB 0 Если число не
равно нулю,
то кемпстон отсутствует.
2) Привожу правильную кодировку битов
кемпстона.
Направление Бит
------------------------
Вправо ???00001
Влево ???00010
Вверх ???00100
Вниз ???01000
Огонь ???10000
------------------------
3) Применяйте общую проверку всех
управляемых клавиш:
отводите место (1 байт). Пусть 1 бит
будет
отвечать за перемещение вправо, 2й
влево и т.д.
При нажатии клавиши (не только
кемпстона) заносите
биты в соответствии с нумерацией. В
итоге можно
нажать вверх на клавиатуре и влево на
кемпстоне
и герой (стрелка) и т.п. будет
передвигатся по
диагонали. Информация к размышлению:
Существует только ОДИН (1) стандарт
кемпстона.
Это порт 31 (#1F)! И ориентируйтесь
пожалуйста
только на него! И убивайте порт #DF в
самом
зародыше (имеется ввиду замена его на
#1F),
чтобы у людей не начинался нервный
тик при
попытке по-человечески поиграться в
игру!
Давайте делать качественные
программные продукты!
PANDA/BIS/ETC/RUSH/ASM/97
Другие статьи номера:
Похожие статьи:
В этот день... 1 ноября
Dnieprobite #03,
ACNews #13,
ZX Time #10,
Echo #07,
Funeral #1.5,
Info Guide #02,
ZX Guide #02,
Plutonium #14,
Crossroads #07,
ZX Club #09,
Black Crow #02,
Spectrum Expert #01,
C-Net Week #03,
Maximum #46,
Review #01,
Anigdot #46,
Nicron #05,
Spectrum Land #02,
Crysral Dream #01,
Platinum #02,
Oberon #02,
Echo #01,
Emulate #03,
ZX Format #01,
Speccy #02,
ZX Panorama #01