[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

	IFND	GRAPHICS_DISPLAYINFO_I
GRAPHICS_DISPLAYINFO_I	SET	1
**
**	$Filename: graphics/displayinfo.i $
**	$Release: 2.04 Includes, V37.4 $
**	$Revision: 37.7 $
**	$Date: 91/11/08 $
**
**	include define file for display control registers
**
**	(C) Copyright 1985-1999 Amiga, Inc.
**	    All Rights Reserved
**

    IFND	EXEC_TYPES_I
    include 'exec/types.i'
    ENDC

    IFND	GRAPHICS_GFX_I
    include 'graphics/gfx.i'
    ENDC

    IFND	GRAPHICS_MONITOR_I
    include 'graphics/monitor.i'
    ENDC

    IFND	UTILITY_TAGITEM_I
    include 'utility/tagitem.i'
    ENDC

* datachunk type identifiers

DTAG_DISP	equ		  $80000000
DTAG_DIMS	equ		  $80001000
DTAG_MNTR	equ		  $80002000
DTAG_NAME	equ		  $80003000


    STRUCTURE	QueryHeader,0
	ULONG	qh_StructID	; datachunk type identifier
	ULONG	qh_DisplayID	; copy of display record key
	ULONG	qh_SkipID	; TAG_SKIP -- see tagitems.h
	ULONG	qh_Length	; length of data in double-longwords
    LABEL qh_SIZEOF

    STRUCTURE	DisplayInfo,qh_SIZEOF
	UWORD	dis_NotAvailable	  ; if NULL available, else see defines
	ULONG	dis_PropertyFlags	  ; Properties of this mode see defines
	STRUCT	dis_Resolution,tpt_SIZEOF ; ticks-per-pixel X/Y
	UWORD	dis_PixelSpeed		  ; aproximation in nanoseconds
	UWORD	dis_NumStdSprites	  ; number of standard amiga sprites
	UWORD	dis_PaletteRange	  ; distinguishable shades available
	STRUCT	dis_SpriteResolution,tpt_SIZEOF ; sprite ticks-per-pixel X/Y
	STRUCT	dis_pad,4
	STRUCT	dis_reserved,8		  ; terminator
    LABEL dis_SIZEOF

* availability

DI_AVAIL_NOCHIPS	equ	$0001
DI_AVAIL_NOMONITOR	equ	$0002
DI_AVAIL_NOTWITHGENLOCK	equ	$0004

* mode properties

DIPF_IS_LACE		equ	$00000001
DIPF_IS_DUALPF		equ	$00000002
DIPF_IS_PF2PRI		equ	$00000004
DIPF_IS_HAM		equ	$00000008

DIPF_IS_ECS		equ	$00000010	;*	note: ECS modes (SHIRES, VGA, and **
*								;*	PRODUCTIVITY) do not support	  **
*								;*	attached sprites.		  **
DIPF_IS_PAL		equ	$00000020
DIPF_IS_SPRITES		equ	$00000040
DIPF_IS_GENLOCK		equ	$00000080

DIPF_IS_WB		equ	$00000100
DIPF_IS_DRAGGABLE	equ	$00000200
DIPF_IS_PANELLED	equ	$00000400
DIPF_IS_BEAMSYNC	equ	$00000800

DIPF_IS_EXTRAHALFBRITE equ	$00001000

    STRUCTURE DimensionInfo,qh_SIZEOF
	UWORD	dim_MaxDepth		; log2( max number of colors
	UWORD	dim_MinRasterWidth	; minimum width in pixels
	UWORD	dim_MinRasterHeight	; minimum height in pixels
	UWORD	dim_MaxRasterWidth	; maximum width in pixels
	UWORD	dim_MaxRasterHeight	; maximum height in pixels
	STRUCT	dim_Nominal,ra_SIZEOF	; "standard" dimensions
	STRUCT	dim_MaxOScan,ra_SIZEOF	; fixed, hardware dependant
	STRUCT	dim_VideoOScan,ra_SIZEOF ; fixed, hardware dependant
	STRUCT	dim_TxtOScan,ra_SIZEOF	; editable via preferences
	STRUCT	dim_StdOScan,ra_SIZEOF	; editable via preferences
	STRUCT	dim_pad,14
	STRUCT	dim_reserved,8		; terminator
    LABEL dim_SIZEOF

    STRUCTURE MonitorInfo,qh_SIZEOF
	APTR	mtr_Mspc		; pointer to monitor specification
	STRUCT	mtr_ViewPosition,tpt_SIZEOF	; editable via preferences
	STRUCT	mtr_ViewResolution,tpt_SIZEOF	; monitor ticks-per-pixel
	STRUCT	mtr_ViewPositionRange,ra_SIZEOF	; fixed, hardware dependant
	UWORD	mtr_TotalRows		; display height in scanlines
	UWORD	mtr_TotalColorClocks	; scanline width in 280 ns units
	UWORD	mtr_MinRow		; absolute minimum active scanline
	WORD	mtr_Compatibility	; how this coexists with others
	STRUCT	mtr_pad,36
	STRUCT	mtr_DefaultViewPosition,tpt_SIZEOF	; original, never changes
	ULONG	mtr_PreferredModeID				; for preferences
	STRUCT	mtr_reserved,8		; terminator
    LABEL mtr_SIZEOF

* monitor compatibility

MCOMPAT_MIXED		equ  0	; can share display with other MCOMPAT_MIXED
MCOMPAT_SELF		equ  1	; can share only within same monitor
MCOMPAT_NOBODY		equ -1	; only one viewport at a time

DISPLAYNAMELEN		equ 32

    STRUCTURE NameInfo,qh_SIZEOF
	STRUCT	nif_Name,DISPLAYNAMELEN
	STRUCT	nif_reserved,8		; terminator
    LABEL nif_SIZEOF

* DisplayInfoRecord identifiers

INVALID_ID		equ	-1

*normal identifiers

MONITOR_ID_MASK		equ	$FFFF1000

DEFAULT_MONITOR_ID	equ	$00000000
NTSC_MONITOR_ID		equ	$00011000
PAL_MONITOR_ID		equ	$00021000

* the following 20 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...

LORES_KEY		equ	$00000000
HIRES_KEY		equ	$00008000
SUPER_KEY		equ	$00008020
HAM_KEY			equ	$00000800
LORESLACE_KEY		equ	$00000004
HIRESLACE_KEY		equ	$00008004
SUPERLACE_KEY		equ	$00008024
HAMLACE_KEY		equ	$00000804
LORESDPF_KEY		equ	$00000400
HIRESDPF_KEY		equ	$00008400
SUPERDPF_KEY		equ	$00008420
LORESLACEDPF_KEY	equ	$00000404
HIRESLACEDPF_KEY	equ	$00008404
SUPERLACEDPF_KEY	equ	$00008424
LORESDPF2_KEY		equ	$00000440
HIRESDPF2_KEY		equ	$00008440
SUPERDPF2_KEY		equ	$00008460
LORESLACEDPF2_KEY	equ	$00000444
HIRESLACEDPF2_KEY	equ	$00008444
SUPERLACEDPF2_KEY	equ	$00008464
EXTRAHALFBRITE_KEY	equ	$00000080
EXTRAHALFBRITELACE_KEY	equ	$00000084

* vga identifiers

VGA_MONITOR_ID		equ	$00031000

VGAEXTRALORES_KEY	equ	$00031004
VGALORES_KEY		equ	$00039004
VGAPRODUCT_KEY 		equ	$00039024
VGAHAM_KEY		equ	$00031804
VGAEXTRALORESLACE_KEY	equ	$00031005
VGALORESLACE_KEY	equ	$00039005
VGAPRODUCTLACE_KEY	equ	$00039025
VGAHAMLACE_KEY		equ	$00031805
VGAEXTRALORESDPF_KEY	equ	$00031404
VGALORESDPF_KEY		equ	$00039404
VGAPRODUCTDPF_KEY	equ	$00039424
VGAEXTRALORESLACEDPF_KEY equ	$00031405
VGALORESLACEDPF_KEY	equ	$00039405
VGAPRODUCTLACEDPF_KEY	equ	$00039425
VGAEXTRALORESDPF2_KEY	equ	$00031444
VGALORESDPF2_KEY	equ	$00039444
VGAPRODUCTDPF2_KEY	equ	$00039464
VGAEXTRALORESLACEDPF2_KEY equ	$00031445
VGALORESLACEDPF2_KEY	equ	$00039445
VGAPRODUCTLACEDPF2_KEY	equ	$00039465
VGAEXTRAHALFBRITE_KEY	equ	$00031084
VGAEXTRAHALFBRITELACE_KEY equ	$00031085

* a2024 identifiers

A2024_MONITOR_ID	equ	$00041000

A2024TENHERTZ_KEY 	equ	$00041000
A2024FIFTEENHERTZ_KEY   equ	$00049000

* prototype identifiers

PROTO_MONITOR_ID	equ	$00051000

    ENDC	; GRAPHICS_DISPLAYINFO_I