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)

samedi 19 avril 2003 à 16:00:27 | ecrire directement dans la memoire video

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

dimanche 20 avril 2003 à 05:53:36 | Re : ecrire directement dans la memoire video

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

mardi 22 avril 2003 à 14:05:34 | Re : ecrire directement dans la memoire video

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
>

mardi 22 avril 2003 à 23:19:50 | Re : ecrire directement dans la memoire video

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

mercredi 23 avril 2003 à 01:47:21 | Re : ecrire directement dans la memoire video

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






mercredi 23 avril 2003 à 04:37:24 | Re : ecrire directement dans la memoire video

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



Cette discussion est classé dans : directement, ecrire, carte, video, memoire


Répondre à ce message

Sujets en rapport avec ce message

segment de la memoire video sous winxp ? [ par lespaul666 ] voilà , sous windows xp lorsque je cree un programme assembler et que je veux faire un affichage en passant par le segment 0b800h et bien rien ne s'af fichier asm [ par zaka2005 ] salut ,je voudrais savoir comment on fait pour ecrire dans un fichier en language assembleur(l'instruction qui permet d'ecrire dans un fichier )je sai Ecrire discrètement dans des fichiers [ par grandvizir ] Bonjour, Avec les fonctions de base dans Windows pour gérer des fichiers, il est possible de se faire détecter par File Monitor de SysInternals. Cela Interagir avec un service windows [ par frobinet ] Bonjour, J'ai crée un service windows (en reprenant les sources diffusés sur ce site) pour gérer un lecteur de carte. Le but étant qu'un seul program carte ethernet [ par bofur ] par quel port d'E/S une carte réseau  est piloté?et comment ?si vous avez des bonnes adresse ou je puisse trouver de la doc ça serait bien G.I.G.O. programmation carte a puce [ par chrigui ] je suis un etudiant et j'ai un projet sur la programmation carte a puce ce projet consiste a realiser un controle d'accés par carte a puce EPROM .Chaq programmation graphique en mode 12h [ par masta_jigga ] J'aimerai poser surement une bete question. Comment puis-je faire pour travailler dans le mode 12h (640x480 en 16 couleurs)en accedant directement à l [ASM] Ecrire en couleur un buffer [ par diaboloche ] Slt, donc la question est dans le titre, j'aimerais ecrire en couleur certaines lettres en dehors d'un buffer... Ecrire une simple lettre j'y arrive s memoire vive etendue [ par chercheur de connaisance ] salut ces pour savoir comment utiliser la memoire vive au dessus du megaoctet merci L'immortel Ecrire du texte sans 21h [ par zippro4012 ] Je débute en ASM, et je me pose les questions suivantes. - Est-ce que l'interruption 21h dépend de Dos ? - Si oui, comment faut-il faire pour écrire d


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.