Faultless #08
29 ноября 1997

Тема : Кемпстон и 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



Other articles:


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

Similar articles:
Hall of Fame - Presumption of innocence: the illegal distribution of the magazine.
Glance - The test "is not a genius you know?".

В этот день...   21 November