home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / gnu / os-include / graphics / modeid.h < prev    next >
C/C++ Source or Header  |  1993-10-15  |  14KB  |  364 lines

  1. #ifndef GRAPHICS_MODEID_H
  2. #define GRAPHICS_MODEID_H
  3. /*
  4. **    $VER: modeid.h 39.9 (27.5.93)
  5. **    Includes Release 40.15
  6. **
  7. **    include define file for graphics display mode IDs.
  8. **
  9. **    (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. */
  12.  
  13. #ifndef GRAPHICS_DISPLAYINFO_H
  14. #include <graphics/displayinfo.h>
  15. #endif
  16.  
  17. #define INVALID_ID            ~0
  18.  
  19. /* With all the new modes that are available under V38 and V39, it is highly
  20.  * recommended that you use either the asl.library screenmode requester,
  21.  * and/or the V39 graphics.library function BestModeIDA().
  22.  *
  23.  * DO NOT interpret the any of the bits in the ModeID for its meaning. For
  24.  * example, do not interpret bit 3 (0x4) as meaning the ModeID is interlaced.
  25.  * Instead, use GetDisplayInfoData() with DTAG_DISP, and examine the DIPF_...
  26.  * flags to determine a ModeID's characteristics. The only exception to
  27.  * this rule is that bit 7 (0x80) will always mean the ModeID is
  28.  * ExtraHalfBright, and bit 11 (0x800) will always mean the ModeID is HAM.
  29.  */
  30.  
  31. /* normal identifiers */
  32.  
  33. #define MONITOR_ID_MASK            0xFFFF1000
  34.  
  35. #define DEFAULT_MONITOR_ID        0x00000000
  36. #define NTSC_MONITOR_ID            0x00011000
  37. #define PAL_MONITOR_ID            0x00021000
  38.  
  39. /* the following 22 composite keys are for Modes on the default Monitor.
  40.  * NTSC & PAL "flavors" of these particular keys may be made by or'ing
  41.  * the NTSC or PAL MONITOR_ID with the desired MODE_KEY...
  42.  *
  43.  * For example, to specifically open a PAL HAM interlaced ViewPort
  44.  * (or intuition screen), you would use the modeid of
  45.  * (PAL_MONITOR_ID | HAMLACE_KEY)
  46.  */
  47.  
  48. #define LORES_KEY            0x00000000
  49. #define HIRES_KEY            0x00008000
  50. #define SUPER_KEY            0x00008020
  51. #define HAM_KEY                0x00000800
  52. #define LORESLACE_KEY            0x00000004
  53. #define HIRESLACE_KEY            0x00008004
  54. #define SUPERLACE_KEY            0x00008024
  55. #define HAMLACE_KEY            0x00000804
  56. #define LORESDPF_KEY            0x00000400
  57. #define HIRESDPF_KEY            0x00008400
  58. #define SUPERDPF_KEY            0x00008420
  59. #define LORESLACEDPF_KEY        0x00000404
  60. #define HIRESLACEDPF_KEY        0x00008404
  61. #define SUPERLACEDPF_KEY        0x00008424
  62. #define LORESDPF2_KEY            0x00000440
  63. #define HIRESDPF2_KEY            0x00008440
  64. #define SUPERDPF2_KEY            0x00008460
  65. #define LORESLACEDPF2_KEY        0x00000444
  66. #define HIRESLACEDPF2_KEY        0x00008444
  67. #define SUPERLACEDPF2_KEY        0x00008464
  68. #define EXTRAHALFBRITE_KEY        0x00000080
  69. #define EXTRAHALFBRITELACE_KEY        0x00000084
  70. /* New for AA ChipSet (V39) */
  71. #define HIRESHAM_KEY            0x00008800
  72. #define SUPERHAM_KEY            0x00008820
  73. #define HIRESEHB_KEY            0x00008080
  74. #define SUPEREHB_KEY            0x000080a0
  75. #define HIRESHAMLACE_KEY        0x00008804
  76. #define SUPERHAMLACE_KEY        0x00008824
  77. #define HIRESEHBLACE_KEY        0x00008084
  78. #define SUPEREHBLACE_KEY        0x000080a4
  79. /* Added for V40 - may be useful modes for some games or animations. */
  80. #define LORESSDBL_KEY            0x00000008
  81. #define LORESHAMSDBL_KEY        0x00000808
  82. #define LORESEHBSDBL_KEY        0x00000088
  83. #define HIRESHAMSDBL_KEY        0x00008808
  84.  
  85.  
  86. /* VGA identifiers */
  87.  
  88. #define VGA_MONITOR_ID            0x00031000
  89.  
  90. #define VGAEXTRALORES_KEY        0x00031004
  91. #define VGALORES_KEY            0x00039004
  92. #define VGAPRODUCT_KEY            0x00039024
  93. #define VGAHAM_KEY            0x00031804
  94. #define VGAEXTRALORESLACE_KEY        0x00031005
  95. #define VGALORESLACE_KEY        0x00039005
  96. #define VGAPRODUCTLACE_KEY        0x00039025
  97. #define VGAHAMLACE_KEY            0x00031805
  98. #define VGAEXTRALORESDPF_KEY        0x00031404
  99. #define VGALORESDPF_KEY            0x00039404
  100. #define VGAPRODUCTDPF_KEY        0x00039424
  101. #define VGAEXTRALORESLACEDPF_KEY    0x00031405
  102. #define VGALORESLACEDPF_KEY        0x00039405
  103. #define VGAPRODUCTLACEDPF_KEY        0x00039425
  104. #define VGAEXTRALORESDPF2_KEY        0x00031444
  105. #define VGALORESDPF2_KEY        0x00039444
  106. #define VGAPRODUCTDPF2_KEY        0x00039464
  107. #define VGAEXTRALORESLACEDPF2_KEY    0x00031445
  108. #define VGALORESLACEDPF2_KEY        0x00039445
  109. #define VGAPRODUCTLACEDPF2_KEY        0x00039465
  110. #define VGAEXTRAHALFBRITE_KEY        0x00031084
  111. #define VGAEXTRAHALFBRITELACE_KEY    0x00031085
  112. /* New for AA ChipSet (V39) */
  113. #define VGAPRODUCTHAM_KEY        0x00039824
  114. #define VGALORESHAM_KEY            0x00039804
  115. #define VGAEXTRALORESHAM_KEY        VGAHAM_KEY
  116. #define VGAPRODUCTHAMLACE_KEY        0x00039825
  117. #define VGALORESHAMLACE_KEY        0x00039805
  118. #define VGAEXTRALORESHAMLACE_KEY    VGAHAMLACE_KEY
  119. #define VGAEXTRALORESEHB_KEY        VGAEXTRAHALFBRITE_KEY
  120. #define VGAEXTRALORESEHBLACE_KEY    VGAEXTRAHALFBRITELACE_KEY
  121. #define VGALORESEHB_KEY            0x00039084
  122. #define VGALORESEHBLACE_KEY        0x00039085
  123. #define VGAEHB_KEY            0x000390a4
  124. #define VGAEHBLACE_KEY            0x000390a5
  125. /* These ModeIDs are the scandoubled equivalents of the above, with the
  126.  * exception of the DualPlayfield modes, as AA does not allow for scandoubling
  127.  * dualplayfield.
  128.  */
  129. #define VGAEXTRALORESDBL_KEY        0x00031000
  130. #define VGALORESDBL_KEY            0x00039000
  131. #define VGAPRODUCTDBL_KEY        0x00039020
  132. #define VGAEXTRALORESHAMDBL_KEY        0x00031800
  133. #define VGALORESHAMDBL_KEY        0x00039800
  134. #define VGAPRODUCTHAMDBL_KEY        0x00039820
  135. #define VGAEXTRALORESEHBDBL_KEY        0x00031080
  136. #define VGALORESEHBDBL_KEY        0x00039080
  137. #define VGAPRODUCTEHBDBL_KEY        0x000390a0
  138.  
  139. /* a2024 identifiers */
  140.  
  141. #define A2024_MONITOR_ID        0x00041000
  142.  
  143. #define A2024TENHERTZ_KEY        0x00041000
  144. #define A2024FIFTEENHERTZ_KEY        0x00049000
  145.  
  146. /* prototype identifiers (private) */
  147.  
  148. #define PROTO_MONITOR_ID        0x00051000
  149.  
  150.  
  151. /* These monitors and modes were added for the V38 release. */
  152.  
  153. #define EURO72_MONITOR_ID        0x00061000
  154.  
  155. #define EURO72EXTRALORES_KEY        0x00061004
  156. #define EURO72LORES_KEY            0x00069004
  157. #define EURO72PRODUCT_KEY        0x00069024
  158. #define EURO72HAM_KEY            0x00061804
  159. #define EURO72EXTRALORESLACE_KEY    0x00061005
  160. #define EURO72LORESLACE_KEY        0x00069005
  161. #define EURO72PRODUCTLACE_KEY        0x00069025
  162. #define EURO72HAMLACE_KEY        0x00061805
  163. #define EURO72EXTRALORESDPF_KEY        0x00061404
  164. #define EURO72LORESDPF_KEY        0x00069404
  165. #define EURO72PRODUCTDPF_KEY        0x00069424
  166. #define EURO72EXTRALORESLACEDPF_KEY    0x00061405
  167. #define EURO72LORESLACEDPF_KEY        0x00069405
  168. #define EURO72PRODUCTLACEDPF_KEY    0x00069425
  169. #define EURO72EXTRALORESDPF2_KEY    0x00061444
  170. #define EURO72LORESDPF2_KEY        0x00069444
  171. #define EURO72PRODUCTDPF2_KEY        0x00069464
  172. #define EURO72EXTRALORESLACEDPF2_KEY    0x00061445
  173. #define EURO72LORESLACEDPF2_KEY        0x00069445
  174. #define EURO72PRODUCTLACEDPF2_KEY    0x00069465
  175. #define EURO72EXTRAHALFBRITE_KEY    0x00061084
  176. #define EURO72EXTRAHALFBRITELACE_KEY    0x00061085
  177. /* New AA modes (V39) */
  178. #define EURO72PRODUCTHAM_KEY        0x00069824
  179. #define EURO72PRODUCTHAMLACE_KEY    0x00069825
  180. #define EURO72LORESHAM_KEY        0x00069804
  181. #define EURO72LORESHAMLACE_KEY        0x00069805
  182. #define EURO72EXTRALORESHAM_KEY        EURO72HAM_KEY
  183. #define EURO72EXTRALORESHAMLACE_KEY    EURO72HAMLACE_KEY
  184. #define EURO72EXTRALORESEHB_KEY        EURO72EXTRAHALFBRITE_KEY
  185. #define EURO72EXTRALORESEHBLACE_KEY    EURO72EXTRAHALFBRITELACE_KEY
  186. #define EURO72LORESEHB_KEY        0x00069084
  187. #define EURO72LORESEHBLACE_KEY        0x00069085
  188. #define EURO72EHB_KEY            0x000690a4
  189. #define EURO72EHBLACE_KEY        0x000690a5
  190. /* These ModeIDs are the scandoubled equivalents of the above, with the
  191.  * exception of the DualPlayfield modes, as AA does not allow for scandoubling
  192.  * dualplayfield.
  193.  */
  194. #define EURO72EXTRALORESDBL_KEY        0x00061000
  195. #define EURO72LORESDBL_KEY        0x00069000
  196. #define EURO72PRODUCTDBL_KEY        0x00069020
  197. #define EURO72EXTRALORESHAMDBL_KEY    0x00061800
  198. #define EURO72LORESHAMDBL_KEY        0x00069800
  199. #define EURO72PRODUCTHAMDBL_KEY        0x00069820
  200. #define EURO72EXTRALORESEHBDBL_KEY    0x00061080
  201. #define EURO72LORESEHBDBL_KEY        0x00069080
  202. #define EURO72PRODUCTEHBDBL_KEY        0x000690a0
  203.  
  204.  
  205. #define EURO36_MONITOR_ID        0x00071000
  206.  
  207. /* Euro36 modeids can be ORed with the default modeids a la NTSC and PAL.
  208.  * For example, Euro36 SuperHires is
  209.  * (EURO36_MONITOR_ID | SUPER_KEY)
  210.  */
  211.  
  212. #define SUPER72_MONITOR_ID        0x00081000
  213.  
  214. /* Super72 modeids can be ORed with the default modeids a la NTSC and PAL.
  215.  * For example, Super72 SuperHiresLace (800x600) is
  216.  * (SUPER72_MONITOR_ID | SUPERLACE_KEY).
  217.  * The following scandoubled Modes are the exception:
  218.  */
  219. #define SUPER72LORESDBL_KEY        0x00081008
  220. #define SUPER72HIRESDBL_KEY        0x00089008
  221. #define SUPER72SUPERDBL_KEY        0x00089028
  222. #define SUPER72LORESHAMDBL_KEY        0x00081808
  223. #define SUPER72HIRESHAMDBL_KEY        0x00089808
  224. #define SUPER72SUPERHAMDBL_KEY        0x00089828
  225. #define SUPER72LORESEHBDBL_KEY        0x00081088
  226. #define SUPER72HIRESEHBDBL_KEY        0x00089088
  227. #define SUPER72SUPEREHBDBL_KEY        0x000890a8
  228.  
  229.  
  230. /* These monitors and modes were added for the V39 release. */
  231.  
  232. #define DBLNTSC_MONITOR_ID        0x00091000
  233.