Lire ecrire dans la VRAM

cs_Booster Messages postés 235 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 6 octobre 2009 - 4 avril 2006 à 20:07
platon179 Messages postés 237 Date d'inscription lundi 20 mai 2002 Statut Membre Dernière intervention 22 juillet 2011 - 7 avril 2006 à 15:08

5 réponses

cs_Booster Messages postés 235 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 6 octobre 2009
4 avril 2006 à 20:11
Bonjour à tous,
Alors voila tout est dans le titre comment je peut lire et ecrire dans la ram video sous dos (sans directX) en C++.
Je cherche toute fonctions, tutoriaux ou autre...
Sur le net je n'est pas trouver grand chose qui puise me faire avancé, c'est pour cela que je m'en remet à vous!

Je vous remercie d'avance!
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
4 avril 2006 à 23:47
Je ne crois pas qu'il y ai beaucoup de solution sans l'utilisation de l'API.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
platon179 Messages postés 237 Date d'inscription lundi 20 mai 2002 Statut Membre Dernière intervention 22 juillet 2011 2
5 avril 2006 à 08:59
Salut :)



Il faut simplement savoir que sous DOS, la mémoire vidéo de ta carte
graphique se trouve à l'adresse 0xA000 pour les modes graphiques, et en
0xB8000 en modes texte (je suppose que tu travailles sous DJGPP). A
partir de là, en fonction du mode vidéo que tu as choisi, les écritures
seront plus ou moins compliquées...



En mode 13h par exemple (320x200 256 couleurs), c'est très simple, il
suffit d'écrire un char représentant la couleur que tu désires au bon
endroit de la VRAM, calculé comme ceci : Y * 320 + X



Tu feras donc, par exemple (code non testé, pondu instantanément :p)



unsigned char *video = 0xA000;

*(video + Y * 320 + X) = couleur;





Si tu as d'autres questions, n'hésite pas à les poser...

Bonne journée @+++
0
cs_Booster Messages postés 235 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 6 octobre 2009
5 avril 2006 à 17:37
Je te remerci pour cette réponse car en realiter moi se que je voudrais faire c'est remplir la memoire de la carte graphique en entier par exemple si elle fai 256 mo bah je lui envoi 256 mo de donné. (Pour faire un peu comme Memtest) mais je te rassur pas a leur niveau juste ecrire et puis lire derriere, si c'est se que j'ai ecrit c'est bon sinon la ram est morte car en réalité jai un probleme avec la ram de ma carte graph je pense et comme il existe pas de test Vram je me lance la dedans donc mon idée :
je vais le faire par du mode texte 0xB8000 je vais lui envoyer des données préfaite et je verifi, est se que tu pense que cette idée marcherais ou que c'est completement débile de ma part ? ^^

Je te remercie !
0

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

Posez votre question
platon179 Messages postés 237 Date d'inscription lundi 20 mai 2002 Statut Membre Dernière intervention 22 juillet 2011 2
7 avril 2006 à 15:08
Salut :)

Désolé pour le retard de la réponse, mais j'avais des soutenances a préparer moi cette semaine :p
Alors pour ce que tu veux faire, je sais pas si c'est possible, je m'y connais pas assez... Mais je ne pense pas, parce qu'il faudrait que toute la mémoire vidéo soit mappée à un endroit de la mémoire physique, et je ne pense pas que ce soit le cas....

Sinon, sous Windows, en utilisant DirectX ou OpenGL, il n'est pas possible de manipuler directement le contenu de la VRAM.... Je ne sais pas ce qu'il en est sous Linux.

Bonne journée @+
0
Rejoignez-nous