Modes video niveau bios [Résolu]

qhhu 67 Messages postés vendredi 16 décembre 2005Date d'inscription 21 octobre 2009 Dernière intervention - 19 oct. 2009 à 22:49 - Dernière réponse : cs_patatalo 1466 Messages postés vendredi 2 janvier 2004Date d'inscription 14 février 2014 Dernière intervention
- 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 !
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
rdany62 14 Messages postés samedi 24 mars 2007Date d'inscription 12 février 2016 Dernière intervention - 20 oct. 2009 à 15:31
3
Merci
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 !

Merci rdany62 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de rdany62
Meilleure réponse
Forthman 23 Messages postés samedi 25 décembre 2004Date d'inscription 9 janvier 2014 Dernière intervention - 21 oct. 2009 à 06:25
3
Merci
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

Merci Forthman 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de Forthman
Meilleure réponse
Forthman 23 Messages postés samedi 25 décembre 2004Date d'inscription 9 janvier 2014 Dernière intervention - 22 oct. 2009 à 07:16
3
Merci
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

Merci Forthman 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de Forthman
qhhu 67 Messages postés vendredi 16 décembre 2005Date d'inscription 21 octobre 2009 Dernière intervention - 21 oct. 2009 à 18:15
0
Merci
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!
Commenter la réponse de qhhu
cs_patatalo 1466 Messages postés vendredi 2 janvier 2004Date d'inscription 14 février 2014 Dernière intervention - 9 déc. 2009 à 16:04
0
Merci
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.

@++
Commenter la réponse de cs_patatalo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.