[ASM] En Mode protégé comment changer de mode video?

En Mode protégé comment changer de mode video? [ASM] - Programmation

Marsh Posté le 11-11-2001 à 20:17:29    

Je suis en mode protégé, je veux changer du mode texte vers le mode 13h. Comment dois-je m'y prendre? Il me semble que je ne peux pas utiliser d'interruptions, car elles sont baties pour le mode réel!  :cry:

Reply

Marsh Posté le 11-11-2001 à 20:17:29   

Reply

Marsh Posté le 11-11-2001 à 20:19:25    

c'est quoi cette soudaine montée de mode 13h ? il commence à faire froid, qq1 a ressorti des vieux vieux tutoriaux ? :lol:
 
pour ton pb, faut utiliser un dos extender, genre pmode/w ... ou faire sa cuisine soi-même, mais faut alors être TRES TRES TRES TRES TRES courageux.
 
ou faire des trucs graphiques modernes, comme dx, ogl, la gdi de windows ... etc ...

Reply

Marsh Posté le 11-11-2001 à 20:21:54    

J'ai balancé mode 13h au hasard ! En fait je veux juste comprendre comment on peut se passer de l'interruption 10 quand il s'agit de changer de mode video et qu'on est en mode protégé.

Reply

Marsh Posté le 11-11-2001 à 20:24:50    

comme je le disais, un dos extender ... qui va hooker les appels d'interruption, rebalancer le proc en mode real et éxécuter l'appel ... ou qq chose comme ça. en tout cas c'est un bô merdier.
 
tu veux faire quoi en fait ? t'as vraiment besoin d'utiliser le dos ?

Reply

Marsh Posté le 11-11-2001 à 20:27:27    

J'ai eu le malheur de tomber sur des tutorials sur la programmation des kernels....  :D  :D  :D  
Donc je suppose que ca répond a ta question sur le fait que meme le dos c'est pas encore assez au ras des paquerettes...
Donc en gros le moyen le plus simple c'est de rebasculer en mode réel, executer l'interruption, puis de revenir en mode protégé?

Reply

Marsh Posté le 11-11-2001 à 20:33:48    

;) bon courage ...
 
pour le basculement, c'est le truc dont je me rappelle ... à savoir que je n'ai jamais codé ce genre de trucs, j'ai juste lu des docs, et c'était y'a longtemps :lol:
 
regarde si tu trouves pas les sources d'un dos extender. cherche les pages qui recensent pmode/w, y'a peut-être ses sources, ou des liens vers d'autres dos extenders open source.

Reply

Marsh Posté le 11-11-2001 à 20:37:03    

merci! :hello:

Reply

Marsh Posté le 11-11-2001 à 20:57:33    

t'as déjà dû le trouver, mais au cas où ... http://www.thefreecountry.com/deve [...] ders.shtml
 
causeway a l'air d'un truc à creuser.
 
le compilo watcom a été releasé gratos aussi. (edit : en open source, donc j'imagine que dos4gw aussi)

 

[edtdd]--Message édité par youdontcare--[/edtdd]

Reply

Marsh Posté le 12-11-2001 à 11:43:53    

le mieux est de passer en mode 13h avant de passer en mode protégé  :D

Reply

Marsh Posté le 12-11-2001 à 16:28:18    

Oui, j'y ai pensé...... mais ca ne fait que déplacer le probleme!
Y'a pas que la carte video qui utilise les interruptions!
 
Ah au fait merci youdontcare la page a l'air intéressante!  :)

 

[edtdd]--Message édité par Ace17--[/edtdd]

Reply

Marsh Posté le 12-11-2001 à 16:28:18   

Reply

Marsh Posté le 14-11-2001 à 17:58:16    

tu peux passer par le standard VESA 3
fo etre courageux mais c'est pas infaisable
y'a une bonne doc en PDF sur le site officiel
www.vesa.org/vbe3.pdf
mais voici un petit appercu de ce ki t'attend :
verifier que le bios video supporte VESA 3 (facile, mais en mode reel)
dumper le bios (!!! => le copier ailleur en memoire (il se trouver en C0000 et fait 32 Ko))
creer des descripteurs (donnees, executables) que tu vas fournir a l'image du bios pour qu'il s'execute (faut scanner l'image a la recherche d'un bloc particulier et initialiser des champs de ce bloc, et aussi recuperer un pointeur vers une fonction directement appelable que tu vas appeler a la placer de ton int 10h)
en gros c'est ca ... :sweat:
alors c bcp d'effort mais le resultat en vaut le coup
acces aux modes haute resolution, directement (ecriture en RAM video)
c'est le linear frame buffer
y'a bcp de doc la dessus (va faire un tour du cote de Linux)
mais bon, le plus simple, c'est de choisir ton mode avant de switcher en mode protege (c ke fait Linux avec les cartes kil ne supporte pas)
apres tu peux plus changer ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 14-11-2001 à 18:16:31    

Ouais je pense que ce que je vais faire pour le moment c'est changer de mode video avant de passer en mode protégé.
Si je comprends bien faut que je reprogramme les interruptions logicielles quoi. Et c'est valable pour toutes les interruptions, c'est ca!  :cry:  
Rebasculer en mode réel avant d'executer l'interruption et repasser en mode protégé ensuite ca comporte quoi comme inconvénients?  :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed