home *** CD-ROM | disk | FTP | other *** search
- #ifndef GRAPHICS_MONITOR_H
- #define GRAPHICS_MONITOR_H
- /*
- ** $Filename: graphics/monitor.h $
- ** $Release: 2.04 Includes, V37.4 $
- ** $Revision: 37.0 $
- ** $Date: 91/01/07 $
- **
- ** graphics monitorspec definintions
- **
- ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
- ** All Rights Reserved
- */
-
- #ifndef EXEC_SEMAPHORES_H
- #include <exec/semaphores.h>
- #endif
-
- #ifndef GRAPHICS_GFXNODES_H
- #include <graphics/gfxnodes.h>
- #endif
-
- #ifndef GRAPHICS_GFX_H
- #include <graphics/gfx.h>
- #endif
-
- struct MonitorSpec
- {
- struct ExtendedNode ms_Node;
- UWORD ms_Flags;
- LONG ratioh;
- LONG ratiov;
- UWORD total_rows;
- UWORD total_colorclocks;
- UWORD DeniseMaxDisplayColumn;
- UWORD BeamCon0;
- UWORD min_row;
- struct SpecialMonitor *ms_Special;
- UWORD ms_OpenCount;
- LONG (*ms_transform)();
- LONG (*ms_translate)();
- LONG (*ms_scale)();
- UWORD ms_xoffset;
- UWORD ms_yoffset;
- struct Rectangle ms_LegalView;
- LONG (*ms_maxoscan)(); /* maximum legal overscan */
- LONG (*ms_videoscan)(); /* video display overscan */
- UWORD DeniseMinDisplayColumn;
- ULONG DisplayCompatible;
- struct List DisplayInfoDataBase;
- struct SignalSemaphore DisplayInfoDataBaseSemaphore;
- ULONG ms_reserved00;
- ULONG ms_reserved01;
- };
-
- #define TO_MONITOR 0
- #define FROM_MONITOR 1
- #define STANDARD_XOFFSET 9
- #define STANDARD_YOFFSET 0
- #define REQUEST_NTSC 1
- #define REQUEST_PAL 2
- #define REQUEST_SPECIAL 4
- #define REQUEST_A2024 8
-
- #define DEFAULT_MONITOR_NAME "default.monitor"
- #define NTSC_MONITOR_NAME "ntsc.monitor"
- #define PAL_MONITOR_NAME "pal.monitor"
- #define STANDARD_MONITOR_MASK ( REQUEST_NTSC | REQUEST_PAL )
-
- #define STANDARD_NTSC_ROWS 262
- #define STANDARD_PAL_ROWS 312
- #define STANDARD_COLORCLOCKS 226
- #define STANDARD_DENISE_MAX 455
- #define STANDARD_DENISE_MIN 93
- #define STANDARD_NTSC_BEAMCON ( 0x0000 )
- #define STANDARD_PAL_BEAMCON ( DISPLAYPAL )
-
- #define SPECIAL_BEAMCON ( VARVBLANK | LOLDIS | VARVSYNC | VARBEAM | CSBLANK )
-
- #define MIN_NTSC_ROW 21
- #define MIN_PAL_ROW 29
- #define STANDARD_VIEW_X 0x81
- #define STANDARD_VIEW_Y 0x2C
- #define STANDARD_HBSTRT 0x06
- #define STANDARD_HSSTRT 0x0B
- #define STANDARD_HSSTOP 0x1C
- #define STANDARD_HBSTOP 0x2C
- #define STANDARD_VBSTRT 0x0122
- #define STANDARD_VSSTRT 0x02A6
- #define STANDARD_VSSTOP 0x03AA
- #define STANDARD_VBSTOP 0x1066
-
- #define VGA_COLORCLOCKS (STANDARD_COLORCLOCKS/2)
- #define VGA_TOTAL_ROWS (STANDARD_NTSC_ROWS*2)
- #define VGA_DENISE_MIN 59
- #define MIN_VGA_ROW 29
- #define VGA_HBSTRT 0x08
- #define VGA_HSSTRT 0x0E
- #define VGA_HSSTOP 0x1C
- #define VGA_HBSTOP 0x1E
- #define VGA_VBSTRT 0x0000
- #define VGA_VSSTRT 0x0153
- #define VGA_VSSTOP 0x0235
- #define VGA_VBSTOP 0x0CCD
-
- #define VGA_MONITOR_NAME "vga.monitor"
-
- #define VGA70_COLORCLOCKS (STANDARD_COLORCLOCKS/2)
- #define VGA70_TOTAL_ROWS 449
- #define VGA70_DENISE_MIN 59
- #define MIN_VGA70_ROW 35
- #define VGA70_HBSTRT 0x08
- #define VGA70_HSSTRT 0x0E
- #define VGA70_HSSTOP 0x1C
- #define VGA70_HBSTOP 0x1E
- #define VGA70_VBSTRT 0x0000
- #define VGA70_VSSTRT 0x02A6
- #define VGA70_VSSTOP 0x0388
- #define VGA70_VBSTOP 0x0F73
-
- #define VGA70_BEAMCON (SPECIAL_BEAMCON ^ VSYNCTRUE)
- #define VGA70_MONITOR_NAME "vga70.monitor"
-
- #define BROADCAST_HBSTRT 0x01
- #define BROADCAST_HSSTRT 0x06
- #define BROADCAST_HSSTOP 0x17
- #define BROADCAST_HBSTOP 0x27
- #define BROADCAST_VBSTRT 0x0000
- #define BROADCAST_VSSTRT 0x02A6
- #define BROADCAST_VSSTOP 0x054C
- #define BROADCAST_VBSTOP 0x1C40
- #define BROADCAST_BEAMCON ( LOLDIS | CSBLANK )
- #define RATIO_FIXEDPART 4
- #define RATIO_UNITY (1 << RATIO_FIXEDPART)
-
- struct AnalogSignalInterval
- {
- UWORD asi_Start;
- UWORD asi_Stop;
- };
-
- struct SpecialMonitor
- {
- struct ExtendedNode spm_Node;
- UWORD spm_Flags;
- int (*do_monitor)();
- int (*reserved1)();
- int (*reserved2)();
- int (*reserved3)();
- struct AnalogSignalInterval hblank;
- struct AnalogSignalInterval vblank;
- struct AnalogSignalInterval hsync;
- struct AnalogSignalInterval vsync;
- };
-
- #endif /* GRAPHICS_MONITOR_H */
-