Здравствуйте,у меня вопрос,который не даёт мне спать уже несколько месяцев.Пишу проект, в нём используется графический 256-цветовой режим с использованием vesa256. Я перепробовал кучу модулей для подключения мыши,некоторые даже отображались(не двигаясь), а когда доходило дело для процедуры контроля действий мыши, программа вылетала с ошибкой проца,мол он такую операцию выполнить не может.Подскажите,возможно, я что-то не так делаю?
andriano
23.06.2008 23:28
Цитата(Unconnected @ 23.06.2008 1:12)
Здравствуйте,у меня вопрос,который не даёт мне спать уже несколько месяцев.Пишу проект, в нём используется графический 256-цветовой режим с использованием vesa256. Я перепробовал кучу модулей для подключения мыши,некоторые даже отображались(не двигаясь), а когда доходило дело для процедуры контроля действий мыши, программа вылетала с ошибкой проца,мол он такую операцию выполнить не может.Подскажите,возможно, я что-то не так делаю?
Так и должно быть. Рисование курсора мыши осуществляет мышиный драйвер, которому известны только стнадартные VGA режимы, т.е. до 13h включительно. В более высоких режимах мышь нужно рисовать самостоятельно.
Unconnected
24.06.2008 20:05
Цитата(andriano @ 23.06.2008 19:28)
Так и должно быть. Рисование курсора мыши осуществляет мышиный драйвер, которому известны только стнадартные VGA режимы, т.е. до 13h включительно. В более высоких режимах мышь нужно рисовать самостоятельно.
А что для этого нужно? У меня есть программа, рисующая ДОСовские курсоры, но ведь надо как-то его использовать(курсор).А как?
NickSpirit
10.07.2008 4:08
Вообще в паскале есть такая удобная штука как встроенный ассемблер. Так вот используя его можно легко показать курсор в нужном месте. Да и реакцию на кнопки мыши воспринимает отлично.
инициализация мыши --
mov ax,00h int 33h
отображение указателя --
mov ax,01h int 33h
для считывания состояния кнопок используем 03H, для установки в нужное место 04H, о нажатии и об отпускании кнопок - 05H и 06H вообще там огромное количество функций. Быстро, кратко и с огромной отдачей.
volvo
10.07.2008 14:03
Цитата
Вообще в паскале есть такая удобная штука как встроенный ассемблер.
Вообще у человека есть такая удобная штука, как глаза... И если уж они есть, то использовать их надо по назначению, а не для неизвестно чего. Что, трудно было прочесть внимательно тему?
Цитата
Рисование курсора мыши осуществляет мышиный драйвер, которому известны только стнадартные VGA режимы, т.е. до 13h включительно.
Это ни о чем не говорит тебе? Что вызывается вот тут:
... mov ax,01h int 33h { <-- вот это не обращение к драйверу, который просто НЕ УМЕЕТ рисовать мышь на высоких разрешениях???} ...
NickSpirit
10.07.2008 14:19
Цитата
Это ни о чем не говорит тебе? Что вызывается вот тут:
... mov ax,01h int 33h { <-- вот это не обращение к драйверу, который просто НЕ УМЕЕТ рисовать мышь на высоких разрешениях???} ...
Что мешает нам перед инициализацией мыши сделать вот так:
... mov ah,00h mov al,13h -- нужный нам режим 256 цветов с одной лишь оговоркой - СПЕЦИАЛЬНО СДЕЛАН ДЛЯ VGA int 10h ...
В этом случае, уже и стандартный драйвер который обычно запускается командой в файле CONFIG.SYS или AUTOEXEC.BAT будет отлично инициализировать мышь.
Ну а для обращения к драйверу, если он заранее не подгружен, можно использовать выше указанные файлы.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.