home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / OB3.2D3.DMS / in.adf / Interfaces / CardRes.mod < prev    next >
Encoding:
Text File  |  1993-05-23  |  4.8 KB  |  158 lines

  1. (*
  2. (*  $VER: CardRes.mod 39.108 (22.05.93)
  3. **      derived from
  4. **        card.h 1.9 (04.09.92)
  5. **      (Includes Release 39.108)
  6. **
  7. **      (C) Copyright 1991-1992 Commodore-Amiga, Inc.
  8. **          All Rights Reserved
  9. **
  10. **      (C) Copyright Oberon Interface 1993 by hartmut Goebel
  11. *)          All Rights Reserved
  12. *)
  13.  
  14. MODULE CardRes;
  15.  
  16. IMPORT e * := Exec, SYSTEM;
  17.  
  18. CONST
  19.   cardResName    * = "card.resource";
  20.  
  21. TYPE
  22.   CardHandlePtr    * = UNTRACED POINTER TO CardHandle;
  23.   DeviceTDataPtr   * = UNTRACED POINTER TO DeviceTData;
  24.   CardMemoryMapPtr * = UNTRACED POINTER TO CardMemoryMap;
  25.   TPAmigaXIPPtr    * = UNTRACED POINTER TO TPAmigaXIP;
  26.  
  27. (* Structures used by the card.resource                         *)
  28.  
  29.   CardHandle * = STRUCT
  30.     node     * : e.Node;
  31.     removed  * : e.InterruptPtr;
  32.     inserted * : e.InterruptPtr;
  33.     status   * : e.InterruptPtr;
  34.     flags    * : SHORTSET;
  35.   END;
  36.  
  37.   DeviceTData * = STRUCT
  38.     size   * : LONGINT;    (* Size in bytes        *)
  39.     speed  * : LONGINT;    (* Speed in nanoseconds *)
  40.     type   * : SHORTINT;   (* Type of card         *)
  41.     flags  * : SHORTSET;   (* Other flags          *)
  42.   END;
  43.  
  44.   CardMemoryMap * = STRUCT
  45.     commonMemory    * : e.APTR;
  46.     attributeMemory * : e.APTR;
  47.     ioMemory        * : e.APTR;
  48.   END;
  49.  
  50. CONST
  51. (* CardHandle.cah_CardFlags for OwnCard() function              *)
  52.  
  53.   resetRemove    * = 0;
  54.   ifAvailable    * = 1;
  55.   delayOwnerShip * = 2;
  56.  
  57. (* ReleaseCreditCard() function flags                           *)
  58.  
  59.   removeHandle   * = 0;
  60.  
  61. (* ReadStatus() return flags                                    *)
  62.  
  63.   statusbCcdet   * = 6;
  64.   statusbBvd1    * = 5;
  65.   statusbSc      * = 5;
  66.   statusbBvd2    * = 4;
  67.   statusbDa      * = 4;
  68.   statusbWr      * = 3;
  69.   statusbBsy     * = 2;
  70.   statusbIrq     * = 2;
  71.  
  72. (* CardProgramVoltage() defines *)
  73.  
  74.   voltage0v      * = 0;       (* Set to default; may be the same as 5V *)
  75.   voltage5v      * = 1;
  76.   voltage12v     * = 2;
  77.  
  78. (* CardMiscControl() defines *)
  79.  
  80.   enablebDigaudio * = 1;
  81.   disablebWp      * = 3;
  82.  
  83. (* CardInterface() defines *)
  84.  
  85.   interfaceAmiga0 * = 0;
  86.  
  87. (*
  88.  * Tuple for Amiga execute-in-place software (e.g., games, or other
  89.  * such software which wants to use execute-in-place software stored
  90.  * on a credit-card, such as a ROM card).
  91.  *
  92.  * See documentatin for IfAmigaXIP().
  93.  *)
  94.  
  95.   cisTplAmigaXIP * = 091H;
  96.  
  97. TYPE
  98.   TPAmigaXIP * = STRUCT
  99.     code   * : SHORTINT;
  100.     link   * : SHORTINT;
  101.     loc    * : ARRAY 4 OF SHORTINT;
  102.     flags  * : SHORTSET;
  103.     resrv  * : SHORTINT;
  104.   END;
  105.  
  106. CONST
  107. (*
  108.  * The XIPFLAGB_AUTORUN bit means that you want the machine
  109.  * to perform a reset if the execute-in-place card is inserted
  110.  * after DOS has been started.  The machine will then reset,
  111.  * and execute your execute-in-place code the next time around.
  112.  *
  113.  * NOTE -- this flag may be ignored on some machines, in which
  114.  * case the user will have to manually reset the machine in the
  115.  * usual way.
  116.  *
  117.  *)
  118.  
  119.   autoRun        * = 0;
  120.  
  121. VAR
  122. (*
  123.  *  You have to put a pointer to the card.resource here to use the cia
  124.  *  procedures:
  125.  *)
  126.   base * : e.APTR;
  127.  
  128. PROCEDURE OwnCard         *{base,-006H}(handle{9}     : CardHandlePtr): CardHandlePtr;
  129. PROCEDURE ReleaseCard     *{base,-00CH}(handle{9}     : CardHandlePtr;
  130.                                         flags{0}      : LONGINT);
  131. PROCEDURE GetCardMap      *{base,-012H}(): CardMemoryMapPtr;
  132. PROCEDURE BeginCardAccess *{base,-018H}(handle{9}     : CardHandlePtr): BOOLEAN;
  133. PROCEDURE EndCardAccess   *{base,-01EH}(handle{9}     : CardHandlePtr): BOOLEAN;
  134. PROCEDURE ReadCardStatus  *{base,-024H}(): SHORTINT;
  135. PROCEDURE CardResetRemove *{base,-02AH}(handle{9}     : CardHandlePtr;
  136.                                         flag{0}       : LONGINT): BOOLEAN;
  137. PROCEDURE CardMiscControl *{base,-030H}(handle{9}     : CardHandlePtr;
  138.                                         controlBits{1}: SHORTSET ): SHORTSET;
  139. PROCEDURE CardAccessSpeed *{base,-036H}(handle{9}     : CardHandlePtr;
  140.                                         nanoseconds{0}: LONGINT): LONGINT;
  141. PROCEDURE CardProgramVoltage*{base,-03CH}(handle{9}   : CardHandlePtr;
  142.                                           voltage{0}  : LONGINT): LONGINT;
  143. PROCEDURE CardResetCard   *{base,-042H}(handle{9}     : CardHandlePtr): BOOLEAN;
  144. PROCEDURE CopyTuple       *{base,-048H}(handle{9}     : CardHandlePtr;
  145.                                         buffer{8}     : ARRAY OF SYSTEM.BYTE;
  146.                                         tupleCode{1}  : LONGINT;
  147.                                         size{0}       : LONGINT): BOOLEAN;
  148. PROCEDURE DeviceTuple     *{base,-04EH}(tupleData{8}  : e.APTR;
  149.                                         storage{9}    : DeviceTDataPtr): LONGINT;
  150. PROCEDURE IfAmigaXIP      *{base,-054H}(handle{10}    : CardHandlePtr): e.ResidentPtr;
  151. PROCEDURE CardForceChange *{base,-05AH}(): BOOLEAN;
  152. PROCEDURE CardChangeCount *{base,-060H}(): LONGINT;
  153. PROCEDURE CardInterface   *{base,-066H}(): LONGINT;
  154.  
  155.  
  156. END CardRes.
  157.  
  158.