J'ai un probleme avec dev-cpp. J'ai besoin de trouver la resolution avant d'acceder a la memoire video et je comptais pour cela utiliser la fonction vesa 4F03 de l'interruption 10.
Ma source compile mais lorsque je lance le prog je me tape un bon vieil ecran bleu windows 9x qui me dit que une erreur 0D et que l'application va se terminer.
De plus, j'ai essayé d'autres interruptions et j'ai eu a chaque fois des problemes a l'execution. J'ai ensuite compilé un code similaire en assembleur avec nasm et la pas de probleme.
J'ai cherché sur le site et j'ai trouvé un probleme similaire qui n'a pas non plus trouvé de réponse.
Voila le code :
#include "stdio.h"
#include "conio.h"
long int videoMod = 0;
long int codeErr = 0;
int main()
{
asm(
"pushl %eax\n"
"pushl %ebx\n"
"movl $0x00004F03, %eax\n"
"int $0x10\n"
"movl %eax, _codeErr\n"
"movl %ebx, _videoMod\n"
"popl %ebx\n"
"popl %eax"
);
switch(videoMod)
{
case 0x101: printf("640x480, 256 couleurs\n"); break;
case 0x110: printf("640x480, 32768 couleurs\n"); break;
case 0x111: printf("640x480, 65536 couleurs\n"); break;
case 0x112: printf("640x480, 16777216 couleurs\n"); break;
case 0x103: printf("800x600, 256 couleurs\n"); break;
case 0x113: printf("800x600, 32768 couleurs\n"); break;
case 0x114: printf("800x600, 65536 couleurs\n"); break;
case 0x115: printf("800x600, 16777216 couleurs\n"); break;
case 0x105: printf("1024x768, 256 couleurs\n"); break;
case 0x116: printf("1024x768, 32768 couleurs\n"); break;
case 0x117: printf("1024x768, 65536 couleurs\n"); break;
case 0x118: printf("1024x768, 16777216 couleurs\n"); break;
default: printf("mode inconnu: %x\nErreur: %x", videoMod, codeErr); break;
}
getch();
return 0;
}
Voila merci a tous ceux qui se pencherons sur le probleme.