home *** CD-ROM | disk | FTP | other *** search
- program loopply;
-
- {$L ppoly_s}
- uses crt;
-
- const
- DEFTEMP = 1024;
- FILENAMEEXT = '.ply';
-
- var
- tempval, badchar : integer;
- infile : file;
-
- procedure poly(s,o:word); external;
-
- procedure looppoly(filename:string; defaulttempo:word);
- var
- tune : pointer;
- fsize : longint;
- p : ^word;
- infilename : string;
- begin
- infilename := filename;
- if pos('.', filename) = 0 then
- infilename := infilename+FILENAMEEXT;
- assign(infile, infilename);
- reset(infile,1);
- fsize := filesize(infile);
- getmem( p, word(fsize)+1 );
- p^ := defaulttempo;
- tune := p;
- p := ptr(seg(p^),ofs(p^)+2);
- blockread(infile,p^,word(fsize));
- close(infile);
- while not (keypressed) do
- poly(seg(tune^),ofs(tune^));
- freemem(tune,word(fsize));
- end;
-
- procedure message;
- begin
- writeln('Usage: LoopPoly <plyfile> [tval]');
- writeln;
- writeln('where:');
- writeln(' <plyfile> = the name of the file to play.');
- writeln(' [tval] = [optional] starting tempo value, 1 (fast) - 65535 (slow)');
- writeln;
- writeln('LoopPoly.EXE and its original source code is Copyright (c) 1989 - ');
- writeln('GrigaSoft Productions. PlayPoly may not be included in any commercial');
- writeln('software package without explicit written permission from the author.');
- writeln('This package is an unregistered evaluation copy for demo use only.');
- writeln('Register your copy today!');
- end;
-
- begin
- if paramcount > 0 then begin
- if paramcount > 1 then begin
- val(paramstr(2),tempval,badchar);
- if badchar = 0 then
- looppoly( paramstr(1), tempval )
- else begin
- message;
- halt(2);
- end;
- end else
- looppoly(paramstr(1),DEFTEMP);
- end else begin
- message;
- halt(1);
- end;
- end.
-
-