home *** CD-ROM | disk | FTP | other *** search
- (*
- (* $VER: CardRes.mod 39.108 (22.05.93)
- ** derived from
- ** card.h 1.9 (04.09.92)
- ** (Includes Release 39.108)
- **
- ** (C) Copyright 1991-1992 Commodore-Amiga, Inc.
- ** All Rights Reserved
- **
- ** (C) Copyright Oberon Interface 1993 by hartmut Goebel
- *) All Rights Reserved
- *)
-
- MODULE CardRes;
-
- IMPORT e * := Exec, SYSTEM;
-
- CONST
- cardResName * = "card.resource";
-
- TYPE
- CardHandlePtr * = UNTRACED POINTER TO CardHandle;
- DeviceTDataPtr * = UNTRACED POINTER TO DeviceTData;
- CardMemoryMapPtr * = UNTRACED POINTER TO CardMemoryMap;
- TPAmigaXIPPtr * = UNTRACED POINTER TO TPAmigaXIP;
-
- (* Structures used by the card.resource *)
-
- CardHandle * = STRUCT
- node * : e.Node;
- removed * : e.InterruptPtr;
- inserted * : e.InterruptPtr;
- status * : e.InterruptPtr;
- flags * : SHORTSET;
- END;
-
- DeviceTData * = STRUCT
- size * : LONGINT; (* Size in bytes *)
- speed * : LONGINT; (* Speed in nanoseconds *)
- type * : SHORTINT; (* Type of card *)
- flags * : SHORTSET; (* Other flags *)
- END;
-
- CardMemoryMap * = STRUCT
- commonMemory * : e.APTR;
- attributeMemory * : e.APTR;
- ioMemory * : e.APTR;
- END;
-
- CONST
- (* CardHandle.cah_CardFlags for OwnCard() function *)
-
- resetRemove * = 0;
- ifAvailable * = 1;
- delayOwnerShip * = 2;
-
- (* ReleaseCreditCard() function flags *)
-
- removeHandle * = 0;
-
- (* ReadStatus() return flags *)
-
- statusbCcdet * = 6;
- statusbBvd1 * = 5;
- statusbSc * = 5;
- statusbBvd2 * = 4;
- statusbDa * = 4;
- statusbWr * = 3;
- statusbBsy * = 2;
- statusbIrq * = 2;
-
- (* CardProgramVoltage() defines *)
-
- voltage0v * = 0; (* Set to default; may be the same as 5V *)
- voltage5v * = 1;
- voltage12v * = 2;
-
- (* CardMiscControl() defines *)
-
- enablebDigaudio * = 1;
- disablebWp * = 3;
-
- (* CardInterface() defines *)
-
- interfaceAmiga0 * = 0;
-
- (*
- * Tuple for Amiga execute-in-place software (e.g., games, or other
- * such software which wants to use execute-in-place software stored
- * on a credit-card, such as a ROM card).
- *
- * See documentatin for IfAmigaXIP().
- *)
-
- cisTplAmigaXIP * = 091H;
-
- TYPE
- TPAmigaXIP * = STRUCT
- code * : SHORTINT;
- link * : SHORTINT;
- loc * : ARRAY 4 OF SHORTINT;
- flags * : SHORTSET;
- resrv * : SHORTINT;
- END;
-
- CONST
- (*
- * The XIPFLAGB_AUTORUN bit means that you want the machine
- * to perform a reset if the execute-in-place card is inserted
- * after DOS has been started. The machine will then reset,
- * and execute your execute-in-place code the next time around.
- *
- * NOTE -- this flag may be ignored on some machines, in which
- * case the user will have to manually reset the machine in the
- * usual way.
- *
- *)
-
- autoRun * = 0;
-
- VAR
- (*
- * You have to put a pointer to the card.resource here to use the cia
- * procedures:
- *)
- base * : e.APTR;
-
- PROCEDURE OwnCard *{base,-006H}(handle{9} : CardHandlePtr): CardHandlePtr;
- PROCEDURE ReleaseCard *{base,-00CH}(handle{9} : CardHandlePtr;
- flags{0} : LONGINT);
- PROCEDURE GetCardMap *{base,-012H}(): CardMemoryMapPtr;
- PROCEDURE BeginCardAccess *{base,-018H}(handle{9} : CardHandlePtr): BOOLEAN;
- PROCEDURE EndCardAccess *{base,-01EH}(handle{9} : CardHandlePtr): BOOLEAN;
- PROCEDURE ReadCardStatus *{base,-024H}(): SHORTINT;
- PROCEDURE CardResetRemove *{base,-02AH}(handle{9} : CardHandlePtr;
- flag{0} : LONGINT): BOOLEAN;
- PROCEDURE CardMiscControl *{base,-030H}(handle{9} : CardHandlePtr;
- controlBits{1}: SHORTSET ): SHORTSET;
- PROCEDURE CardAccessSpeed *{base,-036H}(handle{9} : CardHandlePtr;
- nanoseconds{0}: LONGINT): LONGINT;
- PROCEDURE CardProgramVoltage*{base,-03CH}(handle{9} : CardHandlePtr;
- voltage{0} : LONGINT): LONGINT;
- PROCEDURE CardResetCard *{base,-042H}(handle{9} : CardHandlePtr): BOOLEAN;
- PROCEDURE CopyTuple *{base,-048H}(handle{9} : CardHandlePtr;
- buffer{8} : ARRAY OF SYSTEM.BYTE;
- tupleCode{1} : LONGINT;
- size{0} : LONGINT): BOOLEAN;
- PROCEDURE DeviceTuple *{base,-04EH}(tupleData{8} : e.APTR;
- storage{9} : DeviceTDataPtr): LONGINT;
- PROCEDURE IfAmigaXIP *{base,-054H}(handle{10} : CardHandlePtr): e.ResidentPtr;
- PROCEDURE CardForceChange *{base,-05AH}(): BOOLEAN;
- PROCEDURE CardChangeCount *{base,-060H}(): LONGINT;
- PROCEDURE CardInterface *{base,-066H}(): LONGINT;
-
-
- END CardRes.
-
-