59 lines
1.4 KiB
C
59 lines
1.4 KiB
C
/* Copyright 1998 (c) by Salvador Eduardo Tropea
|
|
This code is part of the FreeBE/AF project you can use it under the
|
|
terms and conditions of the FreeBE/AF project. */
|
|
/***** Flags used in the video mode structure *****/
|
|
/* b0-b1 */
|
|
#define NHSync 1
|
|
#define NVSync 2
|
|
#define PHSync 0
|
|
#define PVSync 0
|
|
/* b2-b3 */
|
|
#define DoubleScan 4
|
|
#define TripleScan 8
|
|
#define QuadrupleScan 0xC
|
|
/* b4-b6 */
|
|
#define BPP8 0x00
|
|
#define BPP15 0x10
|
|
#define BPP16 0x20
|
|
#define BPP24 0x30
|
|
/* b7 */
|
|
#define Interlaced 0x80
|
|
/* b31 */
|
|
#define HaveAccel2D 0x80000000
|
|
/* This mask erase all the flags passed in the CRTC structure */
|
|
#define InternalMask 0xFFFFFF70
|
|
|
|
#define ExtractBPP(a) ((a & 0x70) >> 4)
|
|
#define is8BPP 0
|
|
#define is15BPP 1
|
|
#define is16BPP 2
|
|
#define is24BPP 3
|
|
|
|
/**** Video mode structure ****/
|
|
typedef struct {
|
|
int flags;
|
|
ushort hDisplay, hSyncStart, hSyncEnd, hTotal;
|
|
ushort vDisplay, vSyncStart, vSyncEnd, vTotal;
|
|
ushort minBytesPerScan;
|
|
uchar ClockType;
|
|
uchar ClockValHigh, ClockValLow;
|
|
} VideoModeStr;
|
|
|
|
extern VideoModeStr *SupportedVideoModes[];
|
|
extern int NumSupportedVideoModes;
|
|
extern short SupportedVideoModesNums[];
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
void CaptureSVGAStart(void);
|
|
void Set640x480x8bpp(void);
|
|
int GetBestPitchFor(int BytesPerScan, int BytesPerPixel);
|
|
void SetVideoModeH(VideoModeStr *modeInfo, int width, int bpp);
|
|
void SetTextModeVGA(void);
|
|
void ReadVSync(int *start, int *end);
|
|
void SetVSync(int start, int end);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|