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

Ваш аккаунт

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

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

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

Графика под ДОС №2

2.3K
18 ноября 2002 года
lord_alexus
3 / / 18.11.2002
По поводу того исходника под Ассемблер:
исходник крутой, но мои познания в Ассемблере так широко не простираются. У меня почему-то под TAsm
не компилирует. Но если дизассемблирую exe, то получаю почти такой же исходник.
Пишу в Turbo Pascal:
asm
mov ax,4F01h
mov cx,118h
int 10h
end;
не работает!!!(mov ax,4f02h - тоже)
Пишу:
asm
mov di,512
mov ax,4F01h
mov cx,118h
int 10h
end;
-Дос виснет(даже если Mov di,512h)
Видео карта разрешение поддерживает(exe выполняется)
У меня такой вопрос:
Как инициализировать 800x600x24 bits (какая функция 10h прерывания(кстати, причем здесь mov cx,* ?))
В каких сегменте находится видео память, сколько страниц видео памяти(и как переключать на активную(и как заполнять неактивную)), и как "запульнуть"
3 байта цвета?

Заранее ОГРОМНОЕ СПАСИБО! Если можно - не исходником.
537
21 ноября 2002 года
Cover
87 / / 14.11.2002
Во-первых, 4F - функции VESA SVGA - работают далеко не везде. Например, у меня дома работают, а в универе и у половины знакомых - не работют. Так что если хочешь аппаратно-независимую прогу, ими не пользуйся.
По существу.
ax=4F01h - чтение информации о видео режиме.
в cx - номер режима (118h - 1024x768x16M)
в ES:DI - адрес буфера рамером 100h (скорее всего, из-за этого у тебя дос и виснет, поскольку в твоем листинге ES неопределен)

Установить 800х600 можно так:
mov ax,4F02h
mov bx, 115h - номер режима 800х600х16М
int 10h

видеопамять находится по адресу 0A000:0000 до 0A000:FFFF - это "окно" отображения "настоящей" видеопамяти.
Количество страниц зависит от объёма видеопамяти и выбранного видеорежима.
Двигать это окно можно. Окон может быть два.

Запулевать кажется нужно четыре байта (не помню) и порядок не помню. Попробуй сам прописать чего-нить в A000:0000 - разберешся.
Подробнее ищи в нете описание работы с функциями VESA SVGA.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог