Здравствуйте, мне необходимо разработать программу работающую с видеокартой. Для работы с ней в Досе используется Int 10h. Сществует ли способ вызвать его из под винды или какой-нибудь его аналог?
Это сервис биос. А для работы с видео картой используются порты вв. Т.к. винда является многозадачной ос, и призвана скрывать специфику работы различного оборудования от прикладных программ (работа напрямую с различными моделями видео карт может существенно разниться), то и достучаться до портов вв можно только с уровня ос (или поставить драйвер это разрешающий, но это уже, как говориться, на свой страх и риск). Без достаточных навыков туда лучше не соваться. Шаг сторону будет расценен железом за попытку побега, прыжок на месте - попыткой взлететь, а финт ушами свернет шею. Аналогом int 10h под винду можно считать gdi32. В вашем случае они будут выполнять одни и теже функции.
Это все я в принципе знаю, думал есть и интерфейс какой-нибудь на уровне ядра. gdi32.dll надо будет посмотреть.
Нету такого интерфейса. В 32-разрядных ОС есть эмуляция ДОСа и ряда функций БИОСа для выполнения старых 16-разрядных программ, но не более того.
Плохо, простто int 10h управляет шиной DDC, в винде есть какой то способ точно, а какой не знаю. Просто у меня есть библиотека, она делает то же самое что и прерывание, а как я понять не могу
В WinXP в ядре есть костыль для обращения к INT 10h (как раз для этой цели, насколько помню), в Висле его полностью упразднили. Но по-любому он был доступен только драйверам.
drem1lin А что за фишку вы хотите реализовать управляя данной шиной напрямую. По моему это лишнее. Винда полностью покрывает все необходимые возможности. Поищите как это реализовать под нее но без привязки к железу. Например стоит спросить не "С помощью каких портов видео контроллера переключить разрешение экрана", а "Как под Виндой переключить разрешение экрана". И вместо последовательности записей в порты найдете структуры и последовательности вызовов функций. А Винда и ее драйвера уже сами как-нибудь разберутся с железом. Вопрос в том, что именно вы хотите сотворить и возможно ли это сделать средствами винды. И если винда это не потянет, то вам придется дописывать это самому, ручками, драйвером.
max7C4 Тема на самом деле очень сложная. И Great как то даже писал небольшой опус по этому делу:тут в блоге тут обсуждение на этом форуме
Но ведь работает! По меньшей мере мне нонче список режимов на две страницы накатало VBE 2.0 из-под NTVDM. Хотя по сути — верно. Либо лезть в порты видеоконтроллера, либо ой.