Board.KolibriOS.org

Official KolibriOS board
It is currently Mon May 20, 2019 9:51 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 33 posts ]  Go to page Previous 1 2 3 Next
Author Message
PostPosted: Tue Oct 16, 2007 6:32 pm 
було включено... теперь выключил, получилось весьма прикольная картинка...
Черный экран разделенный панелью задач и все иконки в одной большой куче...
нацарапал утилитку для проверки VBE, определил, что ISA видяшка - VBE 1.0, потому её даже не пробовал...
S3 Visio требует обработки напильником....
Но вопрос в другом. Если при загрузке идет ссылка на режимы VBE 1.2, а они заточены под 16 битный режим....то я чего-то не допонимаю....или из VESA 1.2 берется информация о режиме?...
но реально нужная информация появляется только в VESA 2.0 (физический адрес видеобуффера для 32 разрядного режима). А из 1,2 можно высосать тоько доступность режима, второго окна и совместимость по регистрам с VGA///


Top
   
PostPosted: Tue Oct 16, 2007 8:47 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Quote:
Черный экран разделенный панелью задач и все иконки в одной большой куче...

Кажется, такое получается, если не работает процедура переключения банков (а она в скомпилированном ядре работает только для определённых видеокарт).
Quote:
Если при загрузке идет ссылка на режимы VBE 1.2, а они заточены под 16 битный режим....то я чего-то не допонимаю...

Для VESA Колибри умеет работать только в 24- и 32-битных видеорежимах. Для VBE 1.2 (режимы 5-8 загрузочного экрана) режимы выбраны так, что там всегда получается 24 бита (конкретно: режимы 0x112, 0x115, 0x118, 0x11B - таблица gr_table из data16.inc).


Top
   
PostPosted: Wed Oct 17, 2007 11:21 pm 
такс... чуствую пошло расхождение в понятиях...

попробую зайти по другому:

VESA 1.2 (и VBE соответсвенно) расчитаны на 16 битный режим...а КОС - 32....
т.е. как я понимаю - все процедуры (переключение банков, двигание окон (если оно нужно), управление монитором и т.д. и т.п.) пришлось переписывать заново ??? И всё это помещено в ядро???
Отсюда и проблемы с видеокарточками (коих каждый производитель загорбатил по своему)...

Если да, то IMHO сделано несколько неверно... (тут я ни начем не настаиваю и не прошу - писание ОС - доло осостроителей)
Если нет - то можно какнить поподробнее...и причем тогда здесь веса?

хотябы обзорно. А пока в исходники погляжу :)


Top
   
PostPosted: Thu Oct 18, 2007 12:19 am 
HORROR
Quote:
VESA 1.2 (и VBE соответсвенно) расчитаны на 16 битный режим

Это собственное умозаключение? Или есть документация подтверждающая такие выводы?


Top
   
PostPosted: Thu Oct 18, 2007 1:47 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
HORROR
24-х битный цвет уже был на видеокартах, когда VESA 1.2 только разрабатывался.
Стандарт вообще к режиму мало привязан.


Top
   
PostPosted: Fri Oct 19, 2007 11:11 am 
Mario79 wrote:
Это собственное умозаключение? Или есть документация подтверждающая такие выводы?


Во первых -
Я не настаиваю, а пытаюсь разобраться... вот и мучаю знающих людей, а ежели в меня ткнут приличной ссылкой (искал, ничто до конца не устроило) буду только благодарен.
Изд. "Диалог МИФИ" А.В. Фролов и Г.В.Фролов "Программирование видеоадаптеров" - эта книжка.
И еще Питер Абель (знаю, что устарело, но иногда помогает, уж больно толково все расписано).

Во вторых-
Физический 32 разрядный адрес возвращается по функции 4F01h начиная с реализации 2.0...
В третьих VBE - Vesa BIOS Extension.. что честно говоря весьма смущает... .

В третьих -
меня смущает ситуация, когда для установки оси на комп мне необходимо будет воспользоваться еще одним компом с осью для сборки....
Вот ситуация - есть "чистый" ком и диск с осью....но видяха не работает...и что делать?
Многие ли будут "стойко переносить тяготы и лишения". Именно такая ситуация и есть...
Я понимаю, что видях много, а девелопера мало...
может имеет смысл както сделать вызов функции работы с окном внешними по отношению к ядру, обозвать их "дровами" и писать к каждой карточке отдельно (и использовать без пересборки ядра хотябы на этапе первоначальной установки оси). Думаю в этом случае поддержка видюх будет более гибкой.

P.S. Времени мало, но буду гулить до последнего. Чегото мя зацепила ОсьКо :)


Top
   
PostPosted: Fri Oct 19, 2007 1:04 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
HORROR

Всё правильно. В VESA1.2 видеопамять адресуется банками по 64 кб начиная с адреса 0хА0000. Потому что сделано это для совместимости с 16-ти битным 8086. На разрядность цвета это никак не влияет. У 3dfx цвет был только 16-бит у других были и 24 бита и 32.


Top
   
PostPosted: Fri Oct 19, 2007 1:06 pm 
HORROR
Quote:
Во вторых-
Физический 32 разрядный адрес возвращается по функции 4F01h начиная с реализации 2.0...
В третьих VBE - Vesa BIOS Extension.. что честно говоря весьма смущает... .

Вот ты подумай внимательно!
Глубина цвета ну никак не связана с 16 битной или 32 битной адресацией. Даже при 8 битной адресации можно сделать 32 битную или большую глубину цвета. Просто обращаться к каждой точке придется как минимум в три захода.


Top
   
PostPosted: Fri Oct 19, 2007 9:48 pm 
такс.. опять в сторону, я не про глубину цвета, а про работу через окна, кои в каждой карточке переключаются по своему...
для чего собственно VBE и сделали (чтоб не програмить для каждой карточки кусок кода, а использовать прерывание 10h)...
Что обращаться надо в несколько заходов, да вычислять местоположение точки - это плавали (под DOS)...

Я о другом - карточки отличаются:
1)количеством окон (бывает 2 или 1), пусть юзаем одно.
2)процедурой зашитой в VBE по сдвиганию окна по мозгам карточки.
остальное нас пока не волнует....

теперь далее:

Для S3(например) необходимо пересобрать ядро.... а при смене карточки на другую - снова пересобрать... и т.д.
Это явно не привлечет юзеров. Пересборкой грешат НИКСы разных мастей и это - главный жупел и грабли для начинающих пользователей. Если КОС ориентировать на десктоп, то тут необходимо что-то изменить...

Для тех кто отвечает: еще раз повторяю -
есть чистый комп и диск (дискета, флэшка и т.д.) с инталяцией системы, но видеокарточка не хочет корректно работать... (не переключаются банки).... и ЧТО ДЕЛАТЬ?
другие системы ставятся и потом их можно бархатным напильничком и часовой кувалдочкой подрихтовать....
а тут?

Еще раз спрашиваю - может сделать процедуру переключения банков внешней (например выделить часть памяти в ядре и модифицировать код в ней из фнешнего файла, привязанного к модели видеокарточки?) Процедура сама по себе не слишком большая и сложная для любой видяшки. На скорость выполнения и эффективность работы это не повлияет (код то модифицируется только на этапе загрузки). Зато исключит пересборку ядра под видюху.
Да и такие "Дрова" под силу даже пионеру...

Может я и не прав... но что-то тут не так...

P.S. Офтоп... Pascal под КОС не слишком сырой есть? ткните ссылкой на пакет...


Top
   
PostPosted: Fri Oct 19, 2007 11:58 pm 
HORROR
1. Можно сделать.
2. Количество готовых процедур ограничено.
3. Ты займешься или это так к ежикам в тумане?


Top
   
PostPosted: Sat Oct 20, 2007 1:42 pm 
Offline

Joined: Thu Sep 20, 2007 8:09 pm
Posts: 96
Угу. Т.е. вообще, идеально тогда сразу на этапе загрузки определять оборудование и уже под это оборудование подгружать соответствующие драйвера. ИМХО, было бы правильнее. Я бы занялся, если бы количество мозгов соответствовало поставленной задаче, а так буду много думать (хотя чего-то и сделаю, наверное)...


Top
   
PostPosted: Sat Oct 20, 2007 2:21 pm 
Mario79
насчет сделать - когда (если) разберусь достаточно... пока с трудом. Последний раз в АСМ лазил годков 5 назад. основательно подзабыл.... щас освежаю...
Так что идея есть, если кому интересно - опишу чуть подробнее...
Но с самостоятельной реализацией придется погодить... пока мозги освежу, да с системкой поковыряюсь...

Ежели кто пособит (ссылкой там или советом) то заметно ускорится все это...


Top
   
PostPosted: Sat Oct 20, 2007 7:43 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
HORROR

Среди вот этих чипов S3 карточек есть чип твоей карты ?

Code:
static const char *s3_chipname[] =
{"911", "924", "801", "805", "928",
 "864", "964", "Trio32", "Trio64", "866", "868", "968", "Trio64V+"};


Если есть, то возможно написать драйвер для переключения страниц(банков) для твоей видеокарты.

_________________
KolibriOS-перспективная ос!
Kolibri is best operation system in the world!


Top
   
PostPosted: Sun Oct 21, 2007 8:49 am 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
У меня, есть, кажется, Trio64. Так что смогу потестировать, если что.

..bw


Top
   
PostPosted: Mon Nov 12, 2007 8:35 pm 
Здравствуйте всем.
Заранее прошу прощения если не в тему,
просто нашёл Вашу ОС и попробывал, очень понравилась.
Но почему пишу в эту ветку?
А потому, что, увидел тему "Старенький комп".
На пне266 работает, а вот на брендовом стареньком
"Compaq Prolinea Net1/25s" (всё в "одном" там процессор 486DX66) и видеокарта Cirrus Logic 512 кб. не хочет работать,
после выставления видеорежима 640х480х32 загружаться начинает и перегружается, опять дискету читает,
выходит на установку видео и опять перегружается и так бесконечно.
Да , так вот может у меня комп очень старенький и не будет на нём (486) работать?
Ответьте что бы я не мучился сомненьями.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 33 posts ]  Go to page Previous 1 2 3 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:  
Powered by phpBB® Forum Software © phpBB Limited