Board.KolibriOS.org

Official KolibriOS board
It is currently Mon May 27, 2019 3:04 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 16 posts ]  Go to page 1 2 Next
Author Message
PostPosted: Wed Jan 04, 2012 11:08 pm 
Offline

Joined: Tue Jul 26, 2011 11:03 pm
Posts: 62
Сделал авто определение 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 было негативное.


Attachments:
vbe-autodetect.7z [13.81 KiB]
Downloaded 144 times
Top
   
PostPosted: Wed Jan 04, 2012 11:43 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5048
Проверил в Qemu.

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

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

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

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


Attachments:
File comment: Скомпилированное ядро.
kernel.7z [76.71 KiB]
Downloaded 130 times

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

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

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


Top
   
PostPosted: Thu Jan 05, 2012 2:24 am 
Roverbook U800
При выборе всего один режим осмысленный:
Spoiler: Show
Attachment:
IMGP7666.JPG
IMGP7666.JPG [ 100.35 KiB | Viewed 3467 times ]

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

eBox-3300MX (Vortex86MX)
При выборе всего один режим осмысленный:
Spoiler: Show
Attachment:
IMGP7667.JPG
IMGP7667.JPG [ 75.88 KiB | Viewed 3467 times ]

При движении вниз выбираются несуществующие режимы - мусор по большому счету.
При загрузке система зависла выдав зеленую отрыжку:
Spoiler: Show
Attachment:
IMGP7672.JPG
IMGP7672.JPG [ 16.61 KiB | Viewed 3467 times ]


Результаты тестов неутешительны - код настолько сырой, что я бы на месте автора не стал выкладывать вообще для постороннего тестирования.
Текущую версию далее (у меня есть еще 3 физические машины разные) тестировать не имеет практической целесообразности.


Top
   
PostPosted: Thu Jan 05, 2012 2:55 am 
Offline

Joined: Tue Jul 26, 2011 11:03 pm
Posts: 62
Код который написал я вполне рабочий. Если есть по нему вопросы то можете задавать. Итеграция сырая.
Авто определение надо чтобы пользователью не пришлось самому выбирать разрешение. Нет, это не панацея потому как мы говори о 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: Пожалуйста пользуйся публично доступными скриптами а не своими личными.


Last edited by ilya on Thu Jan 05, 2012 8:14 am, edited 2 times in total.

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

Я сделал ровно так как описано - ядро последнее с SVN, закинул файлы куда велено и скомпилировал. Пожал kpack в режиме сжатия ядра.


Top
   
PostPosted: Thu Jan 05, 2012 8:16 am 
Offline

Joined: Tue Jul 26, 2011 11:03 pm
Posts: 62
Mario wrote:
Пожал kpack в режиме сжатия ядра.
Это не есть настройки по умолчанию. Это дополнительный слой, дополнительные баги и дополнительные доки читать (которых я не нашёл).


Top
   
PostPosted: Thu Jan 05, 2012 12:37 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
ilya wrote:
Mario wrote:
Пожал kpack в режиме сжатия ядра.
Это не есть настройки по умолчанию. Это дополнительный слой, дополнительные баги и дополнительные доки читать (которых я не нашёл).

Нет-нет, уже лет пять ядро сжимается kpack всегда.


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


Top
   
PostPosted: Thu Jan 05, 2012 11:43 pm 
Offline

Joined: Tue Jul 26, 2011 11:03 pm
Posts: 62
На этом сайте обычно принято начинать рассуждения с каких то идей которые как правило выливаются в одну болтовню. Я же начал с рабочего кода. Вам надо это авто определение или нет? Есть ли смысл продолжать дальше? Когда то на форуме читал что было бы неплохо.
Покачто вероятность 99% что не надо. Если передумаете постите сюда.

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


Top
   
PostPosted: Fri Jan 06, 2012 12:29 am 
Offline

Joined: Sat Jun 04, 2011 4:49 pm
Posts: 93
Все равно в конце концов авто определение будет востребованным, т.к. ОС хотят (и наверняка будут) пользоваться не только прогеры..
Да и по-современному это, нежели в ручную выбирать режимы..


Top
   
PostPosted: Fri Jan 06, 2012 1:22 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5048
ilya
Надо продлжать. Не обращай внимания на Марио - его обиде на мир нет предела. Ему когда-то пафосно сказали, что его проблемы никого не интересуют и теперь он думает что в праве это пафосно повторить, но уже здесь. Ведь у него есть опыт. Но ведь здесь нет начальников и подчинённых, так ведь.

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

_________________
Через тернии к звездам


Top
   
PostPosted: Fri Jan 06, 2012 2:03 am 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1330
ilya
имхо ручной выбор видеорежима все-таки лучше, чем кривое автоопределение.

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

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

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


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

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


Top
   
PostPosted: Wed Jan 11, 2012 7:24 pm 
Offline
Kernel Optimizer
User avatar

Joined: Mon Jan 16, 2006 7:58 pm
Posts: 657
Фактически я написал автоматическое определение экранов видеорежима, точнее взял ранние разработки Mike.dld + свои мысли и допилил до рабочего состояния. В различных вариантах видеокарт данные режимы реализованы совершенно по разному, только по этому была возможность выбора пользователем режима, т.к. после загрузки изменение режима затруднительно.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 16 posts ]  Go to page 1 2 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited