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

📄 ramdac.c

📁 linux 下svgalib编的一个界面程序示例
💻 C
字号:
/* * ramdac.c: *  * This file contains RAMDAC definitions of type DacMethods for * various DACs. * * Note that the restoreState function is the only function that * should program the DAC registers; the initializeState function * should merely define the values that will be written in a * subsequent call of the restore funtion. */#include <stdlib.h>#include <stdio.h>#include "libvga.h"#include "timing.h"#include "vgaregs.h"#include "driver.h"		/* for __svgalib_driver_report */#include "ramdac.h"/* * The following function probes the DACs in daclist, which must be * terminated by NULL. It returns the detected DAC if successful, NULL * otherwise. The detected DAC is also initialized. */DacMethods *__svgalib_probeDacs(DacMethods ** dacs_to_probe){    /* Probe for a RAMDAC. */    for (;;) {	DacMethods *dac;	dac = *dacs_to_probe;	if (dac == NULL)	    /* None found. */	    return NULL;	if (dac->probe()) {	    dac->initialize();	    return dac;	}	dacs_to_probe++;    }}int __svgalib_setDacSpeed(int dacspeed, int defspeed){    if (!dacspeed) {	if (__svgalib_driver_report)	    printf("svgalib: Assuming %dMHz DAC.\n", defspeed / 1000);	dacspeed = defspeed;    } else {	if (__svgalib_driver_report)	    printf("svgalib: DAC speed set to %dMHz.\n", dacspeed / 1000);    }    return dacspeed;}#ifndef __OPTIMIZE__	/* otherwise inlined from ramdac.h */void _ramdac_dactocomm(void){    inb(PEL_IW);    inb(PEL_MSK);    inb(PEL_MSK);    inb(PEL_MSK);    inb(PEL_MSK);}void _ramdac_dactopel(void){    inb(PEL_IW);}unsigned char _ramdac_setcomm(unsigned char data){    _ramdac_dactocomm();    outb(PEL_MSK, data);    _ramdac_dactocomm();    return inb(PEL_MSK);}#endif/* * List of all DACs. */DacMethods *__svgalib_all_dacs[] ={#ifdef INCLUDE_NORMAL_DAC    &__svgalib_normal_dac_methods,#endif#ifdef INCLUDE_S3_SDAC_DAC    &__svgalib_S3_SDAC_methods,#endif#ifdef INCLUDE_S3_GENDAC_DAC    &__svgalib_S3_GENDAC_methods,#endif#ifdef INCLUDE_S3_TRIO64_DAC    &__svgalib_Trio64_methods,#endif#ifdef INCLUDE_SIERRA_DAC    &__svgalib_Sierra_32K_methods,#endif#ifdef INCLUDE_SC15025_DAC    &__svgalib_SC15025_methods,#endif#ifdef INCLUDE_ATT20C490_DAC    &__svgalib_ATT20C490_methods,#endif#ifdef INCLUDE_ATT20C498_DAC    &__svgalib_ATT20C498_methods,#endif#ifdef INCLUDE_ICW_DAC    &__svgalib_ICW_methods,#endif#ifdef INCLUDE_SC1148X_DAC    &__svgalib_SC1148X_methods,#endif    NULL};

⌨️ 快捷键说明

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