Старенький компик

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

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

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

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

    хотябы обзорно. А пока в исходники погляжу :)
  • HORROR
    VESA 1.2 (и VBE соответсвенно) расчитаны на 16 битный режим
    Это собственное умозаключение? Или есть документация подтверждающая такие выводы?
  • HORROR
    24-х битный цвет уже был на видеокартах, когда VESA 1.2 только разрабатывался.
    Стандарт вообще к режиму мало привязан.
  • Mario79 wrote: Это собственное умозаключение? Или есть документация подтверждающая такие выводы?
    Во первых -
    Я не настаиваю, а пытаюсь разобраться... вот и мучаю знающих людей, а ежели в меня ткнут приличной ссылкой (искал, ничто до конца не устроило) буду только благодарен.
    Изд. "Диалог МИФИ" А.В. Фролов и Г.В.Фролов "Программирование видеоадаптеров" - эта книжка.
    И еще Питер Абель (знаю, что устарело, но иногда помогает, уж больно толково все расписано).

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

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

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

    Всё правильно. В VESA1.2 видеопамять адресуется банками по 64 кб начиная с адреса 0хА0000. Потому что сделано это для совместимости с 16-ти битным 8086. На разрядность цвета это никак не влияет. У 3dfx цвет был только 16-бит у других были и 24 бита и 32.
  • HORROR
    Во вторых-
    Физический 32 разрядный адрес возвращается по функции 4F01h начиная с реализации 2.0...
    В третьих VBE - Vesa BIOS Extension.. что честно говоря весьма смущает... .
    Вот ты подумай внимательно!
    Глубина цвета ну никак не связана с 16 битной или 32 битной адресацией. Даже при 8 битной адресации можно сделать 32 битную или большую глубину цвета. Просто обращаться к каждой точке придется как минимум в три захода.
  • такс.. опять в сторону, я не про глубину цвета, а про работу через окна, кои в каждой карточке переключаются по своему...
    для чего собственно VBE и сделали (чтоб не програмить для каждой карточки кусок кода, а использовать прерывание 10h)...
    Что обращаться надо в несколько заходов, да вычислять местоположение точки - это плавали (под DOS)...

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

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

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

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

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

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

    P.S. Офтоп... Pascal под КОС не слишком сырой есть? ткните ссылкой на пакет...
  • HORROR
    1. Можно сделать.
    2. Количество готовых процедур ограничено.
    3. Ты займешься или это так к ежикам в тумане?
  • Угу. Т.е. вообще, идеально тогда сразу на этапе загрузки определять оборудование и уже под это оборудование подгружать соответствующие драйвера. ИМХО, было бы правильнее. Я бы занялся, если бы количество мозгов соответствовало поставленной задаче, а так буду много думать (хотя чего-то и сделаю, наверное)...
  • Mario79
    насчет сделать - когда (если) разберусь достаточно... пока с трудом. Последний раз в АСМ лазил годков 5 назад. основательно подзабыл.... щас освежаю...
    Так что идея есть, если кому интересно - опишу чуть подробнее...
    Но с самостоятельной реализацией придется погодить... пока мозги освежу, да с системкой поковыряюсь...

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

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

    Code: Select all

    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!
  • У меня, есть, кажется, Trio64. Так что смогу потестировать, если что.

    ..bw
  • Здравствуйте всем.
    Заранее прошу прощения если не в тему,
    просто нашёл Вашу ОС и попробывал, очень понравилась.
    Но почему пишу в эту ветку?
    А потому, что, увидел тему "Старенький комп".
    На пне266 работает, а вот на брендовом стареньком
    "Compaq Prolinea Net1/25s" (всё в "одном" там процессор 486DX66) и видеокарта Cirrus Logic 512 кб. не хочет работать,
    после выставления видеорежима 640х480х32 загружаться начинает и перегружается, опять дискету читает,
    выходит на установку видео и опять перегружается и так бесконечно.
    Да , так вот может у меня комп очень старенький и не будет на нём (486) работать?
    Ответьте что бы я не мучился сомненьями.
  • Who is online

    Users browsing this forum: No registered users and 3 guests