(Look-up Table Data Register - LTDR) - 3


((color_table[iii]).blue>6) ?

color_table[iii].blue-1 : 1;

}

SetVgaDAC(seg_table,off_table);

}


//

SetVideoMode( 0x3 );

Hello();


return 0;

}



//===========================================================

// SetVideoMode

// , vmode

//===========================================================

void SetVideoMode( unsigned char vmode ) {


union REGS inregs, outregs;


inregs.h.ah = 0x0;

inregs.h.al = vmode;

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

}



//===========================================================

// Hello

//===========================================================

void Hello(void) {


printf("\nCopyright (C)Frolov G.V.,1995. "

"E-mail: frolov@glas.apc.org\n");

}

SetVgaDAC, , 4.14.

4.14. DACTABLE.ASM

TITLE DACTABLE.ASM

NAME DACTABLE

PAGE 55,132


P286

IDEAL

NOWARN BRK


SEGMENT VGA_TEXT WORD PUBLIC 'CODE'

ASSUME cs:VGA_TEXT


;============================================================

;

; void SetVgaDAC(unsigned seg_table, unsigned off_table)

;============================================================


off_table EQU [bp+6]

seg_table EQU [bp+8]


PUBLIC SETVGADAC

PROC SETVGADAC FAR


enter 0, 0


; DS ES

push ds

push es


; ES

xor ax,ax

mov es,ax


;

; (3B4h/3D4h),

; 3B4h,