home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 05 / tricks / setblink.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1991-02-11  |  1.4 KB  |  59 lines

  1. (* ------------------------------------------------------ *)
  2. (*                     SETBLINK.PAS                       *)
  3. (*           (c) 1991 Michael Plewe & TOOLBOX             *)
  4. (* ------------------------------------------------------ *)
  5. PROGRAM SetBlinkDemo;
  6.  
  7. USES Crt, Dos;
  8.  
  9. CONST
  10.   HGC = 7;
  11.  
  12. TYPE
  13.   SwitchType = (On, Off);
  14.  
  15. VAR
  16.   VideoMode : BYTE ABSOLUTE $0040:$0049;
  17.   c         : CHAR;
  18.   b         : BYTE;
  19.  
  20.  
  21.   PROCEDURE SetBlinkAttr(Switch : SwitchType);
  22.   VAR
  23.     Regs     : Registers;
  24.     PortAddr : WORD;
  25.   BEGIN
  26.     Regs.AH := $10;
  27.     Regs.AL := $03;
  28.     IF VideoMode = HGC THEN PortAddr := $3B8
  29.                        ELSE PortAddr := $3D8;
  30.     IF (Switch = On) THEN BEGIN
  31.       Regs.BL := $01;
  32.       Intr($10, Regs);
  33.       IF (Regs.AL = $03) THEN
  34.         Port[PortAddr] := Mem[$40:$65] OR $20;
  35.     END ELSE BEGIN
  36.       Regs.BL := $00;
  37.       Intr($10, Regs);
  38.       IF (Regs.AL = $03) THEN
  39.         Port[PortAddr] := Mem[$40:$65] AND $DF;
  40.     END;
  41.   END;
  42.  
  43. BEGIN
  44.   ClrScr;
  45.   FOR b := 8 TO 15 DO BEGIN
  46.     TextAttr := Green + b*16;
  47.     Write(' HALL0! ');
  48.   END;
  49.   WriteLn;
  50.   WriteLn;
  51.   Write('Taste drücken...');
  52.   c := ReadKey;
  53.   SetBlinkAttr(Off);
  54.   c := ReadKey;
  55.   SetBlinkAttr(On);
  56. END.
  57. (* ------------------------------------------------------ *)
  58. (*                 Ende von SETBLINK.PAS                  *)
  59.