Browse Source

Improved interface

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8538 8c9fc860-2736-0410-a75d-ab315db34111
negelef 6 years ago
parent
commit
19b5a4f2d0
4 changed files with 11 additions and 15 deletions
  1. 2 2
      source/BIOS.Beep.Mod
  2. 1 1
      source/Beep.Mod
  3. 1 1
      source/Unix.Beep.Mod
  4. 7 11
      source/Windows.Beep.Mod

+ 2 - 2
source/BIOS.Beep.Mod

@@ -9,12 +9,12 @@ CONST
 
 (** Sound the PC speaker continuously at the specified frequency.  Use 0 to switch off the sound.  Not sharable. *)
 
-PROCEDURE Beep*(hz: LONGINT);
+PROCEDURE Beep*(hz: WORD);
 VAR s: SET;
 BEGIN {EXCLUSIVE}
 		(* stop counter *)
 	Machine.Portin8(61H, SYSTEM.VAL(CHAR, s));
-	Machine.Portout8(61H, CHR(SYSTEM.VAL(LONGINT, s - {0,1})));
+	Machine.Portout8(61H, CHR(SYSTEM.VAL(WORD, s - {0,1})));
 	IF hz > 0 THEN
 		hz := Rate DIV hz;
 			(* init counter for hz *)

+ 1 - 1
source/Beep.Mod

@@ -1,6 +1,6 @@
 MODULE Beep;
 
-	PROCEDURE Beep*( hz: LONGINT );
+	PROCEDURE Beep*( hz: WORD );
 	BEGIN
 	END Beep;
 

+ 1 - 1
source/Unix.Beep.Mod

@@ -7,7 +7,7 @@ IMPORT X11, Displays, XDisplay, Plugins;
 VAR
 	disp: XDisplay.Display;
 
-	PROCEDURE Beep*( hz: LONGINT );
+	PROCEDURE Beep*( hz: WORD );
 	BEGIN
 		X11.Bell( disp.xdisp, 100 )
 	END Beep;

+ 7 - 11
source/Windows.Beep.Mod

@@ -9,7 +9,7 @@ CONST
 	(** Sound the PC speaker continuously at the specified frequency.  Use 0 to switch off the sound.  Not sharable. *)
 TYPE
 	Beeper = OBJECT
-	VAR hz: LONGINT;
+	VAR hz: WORD;
 		beep: BOOLEAN;
 
 		PROCEDURE & Init*;
@@ -18,18 +18,14 @@ TYPE
 			beep := FALSE;
 		END Init;
 
-		PROCEDURE On( hz: LONGINT );
-		BEGIN
-			BEGIN {EXCLUSIVE}
-				SELF.hz := hz;  beep := TRUE;
-			END;
+		PROCEDURE On( hz: WORD );
+		BEGIN {EXCLUSIVE}
+			SELF.hz := hz;  beep := TRUE;
 		END On;
 
 		PROCEDURE Off;
-		BEGIN
-			BEGIN {EXCLUSIVE}
-				beep := FALSE;
-			END;
+		BEGIN {EXCLUSIVE}
+			beep := FALSE;
 		END Off;
 
 		PROCEDURE Beep;
@@ -51,7 +47,7 @@ TYPE
 VAR
 	beep: Beeper;
 
-	PROCEDURE Beep*( hz: LONGINT );
+	PROCEDURE Beep*( hz: WORD );
 	VAR s: SET;
 	BEGIN
 		IF (hz # 0) THEN