Регистровое программирование видеоадаптеров

Тема в разделе "WASM.RESEARCH", создана пользователем kuks, 3 ноя 2004.

  1. kuks

    kuks New Member

    Публикаций:
    0
    Регистрация:
    3 ноя 2004
    Сообщения:
    3
    Программа, успешно работавшая на старых видеокартах, на моей и не только на моей выдаёт очень тёмную картинку.Изрядно помучавшись и проверив всё что только можно,пришёл к выводу, что скорее всего в современных АЦП видеокарт используется более 6 бит на 1 цвет.И от этого картинка с 6-ю битами палитры видется тёмной.Или может где-то есть дополнительная программная регулировка яркости к АЦП..

    Может где-то в сети есть доки? В рунете всё минимум 3-х летней давности
     
  2. pas

    pas New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2003
    Сообщения:
    330
    Адрес:
    Russia
    Вообщето я могу ошибаться, но мне всегда казалось, что цвет задаётся не 6-ю, а 8-ю битами на соответствующий цвет.
     
  3. Narkomanius

    Narkomanius New Member

    Публикаций:
    0
    Регистрация:
    14 апр 2003
    Сообщения:
    144
    а мона сорец в студию? если программирование идет в VGA режиме, цвета должны получаться верными, хоть там внутри 99 бит на цвет. если я пральнав понял речь ведь идет о палитровом режиме 256 цветофф?
     
  4. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    kuks



    Если бы программистам надо было думать еще

    и об этом, то мы бы до сих пор работали в ДОС.

    Просто есть разные системы представления

    цветов : палитра 256 цветов, палитра 65535 цветов,

    16-битный цвет ( две раскладки битов 6x5x5

    - подробности не помню),

    24-битный цвет (8х8х8) и 32-битный(24+альфа).

    Видимо просто неправильно загружается

    палитра 65535 цветов, т.е. не учитывается

    что регистры палитры "шире" теперь.

    Возможно проблема просто в использовании

    16-битного режима - он наверное требует

    дополнительной настройки...
     
  5. kuks

    kuks New Member

    Публикаций:
    0
    Регистрация:
    3 ноя 2004
    Сообщения:
    3
    Всё нормально.Как бы растянул все значения палитры до 8 значащих бит и яркость с контрастностью появились.Теперь новые проблемы..Как я понимаю,в 32-х разрядном режиме можно выводить с помощью переключения страниц или через Линейный Кадровый Буфер.Так вот,ни с помощью стандартных прерываний,ни путём чтения скачаной документации- нигде не нашёл ни точки входа функции переключения страниц для 32-х разрядного режима ни адреса ЛКБ(видеокарта "Intel(R) 815") И смотрю по документации - там вроде как вообще по-другому предлагается выводить на экран
     
  6. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
  7. Narkomanius

    Narkomanius New Member

    Публикаций:
    0
    Регистрация:
    14 апр 2003
    Сообщения:
    144
    там вроде нельзя юзать ВЕСУ, потому что ты не можешь юзать функцию SetLDTEntries она доступна только для 16битных программ. в 32битных прогах под этим номером другой сискалл.
     
  8. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105




    По стандарту VESA 3.0 надо использовать копию

    БИОС-а видеокарты. Вход там теперь 32-битный

    - вместо INT 10. Я нашел копию БИОС-а

    в своем WIN2000 , но квалификации не

    хватает, чтобы проверить.

    Все это описано в документе vbe3.pdf

    на vesa.org Правда без примеров и без

    тонкостей. Но ,например , в MagicTune

    вместо VESA используют porttalk :-(