Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

VESA

1.8K
19 июня 2008 года
Evgeni
188 / / 14.06.2006
Доброго времени суток)). Делаю вот такие действия:
Выбираю режим по следующим характеристикам (1024*768, глубина цвета 32бита).
Сохраняю адрес видеопамяти для защищенного режима(поле со смещением 28h)
Формирую дескриптор следующим образом:
 
Код:
mov eax,[es:28h]

mov word [descr_video_p+2h],ax
shr eax,16
mov byte [descr_video_p+4h],al
mov byte [descr_video_p+7h],ah

После перехода в PM загружаю в es селектор на этот дескриптор и в бесконечно цикле вывожу слово
 
Код:
mov eax,video_pm
mov es,ax

    xor ebx,ebx
  vp:
    add ebx,2
    mov [es:ebx],word 130
    jmp vp

Вывожу это число просто так(для тестирования. Если что-то увижу, значит все работает и буду разбираться дальше).

Но почему-то ни каких изменений на экране нет. Читал в спецификации VESA что вывод производится спмощью двух окон А и В. Может из-за этого ошибка??.

Пните в нужном напрвлении плиз.
349
20 июня 2008 года
Phantom-84
656 / / 27.10.2005
Ну допустим базу сегмента ты задал, а как же все остальные поля дескриптора?

LFB поддерживается не для всех режимов - проверяй соответствующий флажок. Использование окон - это совсем другой механизм работы с видеопамятью, когда посредством переключения банков памяти при записи в одно и то же окно можно выполнять ввод/вывод в разные участки видеопамяти. Обычно используется в том случае, когда нет возможности работать с видеопамятью через LFB.

В бесконечном цикле осуществлять вывод крайне неразумно - выйдешь за пределы сегмента/LFB/физически присутствующей памяти. Выводи изображение размером, достаточным для заполнения экрана, не более того (сложные приемы работы с видеопамятью в расчет не беру).
1.8K
20 июня 2008 года
Evgeni
188 / / 14.06.2006
Остальные поля такие же как если бы я работал со стандартным выводом на экран
descr_video_p dw 0FFFFh,0000h,9200h,0F0CFh
1.8K
02 июля 2008 года
Evgeni
188 / / 14.06.2006
Все, проблема решена
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог