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
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября