Ecrire directement dans la memoire video

cs_Ether Messages postés 13 Date d'inscription mercredi 23 janvier 2002 Statut Membre Dernière intervention 24 octobre 2009 - 19 avril 2003 à 16:00
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 - 23 avril 2003 à 04:37
voila la question du jour qui tue!
je commence à en avoir marre de directx et opengl (je doit pas être le seul d'ailleurs)
donc je me dit que j'aimerais bien connaitre le moyen sans passer par un drivers quelquonque pour taper directement dans la memoire de ma carte video . comment faire pour la gérer en hard sans aucune fonction windows de quelque sorte.(ras le bol de pas comprendre se qui se passe dans mon pc)
le plus gros probleme est a mon avis comment reccuperer la doc technique de tel ou tel carte (dans mon cas une nvidia)
comment changer la resolution , le ballayage ecran etc...
quelqu'un la deja fait ici ?

merci a tous et a plus :)

Ether/Saturne
www.saturne.org

5 réponses

CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
20 avril 2003 à 05:53
De manière générale la mémoire video est mappé en mémoire centrale.

pour les basses résolutions elle est à l'adresse 0x000A0000
pour les grandes résolutions cela dépend de ta carte mais tu obtenir l'adresse en passant par le paneau de contrôle de windows en regadant les propriétés système. L'onglet ressources te donnera la plage mémoire où est mappé la mémoire video de ta carte. Certaines cartes mappe plusieurs région mémoires sur différentes plages. En général, la mémoire video est mappée dans les plages supérieures en mémoires (genre 0xE0000000). S'il y en a plusieurs, il faut donc les essayer.

Pour gérer le balayage, et les résolutions, il faut communiquer avec ta carte (ports I/O). Certains standard on été établis pour cela par le passé. En conséquence les numéros de port et certaines interruptions logicielles comme l'int 10h (int du BIOS) sont les mêmes quelque soit la carte.

Tu devrais te procurer "la bible de la programmation système" de Michael Tisher éditée chez Microsoft Applications. Tu peux le trouver chez Gilbert Jeune près de Paris Notre-Dame.

Sinon avec VESA, tu peux avoir accès aux hautes résolutions. C'est un standard. Cherche VBE2 ou VBE3 sur le net.

quelques exemples:
http://ript.net/~spec/vbe2/
http://www.vesa.org/VBE3.pdf

Core Breaker :)
0
cs_Ether Messages postés 13 Date d'inscription mercredi 23 janvier 2002 Statut Membre Dernière intervention 24 octobre 2009
22 avril 2003 à 14:05
oui mais tout ca je sais le probleme c'est que moi je veut passer par aucun system d'exploitation

le bouquin dont tu me parle est de micro application (rien a voir avec microsoft hehehe)
en fait je l'ai mais il ne répond pas à mes questions
le probleme de VBE c'est que tu doit au moins lancé le dos !
en fait j'ai besoin de savoir comment fait vbe lui pour acceder à la carte!
le but ultime etant de develloper un mini system d'exploitation !!!

voila enfin merci pour m'avoir répondu.

:Pether/Saturne:P
www.saturne.org
0
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
22 avril 2003 à 23:19
> oui mais tout ca je sais le probleme c'est que moi je veut passer par aucun system d'exploitation

Excuse je ne savais que tu le savais.

Les méthodes que je t'ai indiqué ne passe par aucun système d'exploitation je t'ai juste indiqué un moyen de connaitre l'adresse de ta mémoire vidéo mais le programme d'accès à la mémoire n'a besoin d'aucun OS !

> le bouquin dont tu me parle est de micro application (rien a voir avec microsoft hehehe)
> en fait je l'ai mais il ne répond pas à mes questions

Pourtant grâce à lui j'ai pu accéder à la mémoire video et il m'a permis de changer de résolution mais comme je te l'ai dis uniquement dans les basses résolution (genre 320x200)

> le probleme de VBE c'est que tu doit au moins lancé le dos !

Et non ! VBE est un standard inclu dans le BIOS donc indépendant de l'OS. Meme que certaines distribution Linux s'en serve (j'ai vu le source de leur boot !!)

> en fait j'ai besoin de savoir comment fait vbe lui pour acceder à la carte!

VBE utilise les structures de données du Plug and Play (PnP). Il accède directement à ta carte par les ports I/O.

Il faut bien savoir que si tu veux accéder à ta carte par le matériel seul certains port sont standard (cf Bible de prog système) mais tu t'expose au rique que d'autres fonctionnalités de base sont spécifique à ta carte. Je te conseille fortement d'utiliser le BIOS pour ne pas avoir de bévues et de forte déceptions !! (déceptions que j'ai eu)

> le but ultime etant de develloper un mini system d'exploitation !!!
>

je sais j'ai été confronté aux mêmes problèmes. Moi aussi je fais un OS 100% en asm !! J'ai résolu les problèmes de carte video ainsi (par VBE). C'est le plus sûr et ça marche à tout les coups sur les cartes compatibles PnP. D'ailleurs lorsque je boote dessus j'ai bien passé en résolution 640x480 par VBE2 et j'ai écrit du texte en écrivant directement dans la mémoire vidéo !

Donc ça marche. Et tout cela grace au document pdf que je t'ai indiqué !!

> voila enfin merci pour m'avoir répondu.

mais de rien

Core Breaker :)
0
cs_Ether Messages postés 13 Date d'inscription mercredi 23 janvier 2002 Statut Membre Dernière intervention 24 octobre 2009
23 avril 2003 à 01:47
:Pether/Saturne:P
www.saturne.org

oui moi aussi ca marche en 320 X 200 256 couleurs mais pas au dessus.

ok bhein moi j'etait persuader que vbe utilisait le dos, mais bon si tu le dit je vais faire des tests, content de voir que je suis pas le seul a me pencher sur ce probleme.

et ton os alors ca a abouti ???
je suis curieux de le tester si tu as un exemplaire a m'envoyer : ether@saturne.net
0

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

Posez votre question
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
23 avril 2003 à 04:37
En tout cas chez moi ca marche super bien sur toute carte PnP qui a un bios compatible VBE.

Mon os est suspendu car trop de boulot mais à la fin de l'année je m'y remet. Pour l'instant j'ai terminé le boot (même à partir d'un CD-ROM !!)

Core Breaker :)
0
Rejoignez-nous