Trracer | 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 :
- static char Palette[4*3] = {0, 0, 0, 0, 0, 63, 0, 63, 0, 63, 0, 0};
- union REGS regset;
- struct SREGS sregs;
- regset.x.ax = 0x0013; // mode 13H.
- int86(0x10, ®set, ®set);
- // Chargement de la palette de couleurs.
- // 4 couleurs, 0 noir, 1 bleu, 2 vert, 3 rouge.
- regset.x.ax = 0x1012;
- regset.x.bx = 0;
- regset.x.cx = 4;
- regset.x.dx = (unsigned int)Palette;
- segread(&sregs);
- sregs.es = sregs.ds;
- int86(0x10, ®set, ®set, &sregs);
- // Tracé graphique ici...
- regset.x.ax = 0x0003; // Mode texte.
- int86(0x10, ®set, ®set);
|
Un deuxieme exemple, qui fait la même chose mais en passant directement par l'assembleur :
Code :
- void Mode13h()
- {
- asm
- {
- mov ah, 00h
- mov al, 13h
- int 10h
- }
- }
- void ModeText()
- {
- asm
- {
- mov ah, 00h
- mov al, 03h
- int 10h
- }
- }
|
Rhaaa que de bons souvenirs |