1 #ifndef RESOURCES_CARD_H 2 #define RESOURCES_CARD_H 3 4 /* 5 card.resource include (V50) 6 7 Copyright © 2002 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef EXEC_TYPES_H 11 # include <exec/types.h> 12 #endif 13 14 #ifndef EXEC_NODES_H 15 # include <exec/nodes.h> 16 #endif 17 18 #ifndef EXEC_INTERRUPTS_H 19 # include <exec/interrupts.h> 20 #endif 21 22 #pragma pack(2) 23 24 25 #define CARDRESNAME "card.resource" 26 27 28 /* Values for cah_CardNode.ln_Type */ 29 30 #define CNT_68KCARDHANDLE 0 31 #define CNT_PPCCARDHANDLE 1 32 33 34 /* Structures used by card.resource */ 35 36 struct CardHandle 37 { 38 struct Node cah_CardNode; 39 struct Interrupt *cah_CardRemoved; 40 struct Interrupt *cah_CardInserted; 41 struct Interrupt *cah_CardStatus; 42 UBYTE cah_CardFlags; 43 }; 44 45 struct PPCCardHandle 46 { 47 struct Node cah_CardNode; 48 struct Interrupt *cah_CardRemoved; 49 struct Interrupt *cah_CardInserted; 50 struct Interrupt *cah_CardStatus; 51 UBYTE cah_CardFlags; 52 UBYTE cah_PPCType; 53 struct Interrupt *cah_PPCCardRemoved; 54 struct Interrupt *cah_PPCCardInserted; 55 struct Interrupt *cah_PPCCardStatus; 56 }; 57 58 struct DeviceTData 59 { 60 ULONG dtd_DTsize; 61 ULONG dtd_DTspeed; 62 UBYTE dtd_DTtype; 63 UBYTE dtd_DTflags; 64 }; 65 66 struct CardMemoryMap 67 { 68 UBYTE *cmm_CommonMemory; 69 UBYTE *cmm_AttributeMemory; 70 UBYTE *cmm_IOMemory; 71 72 /*** V39 ***/ 73 74 ULONG cmm_CommonMemSize; 75 ULONG cmm_AttributeMemSize; 76 ULONG cmm_IOMemSize; 77 }; 78 79 80 /* OwnCard() CardHandle.cah_CardFlags flags */ 81 82 #define CARDB_RESETREMOVE 0 83 #define CARDF_RESETREMOVE (1<<CARDB_RESETREMOVE) 84 85 #define CARDB_IFAVAILABLE 1 86 #define CARDF_IFAVAILABLE (1<<CARDB_IFAVAILABLE) 87 88 #define CARDB_DELAYOWNERSHIP 2 89 #define CARDF_DELAYOWNERSHIP (1<<CARDB_DELAYOWNERSHIP) 90 91 #define CARDB_POSTSTATUS 3 92 #define CARDF_POSTSTATUS (1<<CARDB_POSTSTATUS) 93 94 95 /* ReleaseCreditCard() flags */ 96 97 #define CARDB_REMOVEHANDLE 0 98 #define CARDF_REMOVEHANDLE (1<<CARDB_REMOVEHANDLE) 99 100 101 /* ReadStatus() return flags */ 102 103 #define CARD_STATUSB_CCDET 6 104 #define CARD_STATUSF_CCDET (1<<CARD_STATUSB_CCDET) 105 106 #define CARD_STATUSB_BVD1 5 107 #define CARD_STATUSF_BVD1 (1<<CARD_STATUSB_BVD1) 108 109 #define CARD_STATUSB_SC 5 110 #define CARD_STATUSF_SC (1<<CARD_STATUSB_SC) 111 112 #define CARD_STATUSB_BVD2 4 113 #define CARD_STATUSF_BVD2 (1<<CARD_STATUSB_BVD2) 114 115 #define CARD_STATUSB_DA 4 116 #define CARD_STATUSF_DA (1<<CARD_STATUSB_DA) 117 118 #define CARD_STATUSB_WR 3 119 #define CARD_STATUSF_WR (1<<CARD_STATUSB_WR) 120 121 #define CARD_STATUSB_BSY 2 122 #define CARD_STATUSF_BSY (1<<CARD_STATUSB_BSY) 123 124 #define CARD_STATUSB_IRQ 2 125 #define CARD_STATUSF_IRQ (1<<CARD_STATUSB_IRQ) 126 127 128 /* CardProgramVoltage() defines */ 129 130 #define CARD_VOLTAGE_0V 0 131 #define CARD_VOLTAGE_5V 1 132 #define CARD_VOLTAGE_12V 2 133 134 135 /* CardMiscControl() defines */ 136 137 #define CARD_ENABLEB_DIGAUDIO 1 138 #define CARD_ENABLEF_DIGAUDIO (1<<CARD_ENABLEB_DIGAUDIO) 139 140 #define CARD_DISABLEB_WP 3 141 #define CARD_DISABLEF_WP (1<<CARD_DISABLEB_WP) 142 143 144 /* New CardMiscControl() bits for V39 card.resource */ 145 146 #define CARD_INTB_SETCLR 7 147 #define CARD_INTF_SETCLR (1<<CARD_INTB_SETCLR) 148 149 #define CARD_INTB_BVD1 5 150 #define CARD_INTF_BVD1 (1<<CARD_INTB_BVD1) 151 152 #define CARD_INTB_SC 5 153 #define CARD_INTF_SC (1<<CARD_INTB_SC) 154 155 #define CARD_INTB_BVD2 4 156 #define CARD_INTF_BVD2 (1<<CARD_INTB_BVD2) 157 158 #define CARD_INTB_DA 4 159 #define CARD_INTF_DA (1<<CARD_INTB_DA) 160 161 #define CARD_INTB_BSY 2 162 #define CARD_INTF_BSY (1<<CARD_INTB_BSY) 163 164 #define CARD_INTB_IRQ 2 165 #define CARD_INTF_IRQ (1<<CARD_INTB_IRQ) 166 167 168 /* CardInterface() defines */ 169 170 #define CARD_INTERFACE_AMIGA_0 0 171 172 173 #define CISTPL_AMIGAXIP 0x91 174 175 struct TP_AmigaXIP 176 { 177 UBYTE TPL_CODE; 178 UBYTE TPL_LINK; 179 UBYTE TP_XIPLOC[4]; 180 UBYTE TP_XIPFLAGS; 181 UBYTE TP_XIPRESRV; 182 }; 183 184 #define XIPFLAGSB_AUTORUN 0 185 #define XIPFLAGSF_AUTORUN (1<<XIPFLAGSB_AUTORUN) 186 187 188 #pragma pack() 189 190 #endif /* RESOURCES_CARD_H */