118 lines
4.4 KiB
C
118 lines
4.4 KiB
C
/************************************************************************/
|
|
/* */
|
|
/* INIT_CX.H */
|
|
/* */
|
|
/* Nov 15 1993 (c) 1993, ATI Technologies Incorporated. */
|
|
/************************************************************************/
|
|
|
|
/********************** PolyTron RCS Utilities
|
|
|
|
$Revision: 1.6 $
|
|
$Date: 15 May 1996 16:35:10 $
|
|
$Author: RWolff $
|
|
$Log: S:/source/wnt/ms11/miniport/archive/init_cx.h_v $
|
|
*
|
|
* Rev 1.6 15 May 1996 16:35:10 RWolff
|
|
* Updated prototype for SetCurrentMode_cx() to allow reporting
|
|
* of failure on mode set.
|
|
*
|
|
* Rev 1.5 03 Feb 1995 15:16:24 RWOLFF
|
|
* Added prototypes for functions used in DCI support.
|
|
*
|
|
* Rev 1.4 11 Jan 1995 14:02:48 RWOLFF
|
|
* Added prototype for RestoreMemSize_cx().
|
|
*
|
|
* Rev 1.3 12 May 1994 11:14:36 RWOLFF
|
|
* Definitions and data structures used by new routine SetModeFromTable_cx()
|
|
*
|
|
* Rev 1.2 31 Mar 1994 15:05:38 RWOLFF
|
|
* Added prototype for SetPowerManagement_cx().
|
|
*
|
|
* Rev 1.1 03 Mar 1994 12:37:20 ASHANMUG
|
|
*
|
|
* Rev 1.0 31 Jan 1994 11:41:50 RWOLFF
|
|
* Initial revision.
|
|
*
|
|
* Rev 1.0 30 Nov 1993 18:32:58 RWOLFF
|
|
* Initial revision.
|
|
|
|
End of PolyTron RCS section *****************/
|
|
|
|
#ifdef DOC
|
|
INIT_CX.H - Header file for INIT_CX.C
|
|
|
|
#endif
|
|
|
|
|
|
/*
|
|
* Prototypes for functions supplied by INIT_CX.C
|
|
*/
|
|
extern void Initialize_cx(void);
|
|
extern VP_STATUS MapVideoMemory_cx(PVIDEO_REQUEST_PACKET RequestPacket, struct query_structure *QueryPtr);
|
|
extern VP_STATUS QueryPublicAccessRanges_cx(PVIDEO_REQUEST_PACKET RequestPacket);
|
|
extern VP_STATUS QueryCurrentMode_cx(PVIDEO_REQUEST_PACKET RequestPacket, struct query_structure *QueryPtr);
|
|
extern VP_STATUS QueryAvailModes_cx(PVIDEO_REQUEST_PACKET RequestPacket, struct query_structure *QueryPtr);
|
|
extern VP_STATUS SetCurrentMode_cx(struct query_structure *QueryPtr, struct st_mode_table *CrtTable);
|
|
extern void SetPalette_cx(PULONG lpPalette, USHORT StartIndex, USHORT Count);
|
|
extern void IdentityMapPalette_cx(void);
|
|
extern void ResetDevice_cx(void);
|
|
extern VP_STATUS SetPowerManagement_cx(ULONG DpmsState);
|
|
extern void RestoreMemSize_cx(void);
|
|
extern VP_STATUS ShareVideoMemory_cx(PVIDEO_REQUEST_PACKET RequestPacket, struct query_structure *QueryPtr);
|
|
extern void BankMap_cx(LONG BankRead, LONG BankWrite, PVOID Context);
|
|
|
|
#ifdef INCLUDE_INIT_CX
|
|
/*
|
|
* Private definitions used in INIT_CX.C
|
|
*/
|
|
|
|
/*
|
|
* Value to put in low byte of cx_bios_set_from_table.cx_bs_mode_select
|
|
* to indicate that this is an accelerator mode.
|
|
*/
|
|
#define CX_BS_MODE_SELECT_ACC 0x0080
|
|
|
|
/*
|
|
* Bit fields in cx_bios_set_from_table.cx_bs_flags
|
|
*/
|
|
#define CX_BS_FLAGS_MUX 0x0400
|
|
#define CX_BS_FLAGS_INTERLACED 0x0200
|
|
#define CX_BS_FLAGS_ALL_PARMS 0x0010
|
|
|
|
/*
|
|
* Value to put in high byte of cx_bios_set_from_table.cx_bs_v_sync_wid
|
|
* to force use of the pixel clock frequency in the cx_bs_dot_clock
|
|
* field rather than a divisor/selector pair.
|
|
*/
|
|
#define CX_BS_V_SYNC_WID_CLK 0xFF00
|
|
|
|
/*
|
|
* Mode table structure used in setting the video mode using CH=0x81
|
|
* AX=??00 BIOS call.
|
|
*
|
|
* The alignment of fields within the table expected by the BIOS
|
|
* does not match the default structure alignment of the Windows NT
|
|
* C compiler, so we must force byte alignment.
|
|
*/
|
|
#pragma pack(1)
|
|
struct cx_bios_set_from_table{
|
|
WORD cx_bs_reserved_1; /* Reserved */
|
|
WORD cx_bs_mode_select; /* Resolution to use */
|
|
WORD cx_bs_flags; /* Flags to indicate various conditions */
|
|
WORD cx_bs_h_tot_disp; /* Horizontal total and displayed values */
|
|
WORD cx_bs_h_sync_strt_wid; /* Horizontal sync start and width */
|
|
WORD cx_bs_v_total; /* Vertical total */
|
|
WORD cx_bs_v_disp; /* Vertical displayed */
|
|
WORD cx_bs_v_sync_strt; /* Vertical sync start */
|
|
WORD cx_bs_v_sync_wid; /* Vertical sync width */
|
|
WORD cx_bs_dot_clock; /* Pixel clock frequency to use */
|
|
WORD cx_bs_h_overscan; /* Horizontal overscan information */
|
|
WORD cx_bs_v_overscan; /* Vertical overscan information */
|
|
WORD cx_bs_overscan_8b; /* 8BPP and blue overscan colour */
|
|
WORD cx_bs_overscan_gr; /* Green and red overscan colour */
|
|
WORD cx_bs_reserved_2; /* Reserved */
|
|
};
|
|
#pragma pack()
|
|
|
|
#endif
|