Как убрать мерцание и вместо него сделать 16 фоновых цветов?

Uses CRT;
 
procedure SetBlink( BlinkOn : boolean ); assembler;
asm
  mov BL, BlinkOn
  mov AX, 1003h
  int 10h
end;
 
{ ------------- TEST for SetBlink -----------------------------}
begin
  ClrScr;
  Writeln(' 16 BackGround Colors in Text Mode without Blinking');
  Writeln('-------------------');
  SetBlink(False);
 
  TextAttr:=White;
  Write    ('White on Black      ');
    TextAttr:=White+Blink;
    Writeln('White on DarkGray    ');
 
  TextAttr:=White+Blue*16;
  Write    ('White on Blue       ');
    TextAttr:=White+Blue*16+Blink;
    Writeln('White on LightBlue   ');
 
  TextAttr:=White+Green*16;
  Write    ('White on Green      ');
    TextAttr:=Black+Green*16+Blink;
    Writeln('Black on LightGreen  ');
 
  TextAttr:=White+Cyan*16;
  Write    ('White on Cyan       ');
    TextAttr:=Black+Cyan*16+Blink;
    Writeln('Black on LightCyan   ');
 
  TextAttr:=White+Red*16;
  Write    ('White on Red        ');
    TextAttr:=Black+Red*16+Blink;
    Writeln('Black on LightRed    ');
 
  TextAttr:=White+Magenta*16;
  Write    ('White on Magenta    ');
    TextAttr:=Black+Magenta*16+Blink;
    Writeln('Black on LightMagenta');
 
  TextAttr:=White+Brown*16;
  Write    ('White on Brown      ');
    TextAttr:=Black+Brown*16+Blink;
    Writeln('Black on Yellow      ');
 
  TextAttr:=White+LightGray*16;
  Write    ('White on LightGray  ');
    TextAttr:=Black+LightGray*16+Blink;
    Writeln('Black on White       ');
 
  TextAttr:=LightGray;
  Writeln('-------------------');
  Writeln('Press any key for exit...');
 
  ReadKey;
  SetBlink(True);
  Writeln;
end.