home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Pascal / MAXONPASCAL2.DMS / in.adf / INCLUDE / graphics / monitor.h < prev    next >
Encoding:
Text File  |  1994-07-25  |  4.3 KB  |  171 lines

  1. {$if not def GRAPHICS_MONITOR_H} CONST GRAPHICS_MONITOR_H=0;
  2.  
  3. { ********************************************************************
  4.   ** KickPascal-Include-Datei "graphics/monitor.h" zu Kickstart 3.0 **
  5.   ******************************************************************** }
  6.  
  7. TYPE p_SpecialMonitor = ^SpecialMonitor;
  8. TYPE p_MonitorSpec = ^MonitorSpec;
  9. TYPE p_AnalogSignalInterval = ^AnalogSignalInterval;
  10.  
  11. {$if not def EXEC_SEMAPHORES_H;incl "exec/semaphores.h";endif}
  12. {$if not def GRAPHICS_GFXNODES_H;incl "graphics/gfxnodes.h";endif}
  13. {$if not def GRAPHICS_GFX_H;incl "graphics/gfx.h";endif}
  14. {$if not def HARDWARE_CUSTOM_H;incl "hardware/custom.h";endif}
  15.  
  16.  
  17. TYPE MonitorSpec = RECORD
  18.  ms_Node             : ExtendedNode;
  19.  ms_Flags            : Word;
  20.  ratioh              : LongInt;
  21.  ratiov              : LongInt;
  22.  total_rows          : Word;
  23.  total_colorclocks   : Word;
  24.  DeniseMaxDisplayColumn : Word;
  25.  BeamCon0            : Word;
  26.  min_row             : Word;
  27.  ms_Special          : p_SpecialMonitor;
  28.  ms_OpenCount        : Word;
  29.  ms_transform        : Ptr;
  30.  ms_translate        : Ptr;
  31.  ms_scale            : Ptr;
  32.  ms_xoffset          : Word;
  33.  ms_yoffset          : Word;
  34.  ms_LegalView        : Rectangle;
  35.  ms_maxoscan         : Ptr;
  36.  ms_videoscan        : Ptr;
  37.  DeniseMinDisplayColumn : Word;
  38.  DisplayCompatible   : Long;
  39.  DisplayInfoDataBase : List;
  40.  DisplayInfoDataBaseSemaphore : SignalSemaphore;
  41.  ms_MrgCop           : Ptr;
  42.  ms_LoadView         : Ptr;
  43.  ms_KillView         : Ptr;
  44. END;
  45.  
  46. CONST
  47.  TO_MONITOR       = 0;
  48.  FROM_MONITOR     = 1;
  49.  STANDARD_XOFFSET = 9;
  50.  STANDARD_YOFFSET = 0;
  51.  
  52.  MSB_REQUEST_NTSC    = 0;
  53.  MSB_REQUEST_PAL     = 1;
  54.  MSB_REQUEST_SPECIAL = 2;
  55.  MSB_REQUEST_A2024   = 3;
  56.  MSB_DOUBLE_SPRITES  = 4;
  57.  MSF_REQUEST_NTSC    = $1;
  58.  MSF_REQUEST_PAL     = $2;
  59.  MSF_REQUEST_SPECIAL = $4;
  60.  MSF_REQUEST_A2024   = $8;
  61.  MSF_DOUBLE_SPRITES  = $10;
  62.  
  63. { alte V37 Namen, nicht mehr benutzen }
  64.  
  65.  REQUEST_NTSC     = 1;
  66.  REQUEST_PAL      = 2;
  67.  REQUEST_SPECIAL  = 4;
  68.  REQUEST_A2024    = 8;
  69.  
  70.  
  71. CONST
  72.  DEFAULT_MONITOR_NAME = "default.monitor";
  73.  NTSC_MONITOR_NAME    = "ntsc.monitor";
  74.  PAL_MONITOR_NAME     = "pal.monitor";
  75.  STANDARD_MONITOR_MASK = (REQUEST_NTSC or REQUEST_PAL);
  76.  
  77.  
  78. CONST
  79.  STANDARD_NTSC_ROWS    = 262;
  80.  STANDARD_PAL_ROWS     = 312;
  81.  STANDARD_COLORCLOCKS  = 226;
  82.  STANDARD_DENISE_MAX   = 455;
  83.  STANDARD_DENISE_MIN   = 93;
  84.  STANDARD_NTSC_BEAMCON = $0000;
  85.  STANDARD_PAL_BEAMCON  = DISPLAYPAL;
  86.  
  87.  SPECIAL_BEAMCON  = (VARVBLANK or LOLDIS or VARVSYNC or VARBEAM or CSBLANK or VSYNCTRUE);
  88.  
  89. CONST
  90.  MIN_NTSC_ROW    = 21;
  91.  MIN_PAL_ROW     = 29;
  92.  STANDARD_VIEW_X = $81;
  93.  STANDARD_VIEW_Y = $2C;
  94.  STANDARD_HBSTRT = $06;
  95.  STANDARD_HSSTRT = $0B;
  96.  STANDARD_HSSTOP = $1C;
  97.  STANDARD_HBSTOP = $2C;
  98.  STANDARD_VBSTRT = $0122;
  99.  STANDARD_VSSTRT = $02A6;
  100.  STANDARD_VSSTOP = $03AA;
  101.  STANDARD_VBSTOP = $1066;
  102.  
  103. CONST
  104.  VGA_COLORCLOCKS = 113; { = STANDARD_COLORCLOCKS/2 }
  105.  VGA_TOTAL_ROWS  = (STANDARD_NTSC_ROWS*2);
  106.  VGA_DENISE_MIN  = 59;
  107.  MIN_VGA_ROW     = 29;
  108.  VGA_HBSTRT      = $08;
  109.  VGA_HSSTRT      = $0E;
  110.  VGA_HSSTOP      = $1C;
  111.  VGA_HBSTOP      = $1E;
  112.  VGA_VBSTRT      = $0000;
  113.  VGA_VSSTRT      = $0153;
  114.  VGA_VSSTOP      = $0235;
  115.  VGA_VBSTOP      = $0CCD;
  116.  
  117. CONST
  118.  VGA_MONITOR_NAME = "vga.monitor";
  119.  
  120. CONST
  121.  VGA70_COLORCLOCKS = 113; { = STANDARD_COLORCLOCKS/2 }
  122.  VGA70_TOTAL_ROWS  = 449;
  123.  VGA70_DENISE_MIN  = 59;
  124.  MIN_VGA70_ROW     = 35;
  125.  VGA70_HBSTRT      = $08;
  126.  VGA70_HSSTRT      = $0E;
  127.  VGA70_HSSTOP      = $1C;
  128.  VGA70_HBSTOP      = $1E;
  129.  VGA70_VBSTRT      = $0000;
  130.  VGA70_VSSTRT      = $02A6;
  131.  VGA70_VSSTOP      = $0388;
  132.  VGA70_VBSTOP      = $0F73;
  133.  
  134. CONST
  135.  VGA70_BEAMCON = $1a8a; { =SPECIAL_BEAMCON EOR VSYNCTRUE}
  136.  VGA70_MONITOR_NAME = "vga70.monitor";
  137.  
  138. CONST
  139.  BROADCAST_HBSTRT  = $01;
  140.  BROADCAST_HSSTRT  = $06;
  141.  BROADCAST_HSSTOP  = $17;
  142.  BROADCAST_HBSTOP  = $27;
  143.  BROADCAST_VBSTRT  = $0000;
  144.  BROADCAST_VSSTRT  = $02A6;
  145.  BROADCAST_VSSTOP  = $054C;
  146.  BROADCAST_VBSTOP  = $1C40;
  147.  BROADCAST_BEAMCON = (LOLDIS or CSBLANK);
  148.  RATIO_FIXEDPART   = 4;
  149.  RATIO_UNITY       = $10;
  150.  
  151.  
  152. TYPE AnalogSignalInterval = RECORD
  153.  asi_Start : Word;
  154.  asi_Stop  : Word;
  155. END;
  156.  
  157. TYPE SpecialMonitor = RECORD
  158.  spm_Node   : ExtendedNode;
  159.  spm_Flags  : Word;
  160.  do_monitor : Ptr;
  161.  reserved1  : Ptr;
  162.  reserved2  : Ptr;
  163.  reserved3  : Ptr;
  164.  hblank     : AnalogSignalInterval;
  165.  vblank     : AnalogSignalInterval;
  166.  hsync      : AnalogSignalInterval;
  167.  vsync      : AnalogSignalInterval;
  168. END;
  169.  
  170. {$endif}
  171.