
        DIRECT VIDEO ACCESS & MOUSE ROUTINES (DVA & M)


     Вниманию читателей  СОФТПАНОРАМЫ предлагается набор прими-
тивных функций для прямого доступа к видео-памяти  и  работы  с
мышью в программах на С.
     Создание функции "на все случаи жизни" - неизбежно  приво-
дит к  наличию  в  ней десятка - полутора параметров,которые не
всегда легко запомнить, зато всегда вызывают раздражение.С дру-
гой стороны  -  кому  нужна функция с жесткими ограничениями по
применению ? На мой взгляд, лучше предложить широкий набор эле-
ментарных функций, комбинируя которые, можно создавать удовлет-
воряющие каждого конструкции.А если этот набор  сделать  еще  и
открытым...
     Я, например,  в разных программах использую различные виды
меню.For example как говорят французы - без рамки,  с рамкой по
краю, с рамкой с отступом,  с тенью и без, всплывающие и иерар-
хические, взрывающиеся и т.д. да много чего можно выдумать.Если
это все параметризовать... ну,я не знаю!Зато проще набрать нуж-
ные примитивы  или же написать общую функцию но по собственному
вкусу и усмотрению - это, думаю, куда как более приятнее.
     Теперь почему  примитивы видео-доступа и мыши объединены в
один модуль.В руководстве по программированию  мыши  есть  пре-
достережение - "... при прямом доступе к видео-памяти необходи-
мо убрать курсор мыши с экрана  с  последующим  восстановлением
его по  завершении  доступа. Используя  видео-функции BIOS, это
можно не делать, ибо  система  сама  следит  за  сохранением  и
восстановлением экрана...".Ну, последняя часть  утверждения  не
совсем верна, у меня при доступе через int10h экран под мышиным
курсором не восстанавливался.
     А поскольку в последнее время мышь (белая!!!) стала  прив-
лекать все большее внимание, во все видео-функции включена про-
верка на работу с мышью, и, если работа ведется, то выполняются
стандартные функции   сохранения-восстановления   курсора   мы-
ши.Кстати, примитивами можно пользоваться и раздельно,  включая
работу только с видео-памятью,  либо только с мышью,  но в этом
случае сами "...следите за больными и  умершими...".  Объектный
модуль получился небольшой поскольку модуль не вызывает никаких
библиотечных функций языка С.
     Работа рассчитана на текстовый режим цветной/монохромный с
любым количеством строк и столбцов на экране.  Здесь не описаны
все функции ввиду их простоты и вполне подробных комментариев в
исходном тексте.
     И в заключении "кто есть who",  как  говаривал  наш  общий
знакомый.Во-первых Герб Шилдт (Herb Shldt), после прочтения его
книги "С для професстоналов", я приступил к созданию своей биб-
лиотеки примитивов.Дейв  Кирш (Dave Kirsch) из его "графической
мыши" - GRFMOUSE, я извлек много полезных идей.


                            With the best wishes

     606007, Дзержинск, Нижегородской обл.
           ул. Гастелло д. 9  кв. 56
        (83140) 9-35-75 (р), 9-55-38 (д)
         Пестунович Алексей Николаевич
