Madness #01
17 февраля 2001

Глюкодром - глюки определения наличия мышки - актуальная процедура от Stranger'a.

<b>Глюкодром</b> - глюки определения наличия мышки - актуальная процедура от Stranger'a.
╔════════════────────────────════════════╗
╠═══───          ГЛЮКОДРОМ         ───═══╣
╚════════════────────────────════════════╝
(c) STRANGER/ASM Corp.

                 "Где эта сволочь?"
                             Михалыч

                 'Особенности нацио-
                  нальной охоты' 

  Вот,блин,сижу я за клавой и думаю,как же
все-таки хреново,когда программы пишут лю-
ди,которум абсолютно похеру удобство поль-
зователя!Мышь на спеке уже как минимум три
года,а до сих пор мало кто научился корре-
ктно определять ее наличие. Потому как су-
ществуют  компы,на которых при наличии от-
сутствия факта присутствия данного девайса
из   портов,соответствующих  ему  читается
всякий  бред,и если опрос мыши не отключи-
ть,то  юзер  поимеет  абсолютно  нерабочую
прогу,а  автор поимеет массу абсолютно не-
цензурных выражений в свой адрес (от этого
юзера).Вот и я сегодня попэтался запустить
некую программу под названием "BRED_512".-
Не подумайте чего плохого,таким загадочным
именем автор окрестил редактор уровней для
"ЧЕРНОГО ВОРОНА".Так вот,количество нерво-
в,истраченных  при этом,можно сравнить то-
лько  с количеством водки, выпитой за весь
прошлый год (о чем это я?) Соответственно-
,количество  нецензурных выражений в адрес
автора  этого  BRED-а ( :) ) превысило все
разумные  пределы.А проблема заключалась в
вышеописанном  глюке,которого,кстати,избе-
жать не просто, а очень просто.Это делает-
ся примерно так:

           LD B,100 ;можно и меньше
LOOP       PUSH BC
           LD BC,#FADF
           IN A,(C)
           CPL
           AND %00000111
           CALL NZ,M_OFF
           POP BC
           DJNZ LOOP
           ...
M_OFF      ;здесь проца,отключающая
           ;опрос мыши

  Итого  17 байт - и проблемы как не быва-
ло!Нечто  подобное используется в оболочке
нашего  журнала.Ставится  данная  мулька в
самом начале программы, отрабатывает перед
запуском  основного блока.А еще лучше пос-
тавить  ее  уже в LOADER-е,тогда процеДУРА
(;->>)  M_OFF должна дать понять загрузчи-
ку,что  после  распаковки  нужно отключить
опрос мыши.
  Теперь  для  обладателей  особо могучего
интеллекта  кратко обьясню суть вышеприве-
денной  проги.Все просто - она 100 раз оп-
рашивает  порт кнопок мыши, и если хотя бы
раз  считается  число  отличное от #FF, то
это  свидетельствует о нестабильности пор-
тов  мыши,и опрос ее будет жестоко (безжа-
лостно,варварски,  ну  прямо-таки зверски)
отключен. Предполагается,что юзверь не бу-
дет давить на кнопки во время загрузки (ну
а если будет - в награду поимеет отключен-
ную  мышу  -  нехрен пальцы совать куда не
следует и когда не следует!).Кстати, число
100  (#64,или %01100100) взято (как вы ду-
маете,откуда?)  естественно с потолка. При
желании число повторов цикла можно устано-
вить  любым - от 2 до хрен знает каких ве-
личин,хоть  до 10^64 (если терпения хватит
организовывать такое количество циклов).О-
дин  раз опрашивать не рекомендуется - мо-
жет получиться так, что как раз в этот мо-
мент из порта считается #FF,и будут глюки-
.Если у кого-то не хватает фантазии предс-
тавить,как  выглядит  данный  глюк,то могу
кратко его описать (ударение на А!!!): ку-
рсор безумно скачет повсему экрану,включая
все попадающие под него иконки,и абсолютно
не реагирует на попытки им управлять.
  Кто-то  может  заявить:"повесил  бы себе
мышу,и решил бы все проблемы,и нефиг народ
грузить своей бредятиной...". Отвечу: дело
не в том,есть у меня мышь или нет,я-то мы-
шу во всех имеющихся паталогических прогах
уже зарезал.Дело в том, что я не единстве-
нный  с таким извращенным компом и без мы-
ши.Наверняка есть люди,которым тоже хочет-
ся поредактить Черную Ворону,а сломать чу-
жую  прогу они не могут в силу своего бла-
городного  воспитания ( ;) ).Добавить нес-
колько  лишних  байт в программу не так уж
сложно,зачем же портить нервы тем немногим
пользователям,которые  еще остались (я на-
деюсь...) на спектруме...
  Приведенная  выше  процедура испытана на
всех  доступных  мне  компах с мышой и без
нее,и имеет 100% гарантию рабочести. Може-
т,это  и не шедевр,но она работает, причем
надежно.
  А  упомянутый  "BRED_512"  я  уже сломал
(sorry!!!),мышу  прирезал,осталось решить,
пускать ее в свободное распространение или
нет (все равно она в инете уже давно лежит
- тащи-не хочу).
  И  еще одно.Кто мне может обьяснить, по-
чему  REAL  COMMANDER  испортил мне диск с
моими любимыми музонами,которые я так дол-
го и упорно выTASKивал из всего,что можно?
Эта хреновина почему-то посчитала диск пу-
стым,и  скопнула  500  секторов, начиная с
самого начала диска,забив на то, что в ка-
талоге на тот момент было около трех деся-
тков  файлов.Короче,половина музонов поле-
тели  коту  под  хвост.Может,это я дурак,и
просто  нифига  не  умею обращаться с этим
командером???  У  кого есть что сказать по
этому  поводу,пишите. Адрес в разделе "АВ-
ТОРЫ".

              <END OF TEXT>

 



Другие статьи номера:

Intro - Сегодня мы представляем вашему вниманию первый номер нового журнала,посвященного спектрум-тематике.

Глюкодром - глюки определения наличия мышки - актуальная процедура от Stranger'a.

Шифромания - Криптографическая защита информации.

Приколы - сборник приколов среди студентов Ульяновского Государственного Технического Университета.

Линолиум - правила предстоящего Millennium Demoparty'1901.

СС2001 - правила грядущего питерского демопати CHAOS CONSTRUCTIONS'001.

Фантазия - фантастически рассказ "Квартирант" Степан ВАРТАНОВ.

Обзор - обзор прессы по материалам Российских периодических изданий.


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

Похожие статьи:
Что нового? - Hа этот pаз я ничего здесь писать на буду.
Новости сцены - Планов огромное количество. Конечно, они не грандиозны, но все же...
For Coderz - Маленькие программерские хитрости.
Кодинг - Dithеring: Для вывода одной строки, для вывода двух строк.
Вступление - стихи и содержание номера.

В этот день...   26 апреля