Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: функция 4F12h прерывания 10h  (Прочитано 17250 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Paul
Гость
« : 30-09-2003 06:01 » 

Прошу помощи в поиске полного формата для функции 4F12h (Cursor Interface Extensions(CI) прерывания 10h VESA стандарта.  Так больше нельзя...
Если не трудно, то дайте текст формата и ссылку, где его (полный формат) можно взять.
Заранее благодарю.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 30-09-2003 09:40 » 

Это в какой версия VBE? Для 1.2 и 2.0 у меня есть инфа.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Paul
Гость
« Ответ #2 : 30-09-2003 11:18 » 

VBE 2.0
буду НУ ОЧЕНЬ признателен.
Записан
Paul
Гость
« Ответ #3 : 30-09-2003 11:20 » 

P.s.
А что, в VBE 3 её нет?
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 30-09-2003 13:42 » 

Она то есть, но у меня нет ж)
Только у меня твердая копия - т.е., отдельные вопросы могу напечатать, а за полной докой надо на http://ya.ru ...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Paul
Гость
« Ответ #5 : 30-09-2003 14:01 » 

в VBE 2.0
Очень буду признателен :oops:
Записан
Paul
Гость
« Ответ #6 : 30-09-2003 14:04 » 

Вышлете пока что-нибудь, что не жалко.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 01-10-2003 07:40 » 

Сегодня вечером посмотрю 4F12.
Выслать? Как? У меня  же книжка... Только перепечатать.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Paul
Гость
« Ответ #8 : 02-10-2003 06:33 » 

Тогда хотя бы наводку на её возможности.
И вообще, мне не совсем понятно. Эта функция выдаёт только справочную информацию или в ней предусмотрены возможности управления курсором?
Проблема заключается в том, что программа, работающая в старших VESA режимах не может обработать стандартное прерывание 3303h. При считывании позиции курсора она выдаёт ах...хинейные координаты по осям Х и У.
У моего монитора разрешение максимальное - 1024 на 768, а она выдаёт, причём постоянно Х = У = 1240 - двигай мышь, не двигай, нажимай на клавиши, не нажимай - всё едино.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 02-10-2003 08:40 » 

Посмотрел - старовата у меня книжка (1995г) - есть ф-ии только 0..10.
Посмотри тут: http://alexfru.narod.ru/miscdocs/ega_vga/vbe3.zip
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Paul
Гость
« Ответ #10 : 03-10-2003 06:50 » 

Я там был.
Во-первых. Нажатие на ссылку, во всяком случае у меня, приводит к тому, что..., ничего не происходит. Вроде процесс перекачки информации идет (подозрительно быстро), но куда не понятно. Следов этой перекачки я нигде не обнаружил.
Во-вторых. Если там записана родная информация VESA о VBE3.0, то она у меня есть и там ничего путного о функции 4F12h нет.
В третьих. Вхожу к Ральфу Брауну http://www.ctyme.com/rbrown.html
читаю для 10h прерывания:
AX = 4F12h
BL = function
other registers vary by function
Return:Varies by function
See Also: AX=4F4Dh
Обращаюсь к функции 4F4Dh, читаю:
AX = 4F4Dh
BX = number of bytes available for VCI use
DS:0000h -> buffer for VCI (это VIDEO CURSOR INTERFACE, размер не известен, формат тоже)
ES:DI -> VCI driver callback function (куда, в какую структуру?)
Return:AL = 4Fh if supported
AH = status
00h successful
BX = number of bytes used by VCI
ES:DI -> VCI request handler
01h failed
Desc: Allow the VESA BIOS Extensions to cooperate with a pointing-device (typically mouse) driver
See Also: AX=4F12h
Вот такое, блин, кольцо :!:
Возвращаясь к 4F12H читаем:
BL = function. Что за функции - а фиг их знает. Если это функции из 33h, то как их применять :?:
other registers vary by function
Return:Varies by function
- значения других регистров зависит от функции. Ну это и ежу понятно.
Таким образом, все утыкается в функции, заносимые в BL.
Что это за звери и с чем их едят - ВОТ В ЧЕМ ВОПРОС!
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 03-10-2003 07:26 » 

Цитата
ES:DI -> VCI driver callback function (куда, в какую структуру?)

Где тут сказано "структура"?

А тут был? http://www.vesa.org/public
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 03-10-2003 07:40 » 

Я склоняюсь во мнении, что, или эта ф-ия была официально не документированна, или специально удалена. Как не крути, а в стандарте ее нет. Используй обычный драйвер.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Paul
Гость
« Ответ #13 : 03-10-2003 11:11 » new

Да. Там я тоже побывал.
А на счет структуры - это я в сердцах.
Ну почему так получается? Ральф Браун "раздел" практически все прерывания и функции "до гола", а про эту или забыл, или ...
Присоединяюсь к предыдущему оратору и также предполагаю самое худшее. Или она действительно удалена, или не документирована. К великому сожалению. А как бы было хорошо, если бы она работала, хоты бы так, как 33h работает в стандартных режимах.
А курсор в DOS-программе, о которой я говорил раньше (прерывание 33h), и в которой не было никакой реакции на движение мышки и нажатие клавиш - все же "ожил".
Я после инициализации мышки добавил ограничения на перемещение курсора по горизонтали и вертикали. Но поскольку видимость курсора в старших режимах никакая (он размазан, т.к. продолжает считать, что работает в стандартных режимах, и распихивается в четыре слоя), то видно придется рисовать его самому.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines