1 #ifndef GRAPHICS_MODEID_H
    2 #define GRAPHICS_MODEID_H
    3 
    4 /*
    5 	graphics mode ID definitions
    6 
    7 	Copyright © 2002 The MorphOS Development Team, All Rights Reserved.
    8 */
    9 
   10 #ifndef GRAPHICS_DISPLAYINFO_H
   11 # include <graphics/displayinfo.h>
   12 #endif
   13 
   14 
   15 #define INVALID_ID  ~0
   16 
   17 
   18 #define MONITOR_ID_MASK         0xFFFF1000
   19 
   20 #define DEFAULT_MONITOR_ID      0x00000000
   21 #define NTSC_MONITOR_ID         0x00011000
   22 #define PAL_MONITOR_ID          0x00021000
   23 
   24 
   25 #define LORES_KEY               0x00000000
   26 #define HIRES_KEY               0x00008000
   27 #define SUPER_KEY               0x00008020
   28 #define HAM_KEY                 0x00000800
   29 #define LORESLACE_KEY           0x00000004
   30 #define HIRESLACE_KEY           0x00008004
   31 #define SUPERLACE_KEY           0x00008024
   32 #define HAMLACE_KEY             0x00000804
   33 #define LORESDPF_KEY            0x00000400
   34 #define HIRESDPF_KEY            0x00008400
   35 #define SUPERDPF_KEY            0x00008420
   36 #define LORESLACEDPF_KEY        0x00000404
   37 #define HIRESLACEDPF_KEY        0x00008404
   38 #define SUPERLACEDPF_KEY        0x00008424
   39 #define LORESDPF2_KEY           0x00000440
   40 #define HIRESDPF2_KEY           0x00008440
   41 #define SUPERDPF2_KEY           0x00008460
   42 #define LORESLACEDPF2_KEY       0x00000444
   43 #define HIRESLACEDPF2_KEY       0x00008444
   44 #define SUPERLACEDPF2_KEY       0x00008464
   45 #define EXTRAHALFBRITE_KEY      0x00000080
   46 #define EXTRAHALFBRITELACE_KEY  0x00000084
   47 
   48 #define HIRESHAM_KEY            0x00008800
   49 #define SUPERHAM_KEY            0x00008820
   50 #define HIRESEHB_KEY            0x00008080
   51 #define SUPEREHB_KEY            0x000080a0
   52 #define HIRESHAMLACE_KEY        0x00008804
   53 #define SUPERHAMLACE_KEY        0x00008824
   54 #define HIRESEHBLACE_KEY        0x00008084
   55 #define SUPEREHBLACE_KEY        0x000080a4
   56 
   57 #define LORESSDBL_KEY           0x00000008
   58 #define LORESHAMSDBL_KEY        0x00000808
   59 #define LORESEHBSDBL_KEY        0x00000088
   60 #define HIRESHAMSDBL_KEY        0x00008808
   61 
   62 
   63 #define VGA_MONITOR_ID             0x00031000
   64 
   65 #define VGAEXTRALORES_KEY          0x00031004
   66 #define VGALORES_KEY               0x00039004
   67 #define VGAPRODUCT_KEY             0x00039024
   68 #define VGAHAM_KEY                 0x00031804
   69 #define VGAEXTRALORESLACE_KEY      0x00031005
   70 #define VGALORESLACE_KEY           0x00039005
   71 #define VGAPRODUCTLACE_KEY         0x00039025
   72 #define VGAHAMLACE_KEY             0x00031805
   73 #define VGAEXTRALORESDPF_KEY       0x00031404
   74 #define VGALORESDPF_KEY            0x00039404
   75 #define VGAPRODUCTDPF_KEY          0x00039424
   76 #define VGAEXTRALORESLACEDPF_KEY   0x00031405
   77 #define VGALORESLACEDPF_KEY        0x00039405
   78 #define VGAPRODUCTLACEDPF_KEY      0x00039425
   79 #define VGAEXTRALORESDPF2_KEY      0x00031444
   80 #define VGALORESDPF2_KEY           0x00039444
   81 #define VGAPRODUCTDPF2_KEY         0x00039464
   82 #define VGAEXTRALORESLACEDPF2_KEY  0x00031445
   83 #define VGALORESLACEDPF2_KEY       0x00039445
   84 #define VGAPRODUCTLACEDPF2_KEY     0x00039465
   85 #define VGAEXTRAHALFBRITE_KEY      0x00031084
   86 #define VGAEXTRAHALFBRITELACE_KEY  0x00031085
   87 
   88 #define VGAPRODUCTHAM_KEY          0x00039824
   89 #define VGALORESHAM_KEY            0x00039804
   90 #define VGAEXTRALORESHAM_KEY       VGAHAM_KEY
   91 #define VGAPRODUCTHAMLACE_KEY      0x00039825
   92 #define VGALORESHAMLACE_KEY        0x00039805
   93 #define VGAEXTRALORESHAMLACE_KEY   VGAHAMLACE_KEY
   94 #define VGAEXTRALORESEHB_KEY       VGAEXTRAHALFBRITE_KEY
   95 #define VGAEXTRALORESEHBLACE_KEY   VGAEXTRAHALFBRITELACE_KEY
   96 #define VGALORESEHB_KEY            0x00039084
   97 #define VGALORESEHBLACE_KEY        0x00039085
   98 #define VGAEHB_KEY                 0x000390A4
   99 #define VGAEHBLACE_KEY             0x000390A5
  100 
  101 #define VGAEXTRALORESDBL_KEY       0x00031000
  102 #define VGALORESDBL_KEY            0x00039000
  103 #define VGAPRODUCTDBL_KEY          0x00039020
  104 #define VGAEXTRALORESHAMDBL_KEY    0x00031800
  105 #define VGALORESHAMDBL_KEY         0x00039800
  106 #define VGAPRODUCTHAMDBL_KEY       0x00039820
  107 #define VGAEXTRALORESEHBDBL_KEY    0x00031080
  108 #define VGALORESEHBDBL_KEY         0x00039080
  109 #define VGAPRODUCTEHBDBL_KEY       0x000390A0
  110 
  111 
  112 #define A2024_MONITOR_ID        0x00041000
  113 
  114 #define A2024TENHERTZ_KEY       0x00041000
  115 #define A2024FIFTEENHERTZ_KEY   0x00049000
  116 
  117 
  118 #define PROTO_MONITOR_ID        0x00051000
  119 
  120 
  121 #define EURO72_MONITOR_ID             0x00061000
  122 
  123 #define EURO72EXTRALORES_KEY          0x00061004
  124 #define EURO72LORES_KEY               0x00069004
  125 #define EURO72PRODUCT_KEY             0x00069024
  126 #define EURO72HAM_KEY                 0x00061804
  127 #define EURO72EXTRALORESLACE_KEY      0x00061005
  128 #define EURO72LORESLACE_KEY           0x00069005
  129 #define EURO72PRODUCTLACE_KEY         0x00069025
  130 #define EURO72HAMLACE_KEY             0x00061805
  131 #define EURO72EXTRALORESDPF_KEY       0x00061404
  132 #define EURO72LORESDPF_KEY            0x00069404
  133 #define EURO72PRODUCTDPF_KEY          0x00069424
  134 #define EURO72EXTRALORESLACEDPF_KEY   0x00061405
  135 #define EURO72LORESLACEDPF_KEY        0x00069405
  136 #define EURO72PRODUCTLACEDPF_KEY      0x00069425
  137 #define EURO72EXTRALORESDPF2_KEY      0x00061444
  138 #define EURO72LORESDPF2_KEY           0x00069444
  139 #define EURO72PRODUCTDPF2_KEY         0x00069464
  140 #define EURO72EXTRALORESLACEDPF2_KEY  0x00061445
  141 #define EURO72LORESLACEDPF2_KEY       0x00069445
  142 #define EURO72PRODUCTLACEDPF2_KEY     0x00069465
  143 #define EURO72EXTRAHALFBRITE_KEY      0x00061084
  144 #define EURO72EXTRAHALFBRITELACE_KEY  0x00061085
  145 
  146 #define EURO72PRODUCTHAM_KEY          0x00069824
  147 #define EURO72PRODUCTHAMLACE_KEY      0x00069825
  148 #define EURO72LORESHAM_KEY            0x00069804
  149 #define EURO72LORESHAMLACE_KEY        0x00069805
  150 #define EURO72EXTRALORESHAM_KEY       EURO72HAM_KEY
  151 #define EURO72EXTRALORESHAMLACE_KEY   EURO72HAMLACE_KEY
  152 #define EURO72EXTRALORESEHB_KEY       EURO72EXTRAHALFBRITE_KEY
  153 #define EURO72EXTRALORESEHBLACE_KEY   EURO72EXTRAHALFBRITELACE_KEY
  154 #define EURO72LORESEHB_KEY            0x00069084
  155 #define EURO72LORESEHBLACE_KEY        0x00069085
  156 #define EURO72EHB_KEY                 0x000690A4
  157 #define EURO72EHBLACE_KEY             0x000690A5
  158 
  159 #define EURO72EXTRALORESDBL_KEY       0x00061000
  160 #define EURO72LORESDBL_KEY            0x00069000
  161 #define EURO72PRODUCTDBL_KEY          0x00069020
  162 #define EURO72EXTRALORESHAMDBL_KEY    0x00061800
  163 #define EURO72LORESHAMDBL_KEY         0x00069800
  164 #define EURO72PRODUCTHAMDBL_KEY       0x00069820
  165 #define EURO72EXTRALORESEHBDBL_KEY    0x00061080
  166 #define EURO72LORESEHBDBL_KEY         0x00069080
  167 #define EURO72PRODUCTEHBDBL_KEY       0x000690A0
  168 
  169 
  170 #define EURO36_MONITOR_ID   0x00071000
  171 
  172 
  173 #define SUPER72_MONITOR_ID      0x00081000
  174 
  175 #define SUPER72LORESDBL_KEY     0x00081008
  176 #define SUPER72HIRESDBL_KEY     0x00089008
  177 #define SUPER72SUPERDBL_KEY     0x00089028
  178 #define SUPER72LORESHAMDBL_KEY  0x00081808
  179 #define SUPER72HIRESHAMDBL_KEY  0x00089808
  180 #define SUPER72SUPERHAMDBL_KEY  0x00089828
  181 #define SUPER72LORESEHBDBL_KEY  0x00081088
  182 #define SUPER72HIRESEHBDBL_KEY  0x00089088
  183 #define SUPER72SUPEREHBDBL_KEY  0x000890A8
  184 
  185 
  186 #define DBLNTSC_MONITOR_ID             0x00091000
  187 
  188 #define DBLNTSCLORES_KEY               0x00091000
  189 #define DBLNTSCLORESFF_KEY             0x00091004
  190 #define DBLNTSCLORESHAM_KEY            0x00091800
  191 #define DBLNTSCLORESHAMFF_KEY          0x00091804
  192 #define DBLNTSCLORESEHB_KEY            0x00091080
  193 #define DBLNTSCLORESEHBFF_KEY          0x00091084
  194 #define DBLNTSCLORESLACE_KEY           0x00091005
  195 #define DBLNTSCLORESHAMLACE_KEY        0x00091805
  196 #define DBLNTSCLORESEHBLACE_KEY        0x00091085
  197 #define DBLNTSCLORESDPF_KEY            0x00091400
  198 #define DBLNTSCLORESDPFFF_KEY          0x00091404
  199 #define DBLNTSCLORESDPFLACE_KEY        0x00091405
  200 #define DBLNTSCLORESDPF2_KEY           0x00091440
  201 #define DBLNTSCLORESDPF2FF_KEY         0x00091444
  202 #define DBLNTSCLORESDPF2LACE_KEY       0x00091445
  203 #define DBLNTSCHIRES_KEY               0x00099000
  204 #define DBLNTSCHIRESFF_KEY             0x00099004
  205 #define DBLNTSCHIRESHAM_KEY            0x00099800
  206 #define DBLNTSCHIRESHAMFF_KEY          0x00099804
  207 #define DBLNTSCHIRESLACE_KEY           0x00099005
  208 #define DBLNTSCHIRESHAMLACE_KEY        0x00099805
  209 #define DBLNTSCHIRESEHB_KEY            0x00099080
  210 #define DBLNTSCHIRESEHBFF_KEY          0x00099084
  211 #define DBLNTSCHIRESEHBLACE_KEY        0x00099085
  212 #define DBLNTSCHIRESDPF_KEY            0x00099400
  213 #define DBLNTSCHIRESDPFFF_KEY          0x00099404
  214 #define DBLNTSCHIRESDPFLACE_KEY        0x00099405
  215 #define DBLNTSCHIRESDPF2_KEY           0x00099440
  216 #define DBLNTSCHIRESDPF2FF_KEY         0x00099444
  217 #define DBLNTSCHIRESDPF2LACE_KEY       0x00099445
  218 #define DBLNTSCEXTRALORES_KEY          0x00091200
  219 #define DBLNTSCEXTRALORESHAM_KEY       0x00091A00
  220 #define DBLNTSCEXTRALORESEHB_KEY       0x00091280
  221 #define DBLNTSCEXTRALORESDPF_KEY       0x00091600
  222 #define DBLNTSCEXTRALORESDPF2_KEY      0x00091640
  223 #define DBLNTSCEXTRALORESFF_KEY        0x00091204
  224 #define DBLNTSCEXTRALORESHAMFF_KEY     0x00091A04
  225 #define DBLNTSCEXTRALORESEHBFF_KEY     0x00091284
  226 #define DBLNTSCEXTRALORESDPFFF_KEY     0x00091604
  227 #define DBLNTSCEXTRALORESDPF2FF_KEY    0x00091644
  228 #define DBLNTSCEXTRALORESLACE_KEY      0x00091205
  229 #define DBLNTSCEXTRALORESHAMLACE_KEY   0x00091A05
  230 #define DBLNTSCEXTRALORESEHBLACE_KEY   0x00091285
  231 #define DBLNTSCEXTRALORESDPFLACE_KEY   0x00091605
  232 #define DBLNTSCEXTRALORESDPF2LACE_KEY  0x00091645
  233 
  234 
  235 #define DBLPAL_MONITOR_ID              0x000A1000
  236 
  237 #define DBLPALLORES_KEY                0x000A1000
  238 #define DBLPALLORESFF_KEY              0x000A1004
  239 #define DBLPALLORESHAM_KEY             0x000A1800
  240 #define DBLPALLORESHAMFF_KEY           0x000A1804
  241 #define DBLPALLORESEHB_KEY             0x000A1080
  242 #define DBLPALLORESEHBFF_KEY           0x000A1084
  243 #define DBLPALLORESLACE_KEY            0x000A1005
  244 #define DBLPALLORESHAMLACE_KEY         0x000A1805
  245 #define DBLPALLORESEHBLACE_KEY         0x000A1085
  246 #define DBLPALLORESDPF_KEY             0x000A1400
  247 #define DBLPALLORESDPFFF_KEY           0x000A1404
  248 #define DBLPALLORESDPFLACE_KEY         0x000A1405
  249 #define DBLPALLORESDPF2_KEY            0x000A1440
  250 #define DBLPALLORESDPF2FF_KEY          0x000A1444
  251 #define DBLPALLORESDPF2LACE_KEY        0x000A1445
  252 #define DBLPALHIRES_KEY                0x000A9000
  253 #define DBLPALHIRESFF_KEY              0x000A9004
  254 #define DBLPALHIRESHAM_KEY             0x000A9800
  255 #define DBLPALHIRESHAMFF_KEY           0x000A9804
  256 #define DBLPALHIRESLACE_KEY            0x000A9005
  257 #define DBLPALHIRESHAMLACE_KEY         0x000A9805
  258 #define DBLPALHIRESEHB_KEY             0x000A9080
  259 #define DBLPALHIRESEHBFF_KEY           0x000A9084
  260 #define DBLPALHIRESEHBLACE_KEY         0x000A9085
  261 #define DBLPALHIRESDPF_KEY             0x000A9400
  262 #define DBLPALHIRESDPFFF_KEY           0x000A9404
  263 #define DBLPALHIRESDPFLACE_KEY         0x000A9405
  264 #define DBLPALHIRESDPF2_KEY            0x000A9440
  265 #define DBLPALHIRESDPF2FF_KEY          0x000A9444
  266 #define DBLPALHIRESDPF2LACE_KEY        0x000A9445
  267 #define DBLPALEXTRALORES_KEY           0x000A1200
  268 #define DBLPALEXTRALORESHAM_KEY        0x000A1A00
  269 #define DBLPALEXTRALORESEHB_KEY        0x000A1280
  270 #define DBLPALEXTRALORESDPF_KEY        0x000A1600
  271 #define DBLPALEXTRALORESDPF2_KEY       0x000A1640
  272 #define DBLPALEXTRALORESFF_KEY         0x000A1204
  273 #define DBLPALEXTRALORESHAMFF_KEY      0x000A1A04
  274 #define DBLPALEXTRALORESEHBFF_KEY      0x000A1284
  275 #define DBLPALEXTRALORESDPFFF_KEY      0x000A1604
  276 #define DBLPALEXTRALORESDPF2FF_KEY     0x000A1644
  277 #define DBLPALEXTRALORESLACE_KEY       0x000A1205
  278 #define DBLPALEXTRALORESHAMLACE_KEY    0x000A1A05
  279 #define DBLPALEXTRALORESEHBLACE_KEY    0x000A1285
  280 #define DBLPALEXTRALORESDPFLACE_KEY    0x000A1605
  281 #define DBLPALEXTRALORESDPF2LACE_KEY   0x000A1645
  282 
  283 
  284 #define SPECIAL_FLAGS (DIPF_IS_DUALPF | DIPF_IS_PF2PRI | DIPF_IS_HAM | DIPF_IS_EXTRAHALFBRITE)
  285 
  286 #define BIDTAG_DIPFMustHave     0x80000001
  287 #define BIDTAG_DIPFMustNotHave  0x80000002
  288 #define BIDTAG_ViewPort         0x80000003
  289 #define BIDTAG_NominalWidth     0x80000004
  290 #define BIDTAG_NominalHeight    0x80000005
  291 #define BIDTAG_DesiredWidth     0x80000006
  292 #define BIDTAG_DesiredHeight    0x80000007
  293 #define BIDTAG_Depth            0x80000008
  294 #define BIDTAG_MonitorID        0x80000009
  295 #define BIDTAG_SourceID         0x8000000A
  296 #define BIDTAG_RedBits          0x8000000B
  297 #define BIDTAG_BlueBits         0x8000000C
  298 #define BIDTAG_GreenBits        0x8000000D
  299 #define BIDTAG_GfxPrivate       0x8000000E
  300 
  301 
  302 #endif /* GRAPHICS_MODEID_H */