home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / tp_util / refresh.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-02-19  |  1.1 KB  |  66 lines

  1.  
  2. PROGRAM REFRESH;
  3. { REFRESH- ZEIT EINSTELLEN }
  4.  
  5. USES  CRT;
  6.  
  7.  
  8. CONST TIMER0     = $40;
  9.       TIMER1     = $41;
  10.       TIMER2     = $42;
  11.       TIMERCTL   = $43;
  12.       PIOB       = $61;
  13.  
  14.       TONSTRING : STRING[49] = 'C C#D D#E F F#G G#A A#H c c#d d#e f f#g g#a a#h ';
  15.  
  16. VAR   WERT,ERR   : INTEGER;
  17.  
  18.  
  19. PROCEDURE STARTTIMER;
  20. BEGIN
  21.  
  22.   PORT[PIOB] := PORT[PIOB] AND $FC;
  23.   PORT[PIOB] := PORT[PIOB] OR 1;    { PIO B OR 1 = TIMER START }
  24.                                     { PIO B OR 2 = LAUTSPRECHER }
  25.   INLINE($FA);
  26.   PORT[TIMERCTL] := $C4;
  27.   PORT[TIMER2] := 0;
  28.   PORT[TIMER2] := 0;
  29.   INLINE($FB);
  30. END;
  31.  
  32.  
  33. FUNCTION TIME:WORD;
  34. VAR   EA,EB  : BYTE;
  35. BEGIN
  36.   PORT[TIMERCTL] := $84;
  37.   EA := PORT[TIMER2];
  38.   EB := PORT[TIMER2];
  39.   TIME := - ( EA + EB SHL 8 );
  40. END;
  41.  
  42.  
  43. BEGIN
  44. (*
  45.   STARTTIMER;
  46.  
  47. DELAY(1);
  48.   WRITELN(TIME:8,TIME:8);
  49.   WRITELN(TIME);
  50.   WRITELN(TIME);
  51.   WRITELN;
  52. HALT;
  53. *)
  54.  
  55.   VAL(PARAMSTR(1),WERT,ERR);
  56.   IF (ERR > 0) OR (WERT < 0) OR (WERT > 255) THEN BEGIN
  57.     WRITELN('WERT ZWISCHEN 0 UND 255 EINGEBEN');
  58.     HALT;
  59.   END;
  60.   PORT[TIMERCTL] := $54;
  61.   PORT[TIMER1]   := WERT;
  62.  
  63. END.
  64.  
  65.  
  66.