Михаил,я скачал с твоего сайта программу vesa3.Она показывает,что 8 и 4 битные режимы моя видеокарта поддерживает.
Значит в gfx ядре где-то ошибка или недочёт.
MenuetOS (KolibriOS) GFX kernel
У меня, Майк, кстати тоже не распознает 8 и 4 бит :-/
Намекаете, что я специально ограничил допустимые режимы? Проверил - так и есть Не знаю, почему - давно это было В /boot/bootvesa.inc, строки 229-234. Поменяйте, закомментируйте, ещё что-нибудь сделайте, если хочется.
Выкладываю предварительный код для сведения текущей версии ядрая с GFX ядром. Пока модифицирован только загрузчик. В настоящий момент можно загрузить ядро, если выбрать цветовую схему 24 бита на цвет или 32, с учетом поддержки вашей видеокарточкой, и не сохранять параметры. Так же в некотором смысле доработан интерфейс.
Я модифицировал детект ОЗУ для видеокарты, мне хотелось узнать правильно ли детектит код видео ОЗУ на вашей системе. И конечно пожелания и предложения пожалуйста высказывайте.
http://www.lrz.land.ru/dowload/kernel_GFX.7z
Я модифицировал детект ОЗУ для видеокарты, мне хотелось узнать правильно ли детектит код видео ОЗУ на вашей системе. И конечно пожелания и предложения пожалуйста высказывайте.
http://www.lrz.land.ru/dowload/kernel_GFX.7z
Quemu и VirtualPC загрузились без проблем. В Bochs не получилось вообще, там определилось только 2Мб и только с vgaromimage: file=VGABIOS-lgpl-latest-cirrus. Другие биос вообще детектятся как EGA/CGA. На железе загрузилось, 256 Мб определились как 16, наверное это нормально.
Есть проблемы с таблицей режимов. Иногда она портится.
Есть проблемы с таблицей режимов. Иногда она портится.
Я тестировал на Qemu(9.1), Bochs (2.3.5), Реальная система с 256 Мб видео ОЗУ. Проблема с определением 16 Мб Озу связана с тем что при Vesa 3 объем храниться не страницах по 64 кб, а в мб(поправте меня если я не прав). Я работаю над этой проблемой.
Serge
Ты можешь более подробно описать в каких случаях портиться таблица режимов? Мне этот баг не знаком.
А в этих биос есть поддержка vesa режимов?Другие биос вообще детектятся как EGA/CGA.
Serge
Ты можешь более подробно описать в каких случаях портиться таблица режимов? Мне этот баг не знаком.
C Бошем я разобрался, всё заработало. На железе после загрузки таблица выглядит так
800х600
1024х768
1152х864
1280х1024
0000х0000
?848х4219 в этой строке везде галочки
Но настоящие баги начинаются если перегрузить ядро. Вместо нормального видеорежима выводится что-то нереальное. Таблица выглядит как и после загрузки пока не начнёшь выбирать режим стрелочками. Тогда она просто превращается в кашу а кнопки ведут себя не адекватно. Нажимаешь кнопку "вверх" а указатель перемещается вниз и т.п. То же самое и в эмуляторах только там все режимы сбрасываются в нули.
800х600
1024х768
1152х864
1280х1024
0000х0000
?848х4219 в этой строке везде галочки
Но настоящие баги начинаются если перегрузить ядро. Вместо нормального видеорежима выводится что-то нереальное. Таблица выглядит как и после загрузки пока не начнёшь выбирать режим стрелочками. Тогда она просто превращается в кашу а кнопки ведут себя не адекватно. Нажимаешь кнопку "вверх" а указатель перемещается вниз и т.п. То же самое и в эмуляторах только там все режимы сбрасываются в нули.
Serge
Да я знаю об этом баге, я не все еще свел, и конечно буду фиксить ошибки. Проблема в том что алгоритм выбора режима нуждается в существнной переработке, одного переноса и синхронизации кода недостаточно, нужно полностью переработать весь алгоритм работы. Я постараюсь завтра выложить улучшенную версию, надеюсь сегодня мне удастся исправить часть ошибок которые ты описал.Но настоящие баги начинаются если перегрузить ядро. Вместо нормального видеорежима выводится что-то нереальное. Таблица выглядит как и после загрузки пока не начнёшь выбирать режим стрелочками. Тогда она просто превращается в кашу а кнопки ведут себя не адекватно. Нажимаешь кнопку "вверх" а указатель перемещается вниз и т.п. То же самое и в эмуляторах только там все режимы сбрасываются в нули.
У меня на видеокарте AGP ATI 1650 Pro 256Мb все режимы корректно выводятся. спасибо за информацию буду разбираться в чем дело.?848х4219 в этой строке везде галочки
Можно поподробнее о преимуществах GFX kernel перед обычным? Чем оно лучше?
В Qemu определило 4 Мб ОЗУ (при 1Гб на самой машине и доступных для Кьему 128)
Нормально загрузились видеорежимы 800х600х24 и 1024х768х24. Остальные тоже загрузились, но не нормально.
Сейчас запишу на диск - попытаюсь протестить на реальной машине. Потом отпишусь.
This GFX kernel works in Qemu. But it see only 4 Mb of RAM.
Нормально загрузились видеорежимы 800х600х24 и 1024х768х24. Остальные тоже загрузились, но не нормально.
Сейчас запишу на диск - попытаюсь протестить на реальной машине. Потом отпишусь.
This GFX kernel works in Qemu. But it see only 4 Mb of RAM.
in code we trust
Проверил. Были доступны все 16 и 32х битные глубины цвета для разрешений 800, 1024, 1280, 1600(вау). Определило 14Мб ОЗУ, хотя реально стоит Гиг. (параметры компа у меня в профиле)
Итак, 800х600х32, 1024х768х32, 1280х1024х32 загрузились и работали нормально.
1600х1200х16 загрузился, но был розовым и дёрганым - комп сразу ресутнулся.
1600х1200х32 загрузился и левая верхняя 1\4 экрана была номальной (!), правая верхняя 1\4 дергалась, 1\2 нижняя часть экрана чёрныя. Опять ребут.
1280х1024х16 загрузился, но тоже был розовым и дёргался как при 1600х1200х16, тоже ребут.
1024х768х16 и 800х600х16 не тестил, т.к. и так задолбался ждать около минуты перед загрузкой каждого режима.
P.S. Я записываю образ на диск. Менует64 сразу загружает образ, а вот Колибри после вопроса "сохранить параметры?" начинает 1%.........2%..........3%...........4%..........5%..........6%......... - около минуты. Интересно почему.
Итак, 800х600х32, 1024х768х32, 1280х1024х32 загрузились и работали нормально.
1600х1200х16 загрузился, но был розовым и дёрганым - комп сразу ресутнулся.
1600х1200х32 загрузился и левая верхняя 1\4 экрана была номальной (!), правая верхняя 1\4 дергалась, 1\2 нижняя часть экрана чёрныя. Опять ребут.
1280х1024х16 загрузился, но тоже был розовым и дёргался как при 1600х1200х16, тоже ребут.
1024х768х16 и 800х600х16 не тестил, т.к. и так задолбался ждать около минуты перед загрузкой каждого режима.
P.S. Я записываю образ на диск. Менует64 сразу загружает образ, а вот Колибри после вопроса "сохранить параметры?" начинает 1%.........2%..........3%...........4%..........5%..........6%......... - около минуты. Интересно почему.
Из хаоса в космос
<Lrz>
1. NVidia GeForce 8400 GS 256 Мб PCI-E
Определяет: Vesa.3.0 (0014 Mb)
В Vesa есть режимы глубиной 4, 8, но в новом ядре их нет, хотя когда я в последний раз запускал GFX ядро (еще без твоего участия), они отображались.
16 битные режимы отображаются некорректно в виде разнообразных искажений, 32 битные работают нормально.
Зависает при перезагрузке из памяти - выводится надпись NVidia и все.
2. ATI Rage XL 8 Мб AGP 2х
Определяет: Vesa 2.0 (0007 Mb)
В Vesa есть режимы глубиной 4, 8, но в новом ядре их нет.
Отображает режимы глубиной 15, 16 и 24. Режимы глубиной 15 и 16 отображаются некорректно как и в случае первой видеокарты.
После перезагрузки из памяти таблица заполняется сплошными галочками и во всех строках режим 0514х0514.
В обоих случаях отсутствует выбор режимов 0 и 9 согласно обычному ядру - так и было задумано?
1. NVidia GeForce 8400 GS 256 Мб PCI-E
Определяет: Vesa.3.0 (0014 Mb)
В Vesa есть режимы глубиной 4, 8, но в новом ядре их нет, хотя когда я в последний раз запускал GFX ядро (еще без твоего участия), они отображались.
16 битные режимы отображаются некорректно в виде разнообразных искажений, 32 битные работают нормально.
Зависает при перезагрузке из памяти - выводится надпись NVidia и все.
2. ATI Rage XL 8 Мб AGP 2х
Определяет: Vesa 2.0 (0007 Mb)
В Vesa есть режимы глубиной 4, 8, но в новом ядре их нет.
Отображает режимы глубиной 15, 16 и 24. Режимы глубиной 15 и 16 отображаются некорректно как и в случае первой видеокарты.
После перезагрузки из памяти таблица заполняется сплошными галочками и во всех строках режим 0514х0514.
В обоих случаях отсутствует выбор режимов 0 и 9 согласно обычному ядру - так и было задумано?
to ALL
Итак обновил gfx ядро, доступно по ссылке указанной ранее.
Дома проверял на эмулях и реальном железе. У меня работает детект видео ОЗУ на vesa 3 режиме.
Обратите внимание что детектится видео ОЗУ, а не озу планок памяти установленных в ПК!!!
Итак сейчас должно определятся корректно видео ОЗУ. На Vesa 2 память храниться в 64 кб cтраницах и если после преобразования получается сажем 7,4 мб видео памяти выводиться только целое число т.е. выводиться 7. У меня на ноуте при 32 Мб видео ОЗУ выводиться только 31 Мб. Конечно можно сделать так, что бы учитывалось дробное и выводилось целое число. Т.е. при детекте 31,5 видео ОЗУ будет выведено 32 мб. Если такая фунциональность нужна я модифицирую код. Однако это не будет означать, что на вашей видеокарточке установлено именно 32 мб ОЗУ! Напишите тут если нужна такая поддержка.
Я модифицировал только загрузчик, это означает, что ядро не может и не должно работать с битностью цвета менее 24 и разрешением более 1280х1024. при загрузке ядра и не соблюдением этих условий будет крах системы!! Для поддержки других режимов нужно модифицировать код ядра, а я пока не приступал к этой работе.
1) поддержка режимов работы в соответствии со спецификацией VESA на вашей видео карте. (режимы работы, бит на цвет)
2) Ускорение вывода графической информации в соответствии с выбранным режимом работы. возможен прирост 10 -20 %
3) Ускорение и оптимизация выводов примитивов.
3) возможность опускать окна программ за пределы рамки монитора как в windows.
и конечно что написал майк
http://blog.mikedld.com/2007/03/about-s ... ernel.html
Итак обновил gfx ядро, доступно по ссылке указанной ранее.
Дома проверял на эмулях и реальном железе. У меня работает детект видео ОЗУ на vesa 3 режиме.
Обратите внимание что детектится видео ОЗУ, а не озу планок памяти установленных в ПК!!!
Итак сейчас должно определятся корректно видео ОЗУ. На Vesa 2 память храниться в 64 кб cтраницах и если после преобразования получается сажем 7,4 мб видео памяти выводиться только целое число т.е. выводиться 7. У меня на ноуте при 32 Мб видео ОЗУ выводиться только 31 Мб. Конечно можно сделать так, что бы учитывалось дробное и выводилось целое число. Т.е. при детекте 31,5 видео ОЗУ будет выведено 32 мб. Если такая фунциональность нужна я модифицирую код. Однако это не будет означать, что на вашей видеокарточке установлено именно 32 мб ОЗУ! Напишите тут если нужна такая поддержка.
Я модифицировал только загрузчик, это означает, что ядро не может и не должно работать с битностью цвета менее 24 и разрешением более 1280х1024. при загрузке ядра и не соблюдением этих условий будет крах системы!! Для поддержки других режимов нужно модифицировать код ядра, а я пока не приступал к этой работе.
Работаю над этой проблемой, но у меня катастрофически не хватает времени на все: учеба в универе, работа, девушка... Не ждите от меня всего и сразу.В Vesa есть режимы глубиной 4, 8,...
Пока сохранение параметров не реализовано, по этому если подтвердить сохранить параметры, будет скорее крах системы.... Загрузка текущего ядра возможно только при не сохранении настроекP.S. Я записываю образ на диск. Менует64 сразу загружает образ, а вот Колибри после вопроса "сохранить параметры?" начинает 1%.........2%..........3%...........4%..........5%..........6%......... - около минуты. Интересно почему.
Итак в планах:Атауальпа
Можно поподробнее о преимуществах GFX kernel перед обычным? Чем оно лучше?
1) поддержка режимов работы в соответствии со спецификацией VESA на вашей видео карте. (режимы работы, бит на цвет)
2) Ускорение вывода графической информации в соответствии с выбранным режимом работы. возможен прирост 10 -20 %
3) Ускорение и оптимизация выводов примитивов.
3) возможность опускать окна программ за пределы рамки монитора как в windows.
и конечно что написал майк
http://blog.mikedld.com/2007/03/about-s ... ernel.html
<Lrz>
P.S. Спокойней друг. Никто на тебя не давит. Это простой баг-репорт не более того. Удачи.
Я имел ввиду не само функционирование режимов глубиной 4 и 8, а именно лишь детектирование. В старом GFX ядре они тоже не работали по факту, но оно их детектировало. И утилита написанная mike.dld тоже детектирует эти режимы, может стоит сравнить код который в утилите и в ядре?Работаю над этой проблемой, но у меня катастрофически не хватает времени на все: учеба в универе, работа, девушка... Не ждите от меня всего и сразу.
P.S. Спокойней друг. Никто на тебя не давит. Это простой баг-репорт не более того. Удачи.
Who is online
Users browsing this forum: No registered users and 6 guests