begin process at 2008 08 28 21:54:42
1 233 393 membres
485 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : ecrire directement dans la memoire video [ Archives / c, c++ et asm ] (Ether)

ecrire directement dans la memoire video le 19/04/2003 16:00:27

Ether
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

Re : ecrire directement dans la memoire video le 20/04/2003 05:53:36

CoreBreaker
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


-------------------------------
Réponse au message :
-------------------------------

> 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

Re : ecrire directement dans la memoire video le 22/04/2003 14:05:34

Ether
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


-------------------------------
Réponse au message :
-------------------------------

> 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
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > 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
>

Re : ecrire directement dans la memoire video le 22/04/2003 23:19:50

CoreBreaker
> 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

Re : ecrire directement dans la memoire video le 23/04/2003 01:47:21

Ether

: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






Re : ecrire directement dans la memoire video le 23/04/2003 04:37:24

CoreBreaker
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


-------------------------------
Réponse au message :
-------------------------------

>
> :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
>
>
>
>
>
>


Classé sous : directement, ecrire, carte, video, memoire

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS