Salut qbced ,
Bon primo , petite correction : tu n'utilise pas la fonction 115h mais la fonction 4f02h , en lui passant 115h comme argument (au passage , c'est 118h pour le 1024*768 et 11bh pour le 1280*1024) .
Tu travail en mode VESA , donc peut importe que ce soit du 32 ou du 24 bits , c'est du RBG (jamais de RGBA) . Le quatrième octect est donc vide (note :la place de l'octet vide , et la position de chaque couleur dans le paquet de 3 ou 4 octets peut varier , pense à faire un test de vérification avec 4f01h pour obtenir les données exactes du mode) .
Pour ce qui est de passer en 24bits , c'est pas possible, car en générale , les cartes VESA supporte soit le 32bits , soit le 24bits , mais pas les deux . Donc si , quand tu lance le mode 115h , et que tu obtient un mode 32bits au lieu de 24 , ben va falloir faire avec (ou allors acheter une autre carte graphique mais bon...) .
Je ne suis d'ailleur pas sur de comprendre pourquoi tu as envie d'etre en 24bits , le 32bits permet d'accélérer les calculs , puisque 4(octet) étant un nombre pair , on a pas besoin de tester si chaque octect déborde ou pas du chunk (ce qu'on est obligé de faire si on écrit par paquet de 3octets ). Si ton programme rame , ca doit être du à autre choses (je parie que tu change de chunk à chaque pixel). Si ça rame vraiment , met le code de ta fonction , on vera ce qu'on peut faire . Si t'as d'autre question sur le vesa , vas-y , c'est un sujet que je connais pas mal .
A+
|