home *** CD-ROM | disk | FTP | other *** search
- #ifndef GRAPHICS_MODEID_H
- #define GRAPHICS_MODEID_H
- /*
- ** $VER: modeid.h 39.9 (27.5.93)
- ** Includes Release 40.15
- **
- ** include define file for graphics display mode IDs.
- **
- ** (C) Copyright 1985-1993 Commodore-Amiga, Inc.
- ** All Rights Reserved
- */
-
- #ifndef GRAPHICS_DISPLAYINFO_H
- #include <graphics/displayinfo.h>
- #endif
-
- #define INVALID_ID ~0
-
- /* With all the new modes that are available under V38 and V39, it is highly
- * recommended that you use either the asl.library screenmode requester,
- * and/or the V39 graphics.library function BestModeIDA().
- *
- * DO NOT interpret the any of the bits in the ModeID for its meaning. For
- * example, do not interpret bit 3 (0x4) as meaning the ModeID is interlaced.
- * Instead, use GetDisplayInfoData() with DTAG_DISP, and examine the DIPF_...
- * flags to determine a ModeID's characteristics. The only exception to
- * this rule is that bit 7 (0x80) will always mean the ModeID is
- * ExtraHalfBright, and bit 11 (0x800) will always mean the ModeID is HAM.
- */
-
- /* normal identifiers */
-
- #define MONITOR_ID_MASK 0xFFFF1000
-
- #define DEFAULT_MONITOR_ID 0x00000000
- #define NTSC_MONITOR_ID 0x00011000
- #define PAL_MONITOR_ID 0x00021000
-
- /* the following 22 composite keys are for Modes on the default Monitor.
- * NTSC & PAL "flavors" of these particular keys may be made by or'ing
- * the NTSC or PAL MONITOR_ID with the desired MODE_KEY...
- *
- * For example, to specifically open a PAL HAM interlaced ViewPort
- * (or intuition screen), you would use the modeid of
- * (PAL_MONITOR_ID | HAMLACE_KEY)
- */
-
- #define LORES_KEY 0x00000000
- #define HIRES_KEY 0x00008000
- #define SUPER_KEY 0x00008020
- #define HAM_KEY 0x00000800
- #define LORESLACE_KEY 0x00000004
- #define HIRESLACE_KEY 0x00008004
- #define SUPERLACE_KEY 0x00008024
- #define HAMLACE_KEY 0x00000804
- #define LORESDPF_KEY 0x00000400
- #define HIRESDPF_KEY 0x00008400
- #define SUPERDPF_KEY 0x00008420
- #define LORESLACEDPF_KEY 0x00000404
- #define HIRESLACEDPF_KEY 0x00008404
- #define SUPERLACEDPF_KEY 0x00008424
- #define LORESDPF2_KEY 0x00000440
- #define HIRESDPF2_KEY 0x00008440
- #define SUPERDPF2_KEY 0x00008460
- #define LORESLACEDPF2_KEY 0x00000444
- #define HIRESLACEDPF2_KEY 0x00008444
- #define SUPERLACEDPF2_KEY 0x00008464
- #define EXTRAHALFBRITE_KEY 0x00000080
- #define EXTRAHALFBRITELACE_KEY 0x00000084
- /* New for AA ChipSet (V39) */
- #define HIRESHAM_KEY 0x00008800
- #define SUPERHAM_KEY 0x00008820
- #define HIRESEHB_KEY 0x00008080
- #define SUPEREHB_KEY 0x000080a0
- #define HIRESHAMLACE_KEY 0x00008804
- #define SUPERHAMLACE_KEY 0x00008824
- #define HIRESEHBLACE_KEY 0x00008084
- #define SUPEREHBLACE_KEY 0x000080a4
- /* Added for V40 - may be useful modes for some games or animations. */
- #define LORESSDBL_KEY 0x00000008
- #define LORESHAMSDBL_KEY 0x00000808
- #define LORESEHBSDBL_KEY 0x00000088
- #define HIRESHAMSDBL_KEY 0x00008808
-
-
- /* VGA identifiers */
-
- #define VGA_MONITOR_ID 0x00031000
-
- #define VGAEXTRALORES_KEY 0x00031004
- #define VGALORES_KEY 0x00039004
- #define VGAPRODUCT_KEY 0x00039024
- #define VGAHAM_KEY 0x00031804
- #define VGAEXTRALORESLACE_KEY 0x00031005
- #define VGALORESLACE_KEY 0x00039005
- #define VGAPRODUCTLACE_KEY 0x00039025
- #define VGAHAMLACE_KEY 0x00031805
- #define VGAEXTRALORESDPF_KEY 0x00031404
- #define VGALORESDPF_KEY 0x00039404
- #define VGAPRODUCTDPF_KEY 0x00039424
- #define VGAEXTRALORESLACEDPF_KEY 0x00031405
- #define VGALORESLACEDPF_KEY 0x00039405
- #define VGAPRODUCTLACEDPF_KEY 0x00039425
- #define VGAEXTRALORESDPF2_KEY 0x00031444
- #define VGALORESDPF2_KEY 0x00039444
- #define VGAPRODUCTDPF2_KEY 0x00039464
- #define VGAEXTRALORESLACEDPF2_KEY 0x00031445
- #define VGALORESLACEDPF2_KEY 0x00039445
- #define VGAPRODUCTLACEDPF2_KEY 0x00039465
- #define VGAEXTRAHALFBRITE_KEY 0x00031084
- #define VGAEXTRAHALFBRITELACE_KEY 0x00031085
- /* New for AA ChipSet (V39) */
- #define VGAPRODUCTHAM_KEY 0x00039824
- #define VGALORESHAM_KEY 0x00039804
- #define VGAEXTRALORESHAM_KEY VGAHAM_KEY
- #define VGAPRODUCTHAMLACE_KEY 0x00039825
- #define VGALORESHAMLACE_KEY 0x00039805
- #define VGAEXTRALORESHAMLACE_KEY VGAHAMLACE_KEY
- #define VGAEXTRALORESEHB_KEY VGAEXTRAHALFBRITE_KEY
- #define VGAEXTRALORESEHBLACE_KEY VGAEXTRAHALFBRITELACE_KEY
- #define VGALORESEHB_KEY 0x00039084
- #define VGALORESEHBLACE_KEY 0x00039085
- #define VGAEHB_KEY 0x000390a4
- #define VGAEHBLACE_KEY 0x000390a5
- /* These ModeIDs are the scandoubled equivalents of the above, with the
- * exception of the DualPlayfield modes, as AA does not allow for scandoubling
- * dualplayfield.
- */
- #define VGAEXTRALORESDBL_KEY 0x00031000
- #define VGALORESDBL_KEY 0x00039000
- #define VGAPRODUCTDBL_KEY 0x00039020
- #define VGAEXTRALORESHAMDBL_KEY 0x00031800
- #define VGALORESHAMDBL_KEY 0x00039800
- #define VGAPRODUCTHAMDBL_KEY 0x00039820
- #define VGAEXTRALORESEHBDBL_KEY 0x00031080
- #define VGALORESEHBDBL_KEY 0x00039080
- #define VGAPRODUCTEHBDBL_KEY 0x000390a0
-
- /* a2024 identifiers */
-
- #define A2024_MONITOR_ID 0x00041000
-
- #define A2024TENHERTZ_KEY 0x00041000
- #define A2024FIFTEENHERTZ_KEY 0x00049000
-
- /* prototype identifiers (private) */
-
- #define PROTO_MONITOR_ID 0x00051000
-
-
- /* These monitors and modes were added for the V38 release. */
-
- #define EURO72_MONITOR_ID 0x00061000
-
- #define EURO72EXTRALORES_KEY 0x00061004
- #define EURO72LORES_KEY 0x00069004
- #define EURO72PRODUCT_KEY 0x00069024
- #define EURO72HAM_KEY 0x00061804
- #define EURO72EXTRALORESLACE_KEY 0x00061005
- #define EURO72LORESLACE_KEY 0x00069005
- #define EURO72PRODUCTLACE_KEY 0x00069025
- #define EURO72HAMLACE_KEY 0x00061805
- #define EURO72EXTRALORESDPF_KEY 0x00061404
- #define EURO72LORESDPF_KEY 0x00069404
- #define EURO72PRODUCTDPF_KEY 0x00069424
- #define EURO72EXTRALORESLACEDPF_KEY 0x00061405
- #define EURO72LORESLACEDPF_KEY 0x00069405
- #define EURO72PRODUCTLACEDPF_KEY 0x00069425
- #define EURO72EXTRALORESDPF2_KEY 0x00061444
- #define EURO72LORESDPF2_KEY 0x00069444
- #define EURO72PRODUCTDPF2_KEY 0x00069464
- #define EURO72EXTRALORESLACEDPF2_KEY 0x00061445
- #define EURO72LORESLACEDPF2_KEY 0x00069445
- #define EURO72PRODUCTLACEDPF2_KEY 0x00069465
- #define EURO72EXTRAHALFBRITE_KEY 0x00061084
- #define EURO72EXTRAHALFBRITELACE_KEY 0x00061085
- /* New AA modes (V39) */
- #define EURO72PRODUCTHAM_KEY 0x00069824
- #define EURO72PRODUCTHAMLACE_KEY 0x00069825
- #define EURO72LORESHAM_KEY 0x00069804
- #define EURO72LORESHAMLACE_KEY 0x00069805
- #define EURO72EXTRALORESHAM_KEY EURO72HAM_KEY
- #define EURO72EXTRALORESHAMLACE_KEY EURO72HAMLACE_KEY
- #define EURO72EXTRALORESEHB_KEY EURO72EXTRAHALFBRITE_KEY
- #define EURO72EXTRALORESEHBLACE_KEY EURO72EXTRAHALFBRITELACE_KEY
- #define EURO72LORESEHB_KEY 0x00069084
- #define EURO72LORESEHBLACE_KEY 0x00069085
- #define EURO72EHB_KEY 0x000690a4
- #define EURO72EHBLACE_KEY 0x000690a5
- /* These ModeIDs are the scandoubled equivalents of the above, with the
- * exception of the DualPlayfield modes, as AA does not allow for scandoubling
- * dualplayfield.
- */
- #define EURO72EXTRALORESDBL_KEY 0x00061000
- #define EURO72LORESDBL_KEY 0x00069000
- #define EURO72PRODUCTDBL_KEY 0x00069020
- #define EURO72EXTRALORESHAMDBL_KEY 0x00061800
- #define EURO72LORESHAMDBL_KEY 0x00069800
- #define EURO72PRODUCTHAMDBL_KEY 0x00069820
- #define EURO72EXTRALORESEHBDBL_KEY 0x00061080
- #define EURO72LORESEHBDBL_KEY 0x00069080
- #define EURO72PRODUCTEHBDBL_KEY 0x000690a0
-
-
- #define EURO36_MONITOR_ID 0x00071000
-
- /* Euro36 modeids can be ORed with the default modeids a la NTSC and PAL.
- * For example, Euro36 SuperHires is
- * (EURO36_MONITOR_ID | SUPER_KEY)
- */
-
- #define SUPER72_MONITOR_ID 0x00081000
-
- /* Super72 modeids can be ORed with the default modeids a la NTSC and PAL.
- * For example, Super72 SuperHiresLace (800x600) is
- * (SUPER72_MONITOR_ID | SUPERLACE_KEY).
- * The following scandoubled Modes are the exception:
- */
- #define SUPER72LORESDBL_KEY 0x00081008
- #define SUPER72HIRESDBL_KEY 0x00089008
- #define SUPER72SUPERDBL_KEY 0x00089028
- #define SUPER72LORESHAMDBL_KEY 0x00081808
- #define SUPER72HIRESHAMDBL_KEY 0x00089808
- #define SUPER72SUPERHAMDBL_KEY 0x00089828
- #define SUPER72LORESEHBDBL_KEY 0x00081088
- #define SUPER72HIRESEHBDBL_KEY 0x00089088
- #define SUPER72SUPEREHBDBL_KEY 0x000890a8
-
-
- /* These monitors and modes were added for the V39 release. */
-
- #define DBLNTSC_MONITOR_ID 0x00091000
-
- #define DBLNTSCLORES_KEY 0x00091000
- #define DBLNTSCLORESFF_KEY 0x00091004
- #define DBLNTSCLORESHAM_KEY 0x00091800
- #define DBLNTSCLORESHAMFF_KEY 0x00091804
- #define DBLNTSCLORESEHB_KEY 0x00091080
- #define DBLNTSCLORESEHBFF_KEY 0x00091084
- #define DBLNTSCLORESLACE_KEY 0x00091005
- #define DBLNTSCLORESHAMLACE_KEY 0x00091805
- #define DBLNTSCLORESEHBLACE_KEY 0x00091085
- #define DBLNTSCLORESDPF_KEY 0x00091400
- #define DBLNTSCLORESDPFFF_KEY 0x00091404
- #define DBLNTSCLORESDPFLACE_KEY 0x00091405
- #define DBLNTSCLORESDPF2_KEY 0x00091440
- #define DBLNTSCLORESDPF2FF_KEY 0x00091444
- #define DBLNTSCLORESDPF2LACE_KEY 0x00091445
- #define DBLNTSCHIRES_KEY 0x00099000
- #define DBLNTSCHIRESFF_KEY 0x00099004
- #define DBLNTSCHIRESHAM_KEY 0x00099800
- #define DBLNTSCHIRESHAMFF_KEY 0x00099804
- #define DBLNTSCHIRESLACE_KEY 0x00099005
- #define DBLNTSCHIRESHAMLACE_KEY 0x00099805
- #define DBLNTSCHIRESEHB_KEY 0x00099080
- #define DBLNTSCHIRESEHBFF_KEY 0x00099084
- #define DBLNTSCHIRESEHBLACE_KEY 0x00099085
- #define DBLNTSCHIRESDPF_KEY 0x00099400
- #define DBLNTSCHIRESDPFFF_KEY 0x00099404
- #define DBLNTSCHIRESDPFLACE_KEY 0x00099405
- #define DBLNTSCHIRESDPF2_KEY 0x00099440
- #define DBLNTSCHIRESDPF2FF_KEY 0x00099444
- #define DBLNTSCHIRESDPF2LACE_KEY 0x00099445
- #define DBLNTSCEXTRALORES_KEY 0x00091200
- #define DBLNTSCEXTRALORESHAM_KEY 0x00091a00
- #define DBLNTSCEXTRALORESEHB_KEY 0x00091280
- #define DBLNTSCEXTRALORESDPF_KEY 0x00091600
- #define DBLNTSCEXTRALORESDPF2_KEY 0x00091640
- #define DBLNTSCEXTRALORESFF_KEY 0x00091204
- #define DBLNTSCEXTRALORESHAMFF_KEY 0x00091a04
- #define DBLNTSCEXTRALORESEHBFF_KEY 0x00091284
- #define DBLNTSCEXTRALORESDPFFF_KEY 0x00091604
- #define DBLNTSCEXTRALORESDPF2FF_KEY 0x00091644
- #define DBLNTSCEXTRALORESLACE_KEY 0x00091205
- #define DBLNTSCEXTRALORESHAMLACE_KEY 0x00091a05
- #define DBLNTSCEXTRALORESEHBLACE_KEY 0x00091285
- #define DBLNTSCEXTRALORESDPFLACE_KEY 0x00091605
- #define DBLNTSCEXTRALORESDPF2LACE_KEY 0x00091645
-
- #define DBLPAL_MONITOR_ID 0x000a1000
-
- #define DBLPALLORES_KEY 0x000a1000
- #define DBLPALLORESFF_KEY 0x000a1004
- #define DBLPALLORESHAM_KEY 0x000a1800
- #define DBLPALLORESHAMFF_KEY 0x000a1804
- #define DBLPALLORESEHB_KEY 0x000a1080
- #define DBLPALLORESEHBFF_KEY 0x000a1084
- #define DBLPALLORESLACE_KEY 0x000a1005
- #define DBLPALLORESHAMLACE_KEY 0x000a1805
- #define DBLPALLORESEHBLACE_KEY 0x000a1085
- #define DBLPALLORESDPF_KEY 0x000a1400
- #define DBLPALLORESDPFFF_KEY 0x000a1404
- #define DBLPALLORESDPFLACE_KEY 0x000a1405
- #define DBLPALLORESDPF2_KEY 0x000a1440
- #define DBLPALLORESDPF2FF_KEY 0x000a1444
- #define DBLPALLORESDPF2LACE_KEY 0x000a1445
- #define DBLPALHIRES_KEY 0x000a9000
- #define DBLPALHIRESFF_KEY 0x000a9004
- #define DBLPALHIRESHAM_KEY 0x000a9800
- #define DBLPALHIRESHAMFF_KEY 0x000a9804
- #define DBLPALHIRESLACE_KEY 0x000a9005
- #define DBLPALHIRESHAMLACE_KEY 0x000a9805
- #define DBLPALHIRESEHB_KEY 0x000a9080
- #define DBLPALHIRESEHBFF_KEY 0x000a9084
- #define DBLPALHIRESEHBLACE_KEY 0x000a9085
- #define DBLPALHIRESDPF_KEY 0x000a9400
- #define DBLPALHIRESDPFFF_KEY 0x000a9404
- #define DBLPALHIRESDPFLACE_KEY 0x000a9405
- #define DBLPALHIRESDPF2_KEY 0x000a9440
- #define DBLPALHIRESDPF2FF_KEY 0x000a9444
- #define DBLPALHIRESDPF2LACE_KEY 0x000a9445
- #define DBLPALEXTRALORES_KEY 0x000a1200
- #define DBLPALEXTRALORESHAM_KEY 0x000a1a00
- #define DBLPALEXTRALORESEHB_KEY 0x000a1280
- #define DBLPALEXTRALORESDPF_KEY 0x000a1600
- #define DBLPALEXTRALORESDPF2_KEY 0x000a1640
- #define DBLPALEXTRALORESFF_KEY 0x000a1204
- #define DBLPALEXTRALORESHAMFF_KEY 0x000a1a04
- #define DBLPALEXTRALORESEHBFF_KEY 0x000a1284
- #define DBLPALEXTRALORESDPFFF_KEY 0x000a1604
- #define DBLPALEXTRALORESDPF2FF_KEY 0x000a1644
- #define DBLPALEXTRALORESLACE_KEY 0x000a1205
- #define DBLPALEXTRALORESHAMLACE_KEY 0x000a1a05
- #define DBLPALEXTRALORESEHBLACE_KEY 0x000a1285
- #define DBLPALEXTRALORESDPFLACE_KEY 0x000a1605
- #define DBLPALEXTRALORESDPF2LACE_KEY 0x000a1645
-
-
- /* Use these tags for passing to BestModeID() (V39) */
-
- #define SPECIAL_FLAGS (DIPF_IS_DUALPF | DIPF_IS_PF2PRI | DIPF_IS_HAM | DIPF_IS_EXTRAHALFBRITE)
-
- #define BIDTAG_DIPFMustHave 0x80000001 /* mask of the DIPF_ flags the ModeID must have */
- /* Default - NULL */
- #define BIDTAG_DIPFMustNotHave 0x80000002 /* mask of the DIPF_ flags the ModeID must not have */
- /* Default - SPECIAL_FLAGS */
- #define BIDTAG_ViewPort 0x80000003 /* ViewPort for which a ModeID is sought. */
- /* Default - NULL */
- #define BIDTAG_NominalWidth 0x80000004 /* \ together make the aspect ratio and */
- #define BIDTAG_NominalHeight 0x80000005 /* / override the vp->Width/Height. */
- /* Default - SourceID NominalDimensionInfo,
- * or vp->DWidth/Height, or (640 * 200),
- * in that preferred order.
- */
- #define BIDTAG_DesiredWidth 0x80000006 /* \ Nominal Width and Height of the */
- #define BIDTAG_DesiredHeight 0x80000007 /* / returned ModeID. */
- /* Default - same as Nominal */
- #define BIDTAG_Depth 0x80000008 /* ModeID must support this depth. */
- /* Default - vp->RasInfo->BitMap->Depth or 1 */
- #define BIDTAG_MonitorID 0x80000009 /* ModeID must use this monitor. */
- /* Default - use best monitor available */
- #define BIDTAG_SourceID 0x8000000a /* instead of a ViewPort. */
- /* Default - VPModeID(vp) if BIDTAG_ViewPort is
- * specified, else leave the DIPFMustHave and
- * DIPFMustNotHave values untouched.
- */
- #define BIDTAG_RedBits 0x8000000b /* \ */
- #define BIDTAG_BlueBits 0x8000000c /* } Match up from the database */
- #define BIDTAG_GreenBits 0x8000000d /* / */
- /* Default - 4 */
- #define BIDTAG_GfxPrivate 0x8000000e /* Private */
-
- #endif /* GRAPHICS_MODEID_H */
-