OSDev

для всех
Текущее время: 01 май 2024, 16:47

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: PCI VGA Cards
СообщениеДобавлено: 26 мар 2012, 21:53 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
На VmWare кое какая документация открыта есть исходники.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI VGA Cards
СообщениеДобавлено: 26 мар 2012, 23:36 
Аватара пользователя

Зарегистрирован: 06 мар 2012, 20:05
Сообщения: 130
Откуда: Санкт-Петербург
В vmware завёл, но на реальных ПК аналогичный метод не катит.

Вообще, биос умеет работать с любой карточкой, какую ему ни подсунь. Значит логично, что есть стандарты. Вот только где их взять?

_________________
We are back with a hard even better than before [D-Block & S-Te-Fan – Evolutionz {Ran-D remix}]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI VGA Cards
СообщениеДобавлено: 27 мар 2012, 01:27 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Вообще-то у каждой видюхи есть свой БИОС, который создаёт компания-разработчик этой видюхи (а точней, графического процессора, на котором она построена). Ну а общесистемный БИОС (тот, что зашит в микросхему на материнке) просто вызывает стандартным образом БИОС видюхи (и БИОСы любых других дополнительных плат, что могут быть установлены). Так что дело не в стандартах. Они есть, конечно, но относятся к очень древнему железу -- типа классического VGA. Современные же графические процессоры существенно меняются чуть ли не каждый год -- вплоть до изменения системы команд. Например, система команд графических процессоров, на которых построены видюхи Radeon HD 6ххх, сильно отличается от таковой у ГП 5xxx и 4xxx, а у только появившихся 7xxx она вообще совсем другая. То же самое имеет место быть и у Невидии. Ну и какая стандартизация может быть в таких условиях? Даже на простой доступ со стороны ЦП к видеопамяти их не может быть, поскольку отображение видеопамяти на адресное пространство шины сильно завязано на архитектуру графического процессора и управляется специфичным для него образом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI VGA Cards
СообщениеДобавлено: 27 мар 2012, 02:40 
Аватара пользователя

Зарегистрирован: 06 мар 2012, 20:05
Сообщения: 130
Откуда: Санкт-Петербург
То, что карточки совершенствуются - хорошо. То, что у них свой биос - ещё лучше. Но биос материнки как-то же плюёт на то, что ему всунули - видяху 2002 или 2012 года разработки. Он просто рисует на экране то, что должен рисовать - и настроечные экраны, и ПОСТ... Вот как он это делает, меня и интересует.

_________________
We are back with a hard even better than before [D-Block & S-Te-Fan – Evolutionz {Ran-D remix}]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI VGA Cards
СообщениеДобавлено: 27 мар 2012, 08:20 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
DJ PhoeniX писал(а):
То, что карточки совершенствуются - хорошо. То, что у них свой биос - ещё лучше. Но биос материнки как-то же плюёт на то, что ему всунули - видяху 2002 или 2012 года разработки. Он просто рисует на экране то, что должен рисовать - и настроечные экраны, и ПОСТ... Вот как он это делает, меня и интересует.


Вызывая стандартные функции из БИОСа видюхи, естественно. Никакой прямой доступ к железу ему для этого не нужен (за исключением разве что видеопамяти, когда видюха работает в одном из древних, а значит, стандартных режимов). Переключение режимов осуществляется исключительно вызовом функций БИОСа видюхи. Ну а какие это функции -- старые досовские или же более новые VESA -- принципиальной роли не играет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI VGA Cards
СообщениеДобавлено: 27 мар 2012, 14:56 
Аватара пользователя

Зарегистрирован: 06 мар 2012, 20:05
Сообщения: 130
Откуда: Санкт-Петербург
И всё же хочется конкретики. Разумный даташит или пример кода...

_________________
We are back with a hard even better than before [D-Block & S-Te-Fan – Evolutionz {Ran-D remix}]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI VGA Cards
СообщениеДобавлено: 27 мар 2012, 17:59 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Конкретика такая в самом начале загрузки во время ПОСТ БИОС с материке перебирает карты расширения находит видеокарту, согласно спецификации PCI. Затем отображает и начинает выполнение POST код BIOS карты расширения согласно стандартам POST, PnP, PCI. Код биоса видео карты инициирует видео карту согласно внутренней спецификации которая не известно. Затем он вешает свой обработчик на Int 10h. Далее возвращает управление основному биосу.
Основной биос выводит информацию используя Int 10h биоса видео карты. Сервис этот стандартизирован IBM. Там даже проверка идёт на то что биос IBM. Единственное что у современных видео биосов есть еще VBE (VESA BIOS EXTENSION)

Существует два класса видеорежимов текстовый и графический. Так вот в современные БИОСы показывают графическую заставку. Делают они это так:
1) ищут подходящий графический режим
2) устанавливают его.
3) Читают адрес видео буфера LFB(Line Frame Buffer) и другие параметры видео режима.
4) Путем копирования данных в видео буфер LFB.
Пункты 1-3 согласно стандарту VBE.

Если вы не виде-те заставку, то вывод идёт в текстовом режиме согласно стандарту на видео карты и их биосы IBM ps/2.
Рамки рисуются псевдо графикой. Таблица рисуется символами из таблицы ASCII+.
Что касается человечка и эмблемы Award. То я уже не помню, но там есть три пути:
1) это замена символов в таблице символов, последующее восстановление.
2) вывод в графическом режиме в последующий возврат в текстовый режим без очистки экрана.
3) вывод в графическом, текст по пиксельно копируется из таблицы символов.

Как работать с VGA видео картой и её биосом описано у IBM. А по поводу эмблемы авард методика её вывода описана у Криса ака Мыших, возможно опубликовано в журнале хакер.

VGA сами понимаете стандарту очень много лет и он мало чего поддерживает. VESA тоже кроме установки видео режима и некоторой информации не даёт ничего. Весь последующий функционал в ОС реализуется драйвером видео карты. Драйвер видео карты написан фирмой разработчиком видеокарты под конкретную ОС. Либо используя обратную разработку путем исследования закрытого драйвера интузиастами сделан открытые драйвера.

Ни о коком стандарте на видеокарту речи быть не может уж больно оно специфично программируется. Тем болле частенько меняется способ программирования.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI VGA Cards
СообщениеДобавлено: 27 мар 2012, 18:06 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
На VGA, вот тут все доходчиво расписано, и на БИОС тоже
http://www.mcamafia.de/pdf/pdfref.htm

А также более современное расширение VBE3
http://pdos.csail.mit.edu/6.828/2005/re ... e/vbe3.pdf
VBE1 и VBE2 сам нагуглишь
VBE_af можешь не читать не прижился.

Если нужны примеры то их нагуглить легко.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI VGA Cards
СообщениеДобавлено: 28 мар 2012, 05:07 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
pavia писал(а):
А также более современное расширение VBE3
http://pdos.csail.mit.edu/6.828/2005/re ... e/vbe3.pdf
Если нужны примеры то их нагуглить легко.

В спецификациях сказано, что можно запросить не стандартное разрешение.
Можно ли запросить например 1366*768 ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PCI VGA Cards
СообщениеДобавлено: 28 мар 2012, 08:04 

Зарегистрирован: 13 окт 2008, 17:38
Сообщения: 46
Откуда: Владимир
Получить список всех поддерживаемых адаптером режимов, если есть нестандартный, то он должен быть в этом списке, имхо. Разве нет?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB