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/ |