home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 4
/
FreshFish_May-June1994.bin
/
bbs
/
cbm
/
os-include.lha
/
os-include
/
graphics
/
modeid.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-10-15
|
14KB
|
364 lines
#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