/* Routine pour paramétrer le mode en mode 640x400 en 16 couleurs du VGA. Compilé avec Borland C++ 4.02 en modèle small Testé par Jim Mischel 12/16/94 */ #include void Set640x400() { union REGS regset; /*Premièrement, paramètre le mode standard 640x350 (mode 10h) */ regset.x.ax = 0x0010; int86(0x10, ®set, ®set); /* Modifie les bits de polarité sync (bits 7 & 6) du registre Miscellaneous Output (lisible à 0x3CC, où on peut écrire 0x3C2) pour sélectionner 400 lignes d'affichage verticales */ outp(0x3C2, ((inp(0x3CC) & 0x3F) | 0x40)); /*A présent, règle les registres nécessaires pour convertir les mesures de 350 à 400 lignes d'affichage */ outpw(0x3D4, 0x9C10); /* ajuste le registre Vertical Sync Start pour 400 lignes d'affichage */ outpw(0x3D4, 0x8E11); /* ajuste le registre Vertical Sync End pour400 lignes d'affichage */ outpw(0x3D4, 0x8F12); /* ajuste le registre Vertical Display End pour 400 lignes d'affichage */ outpw(0x3D4, 0x9615); /* ajuste le registre Vertical Blank Start pour 400 lignes d'affichage */ outpw(0x3D4, 0xB916); /* ajuste le registre Vertical Blank End pour 400 lignes d'affichage */ }