Как убрать мерцание и вместо него сделать 16 фоновых цветов.
{> Cut here. FileName= SETBLINK.MSG }
- 4INT ----------------------------------------------------- It's interesting -
Msg : 10 of 110 Addr Date
From : Nikita Popov 2:5020/87.2 12.05.95
Subj : 16-color back
-------------------------------------------------------------------------------
Hello Andrew!
07 May 95, Andrew Kascheev --. All:
AK> Подскажите как перестроить VGAшку, чтобы вместо Blinking было 16
AK> цветов в Background ?
Смотри и учись :)
-- Nikita --
--- Delphi/95 EET Gamma
* Origin: NiX underground command center (2:5020/87.2)
{> Cut here. FileName= SETBLINK.PAS }
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.