Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Svga Programming

3.0K
12 октября 2003 года
O.S.D.
28 / / 09.10.2003
Привет всем! Всем кто программирует [COLOR=red]SVGA[/COLOR] сюда!!! Вот у меня небольшая проблема. Я пишу свою ОС и как понимаете хочу написать оболочку, с мышкой вроде разобрался, а вот c видео проблемы. Свой драйвер писать слом, тем более незнаю как, единственный выход SVGA. А вот как переключать видео режимы в PMODE , или вообще это можно, не знаю. Может кто-то знает??? Или где взять доки???
2.0K
13 октября 2003 года
Smagen
29 / / 01.05.2003
Цитата:
Originally posted by O.S.D.
Привет всем! Всем кто программирует [COLOR=red]SVGA[/COLOR] сюда!!! Вот у меня небольшая проблема. Я пишу свою ОС и как понимаете хочу написать оболочку, с мышкой вроде разобрался, а вот c видео проблемы. Свой драйвер писать слом, тем более незнаю как, единственный выход SVGA. А вот как переключать видео режимы в PMODE , или вообще это можно, не знаю. Может кто-то знает??? Или где взять доки???


Ты можешь использовать прерывания VESA в режиме V86. Еще можно переключать графический режим до входа в PMODE.

3.0K
14 октября 2003 года
O.S.D.
28 / / 09.10.2003
Цитата:
Originally posted by Smagen

Ты можешь использовать прерывания VESA в режиме V86. Еще можно переключать графический режим до входа в PMODE.


Насчет PMODE я не согласен, дело в том что я сначала перехожу в защищенный режим, а потом уже выполняю загрузку всех дров, терминала и так далее. V86 в принципе можно использовать, но он сложноватый и я не имею опыта работы с ним. Короче говоря мне [COLOR=red]НУЖНО ЧЕРЕЗ ПОРТЫ!!![/COLOR]

1.8K
16 октября 2003 года
MishaSt
170 / / 11.08.2003
Цитата:
Originally posted by O.S.D.

Насчет PMODE я не согласен, дело в том что я сначала перехожу в защищенный режим, а потом уже выполняю загрузку всех дров, терминала и так далее. V86 в принципе можно использовать, но он сложноватый и я не имею опыта работы с ним. Короче говоря мне [COLOR=red]НУЖНО ЧЕРЕЗ ПОРТЫ!!![/COLOR]


V86 сложный, а он через порты хочет...Это же PCI или AGP! Там так просто через порты не получится, легче через VESA. Ты поподробней посмотри про VESA всё, там клёвые фишки есть, типа возращает указатель на процедуры видеоадаптера. Типа нарисовать линию. Вообщем VESA рулез!!! А как же ты вообще загружаешь драйвера, что сам свой драйвер харда писал???

3.0K
16 октября 2003 года
O.S.D.
28 / / 09.10.2003
Цитата:
Originally posted by MishaSt

V86 сложный, а он через порты хочет...Это же PCI или AGP! Там так просто через порты не получится, легче через VESA. Ты поподробней посмотри про VESA всё, там клёвые фишки есть, типа возращает указатель на процедуры видеоадаптера. Типа нарисовать линию. Вообщем VESA рулез!!! А как же ты вообще загружаешь драйвера, что сам свой драйвер харда писал???



Кто тебе сказал драйвер харда, разве я упоминал хард?!?!?! Это дрова клавы, мыши... Лучше дайте мне ссылки. Спасибо(если дадите).

1.8K
17 октября 2003 года
MishaSt
170 / / 11.08.2003
Ты писал, что драйверы загружаются после перехода в PM. У меня просто недоумение. Ты что, никогда под DPMI(Dos Protect Mode Interface) и под DOS4GW не работал? Да и вообще, надо тебе функцию, которая сможет выполнять реал-моде интеррупт. Причём такую функцию надо в любом случае! Я пр то, что тебе понадобится общение с жёстким диском, там, например, писать своп, и.т.д так вот ты что, даже драйвер харда писать сам собрался??? Если ты не знаешь, как с видюхой работать, какоё может быть драйвер харда. А делать всё необязательно через V86 по-моему, скажу больше, так ненадо делать, надо просто осуществлять переход из PM в RM, выполнять, что надо, и обратно в PM. По-моему так и делается в DOS4GW. Просто я видел драйвер харда.(int13)Впечатляет. Был в одном из дос экстендеров. Кстати, ZRDX - хороший экстендер, под ним досовский AVP работает, и причём у ZRDX открыты исходники. Так что можнор много любопытного найти там, например управление свопом, памятью... Чтобы работать с видюхой SVGA надо сначала запрограммить PCI или AGP, это делается через через вызов биоса, этот вызов осуществляется через PM. Там потипу в биосе строчка каккая-то ищется, и когда её находишь, это значит, что ты нашёл интерфейс биоса под PM. Там типа индексная таблица - указатели на процедуры. Там чё-то вызываешь, и настраиваешь PCI, но скажу тебе, что сам разыскивал инфу по PCI и знаю, что её практически нет. Только чужые исходники. Я не нашёл описания того, как программить PCI, только лишь в исходниках видел. Я те говорю, что VESA это рулез! Там есть встроеные функции рисования примитивов. ЭТО ТЕБЕ НЕ ISA'шные CGA/EGA/VGA!!! Короче счас посмотрел, как работа с PCI устроена в этом драйвере харда. Ну так вот. Когда комп загружается, то PCI-устройства конфигурируются, и для их портов задаётся базовый адрес. Чтобы получить этот базовый адрес, надо найти BIOS32 Directory Service по сигнатуре "_32_". Затем надо поместить в ax '$PCI' , в bl 0 и выполнить найденную процедуру ты получишь относительный адрес (относительно _32_) процедуры работы с PCI. Затем надо найти устройство из списка многих других, а потом получить этот адрес, причём как написано в доке д драйверу описание BIOS32 существует только в формате PostScript и его можно только распечатать только на принтере, который поддерживает PostScript. Можно конечно при запуске системы переконфигурировать всё самому, и не спрашивать у биоса, ты ведь видел в винде галочку, мол дыбать из биоса или заново переконфигурировать. Вообщем скажу тебе, что ВЕЗДЕ системы,когда нет специального драйвера для конкретной карты, используют VESA, пример -Windows, Linux. Вообщем юзай VESA!Кстати, чуть не забыл, VESA поддерживает PM. Только там похоже не все функции. Функции изменения разрешения экрана кажется нет под PM.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог