Page 1 of 2

авто определение "безопасных" видео режимов

Posted: Wed Jan 04, 2012 11:08 pm
by ilya
Сделал авто определение VBE разрешений которые поддерживаются монитором. Увидите старый синий экранчик но по умолчанию будет либо VGA 640x480(пока) либо более высокое VBE которое поддерживается монитором.

Вертикальная частота не учитывается. Для этого обязательно наличие VBE3. Определение делается через int10h ax=4f15. Используются только standart & established timings.

Пожалуйста, рассматривайте авто определение как лучшее разрешение из безопасных нежели как лучшее из доступных.

Баги (не мои, а тех програмистов кто писал кашу bootcode.inc без коментариев):
1) прокрутка списка видео разрешений не работает
2) если пользоватся опциями (a),(b),(c) то может появится чёрный экран вместо десктопа. Как-то связано с размером кода. Я это "исправил" но может не до конца
3) возможно не работает запоминание разрешений

Усановка: скопируйте файлы из архива в папку kernel\trunk\boot\ ревизии 2332, компилируйте, запускайте. Всё с настойками по умолчанию

Поддержку VBE1.2 & ega/cga я удалил. Спросил здесь(viewtopic.php?f=36&t=1996) про vbe1.2. Вменяемого ответа не получил но настроение к vbe1.2 было негативное.

Re: авто определение "безопасных" видео режимов

Posted: Wed Jan 04, 2012 11:43 pm
by Leency
Проверил в Qemu.

По-умолчанию стояло 640х480. Прокроутка не работает. Выставил 800ч600, нажал запомнить.
Выкключил машину. Включил.

На синем экране снова 640х480, но когда входишь в режимы выделен 800х600!!!!11 Притом прокрутка вверх работает!!! Значит не работает только вниз.

Бинарники ядра прилагаю (несжатые).

И ещё, объясните лаймеру дизайнеру простому человеку понятным языком какой профит с этой правки.

Re: авто определение "безопасных" видео режимов

Posted: Thu Jan 05, 2012 12:49 am
by Mario
Имеет смысл объединить две темы - они прямо связаны решаемой проблемой.
Насчет комментариев - их наличие или отсутствие не является решающим вопросом. Есть хорошо, нет так все равно придется разбираться. В Колибри (в общем случае) принято давать меткам осмысленные имена и это часто помогает не смотря на отсутствие комментариев.

Протестирую на своих машинах и отпишусь.

З.Ы. Забавно, но когда я работал в "Прикладных технологиях" мне достаточно явно было сказано "Знаешь чем хороший программист отличается от просто программиста - он не задает лишних вопросов и не оправдывается, просто делает то что ему говорят". В тот момент у меня это вызывало удивление, но со временем начинаешь понимать скрытую часть логики. :lol:

Re: авто определение "безопасных" видео режимов

Posted: Thu Jan 05, 2012 2:24 am
by Mario
Roverbook U800
При выборе всего один режим осмысленный:
Spoiler:
IMGP7666.JPG
IMGP7666.JPG (100.35 KiB)
Viewed 10792 times
При движении вниз выбираются несуществующие режимы - мусор по большому счету.
При загрузке нетбук ресетнулся.

eBox-3300MX (Vortex86MX)
При выборе всего один режим осмысленный:
Spoiler:
IMGP7667.JPG
IMGP7667.JPG (75.88 KiB)
Viewed 10792 times
При движении вниз выбираются несуществующие режимы - мусор по большому счету.
При загрузке система зависла выдав зеленую отрыжку:
Spoiler:
IMGP7672.JPG
IMGP7672.JPG (16.61 KiB)
Viewed 10792 times
Результаты тестов неутешительны - код настолько сырой, что я бы на месте автора не стал выкладывать вообще для постороннего тестирования.
Текущую версию далее (у меня есть еще 3 физические машины разные) тестировать не имеет практической целесообразности.

Re: авто определение "безопасных" видео режимов

Posted: Thu Jan 05, 2012 2:55 am
by ilya
Код который написал я вполне рабочий. Если есть по нему вопросы то можете задавать. Итеграция сырая.
Авто определение надо чтобы пользователью не пришлось самому выбирать разрешение. Нет, это не панацея потому как мы говори о bios.

Если у вас только 640x480 то значит код не нашёл LFB режимов. Правильный сособ их найти - установить lfb бит перед функцией ax=4f01. И незабывайте минимальная версия vbe2.
Прокрутка не должна работать. Лучше не трогать.

Если есть разные режимы в списке режимов то у вас есть vbe2. Но если выбран 640x480x0 то edid либо отсутствует либо нету standart & established полей структуры edid.

Leency, твой бинарник по твоему описанию работает как следует. У меня он тоже работает. Запоминание не работает.
Mario wrote:Имеет смысл объединить две темы - они прямо связаны решаемой проблемой.
Насчет комментариев - их наличие или отсутствие не является решающим вопросом. Есть хорошо, нет так все равно придется разбираться. В Колибри (в общем случае) принято давать меткам осмысленные имена и это часто помогает не смотря на отсутствие комментариев.

Протестирую на своих машинах и отпишусь.

З.Ы. Забавно, но когда я работал в "Прикладных технологиях" мне достаточно явно было сказано "Знаешь чем хороший программист отличается от просто программиста - он не задает лишних вопросов и не оправдывается, просто делает то что ему говорят". В тот момент у меня это вызывало удивление, но со временем начинаешь понимать скрытую часть логики. :lol:
В следущий раз говори по делу и прекрати оправдывться.

Roverbook U800
eBox-3300MX (Vortex86MX)
Mario, должно быть 640x480x0. Ты может неправильно собрал. Файл "bootvesa.asm" а не "bootvesa.inc". Или другие проблемы со сборкой.
EDIT: Пожалуйста пользуйся публично доступными скриптами а не своими личными.

Re: авто определение "безопасных" видео режимов

Posted: Thu Jan 05, 2012 7:02 am
by Mario
С какого перепуга я оправдываюсь то? Я выразил свое мнение по предмету отмазок к выкладыванию сырого кода.
Mario, должно быть 640x480x0. Ты может неправильно собрал. Файл "bootvesa.asm" а не "bootvesa.inc". Или другие проблемы со сборкой.
Я сделал ровно так как описано - ядро последнее с SVN, закинул файлы куда велено и скомпилировал. Пожал kpack в режиме сжатия ядра.

Re: авто определение "безопасных" видео режимов

Posted: Thu Jan 05, 2012 8:16 am
by ilya
Mario wrote:Пожал kpack в режиме сжатия ядра.
Это не есть настройки по умолчанию. Это дополнительный слой, дополнительные баги и дополнительные доки читать (которых я не нашёл).

Re: авто определение "безопасных" видео режимов

Posted: Thu Jan 05, 2012 12:37 pm
by SoUrcerer
ilya wrote:
Mario wrote:Пожал kpack в режиме сжатия ядра.
Это не есть настройки по умолчанию. Это дополнительный слой, дополнительные баги и дополнительные доки читать (которых я не нашёл).
Нет-нет, уже лет пять ядро сжимается kpack всегда.

Re: авто определение "безопасных" видео режимов

Posted: Thu Jan 05, 2012 5:25 pm
by Mario
Вообще-то сжималось оно kerpack, а kpack я допилил несколько позже, что впрочем сути не меняет - пожатое ядро работает, а код выбора режимов безбожно сырой. Несжатое ядро показало все тот же результат. Обычное trunk ядро работает без проблем.

Re: авто определение "безопасных" видео режимов

Posted: Thu Jan 05, 2012 11:43 pm
by ilya
На этом сайте обычно принято начинать рассуждения с каких то идей которые как правило выливаются в одну болтовню. Я же начал с рабочего кода. Вам надо это авто определение или нет? Есть ли смысл продолжать дальше? Когда то на форуме читал что было бы неплохо.
Покачто вероятность 99% что не надо. Если передумаете постите сюда.

PS: Я личкой(private messages) не пользуюсь.

Re: авто определение "безопасных" видео режимов

Posted: Fri Jan 06, 2012 12:29 am
by Элита
Все равно в конце концов авто определение будет востребованным, т.к. ОС хотят (и наверняка будут) пользоваться не только прогеры..
Да и по-современному это, нежели в ручную выбирать режимы..

Re: авто определение "безопасных" видео режимов

Posted: Fri Jan 06, 2012 1:22 am
by Leency
ilya
Надо продлжать. Не обращай внимания на Марио - его обиде на мир нет предела. Ему когда-то пафосно сказали, что его проблемы никого не интересуют и теперь он думает что в праве это пафосно повторить, но уже здесь. Ведь у него есть опыт. Но ведь здесь нет начальников и подчинённых, так ведь.

Только выкладывай, пожалуйста, готовые ядра, желательно проверенные тобой - тогда вопросов будет меньше кто как скомпилил.

Re: авто определение "безопасных" видео режимов

Posted: Fri Jan 06, 2012 2:03 am
by art_zh
ilya
имхо ручной выбор видеорежима все-таки лучше, чем кривое автоопределение.

Не нравится синий экран - забей свои параметры в (свою) рабочую копию ядра и займись чем-нибудь полезным.

И еще пара правил хорошего тона:

1) насвинячил - прибери за собой.
2) не нарывайся на конфликт с теми, кто взялся тестировать твой код, и всегда старайся уважительно принимать их мнения (какими бы спорными они тебе ни казались). Иначе больше никто не возьмется...

Re: авто определение "безопасных" видео режимов

Posted: Fri Jan 06, 2012 6:39 am
by Mario
ilya
1. Да, надо -однако автор выкладывая код должен быть готов к обоснованной критике. Я в свое время также воспринимал в штыки любое замечание. Пока что код сырой и я выразил свое частное мнение о его сырости - ты имеешь полное право забить на мое частное мнение.
2. Посмотри лог SVN - я не только болтаю. За 8 лет участия так немножко код ковырял, совсем чуть чуть, иногда. :mrgreen:

Leency
Православные дизайнеры-программисты негодуют. :lol:

Re: авто определение "безопасных" видео режимов

Posted: Wed Jan 11, 2012 7:24 pm
by <Lrz>
Фактически я написал автоматическое определение экранов видеорежима, точнее взял ранние разработки Mike.dld + свои мысли и допилил до рабочего состояния. В различных вариантах видеокарт данные режимы реализованы совершенно по разному, только по этому была возможность выбора пользователем режима, т.к. после загрузки изменение режима затруднительно.