home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / gnu / os-include / graphics / displayinfo.i < prev    next >
Text File  |  1993-10-15  |  5KB  |  162 lines

  1.     IFND    GRAPHICS_DISPLAYINFO_I
  2. GRAPHICS_DISPLAYINFO_I    SET    1
  3. **
  4. **    $VER: displayinfo.i 39.15 (31.5.93)
  5. **    Includes Release 40.15
  6. **
  7. **    include define file for display control registers
  8. **
  9. **    (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. **
  12.  
  13.     IFND    EXEC_TYPES_I
  14.     include 'exec/types.i'
  15.     ENDC
  16.  
  17.     IFND    GRAPHICS_GFX_I
  18.     include 'graphics/gfx.i'
  19.     ENDC
  20.  
  21.  
  22. * 'graphics/modeid.i' is included at the end of the file.
  23.  
  24.     IFND    UTILITY_TAGITEM_I
  25.     include 'utility/tagitem.i'
  26.     ENDC
  27.  
  28. * datachunk type identifiers
  29.  
  30. DTAG_DISP    equ          $80000000
  31. DTAG_DIMS    equ          $80001000
  32. DTAG_MNTR    equ          $80002000
  33. DTAG_NAME    equ          $80003000
  34. DTAG_VEC    equ          $80004000    ; internal use only
  35.  
  36.  
  37.     STRUCTURE    QueryHeader,0
  38.     ULONG    qh_StructID    ; datachunk type identifier
  39.     ULONG    qh_DisplayID    ; copy of display record key
  40.     ULONG    qh_SkipID    ; TAG_SKIP -- see tagitems.h
  41.     ULONG    qh_Length    ; length of data in double-longwords
  42.     LABEL qh_SIZEOF
  43.  
  44.     STRUCTURE    DisplayInfo,qh_SIZEOF
  45.     UWORD    dis_NotAvailable      ; if NULL available, else see defines
  46.     ULONG    dis_PropertyFlags      ; Properties of this mode see defines
  47.     STRUCT    dis_Resolution,tpt_SIZEOF ; ticks-per-pixel X/Y
  48.     UWORD    dis_PixelSpeed          ; aproximation in nanoseconds
  49.     UWORD    dis_NumStdSprites      ; number of standard amiga sprites
  50.     UWORD    dis_PaletteRange      ; distinguishable shades available
  51.     STRUCT    dis_SpriteResolution,tpt_SIZEOF ; sprite ticks-per-pixel X/Y
  52.     STRUCT    dis_pad,4
  53.     UBYTE    RedBits               ; number of Red bits this display supports (V39)
  54.     UBYTE    GreenBits;           ; number of Green bits this display supports (V39)
  55.     UBYTE    BlueBits;           ; number of Blue bits this display supports (V39)
  56.     STRUCT dis_pad2,5
  57.     STRUCT dis_reserved,8
  58.     LABEL dis_SIZEOF
  59.  
  60. * availability
  61.  
  62. DI_AVAIL_NOCHIPS        equ    $0001
  63. DI_AVAIL_NOMONITOR        equ    $0002
  64. DI_AVAIL_NOTWITHGENLOCK        equ    $0004
  65.  
  66. * mode properties
  67.  
  68. DIPF_IS_LACE            equ    $00000001
  69. DIPF_IS_DUALPF            equ    $00000002
  70. DIPF_IS_PF2PRI            equ    $00000004
  71. DIPF_IS_HAM            equ    $00000008
  72.  
  73. DIPF_IS_ECS            equ    $00000010  ; note: ECS modes (SHIRES, VGA, and
  74.                            ; PRODUCTIVITY) do not support
  75.                            ; attached sprites.
  76.  
  77. DIPF_IS_AA            equ    $00010000
  78. DIPF_IS_PAL            equ    $00000020
  79. DIPF_IS_SPRITES            equ    $00000040
  80. DIPF_IS_GENLOCK            equ    $00000080
  81.  
  82. DIPF_IS_WB            equ    $00000100
  83. DIPF_IS_DRAGGABLE        equ    $00000200
  84. DIPF_IS_PANELLED        equ    $00000400
  85. DIPF_IS_BEAMSYNC        equ    $00000800
  86. DIPF_IS_EXTRAHALFBRITE        equ    $00001000
  87.  
  88. ; The following DIPF_IS_... flags are new for V39
  89. DIPF_IS_SPRITES_ATT        equ    $00002000    ; supports attached sprites
  90. DIPF_IS_SPRITES_CHNG_RES    equ    $00004000    ; supports variable sprite resolution
  91. DIPF_IS_SPRITES_BORDER        equ    $00008000    ; sprites can be displayed in borders
  92. DIPF_IS_SCANDBL            equ    $00020000    ; scan-doubled?
  93. DIPF_IS_SPRITES_CHNG_BASE    equ    $00040000    ; can change the sprite base color
  94. DIPF_IS_SPRITES_CHNG_PRI    equ    $00080000    ; can change sprite priority
  95. DIPF_IS_DBUFFER            equ    $00100000    ; can support double buffering
  96. DIPF_IS_PROGBEAM        equ    $00200000    ; programmed beam-sync mode
  97. DIPF_IS_FOREIGN            equ    $80000000    ; non-amiga mode?
  98.  
  99.  
  100.     STRUCTURE DimensionInfo,qh_SIZEOF
  101.     UWORD    dim_MaxDepth        ; log2( max number of colors
  102.     UWORD    dim_MinRasterWidth    ; minimum width in pixels
  103.     UWORD    dim_MinRasterHeight    ; minimum height in pixels
  104.     UWORD    dim_MaxRasterWidth    ; maximum width in pixels
  105.     UWORD    dim_MaxRasterHeight    ; maximum height in pixels
  106.     STRUCT    dim_Nominal,ra_SIZEOF    ; "standard" dimensions
  107.     STRUCT    dim_MaxOScan,ra_SIZEOF    ; fixed, hardware dependent
  108.     STRUCT    dim_VideoOScan,ra_SIZEOF ; fixed, hardware dependent
  109.     STRUCT    dim_TxtOScan,ra_SIZEOF    ; editable via preferences
  110.     STRUCT    dim_StdOScan,ra_SIZEOF    ; editable via preferences
  111.     STRUCT    dim_pad,14
  112.     STRUCT    dim_reserved,8        ; terminator
  113.     LABEL dim_SIZEOF
  114.  
  115.     STRUCTURE MonitorInfo,qh_SIZEOF
  116.     APTR    mtr_Mspc        ; pointer to monitor specification
  117.     STRUCT    mtr_ViewPosition,tpt_SIZEOF    ; editable via preferences
  118.     STRUCT    mtr_ViewResolution,tpt_SIZEOF    ; monitor ticks-per-pixel
  119.     STRUCT    mtr_ViewPositionRange,ra_SIZEOF    ; fixed, hardware dependent
  120.     UWORD    mtr_TotalRows        ; display height in scanlines
  121.     UWORD    mtr_TotalColorClocks    ; scanline width in 280 ns units
  122.     UWORD    mtr_MinRow        ; absolute minimum active scanline
  123.     WORD    mtr_Compatibility    ; how this coexists with others
  124.     STRUCT    mtr_pad,32
  125.     STRUCT    mtr_MouseTicks,tpt_SIZEOF
  126.     STRUCT    mtr_DefaultViewPosition,tpt_SIZEOF    ; original, never changes
  127.     ULONG    mtr_PreferredModeID                ; for preferences
  128.     STRUCT    mtr_reserved,8        ; terminator
  129.     LABEL mtr_SIZEOF
  130.  
  131. * monitor compatibility
  132.  
  133. MCOMPAT_MIXED        equ  0    ; can share display with other MCOMPAT_MIXED
  134. MCOMPAT_SELF        equ  1    ; can share only within same monitor
  135. MCOMPAT_NOBODY        equ -1    ; only one viewport at a time
  136.  
  137. DISPLAYNAMELEN        equ 32
  138.  
  139.     STRUCTURE NameInfo,qh_SIZEOF
  140.     STRUCT    nif_Name,DISPLAYNAMELEN
  141.     STRUCT    nif_reserved,8        ; terminator
  142.     LABEL nif_SIZEOF
  143.  
  144.  
  145. ; The following VecInfo structure is PRIVATE, for our use only
  146. ; Touch these, and burn! (V39)
  147. ;
  148.  
  149.     STRUCTURE VecInfo,qh_SIZEOF
  150.     APTR    vec_Vec
  151.     APTR    vec_Data
  152.     UWORD    vec_Type
  153.     STRUCT    vec_pad,6
  154.     STRUCT    vec_reserved,8
  155.     LABEL vec_SIZEOF
  156.  
  157.     IFND    GRAPHICS_MODEID_I
  158.     include 'graphics/modeid.i'
  159.     ENDC
  160.  
  161.     ENDC    ; GRAPHICS_DISPLAYINFO_I
  162.