home *** CD-ROM | disk | FTP | other *** search
-
- PROGRAM REFRESH;
- { REFRESH- ZEIT EINSTELLEN }
-
- USES CRT;
-
-
- CONST TIMER0 = $40;
- TIMER1 = $41;
- TIMER2 = $42;
- TIMERCTL = $43;
- PIOB = $61;
-
- 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 ';
-
- VAR WERT,ERR : INTEGER;
-
-
- PROCEDURE STARTTIMER;
- BEGIN
-
- PORT[PIOB] := PORT[PIOB] AND $FC;
- PORT[PIOB] := PORT[PIOB] OR 1; { PIO B OR 1 = TIMER START }
- { PIO B OR 2 = LAUTSPRECHER }
- INLINE($FA);
- PORT[TIMERCTL] := $C4;
- PORT[TIMER2] := 0;
- PORT[TIMER2] := 0;
- INLINE($FB);
- END;
-
-
- FUNCTION TIME:WORD;
- VAR EA,EB : BYTE;
- BEGIN
- PORT[TIMERCTL] := $84;
- EA := PORT[TIMER2];
- EB := PORT[TIMER2];
- TIME := - ( EA + EB SHL 8 );
- END;
-
-
- BEGIN
- (*
- STARTTIMER;
-
- DELAY(1);
- WRITELN(TIME:8,TIME:8);
- WRITELN(TIME);
- WRITELN(TIME);
- WRITELN;
- HALT;
- *)
-
- VAL(PARAMSTR(1),WERT,ERR);
- IF (ERR > 0) OR (WERT < 0) OR (WERT > 255) THEN BEGIN
- WRITELN('WERT ZWISCHEN 0 UND 255 EINGEBEN');
- HALT;
- END;
- PORT[TIMERCTL] := $54;
- PORT[TIMER1] := WERT;
-
- END.
-
-