Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/5/84; site ssc-vax.UUCP
Path: utzoo!linus!philabs!cmcl2!seismo!lll-crg!dual!qantel!ihnp4!houxm!mtuxo!mtunh!mtung!mtunf!ariel!vax135!cornell!uw-beaver!fluke!ssc-vax!keith
From: keith@ssc-vax.UUCP (Keith Nemitz)
Newsgroups: net.micro.mac
Subject: more comments (fixes) to Modula-2 compiler
Message-ID: <105@ssc-vax.UUCP>
Date: Fri, 9-Aug-85 15:33:19 EDT
Article-I.D.: ssc-vax.105
Posted: Fri Aug  9 15:33:19 1985
Date-Received: Tue, 13-Aug-85 01:15:23 EDT
Distribution: net
Organization: Boeing Aerospace Co., Seattle, WA
Lines: 31

So far my mail recieved in responce to my earlier message have been
somewhat in favor of suggesting that I should make good my promises.
In that vein I summit the following code for scrutiny.


MODULE SoundDriver;

FROM SYSTEM IMPORT CODE;

PROCEDURE SysBeep(duration:INTEGER);
BEGIN CODE(43464) END SysBeep;

VAR i:INTEGER;
BEGIN
  FOR i := 5 TO 100 BY 5 DO SysBeep(i); END;
END SoundDriver.

It worked on my Mac (512k,1drive);
There was a suggestion that the return address is placed on top the stack
after the call is made, but one will notice that the duation of the tone
increases as the code implies.  (code never lies. comments, well...)

My next feat of magic will be to see if one can use the 'no entry or exit
code generated for procs' compiler option, and still get the same results.

                                              keith


(* This is to notify you that your left hemisphere is at war with your right
hemisphere.  please do not be unduly alarmed.  you were not using either of
them anyway. *)