Page 2 of 3
Re: Старенький компик
Posted: Tue Oct 16, 2007 6:32 pm
by HORROR
було включено... теперь выключил, получилось весьма прикольная картинка...
Черный экран разделенный панелью задач и все иконки в одной большой куче...
нацарапал утилитку для проверки VBE, определил, что ISA видяшка - VBE 1.0, потому её даже не пробовал...
S3 Visio требует обработки напильником....
Но вопрос в другом. Если при загрузке идет ссылка на режимы VBE 1.2, а они заточены под 16 битный режим....то я чего-то не допонимаю....или из VESA 1.2 берется информация о режиме?...
но реально нужная информация появляется только в VESA 2.0 (физический адрес видеобуффера для 32 разрядного режима). А из 1,2 можно высосать тоько доступность режима, второго окна и совместимость по регистрам с VGA///
Re: Старенький компик
Posted: Tue Oct 16, 2007 8:47 pm
by diamond
Черный экран разделенный панелью задач и все иконки в одной большой куче...
Кажется, такое получается, если не работает процедура переключения банков (а она в скомпилированном ядре работает только для определённых видеокарт).
Если при загрузке идет ссылка на режимы VBE 1.2, а они заточены под 16 битный режим....то я чего-то не допонимаю...
Для VESA Колибри умеет работать только в 24- и 32-битных видеорежимах. Для VBE 1.2 (режимы 5-8 загрузочного экрана) режимы выбраны так, что там всегда получается 24 бита (конкретно: режимы 0x112, 0x115, 0x118, 0x11B - таблица gr_table из data16.inc).
Re: Старенький компик
Posted: Wed Oct 17, 2007 11:21 pm
by HORROR
такс... чуствую пошло расхождение в понятиях...
попробую зайти по другому:
VESA 1.2 (и VBE соответсвенно) расчитаны на 16 битный режим...а КОС - 32....
т.е. как я понимаю - все процедуры (переключение банков, двигание окон (если оно нужно), управление монитором и т.д. и т.п.) пришлось переписывать заново ??? И всё это помещено в ядро???
Отсюда и проблемы с видеокарточками (коих каждый производитель загорбатил по своему)...
Если да, то IMHO сделано несколько неверно... (тут я ни начем не настаиваю и не прошу - писание ОС - доло осостроителей)
Если нет - то можно какнить поподробнее...и причем тогда здесь веса?
хотябы обзорно. А пока в исходники погляжу
Re: Старенький компик
Posted: Thu Oct 18, 2007 12:19 am
by Mario79
HORROR
VESA 1.2 (и VBE соответсвенно) расчитаны на 16 битный режим
Это собственное умозаключение? Или есть документация подтверждающая такие выводы?
Re: Старенький компик
Posted: Thu Oct 18, 2007 1:47 am
by Serge
HORROR
24-х битный цвет уже был на видеокартах, когда VESA 1.2 только разрабатывался.
Стандарт вообще к режиму мало привязан.
Re: Старенький компик
Posted: Fri Oct 19, 2007 11:11 am
by HORROR
Mario79 wrote:
Это собственное умозаключение? Или есть документация подтверждающая такие выводы?
Во первых -
Я не настаиваю, а пытаюсь разобраться... вот и мучаю знающих людей, а ежели в меня ткнут приличной ссылкой (искал, ничто до конца не устроило) буду только благодарен.
Изд. "Диалог МИФИ" А.В. Фролов и Г.В.Фролов "Программирование видеоадаптеров" - эта книжка.
И еще Питер Абель (знаю, что устарело, но иногда помогает, уж больно толково все расписано).
Во вторых-
Физический 32 разрядный адрес возвращается по функции 4F01h начиная с реализации 2.0...
В третьих VBE - Vesa
BIOS Extension.. что честно говоря весьма смущает... .
В третьих -
меня смущает ситуация, когда для установки оси на комп мне необходимо будет воспользоваться еще одним компом с осью для сборки....
Вот ситуация - есть "чистый" ком и диск с осью....но видяха не работает...и что делать?
Многие ли будут "стойко переносить тяготы и лишения". Именно такая ситуация и есть...
Я понимаю, что видях много, а девелопера мало...
может имеет смысл както сделать вызов функции работы с окном внешними по отношению к ядру, обозвать их "дровами" и писать к каждой карточке отдельно (и использовать без пересборки ядра хотябы на этапе первоначальной установки оси). Думаю в этом случае поддержка видюх будет более гибкой.
P.S. Времени мало, но буду гулить до последнего. Чегото мя зацепила ОсьКо
Re: Старенький компик
Posted: Fri Oct 19, 2007 1:04 pm
by Serge
HORROR
Всё правильно. В VESA1.2 видеопамять адресуется банками по 64 кб начиная с адреса 0хА0000. Потому что сделано это для совместимости с 16-ти битным 8086. На разрядность цвета это никак не влияет. У 3dfx цвет был только 16-бит у других были и 24 бита и 32.
Re: Старенький компик
Posted: Fri Oct 19, 2007 1:06 pm
by Mario79
HORROR
Во вторых-
Физический 32 разрядный адрес возвращается по функции 4F01h начиная с реализации 2.0...
В третьих VBE - Vesa BIOS Extension.. что честно говоря весьма смущает... .
Вот ты подумай внимательно!
Глубина цвета ну никак не связана с 16 битной или 32 битной адресацией. Даже при 8 битной адресации можно сделать 32 битную или большую глубину цвета. Просто обращаться к каждой точке придется как минимум в три захода.
Re: Старенький компик
Posted: Fri Oct 19, 2007 9:48 pm
by HORROR
такс.. опять в сторону, я не про глубину цвета, а про работу через окна, кои в каждой карточке переключаются по своему...
для чего собственно VBE и сделали (чтоб не програмить для каждой карточки кусок кода, а использовать прерывание 10h)...
Что обращаться надо в несколько заходов, да вычислять местоположение точки - это плавали (под DOS)...
Я о другом - карточки отличаются:
1)количеством окон (бывает 2 или 1), пусть юзаем одно.
2)процедурой зашитой в VBE по сдвиганию окна по мозгам карточки.
остальное нас пока не волнует....
теперь далее:
Для S3(например) необходимо пересобрать ядро.... а при смене карточки на другую - снова пересобрать... и т.д.
Это явно не привлечет юзеров. Пересборкой грешат НИКСы разных мастей и это - главный жупел и грабли для начинающих пользователей. Если КОС ориентировать на десктоп, то тут необходимо что-то изменить...
Для тех кто отвечает: еще раз повторяю -
есть чистый комп и диск (дискета, флэшка и т.д.) с инталяцией системы, но видеокарточка не хочет корректно работать... (не переключаются банки).... и ЧТО ДЕЛАТЬ?
другие системы ставятся и потом их можно бархатным напильничком и часовой кувалдочкой подрихтовать....
а тут?
Еще раз спрашиваю - может сделать процедуру переключения банков внешней (например выделить часть памяти в ядре и модифицировать код в ней из фнешнего файла, привязанного к модели видеокарточки?) Процедура сама по себе не слишком большая и сложная для любой видяшки. На скорость выполнения и эффективность работы это не повлияет (код то модифицируется только на этапе загрузки). Зато исключит пересборку ядра под видюху.
Да и такие "Дрова" под силу даже пионеру...
Может я и не прав... но что-то тут не так...
P.S. Офтоп... Pascal под КОС не слишком сырой есть? ткните ссылкой на пакет...
Re: Старенький компик
Posted: Fri Oct 19, 2007 11:58 pm
by Mario79
HORROR
1. Можно сделать.
2. Количество готовых процедур ограничено.
3. Ты займешься или это так к ежикам в тумане?
Re: Старенький компик
Posted: Sat Oct 20, 2007 1:42 pm
by Hack_phoenix
Угу. Т.е. вообще, идеально тогда сразу на этапе загрузки определять оборудование и уже под это оборудование подгружать соответствующие драйвера. ИМХО, было бы правильнее. Я бы занялся, если бы количество мозгов соответствовало поставленной задаче, а так буду много думать (хотя чего-то и сделаю, наверное)...
Re: Старенький компик
Posted: Sat Oct 20, 2007 2:21 pm
by HORROR
Mario79
насчет сделать - когда (если) разберусь достаточно... пока с трудом. Последний раз в АСМ лазил годков 5 назад. основательно подзабыл.... щас освежаю...
Так что идея есть, если кому интересно - опишу чуть подробнее...
Но с самостоятельной реализацией придется погодить... пока мозги освежу, да с системкой поковыряюсь...
Ежели кто пособит (ссылкой там или советом) то заметно ускорится все это...
Re: Старенький компик
Posted: Sat Oct 20, 2007 7:43 pm
by andrew_programmer
HORROR
Среди вот этих чипов S3 карточек есть чип твоей карты ?
Code: Select all
static const char *s3_chipname[] =
{"911", "924", "801", "805", "928",
"864", "964", "Trio32", "Trio64", "866", "868", "968", "Trio64V+"};
Если есть, то возможно написать драйвер для переключения страниц(банков) для твоей видеокарты.
Re: Старенький компик
Posted: Sun Oct 21, 2007 8:49 am
by bw
У меня, есть, кажется, Trio64. Так что смогу потестировать, если что.
..bw
Re: Старенький компик
Posted: Mon Nov 12, 2007 8:35 pm
by koka
Здравствуйте всем.
Заранее прошу прощения если не в тему,
просто нашёл Вашу ОС и попробывал, очень понравилась.
Но почему пишу в эту ветку?
А потому, что, увидел тему "Старенький комп".
На пне266 работает, а вот на брендовом стареньком
"Compaq Prolinea Net1/25s" (всё в "одном" там процессор 486DX66) и видеокарта Cirrus Logic 512 кб. не хочет работать,
после выставления видеорежима 640х480х32 загружаться начинает и перегружается, опять дискету читает,
выходит на установку видео и опять перегружается и так бесконечно.
Да , так вот может у меня комп очень старенький и не будет на нём (486) работать?
Ответьте что бы я не мучился сомненьями.