Entorno de programación formal
# incluir ltstdio.h gt
# incluir ltdos.h gt
# incluir ltstring.h gt
# incluir ltmath.h gt
# incluir ltstdio.h gt
# incluir ltbios.h gt
# incluir ltmem.h gt
# incluir ltfcntl.h gt
# incluir ltstdlib.h gt
# incluir ltconio.h gt
#Definir VGA256 0x13
#Definir modo de texto 0x03
#Definir ancho de pantalla 320
#Definir alto de pantalla 200
#define PALETTE_MASK 0x3c6
# definir PALETA_REGISTRO_RD 0x3c 7
#Definir paleta_register_WR 0x3c8
#Definir paleta_datos 0x3c9
#Definir PCX _ancho 150
#Definir PCX _height 150
estructura typedef RGB_color_typ
{
Carácter sin firmar rojo;
p>
Carácter sin firmar verde ;
Carácter sin firmar azul;
}RGB_color, * RGB_color_ptr
Carácter sin firmar lejos * video _ buffer = (char lejos *)0xa 0000000 l; p>
void Set_Palette_Register(int index, RGB_color_ptr color)
{
outp(PALETTE_MASK, 0x ff);
outp(palette_register_WR, index) ;
salida(PALETTE_DATA, color->; rojo);
salida( PALETTE_DATA, color->; verde);
salida (PALETTE_DATA, color-); >; azul);
}
void Get_Palette_Register(int index, RGB_color_ptr color)
{
outp(PALETTE_MASK, 0x ff
outp(palette_register_RD, index);
Color->Rojo=inp(palette_data);
Color->Verde=inp(palette_data);
Color->; blue=inp(palette_data);
}
Retraso no válido (número de clics)
{ p>
unsigned int far * reloj =(unsigned int far *)0x 0000046 cl;
Unsigned int ahora
ahora = *reloj;
while(ABS(* reloj -ahora) lt; hacer clic){}
}
void Set_Vide
o_Mode (modo int)
{
Reglas de unión inregs, outregs
in regs h . h.al=modo (carácter sin firmar);
int 86(0x 10; in regs & outregs);
}
void Plot_Pixel_Fast(int x, int y, color char)
{
video _ buffer[((y lt; lt8) (y lt; lt6)) x]=color;
}
Administrador no válido (no válido)
{
int index, index0, flag=0, I, j;
RGB_color color;
establecer _ Video _ Modo(VGA 256);
for(index = 0; index lt32; index)
for(index 0 = 0 ; index0 lt8; index0 )
for(I = 0; i lt10; i )
for(j = 0; j lt10; j )
trama _ Pixel _ Fast(0 (index-0)* 10 j, 0 i index0*10, index index 0 * 32
getch();
for( index = 1; índice lt256; índice )
{
Get_Palette_Register(índice, (RGB_color_ptr) & color);
color rojo = color .
color . verde = color . verde-10;
color . azul = color . azul-10;
Set_Palette_Register( índice, (RGB _ color _ ptr) amp; color);
Retraso (1);
}
getch(); ; índice lt256; índice )
{
Get_Palette_Register(índice, (RGB _ color _ ptr) amp; color);
color .verde = 0;
color .azul = 0
Set_Palette_Register(índice, (RGB _ color _ ptr) amp; color); /p>
Retraso (1);
}
getch();
Set_Video_Mode(modo texto);
}