Скачать Установка Режима Мерцания (Text Mode Blink)

26.05.1997
Скачать файл (1,34 Кб)

{> Cut here. FileName= BLINK.PAS }
{-cd}
Procedure DOS_Text_Blink(BlinkState : Byte); Assembler; Asm
  mov ax, 1003h
  mov bl, BlinkState
  int 10h
End;
 
Procedure DOS_Text_VideoAddr; Near; Assembler; Asm
  mov dx, SegB800
  mov es, dx
  mov dx, 160
  mul dx
  mov di, bx
  shl di, 1
  add di, ax
End;
 
 
Procedure DOS_TextOut(S : String; X, Y : Integer); Assembler; Asm
  mov ax, y
  mov bx, x
  call DOS_Text_VideoAddr
  push ds
  lds si, s
  lodsb
  xor ch, ch
  mov cl, al
  jcxz @@1
@@2:
  lodsb
  stosb
  inc di
  loop @@2
@@1:
  pop ds
End;
 
Procedure DOS_ChangeAttribute(Number, X, Y, Color : Integer); Assembler; Asm
  mov ax, y
  mov bx, y
  call DOS_Text_VideoAddr
  mov cx, Number
  jcxz @@1
  mov al, byte ptr Color
@@2:
  inc di
  stosb
  loop @@2
@@1:
End;
 
Function DOS_KeyPressed : Boolean; Assembler; Asm
  mov ah, 1
  int 16h
End;
 
Function DOS_ReadKey : Word; Assembler; Asm
  xor ax, ax
  int 16h
End;
 
Const
  VideoStatus = $3DA;
  KeyStatus   = $60;
  BackRay     = 8;
  NoTracing   = 1;
  ScanLines   = 16;
  Colors      : Array[1..ScanLines] of Byte = (
  $F0, $E0, $D0, $C1, $B2, $2C, $9E, $7E,
  $6F, $3F, $2E, $1F, $02, $F0, $C1, $30
  );
 
Var
  Count : Byte;
 
 
Begin
 .................