salut
je suis ce qu'on pourais qualifier de "vieillbécanophile", c'est pourquoi je programme sous TurboC, et cherche des trucs bizarre, pas de soucis.
je cherche a maitriser la manipullation de la memoire en mode texte. j'ai donc testé plusieurs trucs, avec l'aide de quelques personnes. voici le principe :
je pose en x,y, le caractere c, de couleur t, dont l'arriere plan est b.
l'adresse de la memoire utile en mode texte est B800, et chaques caractere est dérfinit par 2 octets (couleur et code ascii ...)
j'aimerais créer un pointeur vers la memoire, et , comme voulais que je fasse, le pote en question, définir ce caractere par un struct.
et pour reprendre son exemple exact :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 struct chardata { char code; char colour; }
je créé donc ma structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 struct chardata * screen = <pointer to B800:0000... mk_fptr or something like that, can't remember> screen[x + 320 * y].code = 'A'; screen[x + 320 * y].colour = 15;
puis, j'assigne mo pointeur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct memoire_video { char code; int colour; }
mais, ca coince (erreur dans le codage),et j'ai l'impression de ne pas faire ce que je voudrais.memoire_video *far charmap (char far*) 0xB8000000;
auriez vous une solution a mon probleme ?, et pouriez vous m'expliquer en quoi ma struct va modifier le second offset de mon segment suivant s'il sajit de colour ou de code ?
merci, ++ Tix.
Partager