╔════════════────────────────════════════╗
╠═══─── ГЛЮКОДРОМ ───═══╣
╚════════════────────────────════════════╝
(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>