home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / BC_DICE2.DMS / in.adf / INCLUDE / libraries / configregs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-10  |  3.2 KB  |  200 lines

  1. #ifndef LIBRARIES_CONFIGREGS_H
  2. #define LIBRARIES_CONFIGREGS_H
  3. /*
  4. ** $Filename: libraries/configregs.h $
  5. ** $Release: 2.04 Includes, V37.4 $
  6. ** $Revision: 36.13 $
  7. ** $Date: 91/02/15 $
  8. **
  9. ** AutoConfig (tm) hardware register and bit definitions
  10. **
  11. ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
  12. ** All Rights Reserved
  13. */
  14.  
  15.  
  16. #ifndef EXEC_TYPES_H
  17. #include "exec/types.h"
  18. #endif 
  19.  
  20.  
  21.  
  22.  
  23. struct ExpansionRom { 
  24.  UBYTE er_Type; 
  25.  UBYTE er_Product; 
  26.  UBYTE er_Flags; 
  27.  UBYTE er_Reserved03; 
  28.  UWORD er_Manufacturer; 
  29.  ULONG er_SerialNumber; 
  30.  UWORD er_InitDiagVec; 
  31.  UBYTE er_Reserved0c;
  32.  UBYTE er_Reserved0d;
  33.  UBYTE er_Reserved0e;
  34.  UBYTE er_Reserved0f;
  35. };
  36.  
  37.  
  38.  
  39.  
  40. struct ExpansionControl { 
  41.  UBYTE ec_Interrupt; 
  42.  UBYTE ec_Z3_HighBase; 
  43.  UBYTE ec_BaseAddress; 
  44.  UBYTE ec_Shutup; 
  45.  UBYTE ec_Reserved14;
  46.  UBYTE ec_Reserved15;
  47.  UBYTE ec_Reserved16;
  48.  UBYTE ec_Reserved17;
  49.  UBYTE ec_Reserved18;
  50.  UBYTE ec_Reserved19;
  51.  UBYTE ec_Reserved1a;
  52.  UBYTE ec_Reserved1b;
  53.  UBYTE ec_Reserved1c;
  54.  UBYTE ec_Reserved1d;
  55.  UBYTE ec_Reserved1e;
  56.  UBYTE ec_Reserved1f;
  57. };
  58.  
  59.  
  60.  
  61.  
  62. #define E_SLOTSIZE 0x10000
  63. #define E_SLOTMASK 0xffff
  64. #define E_SLOTSHIFT 16
  65.  
  66.  
  67. #define E_EXPANSIONBASE 0x00e80000 
  68. #define EZ3_EXPANSIONBASE 0xff000000 
  69.  
  70. #define E_EXPANSIONSIZE 0x00080000 
  71. #define E_EXPANSIONSLOTS 8
  72.  
  73. #define E_MEMORYBASE 0x00200000 
  74. #define E_MEMORYSIZE 0x00800000
  75. #define E_MEMORYSLOTS 128
  76.  
  77. #define EZ3_CONFIGAREA 0x40000000 
  78. #define EZ3_CONFIGAREAEND 0x7FFFFFFF 
  79. #define EZ3_SIZEGRANULARITY 0x00080000 
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86. #define ERT_TYPEMASK 0xc0 
  87. #define ERT_TYPEBIT 6
  88. #define ERT_TYPESIZE 2
  89. #define ERT_NEWBOARD 0xc0
  90. #define ERT_ZORROII ERT_NEWBOARD
  91. #define ERT_ZORROIII 0x80
  92.  
  93.  
  94. #define ERTB_MEMLIST 5 
  95. #define ERTB_DIAGVALID 4 
  96. #define ERTB_CHAINEDCONFIG 3 
  97.  
  98. #define ERTF_MEMLIST (1<<5)
  99. #define ERTF_DIAGVALID (1<<4)
  100. #define ERTF_CHAINEDCONFIG (1<<3)
  101.  
  102.  
  103. #define ERT_MEMMASK 0x07 
  104. #define ERT_MEMBIT 0
  105. #define ERT_MEMSIZE 3
  106.  
  107.  
  108.  
  109.  
  110.  
  111. #define ERFF_MEMSPACE (1<<7) 
  112. #define ERFB_MEMSPACE 7 
  113.  
  114. #define ERFF_NOSHUTUP (1<<6) 
  115. #define ERFB_NOSHUTUP 6
  116.  
  117. #define ERFF_EXTENDED (1<<5) 
  118. #define ERFB_EXTENDED 5 
  119.  
  120.  
  121. #define ERFF_ZORRO_III (1<<4) 
  122. #define ERFB_ZORRO_III 4 
  123.  
  124. #define ERT_Z3_SSMASK 0x0F 
  125. #define ERT_Z3_SSBIT 0 
  126. #define ERT_Z3_SSSIZE 4 
  127.  
  128.  
  129.  
  130.  
  131. #define ECIB_INTENA 1
  132. #define ECIB_RESET 3
  133. #define ECIB_INT2PEND 4
  134. #define ECIB_INT6PEND 5
  135. #define ECIB_INT7PEND 6
  136. #define ECIB_INTERRUPTING 7
  137.  
  138. #define ECIF_INTENA (1<<1)
  139. #define ECIF_RESET (1<<3)
  140. #define ECIF_INT2PEND (1<<4)
  141. #define ECIF_INT6PEND (1<<5)
  142. #define ECIF_INT7PEND (1<<6)
  143. #define ECIF_INTERRUPTING (1<<7)
  144.  
  145.  
  146.  
  147.  
  148. #define ERT_MEMNEEDED(t) \
  149.  (((t)&ERT_MEMMASK)? 0x10000 << (((t)&ERT_MEMMASK) -1) : 0x800000 )
  150.  
  151.  
  152. #define ERT_SLOTSNEEDED(t) \
  153.  (((t)&ERT_MEMMASK)? 1 << (((t)&ERT_MEMMASK)-1) : 0x80 )
  154.  
  155.  
  156.  
  157.  
  158. #define EC_MEMADDR(slot) ((slot) << (E_SLOTSHIFT) )
  159.  
  160.  
  161. #define EROFFSET(er) ((int)&((struct ExpansionRom *)0)->er)
  162. #define ECOFFSET(ec) \
  163.  (sizeof(struct ExpansionRom)+((int)&((struct ExpansionControl *)0)->ec))
  164.  
  165.  
  166.  
  167.  
  168.  
  169. struct DiagArea {
  170.  UBYTE da_Config; 
  171.  UBYTE da_Flags; 
  172.  UWORD da_Size; 
  173.  UWORD da_DiagPoint; 
  174.  UWORD da_BootPoint; 
  175.  UWORD da_Name; 
  176.  
  177.  
  178.  
  179.  UWORD da_Reserved01; 
  180.  UWORD da_Reserved02;
  181. };
  182.  
  183.  
  184.  
  185. #define DAC_BUSWIDTH 0xC0 
  186. #define DAC_NIBBLEWIDE 0x00
  187. #define DAC_BYTEWIDE 0x40 
  188. #define DAC_WORDWIDE 0x80
  189.  
  190. #define DAC_BOOTTIME 0x30 
  191. #define DAC_NEVER 0x00 
  192. #define DAC_CONFIGTIME 0x10 
  193.  
  194. #define DAC_BINDTIME 0x20 
  195.  
  196.  
  197.  
  198.  
  199. #endif 
  200.