- 2


union REGS inregs, outregs;

int vmode;

//

if( argc != 2 )

{

printf( "\n : BIOSVAR <>"

"\n <>: \n" );

return -1;

}

sscanf(argv[1],"%d",&vmode);

// ,

// vmode

inregs.h.ah = 0x0;

inregs.h.al = vmode;

int86( 0x10, &inregs, &outregs );

// BIOS

bios_var_ptr = (BIOS_VAR _far *) FP_MAKE(0x0000, 0x0410);

// BIOS

// bios_var_table

_fmemcpy(&bios_var_table,

(void far*) bios_var_ptr, sizeof(BIOS_VAR) );

// 3

inregs.h.ah = 0x0;

inregs.h.al = 3;

int86( 0x10, &inregs, &outregs );

// BIOS

printf( " : %Xh\n"

" : %Xh\n"

" : %d\n"

" : %d\n"

" : %Xh\n"

" : %Xh\n"

" : %Xh\n"

" : %Xh\n"

" : %Xh\n"

" CGA: %Xh\n"

" CGA: %Xh\n"

" : %d\n"

" : %d\n"