трабл с DOS-графикой
Если определяю в С номер видеорежима чрез asm
_asm{
mov ah,0fh
int 10h
mov mode,al
}
то пишет 4 - т.е. EGA
Если через detectgraph() - 9 (VGA).
В чем ошибка?
_asm{
mov ah,00h служба установки режима
mov al,номер режима
int 10h
}
Цитата:
Originally posted by fanto
надо так:
_asm{
mov ah,00h служба установки режима
mov al,номер режима
int 10h
}
надо так:
_asm{
mov ah,00h служба установки режима
mov al,номер режима
int 10h
}
Вопрос в том, что надо ПОЛуЧИТЬ номер видеорежима, а результат в asm и BC++ разный
Цитата:
Originally posted by |_|0|\|
Вопрос в том, что надо ПОЛуЧИТЬ номер видеорежима, а результат в asm и BC++ разный
Вопрос в том, что надо ПОЛуЧИТЬ номер видеорежима, а результат в asm и BC++ разный
А initgraph - пробовал. По моему detectgraph определяет установленный режим. Попробуй через initgraph - посмотри в хелпе. Ни разу проблем ни возникало
Цитата:
Originally posted by Kadet
А initgraph - пробовал. По моему detectgraph определяет установленный режим. Попробуй через initgraph - посмотри в хелпе. Ни разу проблем ни возникало
А initgraph - пробовал. По моему detectgraph определяет установленный режим. Попробуй через initgraph - посмотри в хелпе. Ни разу проблем ни возникало
Еще раз говорю. надо <u>ПОЛУЧИТЬ(УЗНАТЬ, ОПРЕДЕЛИТЬ и т. д. )</u>, в каком видеорежиме нахожусь, хотя кажется в С этого добиться нельзя.
Цитата:
Originally posted by |_|0|\|
Еще раз говорю. надо <u>ПОЛУЧИТЬ(УЗНАТЬ, ОПРЕДЕЛИТЬ и т. д. )</u>, в каком видеорежиме нахожусь, хотя кажется в С этого добиться нельзя.
Еще раз говорю. надо <u>ПОЛУЧИТЬ(УЗНАТЬ, ОПРЕДЕЛИТЬ и т. д. )</u>, в каком видеорежиме нахожусь, хотя кажется в С этого добиться нельзя.
Это служба 0Fh по прерыванию 10h.В al будет режим, в bh -- активная страница...
int main(void)
{
/* Указатель на имя драйвера */
char *drivername;
/* Получить имя текущего используемого графического драйвера */
drivername = getdrivername();
printf("\n%s",drivername);
getch();
return 0;
}