home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / MODULAV2GERMAN.DMS / in.adf / Def.zoo / Resources.def < prev    next >
Encoding:
Modula Definition  |  1988-11-06  |  3.1 KB  |  119 lines

  1. (*$M-*)
  2. DEFINITION MODULE Resources;
  3.  
  4. FROM SYSTEM IMPORT
  5.  ADDRESS,LONGSET;
  6. FROM Exec IMPORT
  7.  base,vectSize,Interrupt,InterruptPtr,Library,LibraryPtr,
  8.  List,Message,UByte;
  9. FROM Hardware IMPORT
  10.  CiaIcrFlags,CiaIcrFlagSet;
  11.  
  12. CONST
  13.  ciaaName="ciaa.resource";
  14.  ciabName="ciab.resource";
  15.  
  16. TYPE
  17.  CiaResourcePtr=ADDRESS;
  18.  
  19. PROCEDURE AbleICR(
  20.            cia{14}:CiaResourcePtr;
  21.            mask{0}:CiaIcrFlagSet):CiaIcrFlagSet; CODE -18;
  22. PROCEDURE AddICRVector(
  23.            cia{14}:CiaResourcePtr; icrBit{0}:CiaIcrFlags;
  24.            interrupt{9}:InterruptPtr):InterruptPtr; CODE -6;
  25. PROCEDURE RemICRVector(cia{14}:CiaResourcePtr; 
  26.                        icrBit{0}:CiaIcrFlags;
  27.                        interrupt{9}:InterruptPtr); CODE -12;
  28. PROCEDURE SetICR(
  29.            cia{14}:CiaResourcePtr;
  30.            mask{0}:CiaIcrFlagSet):CiaIcrFlagSet; CODE -24;
  31.  
  32. TYPE
  33.  DiscResourceUnit=RECORD
  34.   message:Message;
  35.   discBlock:Interrupt;
  36.   discSync:Interrupt;
  37.   index:Interrupt
  38.  END;
  39.  DiscResourceUnitPtr=POINTER TO DiscResourceUnit;
  40.  DiscResourceFlags=(
  41.   alloc0,alloc1,alloc2,alloc3,drf4,drf5,drf6,active
  42.  );
  43.  DiscResourceFlagSet=SET OF DiscResourceFlags;
  44.  DiscResource=RECORD
  45.   library:Library;
  46.   current:DiscResourceUnitPtr;
  47.   flags:DiscResourceFlagSet;
  48.   pad:UByte;
  49.   sysLib:LibraryPtr;
  50.   ciaResource:LibraryPtr;
  51.   unitID:ARRAY [alloc0..alloc3] OF LONGCARD;
  52.   waiting:List;
  53.   discBlock:Interrupt;
  54.   discSync:Interrupt;
  55.   index:Interrupt;
  56.  END;
  57.  DiscResourcePtr=POINTER TO DiscResource;
  58.  
  59. CONST
  60.  diskName="disk.resource";
  61.  dskDmaOff=4000H;
  62.  amiga=0;
  63.  drt37422D2S=55555555H;
  64.  empty=0FFFFFFFFH;
  65.  
  66. PROCEDURE AllocUnit(disk{14}:DiscResourcePtr;
  67.                     unitNum{0}:LONGINT):LONGINT; CODE -6;
  68. PROCEDURE FreeUnit(disk{14}:DiscResourcePtr;
  69.                    unitNum{0}:LONGINT); CODE -12;
  70. PROCEDURE GetUnit(
  71.            disk{14}:DiscResourcePtr;
  72.            unitPointer{9}:DiscResourceUnitPtr
  73.           ):DiscResourceUnitPtr; CODE -18;
  74. PROCEDURE GetUnitID(
  75.            disk{14}:DiscResourcePtr;
  76.            unitNum{0}:LONGINT):LONGCARD; CODE -30;
  77. PROCEDURE GiveUnit(disk{14}:DiscResourcePtr); CODE -24;
  78.  
  79. CONST
  80.   miscName="misc.resource";
  81.  
  82. TYPE
  83.  ResourceTypes=(
  84.   serialPort,serialBits,parallelPort,parallelBits
  85.  );
  86.  MiscResource=RECORD
  87.   library: Library;
  88.   allocArray: ARRAY ResourceTypes OF ADDRESS;
  89.  END;
  90.  MiscResourcePtr=POINTER TO MiscResource;
  91.  
  92. PROCEDURE AllocMiscResource(
  93.            misc{14}:MiscResourcePtr;
  94.            unitNum{0}:LONGINT;
  95.            name{9}:ADDRESS):ADDRESS; CODE -6;
  96. PROCEDURE FreeMiscResource(misc{14}:MiscResourcePtr;
  97.                             unitNum{0}:LONGINT); CODE -12;
  98.  
  99. CONST
  100.  potgoName="potgo.resource";
  101.  
  102. TYPE
  103.  PotgoBits=(
  104.   start,pb1,pb2,pb3,pb4,pb5,pb6,pb7,
  105.   datlx,outlx,datly,outly,datrx,outrx,datry,outry,pb16
  106.  );
  107.  PotgoBitSet=SET OF PotgoBits;
  108.  
  109. PROCEDURE AllocPotBits(
  110.            potgo{14}: ADDRESS;
  111.            bits{0}: PotgoBitSet): PotgoBitSet; CODE -6;
  112. PROCEDURE FreePotBits(potgo{14}: ADDRESS;
  113.                       allocated{0}: PotgoBitSet); CODE -12;
  114. PROCEDURE WritePotgo(potgo{14}: ADDRESS;
  115.                      word{0}: PotgoBitSet;
  116.                      mask{1}: PotgoBitSet); CODE -18;
  117.  
  118. END Resources.
  119.