OSDev
http://osdev.su/

Программирование VGA
http://osdev.su/viewtopic.php?f=7&t=772
Страница 2 из 4

Автор:  phantom-84 [ 09 окт 2013, 14:17 ]
Заголовок сообщения:  Re: Программирование VGA

Это слишком высокое разрешение для VGA. Похожие режимы я вроде бы видел в списке VESA. Частота пикселей опять-таки слишком высокая для стандартных VGA-режимов. Я программирую VGA через порты, пока проблем не наблюдал. Хотя вполне возможно, что для "расширенных" режимов нужно обязательно использовать MMIO. Почитай дэйтэшиты по видюхам/видеоконтроллерам.

Автор:  t0serg [ 09 окт 2013, 16:38 ]
Заголовок сообщения:  Re: Программирование VGA

Единственная доступная мне "документация" - исходники nouveau. Но X-серверу ни к чему текстовой режим, а мне - 2D/3D ускорение. Поэтому выбрать действительно нужное не так просто... Умножитель/делитель частоты PLL (генератора Dot Clock) похоже, программируется лишь через MMIO. Я правильно понимаю, что настройка стандартных регистров VGA не даст эффекта без этого? Современные видеокарты не настолько умные?

NVIDIA предоставляет готовые библиотеки для работы с GPU, под известные ОС. Документация на железо полностью отсутствует, увы. Или я плохо искал? Если Вы можете поделиться полезными ссылками - заранее спасибо.

Автор:  pavia [ 09 окт 2013, 19:21 ]
Заголовок сообщения:  Re: Программирование VGA

t0serg, это тема о программирование VGA. Настоятельно рекомендую завести другую теме.

Цитата:
Я правильно понимаю, что настройка стандартных регистров VGA не даст эффекта без этого?

Правильно стандартные порты не отвечают за PLL.
Цитата:
похоже, программируется лишь через MMIO.
Нет. Но просто через MMIO скорость выше. Да и не всё в обычные порты в/в запихнёшь.

Цитата:
Документация на железо полностью отсутствует, увы. Или я плохо искал?
Документации нет. Вот описание архитектуры есть но по крупицам. Интересно, а никто у официальных разработчиков драйверов не пробовал спросить в наглую?

Автор:  Himik [ 09 окт 2013, 19:21 ]
Заголовок сообщения:  Re: Программирование VGA

Легче включить графический режим высокого разрешения и самому рисовать символы в видеобуфере. Пора про текстовый архаизм уже забыть, тем более на новой карточке от NVIDIA.

Автор:  t0serg [ 10 окт 2013, 00:40 ]
Заголовок сообщения:  Re: Программирование VGA

Спасибо всем, кто ответил. Теперь ситуация мне ясна полностью.

Простота вывода на экран в текстовом режиме окупает любые проблемы инициализации - при условии, что они решаемые в принципе. Дополнительный бонус - мигающий курсор. Другое дело, что нестандартные текстовые режимы, как мне кажется, мало кому интересны именно из-за сложности настройки, а не наоборот.

Автор:  Yoda [ 10 окт 2013, 10:07 ]
Заголовок сообщения:  Re: Программирование VGA

К сожалению, текстовые режимы обладают одним важным недостатком - ограниченный набор одновременно используемых символов. Про юникод можно забыть, либо же его использование сопряжено с такими сложностями, что проще использовать графический режим для вывода текста.

Автор:  phantom-84 [ 10 окт 2013, 15:54 ]
Заголовок сообщения:  Re: Программирование VGA

Я отдал это на откуп приложениям. В принципе можно формировать/видоизменять некоторый минимальный набор представимых на экране символов по ходу работы приложения, было бы из чего (формировать). Иначе и в графических режимах можно наблюдать одни "?" Я практически полностью отвязал код (в видеопамяти) от символа (остался только шрифт 0, коды 0-7Fh - ASCII и коды 0C0h-0EFh - псевдографика) и сделал возможным независимое использование шрифтов разными приложениями ("глюки" могут наблюдаться, только когда одно приложение внаглую уничтожает шрифт другого приложения - защиты нет - или когда одно приложение наследует содержимое видеобуфера другого приложения и при этом загружает и использует свои собственные шрифты). Хотя символы ASCII и псевдографики можно также формировать и в пользовательских шрифтах (это бывает полезно, когда хочешь связать с кодами 80h-0BFh и 0F0h-0FFh также какие-то определенные символы, не надеясь на то, что система обеспечит нужный набор, или изменить символы с кодами 0-1Fh). Если достаточно 256 символов доп. шрифта, то можно ограничиться только им.

Автор:  t0serg [ 10 окт 2013, 17:50 ]
Заголовок сообщения:  Re: Программирование VGA

Очень хотел бы ошибаться, но, насколько я знаю, русской кодировки символов в природе не существует. То есть такой, где: во-первых, все буквы русского алфавита идут по порядку, включая седьмую - "ё", а не "ж" ("все" и "всё" - разные слова); во-вторых, есть ударные гласные ("слАбо" и "слабО" - не одно и то же); в-третьих, "доллар" заменён на "солнышко" (кого что греет); в четвёртых, есть символ "параграф". Ну а те кодировки, что мы имеем сегодня, не жалко - можно смело присваивать символам любые коды. Единственное ограничение вносит лишь используемый язык программирования.

Автор:  Yoda [ 11 окт 2013, 10:16 ]
Заголовок сообщения:  Re: Программирование VGA

t0serg писал(а):
Очень хотел бы ошибаться, но, насколько я знаю, русской кодировки символов в природе не существует.

За исключением порядка буквы "ё" все остальные требования выполнены в кодировке Юникод.

Автор:  t0serg [ 11 окт 2013, 13:52 ]
Заголовок сообщения:  Re: Программирование VGA

Yoda писал(а):
За исключением порядка буквы "ё" все остальные требования выполнены в кодировке Юникод.
Как Вы справедливо заметили выше, текстовые режимы VGA несовместимы с юникодом. Я не считаю это минусом. Поскольку повседневно используемый мною набор символов великолепно укладывается в 8 бит, такие кодировки явно избыточны.

Страница 2 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/