Modes video niveau bios

Résolu
qhhu Messages postés 66 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 octobre 2009 - 19 oct. 2009 à 22:49
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 - 9 déc. 2009 à 16:04
Bonjour !
J'ai un problème a propos de l'affichage graphique au niveau bios.
Je suis en train de faire un bootloader, exclusivement en asm, et j'aimerais, pour commencer, afficher une image.
J'ai regardé les modes vidéo, celui avec le plus de couleurs que j'ai trouvé est le 13h, avec 25600000 couleurs et la formidable résolution de 3200x2000 ! ...... euh, non, en fait c'est 320x200 en 256 couleurs et c'est pitoyable...
Donc j'ai cherché, cherché, pendant des années, et des années, et je n'ai RIEN trouvé qui me permettait de passer dans une meilleurs résolution. Voila pourquoi...

Je sais que'au démarrage, le système est en mode réel (16bits) et qu'il passe par la suite en mode protégé (32bits). Je suis tout à fait prêt a passer en 32bits si nécessaire, mais ce qui me trouble, c'est que le menu du bios de base de mon ordinateur affiche une meilleure résolution que le maximum que je peut atteindre avec le mode 13h....

Bref, je suis perdu...
Quel moyen puis-je employer pour exploiter mieux les capacités de ma carte graphique ? Je sais que je n'aurais pas la résolution de 1440x900 et le pixel shader, mais un petit 640x480 en Truecolor me suffirait...

Merci d'avance !

PS: je cherche bien a programmer entièrement ce boot loader, et je ne souhaite donc pas utiliser des librairies toutes faites... ceci dit si vous avez une source qui fonctionne, je pourrais sûrement tirer ce dont j'ai besoin !

5 réponses

rdany62 Messages postés 12 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 12 février 2016
20 oct. 2009 à 15:31
Bonjour,

Voici un lien qui peut t'aider (site VESA):

https://fs16.formsite.com/VESA/form714826558/secure_index.html

Remplis les champs et télécharge le standard VBE core. Il permet l'emploi de modes graphiques haute résolution depuis le mode réel et il permet d'utiliser la mémoire graphique sous la forme de "fenêtres" de 64 ko (limite max en mode réel).


A bientôt !
3
Forthman Messages postés 23 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 9 janvier 2014
21 oct. 2009 à 06:25
Oui, les modes VESA fonctionnent parfaitement en mode protégé.
Histoire de t'avancer un peu dans tes recherches,
voici ce qu'il faut pour basculer vers un mode donné :
mov ax,4F02h
mov bx, (mode video)
int 10h

le mode peut-être un mode "standard" VGA ( 13h par exemple)
Les modes sont propres à chaque constructeur mais il existe une sorte de "norme" genre le mode 101h c'est du 640x480 en 256 couleurs

Enfin, certains BIOS savent écrire du texte dans
ces modes graphiques et d'autres non

J'ai quelques applications embarquées, et pour me passer du fenêtrage, je bascule en mode FLAT et la mémoire vidéo se retrouve en
D0000000h ou E0000000h mais il faut tester machine par machine, et ça reste de la bidouille (pas bon pour un simple bootloader )

a+ François
3
Forthman Messages postés 23 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 9 janvier 2014
22 oct. 2009 à 07:16
Non, c'est que tout l'affichage passe par les 64Ko réservés à l'affichage
VGA ( A000:0000h )

En mode 13h ton écran fait 64000 octets donc pas de problème.
En mode 101h ton écran fait 300Ko donc pour gérer tout l'écran
tu dois envoyer l'info au contrôleur pour lui indiquer quelle partie de
l'écran physique correspond à ton segment vidéo (A000:0000h)

Le mode mémoire FLAT c'est une bidouille qui consiste à passer en mode
protégé, déclarer un segment de 4Go et revenir en mode réel en remplçant la gestion des erreurs de segment pas un bout de code qui laisse faire
En fin de compte on se retrouve avec un mode réel capable d'adresser
4Go de RAM en utilisant les registres 32 Bits
A mon sens, le seul intérêt est pour les application autonomes gourmandes en
mémoire et n'ayant pas besoin des protections du mode... protégé

Dans ton cas il vaut mieux rester en mode réel et jongler avec les fenêtres

a+ François
3
qhhu Messages postés 66 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 octobre 2009
21 oct. 2009 à 18:15
Ca a l'air pas mal du tout ! C'est même exactement ce que je cherchais !
Le standard VESA est donc supporté par plus ou moins tous les bios et cartes graphiques... hmmm interessant !

C'est en tout cas déjà bien mieux que le 320x200 !

Forthman (ou François, pour les intimes :), le fenêtrage, c'est le fait de passer toujours par la petite fenêtre que sont les interruptions, c'est ca ? Et qu'est-ce que le FLAT déjà ? ca me dit quelque chose...

Merci beaucoup pour vos réponses!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
9 déc. 2009 à 16:04
Salut,


Autre avantage du VESA à partir de la version 2 si je me rappelle bien, c'est qu'il est utilisable en mode protégé directement.

Elle est pas belle la vie ??? hein !!


Si ça peut te servir, j'ai déposé une source pour simuler un format cd iso, compilable avec nasm. Pratique pour tester dans un PC virtuel.

@++
0
Rejoignez-nous