IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> VESA не работает ????
ShadowMaverick
сообщение 19.04.2003 21:56
Сообщение #1


Гость






:D VESA графика из под виндовс не работает
почему кто знает
-----
из по DOS работает
а из под WINDOWS нет почему ????
-----
при установыке пользуюсь ASM функциями

mov ah,4fh
mov al,2h
mov bx,10eh ;320*200 65536 color

------
режимов много есть и на 16 млн цветов
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Dark
сообщение 8.05.2003 2:51
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 408
Пол: Мужской

Репутация: -  3  +


Вот твой вывод точки в режиме 320*200, а я тебе предлагаю свой, чуть быстрей:

Procedure PixelOut(x,y:Word;c:Byte); 
label we,exit;
Begin
y:=y*320;            {rachet coordin for Y}

asm
xor ax,ax           {AX in zero}
mov bx,x            {in di 1000 smeshenie v video memory}
mov cx,y            {in CX znachen y }
add bx,cx           {sum BX and CX}
mov al,c        {in AL color}
cmp bx,63999    {conez video buff}
je we           {then exit}
mov es:[bx],al  {in vid memory es:di out ds:si}
we:
end;
end;



можно вот так:


Procedure putpixel(x,y:word;col:byte);
asm
mov ax,[y]
mov bx,ax
shl ax,6                ;y shl 6 =y*64
shl bx,8                ;y shl 8 =y*256
add ax,bx              ;y*(64+256)=y*320
mov di,ax
add di,[x]              ;es:di - адрес точки
mov al,col
stosb                      ;es:[di] = col



И еще:
 cmp bx,63999    {conez video buff} 
je we           {then exit}

неправильно, так как если указан адрес, выходящий за рамки сегмента, то bx=0+то, что за сегментом... а ты сравниваешь РАВЕНСТВО вх и 63999... а надо так:
 cmp bx,63999    {conez video buff} 
ja we           {then exit} {jamp above}

;D


--------------------
- Где я?
- Во тьме.
- В какой тьме?
- Во тьме твоего мозга.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
ShadowMaverick   VESA не работает ????   19.04.2003 21:56
Dark   Re: VESA не работает ????   19.04.2003 22:41
ShadowMaverick   Re: VESA не работает ????   20.04.2003 1:08
Dark   Re: VESA не работает ????   20.04.2003 5:27
Shadow   Re: VESA не работает ????   20.04.2003 20:53
Dark   Re: VESA не работает ????   22.04.2003 15:59
Shadow   Re: VESA не работает ????   22.04.2003 20:45
mj   Re: VESA не работает ????   23.04.2003 0:48
Shadow   Re: VESA не работает ????   23.04.2003 10:48
GLuk   Re: VESA не работает ????   23.04.2003 15:48
GLuk   Re: VESA не работает ????   23.04.2003 15:50
Shadow   Re: VESA не работает ????   23.04.2003 20:19
Dark   Re: VESA не работает ????   23.04.2003 23:07
Shadow   Re: VESA не работает ????   23.04.2003 23:51
Dark   Re: VESA не работает ????   24.04.2003 0:21
Shadow   Re: VESA не работает ????   24.04.2003 11:31
GLuk   Re: VESA не работает ????   26.04.2003 4:12
Dark   Re: VESA не работает ????   8.05.2003 2:51
Shadow   Re: VESA не работает ????   9.05.2003 3:25
BlackShadow   Re: VESA не работает ????   16.05.2003 18:04
Dark   Re: VESA не работает ????   17.05.2003 0:18
GLuk   Re: VESA не работает ????   17.05.2003 11:55
Shadow   Re: VESA не работает ????   17.05.2003 20:12
Sergeuz   Re: VESA не работает ????   15.10.2003 7:36


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 20:49
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"