home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / m2 / CycloneModules.lha / modules / txt / Prof.mod < prev    next >
Text File  |  1996-12-19  |  1KB  |  53 lines

  1. IMPLEMENTATION MODULE Prof;
  2.  
  3. (* (C) Copyright 1995 Marcel Timmermans. All rights reserved. *)
  4.  
  5. FROM SYSTEM IMPORT ADR,ASSEMBLE;
  6. IMPORT ExecL,ExecD,hw:Hardware,io:InOut,rio:RealInOut;
  7.  
  8. (*$ Align- *)
  9.  
  10. PROCEDURE StartTimer(DmaOff:BOOLEAN);
  11. BEGIN
  12.  ExecL.Forbid;
  13.  ExecL.Disable;
  14.  IF DmaOff THEN
  15.   hw.custom.dmacon:=hw.DmaFlagSet{hw.master};
  16.  END;
  17.  hw.ciab.cra:=hw.CiaCraFlagSet{}; (* Timer A Stop *)
  18.  hw.ciab.crb:=hw.CiaCrbFlagSet{}; (* Timer B Stop *)
  19.  hw.ciab.talo:=255;
  20.  hw.ciab.tahi:=255; (* Timer A $FFFF *)
  21.  hw.ciab.tblo:=255;
  22.  hw.ciab.tbhi:=255;
  23.  hw.ciab.crb:=hw.CiaCrbFlagSet{hw.crbStart,hw.crbInmode1}; (* Timer B Start *)
  24.  hw.ciab.cra:=hw.CiaCraFlagSet{hw.craStart};               (* Timer A Start *)
  25. END StartTimer;
  26.  
  27. PROCEDURE StopTimer(VAR Cycles:LONGCARD);
  28. BEGIN
  29.  hw.ciab.cra:=hw.CiaCraFlagSet{}; (* Timer A Stoppen *)
  30.  hw.ciab.crb:=hw.CiaCrbFlagSet{}; (* Timer B Stoppen *)
  31.  Cycles:=0FFFFFFFFH-(hw.ciab.talo+hw.ciab.tahi*100H+hw.ciab.tblo*10000H+
  32.   hw.ciab.tbhi*1000000H);
  33.  (* Calculate start *)
  34.  hw.custom.dmacon:=hw.DmaFlagSet{hw.dmaSet,hw.master};
  35.  ExecL.Enable;
  36.  ExecL.Permit;
  37. END StopTimer;
  38.  
  39. PROCEDURE WriteTime(t,Korector:LONGCARD);
  40. VAR Out : ARRAY [1..10] OF CHAR;
  41.     Err : BOOLEAN;
  42.     Tijd: REAL;
  43. BEGIN
  44.  DEC(t,Korector);
  45.  Tijd:=REAL(t);
  46.  Tijd:=Tijd*140056.022E-12*10.0;
  47.  io.WriteString("Time : ");rio.WriteReal(Tijd,10,3);io.WriteString(" Sec.\n");
  48.  io.WriteString("Time : ");rio.WriteReal((Tijd*1000.0),10,3);io.WriteString(" mSec.\n\n");
  49. END WriteTime;
  50.  
  51.  
  52. END Prof.mod
  53.