⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ramdac.h

📁 linux 下svgalib编的一个界面程序示例
💻 H
字号:
/* * ramdac.h: *  * Structures and functions for programmable ramdac support. *//* DacMethods type. */typedef struct {    int id;    char *name;    int flags;    /*     * The following function tries to detect the DAC;     * returns nonzero if succesful.     */    int (*probe) (void);    /*     * The following function initializes the DAC; it is usually     * called once after detection.     */    void (*initialize) (void);    /*     * The following function fills in dot clock limits, and     * mapping functions for the raw clock and horizontal     * CRTC timing, in the cardspecs structure.     *      * dacspeed is the max pixel clock in kHz the dac can handle,      * or 0 for default.     */    void (*qualifyCardSpecs) (CardSpecs * cardspecs, int dacspeed);    /*     * The following function saves RAMDAC registers into regs.     */    void (*saveState) (unsigned char *regs);    /*     * The following function sets the RAMDAC registers with the     * values from regs.     */    void (*restoreState) (const unsigned char *regs);    /*     * The following function sets up the RAMDAC register values     * for the desired color operating mode. If the DAC has     * programmable clocks, it should also program the clock.     */    void (*initializeState) (unsigned char *regs, int bpp, int colormode,			     int pixelclock);    int stateSize;		/* Size in bytes of the state (saved registers). */} DacMethods;/* IDs */#define NORMAL_DAC	1#define S3_GENDAC	2	/* S3-GenDAC (8-bit DAC). */#define S3_SDAC		3	/* S3-SDAC (16-bit DAC). */#define TRIO64		4	/* Trio64 internal DAC. */#define SIERRA_32K	5	/* Basic DAC with 32K color mode support. */#define ATT20C490	6	/* Standard AT&T 8-bit DAC with truecolor. */#define ATT20C498	7	/* Standard AT&T 16-bit DAC. */#define IC_WORKS	8	/* IC Works DAC (16-bit ZoomDac). */#define SIERRA_15025	9	/* Sierra SC15025/26 DAC. */#define IBMRGB52x	10	/* IBM RGB52x Palette DAC. */#define SIERRA_1148X	11	/* Sierra SC1148x DAC. *//* Flags. */#define DAC_HAS_PROGRAMMABLE_CLOCKS	0x1/* Color modes. */#define CLUT8_6		0#define CLUT8_8		1#define RGB16_555	2#define RGB16_565	3#define RGB24_888_B	4	/* 3 bytes per pixel, blue byte first. */#define RGB32_888_B	5	/* 4 bytes per pixel. *//* State size */#define MAX_DAC_STATE	0x101	/* IBMRGB has this many *//* RAMDAC methods */#ifdef INCLUDE_NORMAL_DACextern DacMethods __svgalib_normal_dac_methods;#endif#ifdef INCLUDE_S3_SDAC_DACextern DacMethods __svgalib_S3_SDAC_methods;#endif#ifdef INCLUDE_S3_GENDAC_DACextern DacMethods __svgalib_S3_GENDAC_methods;#endif#ifdef INCLUDE_S3_TRIO64_DACextern DacMethods __svgalib_Trio64_methods;#endif#ifdef INCLUDE_SIERRA_DACextern DacMethods __svgalib_Sierra_32K_methods;#endif#ifdef INCLUDE_SC15025_DACextern DacMethods __svgalib_SC15025_methods;#endif#ifdef INCLUDE_ATT20C490_DACextern DacMethods __svgalib_ATT20C490_methods;#endif#ifdef INCLUDE_ATT20C498_DACextern DacMethods __svgalib_ATT20C498_methods;#endif#ifdef INCLUDE_ICW_DACextern DacMethods __svgalib_ICW_methods;#endif#ifdef INCLUDE_IBMRGB52x_DACextern DacMethods __svgalib_IBMRGB52x_methods;#endif#ifdef INCLUDE_SC1148X_DACextern DacMethods __svgalib_SC1148X_methods;#endifextern DacMethods *__svgalib_all_dacs[];	/* List of all defined DACs. *//* Functions defined in ramdac.c. *//* * The following function probes the DACs in daclist, which must be * terminated by NULL. It returns the detected DAC if succesful, NULL * otherwise. The detected DAC is also initialized. */DacMethods *__svgalib_probeDacs(DacMethods ** daclist);/*  * Internal functions (not meant for export, but no such mechanism in C) */int __svgalib_setDacSpeed(int dacspeed, int defspeed);void __svgalib_Sierra_32K_savestate(unsigned char *regs);void __svgalib_Sierra_32K_restorestate(const unsigned char *regs);int __svgalib_att20c490_map_clock(int bpp, int pixelclock);int __svgalib_att20c490_map_horizontal_crtc(int bpp, int pixelclock, int htiming);#ifdef __OPTIMIZE__static __inline__ void _ramdac_dactocomm(void){    inb(PEL_IW);    inb(PEL_MSK);    inb(PEL_MSK);    inb(PEL_MSK);    inb(PEL_MSK);}static __inline__ void _ramdac_dactopel(void){    inb(PEL_IW);}static __inline__ unsigned char _ramdac_setcomm(unsigned char data){    _ramdac_dactocomm();    outb(PEL_MSK, data);    _ramdac_dactocomm();    return inb(PEL_MSK);}#elsevoid _ramdac_dactocomm(void);void _ramdac_dactopel(void);unsigned char _ramdac_setcomm(unsigned char data);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -