#ifndef RESOURCES_CARD_H #define RESOURCES_CARD_H 1 /* ** $VER: card.h 1.11 (14.12.1992) ** Includes Release 44.1 ** ** card.resource include file ** ** (C) Copyright 1991-1999 Amiga, Inc. ** All Rights Reserved ** */ #ifndef EXEC_TYPES_H #include <exec/types.h> #endif #ifndef EXEC_NODES_H #include <exec/nodes.h> #endif #ifndef EXEC_INTERRUPTS_H #include <exec/interrupts.h> #endif #define CARDRESNAME "card.resource" /* Structures used by the card.resource */ struct CardHandle { struct Node cah_CardNode; struct Interrupt *cah_CardRemoved; struct Interrupt *cah_CardInserted; struct Interrupt *cah_CardStatus; UBYTE cah_CardFlags; }; struct DeviceTData { ULONG dtd_DTsize; /* Size in bytes */ ULONG dtd_DTspeed; /* Speed in nanoseconds */ UBYTE dtd_DTtype; /* Type of card */ UBYTE dtd_DTflags; /* Other flags */ }; struct CardMemoryMap { UBYTE *cmm_CommonMemory; UBYTE *cmm_AttributeMemory; UBYTE *cmm_IOMemory; /* Extended for V39 - These are the size of the memory spaces above */ ULONG cmm_CommonMemSize; ULONG cmm_AttributeMemSize; ULONG cmm_IOMemSize; }; /* CardHandle.cah_CardFlags for OwnCard() function */ #define CARDB_RESETREMOVE 0 #define CARDF_RESETREMOVE (1<<CARDB_RESETREMOVE) #define CARDB_IFAVAILABLE 1 #define CARDF_IFAVAILABLE (1<<CARDB_IFAVAILABLE) #define CARDB_DELAYOWNERSHIP 2 #define CARDF_DELAYOWNERSHIP (1<<CARDB_DELAYOWNERSHIP) #define CARDB_POSTSTATUS 3 #define CARDF_POSTSTATUS (1<<CARDB_POSTSTATUS) /* ReleaseCreditCard() function flags */ #define CARDB_REMOVEHANDLE 0 #define CARDF_REMOVEHANDLE (1<<CARDB_REMOVEHANDLE) /* ReadStatus() return flags */ #define CARD_STATUSB_CCDET 6 #define CARD_STATUSF_CCDET (1<<CARD_STATUSB_CCDET) #define CARD_STATUSB_BVD1 5 #define CARD_STATUSF_BVD1 (1<<CARD_STATUSB_BVD1) #define CARD_STATUSB_SC 5 #define CARD_STATUSF_SC (1<<CARD_STATUSB_SC) #define CARD_STATUSB_BVD2 4 #define CARD_STATUSF_BVD2 (1<<CARD_STATUSB_BVD2) #define CARD_STATUSB_DA 4 #define CARD_STATUSF_DA (1<<CARD_STATUSB_DA) #define CARD_STATUSB_WR 3 #define CARD_STATUSF_WR (1<<CARD_STATUSB_WR) #define CARD_STATUSB_BSY 2 #define CARD_STATUSF_BSY (1<<CARD_STATUSB_BSY) #define CARD_STATUSB_IRQ 2 #define CARD_STATUSF_IRQ (1<<CARD_STATUSB_IRQ) /* CardProgramVoltage() defines */ #define CARD_VOLTAGE_0V 0 /* Set to default; may be the same as 5V */ #define CARD_VOLTAGE_5V 1 #define CARD_VOLTAGE_12V 2 /* CardMiscControl() defines */ #define CARD_ENABLEB_DIGAUDIO 1 #define CARD_ENABLEF_DIGAUDIO (1<<CARD_ENABLEB_DIGAUDIO) #define CARD_DISABLEB_WP 3 #define CARD_DISABLEF_WP (1<<CARD_DISABLEB_WP) /* * New CardMiscControl() bits for V39 card.resource. Use these bits to set, * or clear status change interrupts for BVD1/SC, BVD2/DA, and BSY/IRQ. * Write-enable/protect change interrupts are always enabled. The defaults * are unchanged (BVD1/SC is enabled, BVD2/DA is disabled, and BSY/IRQ is enabled). * * IMPORTANT -- Only set these bits for V39 card.resource or greater (check * resource base VERSION) * */ #define CARD_INTB_SETCLR 7 #define CARD_INTF_SETCLR (1<<CARD_INTB_SETCLR) #define CARD_INTB_BVD1 5 #define CARD_INTF_BVD1 (1<<CARD_INTB_BVD1) #define CARD_INTB_SC 5 #define CARD_INTF_SC (1<<CARD_INTB_SC) #define CARD_INTB_BVD2 4 #define CARD_INTF_BVD2 (1<<CARD_INTB_BVD2) #define CARD_INTB_DA 4 #define CARD_INTF_DA (1<<CARD_INTB_DA) #define CARD_INTB_BSY 2 #define CARD_INTF_BSY (1<<CARD_INTB_BSY) #define CARD_INTB_IRQ 2 #define CARD_INTF_IRQ (1<<CARD_INTB_IRQ) /* CardInterface() defines */ #define CARD_INTERFACE_AMIGA_0 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(). */ #define CISTPL_AMIGAXIP 0x91 struct TP_AmigaXIP { UBYTE TPL_CODE; UBYTE TPL_LINK; UBYTE TP_XIPLOC[4]; UBYTE TP_XIPFLAGS; UBYTE TP_XIPRESRV; }; /* ; 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. */ #define XIPFLAGSB_AUTORUN 0 #define XIPFLAGSF_AUTORUN (1<<XIPFLAGSB_AUTORUN) #endif /* RESOURCES_CARD_H */