Achat/vente : westyle Le salon de discussion : yalefe, 2 utilisateurs anonymes et 9 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

mode 13h sous turbo C

n°7075
tix2
ALors toi,hein ,je serais ta m
Posté le 03-11-2006 à 12:52:25  profilanswer
 

salut salut :)
 
je cherche le moyen d'acceder au mode 13H sous turboC
 
merci, ++ Tix.
 


---------------
Actuellement : <img src=\\\\\\\"http://www.bencastricum.nl/msn/status.php/26231b22-af9b-4ecf-a5b4-7b12014833d4.png\\\\\\\">
mood
Google
Posté le 03-11-2006 à 12:52:25  profilanswer
 

n°7076
Trracer
Posté le 03-11-2006 à 23:04:34  profilanswer
 

Salut,
 
Le mode 13H est bete comme choux (ou presque ^_^), c'est le mode graphique le plus facile à programmer. C'est un espace lineaire commençant à A000:0000 consistant en 64000 octets, controlant chacun un pixel.
 

Code :
  1. static char Palette[4*3] = {0, 0, 0,  0, 0, 63, 0, 63, 0,  63, 0, 0};
  2. union REGS regset;
  3. struct SREGS sregs;
  4. regset.x.ax = 0x0013; // mode 13H.
  5. int86(0x10, &regset, &regset);
  6. // Chargement de la palette de couleurs.
  7. // 4 couleurs, 0 noir, 1 bleu, 2 vert, 3 rouge.
  8. regset.x.ax = 0x1012;
  9. regset.x.bx = 0;
  10. regset.x.cx = 4;
  11. regset.x.dx = (unsigned int)Palette;
  12. segread(&sregs);
  13. sregs.es = sregs.ds;
  14. int86(0x10, &regset, &regset, &sregs);
  15. // Tracé graphique ici...
  16. regset.x.ax = 0x0003; // Mode texte.
  17. int86(0x10, &regset, &regset);


 
 
Un deuxieme exemple, qui fait la même chose mais en passant directement par l'assembleur :
 

Code :
  1. void Mode13h()
  2. {
  3.   asm
  4.   {
  5.     mov ah, 00h
  6.     mov al, 13h
  7.     int 10h
  8.   }
  9. }
  10. void ModeText()
  11. {
  12.   asm
  13.   {
  14.     mov ah, 00h
  15.     mov al, 03h
  16.     int 10h
  17.   }
  18. }


 
Rhaaa que de bons souvenirs  [:atsuko]

n°7077
tix2
ALors toi,hein ,je serais ta m
Posté le 03-11-2006 à 23:45:11  profilanswer
 

salut
 
ha, merveille, je me suis codé mes premieres fonctions pour acceder a 13h :)
 
mais mtn ,comment puis-je définir mon segment A000 et y mettre mes données ? (offset, couleur)
 
merci ++ Tix.


Message édité par tix2 le 04-11-2006 à 00:18:24

---------------
Actuellement : <img src=\\\\\\\"http://www.bencastricum.nl/msn/status.php/26231b22-af9b-4ecf-a5b4-7b12014833d4.png\\\\\\\">
n°7078
Trracer
Posté le 04-11-2006 à 11:00:26  profilanswer
 

Le net regorge de tuto sur le mode 13H, il est pas compliqué...
 
Par exemple : http://www.flipcode.com/articles/d [...] 2-pf.shtml ou http://davidcapello.tripod.com/snippets/vga.c (fonctions primaires en C).
 
Moi tous mes codes que j'ai pu conserver de l'époque où je codais sous dos sont en assembleur (et ça remonte à loin...).

mood
Google
Posté le 04-11-2006 à 11:00:26  profilanswer
 


Aller à :
Ajouter une réponse
 

Hit Parade