Bonjour !!
J'ai installé Turbo C 1.1 sur un vieux 386 portable monochrome, et je cherche a afficher un mode graphique 640x480 monochrome (portable vga tt de meme).
J'ai le code pour un mode 13h (320x200, 256 couleurs), mais je le trouve pas tres fin et inutile puisque le portable est monochrome...
Code :
- #include <dos.h>
- #define LARGEUR 320
- typedef unsigned char byte;
- typedef unsigned short word;
- byte *VGA=(byte *)0xA0000000L;
- void set_mode(byte mode)
- {
- union REGS regs;
- regs.h.ah = 0x00;
- regs.h.al = mode;
- int86(0x10, ®s, ®s);
- }
- void pixel(int x,int y,byte color)
- {
- VGA[y*LARGEUR+x]=color;
- }
- void main()
- {
- int x,y,color;
- set_mode(0x13);
- pixel(100,100,15);
- return;
- }
|
J'ai donc ce code qui s'initialise en mode 13h affiche un pixel en 100x100 et en blanc.
Lorsque je passe en mode 12h (celui qui m'interesse: 640x480 mono), ca marche plus. Aucun pixel ne s'allume.
J'ai biensur changer la LARGEUR dans le define...
Quelles modif. je devrais faire pour que cela marche en mode 12h ?
De plus en mode 13h les couleurs sont facile a nommer, mais en monochrome, donc 1 bit par pixel, quelles valeur pour quelles "couleurs" ? (0=noir, 1=blanc ? (c just pour etre sur)).
Merci beaucoup d'avance !!!
---------------
http://reopen911.online.fr/?page_id=45