亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vga.c

?? This software was done in part for a textbook on AI I ve written called _The Basis of AI_ (tentative
?? C
?? 第 1 頁 / 共 2 頁
字號:
#if defined(__TURBOC__)extern "C" unsigned char inportb(int port_id);extern "C" void outportb(int portid, unsigned char value);#define _PORT_DEFS#endif#include <dos.h>#include <conio.h>#if defined(__EMX__)#include <sys/hw.h>#define port_out(value,port) _outp32(port,value)#define port_in(port)  _inp32(port)#elif defined(__TURBOC__) || defined(__GNUG__)#define port_out(value,port) outportb(port,value)#define port_in(port)  inportb(port)#else#define port_out(value,port) outp(port,value)#define port_in(port)  inp(port)#endif#if defined (__ZTC__) || defined(__TURBOC__)typedef unsigned char far* VIDEO_PTR;#elsetypedef unsigned char* VIDEO_PTR;#endif/*  * basic graphics routines in VGA mode 640x480x16 * (part of this code is based on "VGAlib" by Tommy Frandsen) */static VIDEO_PTR VIDEO;static int LINE_BYTES;static int VGA_WIDTH;static int VGA_MAX_X;static int VGA_HEIGHT;static int VGA_MAX_Y;static int VGA_DEPTH;#define FONT_SIZE  0x2000/* VGA index register ports */#define CRT_IC  0x3D4   /* CRT Controller Index - color emulation */#define CRT_IM  0x3B4   /* CRT Controller Index - mono emulation */#define ATT_IW  0x3C0   /* Attribute Controller Index & Data Write Register */#define GRA_I   0x3CE   /* Graphics Controller Index */#define SEQ_I   0x3C4   /* Sequencer Index */#define PEL_IW  0x3C8   /* PEL Write Index */#define PEL_IR  0x3C7   /* PEL Read Index *//* VGA data register ports */#define CRT_DC  0x3D5   /* CRT Controller Data Register - color emulation */#define CRT_DM  0x3B5   /* CRT Controller Data Register - mono emulation */#define ATT_R   0x3C1   /* Attribute Controller Data Read Register */#define GRA_D   0x3CF   /* Graphics Controller Data Register */#define SEQ_D   0x3C5   /* Sequencer Data Register */#define MIS_R   0x3CC   /* Misc Output Read Register */#define MIS_W   0x3C2   /* Misc Output Write Register */#define IS1_RC  0x3DA   /* Input Status Register 1 - color emulation */#define IS1_RM  0x3BA   /* Input Status Register 1 - mono emulation */#define PEL_D   0x3C9   /* PEL Data Register *//* VGA indexes max counts */#define CRT_C   24      /* 24 CRT Controller Registers */#define ATT_C   21      /* 21 Attribute Controller Registers */#define GRA_C   9       /* 9  Graphics Controller Registers */#define SEQ_C   5       /* 5  Sequencer Registers */#define MIS_C   1       /* 1  Misc Output Register *//* VGA registers saving indexes */#define CRT     0               /* CRT Controller Registers start */#define ATT     CRT+CRT_C       /* Attribute Controller Registers start */#define GRA     ATT+ATT_C       /* Graphics Controller Registers start */#define SEQ     GRA+GRA_C       /* Sequencer Registers */#define MIS     SEQ+SEQ_C       /* General Registers */#define END     MIS+MIS_C       /* last *//* variables used to shift between monchrome and color emulation */static int CRT_I;		/* current CRT index register address */static int CRT_D;		/* current CRT data register address */static int IS1_R;		/* current input status register address */static int color_text;		/* true if color text emulation *//* BIOS mode 12h - 640x480x16 */static char g640x480x16_regs[60] = {  0x5F,0x4F,0x50,0x82,0x54,0x80,0x0B,0x3E,0x00,0x40,0x00,0x00,  0x00,0x00,0x00,0x00,0xEA,0x8C,0xDF,0x28,0x00,0xE7,0x04,0xE3,  0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,  0x0C,0x0D,0x0E,0x0F,0x01,0x00,0x0F,0x00,0x00,  0x00,0x0F,0x00,0x20,0x00,0x00,0x05,0x0F,0xFF,  0x03,0x01,0x0F,0x00,0x06,  0xE3};static char text_regs[60];   /* VGA registers for saved text mode *//* saved text mode palette values */static char text_red[256];static char text_green[256];static char text_blue[256];static int initialized = 0;static char font_buf1[FONT_SIZE];  /* saved font data - plane 2 */static char font_buf2[FONT_SIZE];  /* saved font data - plane 3 */static void set_regs(char regs[]){    int i;    /* disable video */    port_in(IS1_R);	    port_out(0x00, ATT_IW);    /* update misc output register */    port_out(regs[MIS], MIS_W);    /* synchronous reset on */    port_out(0x00,SEQ_I);    port_out(0x01,SEQ_D);	    /* write sequencer registers */    for (i = 1; i < SEQ_C; i++) {	port_out(i, SEQ_I);	port_out(regs[SEQ+i], SEQ_D);    }    /* synchronous reset off */    port_out(0x00, SEQ_I);    port_out(0x03, SEQ_D);	    /* deprotect CRT registers 0-7 */    port_out(0x11, CRT_I);		    port_out(port_in(CRT_D)&0x7F, CRT_D);    /* write CRT registers */    for (i = 0; i < CRT_C; i++) {	port_out(i, CRT_I);	port_out(regs[CRT+i], CRT_D);    }    /* write graphics controller registers */    for (i = 0; i < GRA_C; i++) {	port_out(i, GRA_I);	port_out(regs[GRA+i], GRA_D);    }    /* write attribute controller registers */    for (i = 0; i < ATT_C; i++) {	port_in(IS1_R);   /* reset flip-flop */	port_out(i, ATT_IW);	port_out(regs[ATT+i],ATT_IW);    }}static void vga_initialize(){    int  i, j;    int mem_fd = -1;  /* /dev/mem file descriptor		     */    if (initialized) return;    initialized = 1;#if defined(__EMX__)    _portaccess(0x300,0x3FF);    VIDEO = (VIDEO_PTR)_memaccess(0xa0000,0xaffff,1);#elif defined(__GNUC__)    VIDEO = (VIDEO_PTR)0xd0000000;#elif defined(__ZTC__)    VIDEO = (VIDEO_PTR)_x386_mk_protected_ptr(0xa0000);#elif defined(__WATCOMC__)    VIDEO = (VIDEO_PTR)0xa0000;#else    VIDEO = (VIDEO_PTR)MK_FP(0xa000,0);#endif    /* color or monochrome text emulation? */    color_text = port_in(MIS_R)&0x01;    /* chose registers for color/monochrome emulation */    if (color_text) {	CRT_I = CRT_IC;	CRT_D = CRT_DC;	IS1_R = IS1_RC;    } else {	CRT_I = CRT_IM;	CRT_D = CRT_DM;	IS1_R = IS1_RM;    }    /* disable video */    port_in(IS1_R);	    port_out(0x00, ATT_IW);    /* save text mode palette - first select palette index 0 */    port_out(0, PEL_IR);    /* read RGB components - index is autoincremented */    for(i = 0; i < 256; i++) {	for(j = 0; j < 10; j++) ;   /* delay (minimum 240ns) */	text_red[i] = port_in(PEL_D);	for(j = 0; j < 10; j++) ;   /* delay (minimum 240ns) */	text_green[i] = port_in(PEL_D);	for(j = 0; j < 10; j++) ;   /* delay (minimum 240ns) */	text_blue[i] = port_in(PEL_D);    }    /* save text mode VGA registers */    for (i = 0; i < CRT_C; i++) {	 port_out(i, CRT_I);	 text_regs[CRT+i] = port_in(CRT_D);    }    for (i = 0; i < ATT_C; i++) {      	 port_in(IS1_R);         port_out(i, ATT_IW);         text_regs[ATT+i] = port_in(ATT_R);    }    for (i = 0; i < GRA_C; i++) {       	 port_out(i, GRA_I);       	 text_regs[GRA+i] = port_in(GRA_D);    }    for (i = 0; i < SEQ_C; i++) {       	 port_out(i, SEQ_I);       	 text_regs[SEQ+i] = port_in(SEQ_D);    }    text_regs[MIS] = port_in(MIS_R);    /* shift to color emulation */    CRT_I = CRT_IC;    CRT_D = CRT_DC;    IS1_R = IS1_RC;    port_out(port_in(MIS_R)|0x01, MIS_W);    /* save font data - first select a 16 color graphics mode */    set_regs(g640x480x16_regs);    /* save font data in plane 2 */    port_out(0x04, GRA_I);    port_out(0x02, GRA_D);    for(i = 0; i < FONT_SIZE; i++) font_buf1[i] = VIDEO[i];    /* save font data in plane 3 */    port_out(0x04, GRA_I);    port_out(0x03, GRA_D);    for(i = 0; i < FONT_SIZE; i++) font_buf2[i] = VIDEO[i];}void vga_setpal(int index, int red, int green, int blue){    volatile int i;    /* select palette register */    port_out(index, PEL_IW);    /* write RGB components */    for(i = 0; i < 10; i++) ;   /* delay (minimum 240ns) */    port_out(red/4, PEL_D);    for(i = 0; i < 10; i++) ;   /* delay (minimum 240ns) */    port_out(green/4, PEL_D);    for(i = 0; i < 10; i++) ;   /* delay (minimum 240ns) */    port_out(blue/4, PEL_D);}void vga_getpal(int index, int *red, int *green, int *blue){    int i;    /* select palette register */    port_out(index, PEL_IR);    /* read RGB components */    for(i = 0; i < 10; i++) ;   /* delay (minimum 240ns) */    *red = 4*(int) port_in(PEL_D);    for(i = 0; i < 10; i++) ;   /* delay (minimum 240ns) */    *green = 4*(int) port_in(PEL_D);    for(i = 0; i < 10; i++) ;   /* delay (minimum 240ns) */    *blue = 4*(int) port_in(PEL_D);}void vga_clear(int c){  register VIDEO_PTR p;  register VIDEO_PTR last;  /* set color c */  port_out(c, GRA_I );  port_out(0, GRA_D );  /* set mode 0 */  port_out(0x03, GRA_I );  port_out(0, GRA_D );  /* write to all bits */  port_out(0x08, GRA_I );  port_out(0xFF, GRA_D );  last  = VIDEO + VGA_HEIGHT*LINE_BYTES;  for(p = VIDEO; p < last; p++)  *p = 0;}void vga_init(int mode){   // mode = 0: Text, 1: 640x480x16      int i;    vga_initialize();        if (mode == 0)  // TEXT      {         //vga_clear(0);        /* restore font data - first select a 16 color graphics mode */        set_regs(g640x480x16_regs);	/* disable Set/Reset Register */    	port_out(0x01, GRA_I );    	port_out(0x00, GRA_D );        /* restore font data in plane 2 - necessary for all VGA's */    	port_out(0x02, SEQ_I );    	port_out(0x04, SEQ_D );        for(i = 0; i < FONT_SIZE; i++) VIDEO[i] = font_buf1[i];        /* restore font data in plane 3 - necessary for Trident VGA's */    	port_out(0x02, SEQ_I );    	port_out(0x08, SEQ_D );        for(i = 0; i < FONT_SIZE; i++) VIDEO[i] = font_buf2[i];        /* change register adresses if monochrome text mode */        if (!color_text) {            CRT_I = CRT_IM;            CRT_D = CRT_DM;            IS1_R = IS1_RM;            port_out(port_in(MIS_R)&0xFE, MIS_W);        }	/* restore text mode VGA registers */    	set_regs(text_regs);        /* restore saved palette */        for(i = 0; i < 256; i++)            vga_setpal(i, text_red[i], text_green[i], text_blue[i]);        VGA_WIDTH = 80;        VGA_HEIGHT= 25;      }    else // graphics mode      {         /* shift to color emulation */        CRT_I = CRT_IC;        CRT_D = CRT_DC;        IS1_R = IS1_RC;        port_out(port_in(MIS_R)|0x01, MIS_W);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
懂色av一区二区三区免费看| 亚洲综合在线视频| 国产一区二区在线影院| 日韩精品在线网站| 国产成人福利片| 国产精品蜜臀在线观看| 99精品视频中文字幕| 亚洲精品自拍动漫在线| 欧美日韩国产综合草草| 蜜桃久久久久久久| 国产日韩精品久久久| 91在线观看高清| 日韩中文字幕一区二区三区| 久久综合色天天久久综合图片| 丰满白嫩尤物一区二区| 亚洲精品免费播放| 欧美精品自拍偷拍| 国产精品亚洲视频| 一卡二卡三卡日韩欧美| 欧美第一区第二区| av男人天堂一区| 日韩福利视频导航| 中文字幕免费在线观看视频一区| 91丝袜国产在线播放| 日韩高清不卡在线| 国产精品超碰97尤物18| 欧美男男青年gay1069videost| 国精产品一区一区三区mba视频| 国产精品看片你懂得| 欧美乱妇20p| 成人少妇影院yyyy| 日本aⅴ亚洲精品中文乱码| 中文字幕av资源一区| 777亚洲妇女| 97aⅴ精品视频一二三区| 蜜臀精品久久久久久蜜臀| 成人欧美一区二区三区| 日韩欧美一级二级三级久久久| 成人深夜在线观看| 久久电影网站中文字幕 | 高清不卡一区二区在线| 亚洲影院在线观看| 国产精品美日韩| 欧美草草影院在线视频| 91久久精品国产91性色tv| 国产一区高清在线| 美女性感视频久久| 亚洲图片欧美一区| 成人欧美一区二区三区白人| 久久久99精品久久| 欧美一区二区成人| 欧美性xxxxxx少妇| 972aa.com艺术欧美| 国产精品1024| 激情文学综合插| 免费一区二区视频| 亚洲成a人在线观看| 亚洲裸体在线观看| 国产精品久久久久久久裸模| 欧美精品一区二区三区在线播放| 欧美日本乱大交xxxxx| 一本色道亚洲精品aⅴ| 国产不卡在线播放| 国产精品 日产精品 欧美精品| 美女一区二区久久| 捆绑紧缚一区二区三区视频| 日韩在线一区二区三区| 午夜一区二区三区在线观看| 亚洲欧美日韩在线| 亚洲色图丝袜美腿| 1000部国产精品成人观看| 国产日韩欧美不卡| 国产精品久久毛片av大全日韩| 国产欧美一区二区在线观看| 久久女同性恋中文字幕| 久久色.com| 国产视频一区二区在线观看| 久久九九久久九九| 欧美国产禁国产网站cc| 国产蜜臀97一区二区三区| 国产日韩av一区| 国产精品美女www爽爽爽| 国产精品国产三级国产aⅴ无密码| 国产精品久久久久久久久久免费看 | 麻豆成人免费电影| 国内外成人在线| 国产一区二区三区四区五区入口 | 欧美成人精品1314www| 精品日韩在线观看| 久久久一区二区三区| 国产欧美一区二区精品久导航| 中文字幕欧美国产| 亚洲一区二区三区激情| 天天射综合影视| 久久国产精品区| 成人午夜免费av| 在线视频国内一区二区| 欧美美女网站色| 久久久午夜电影| 亚洲免费观看在线视频| 三级在线观看一区二区| 久草这里只有精品视频| 成人性视频免费网站| 欧美综合久久久| 日韩一区二区视频| 中文字幕第一区第二区| 悠悠色在线精品| 久草这里只有精品视频| 97se亚洲国产综合自在线不卡| 欧美久久久一区| 国产欧美一区二区三区鸳鸯浴| 亚洲精品视频一区| 美洲天堂一区二卡三卡四卡视频| 成人在线视频一区二区| 欧美午夜寂寞影院| 久久久99精品免费观看| 亚洲国产视频直播| 国产99精品国产| 欧美精品三级日韩久久| 国产日韩欧美a| 日韩av一级电影| 91在线观看地址| 久久一区二区视频| 亚洲成人激情自拍| www.亚洲色图| 精品裸体舞一区二区三区| 亚洲欧美精品午睡沙发| 九一九一国产精品| 欧美主播一区二区三区美女| 国产亚洲自拍一区| 免费观看在线色综合| 91丨九色丨黑人外教| 久久久美女毛片| 日本欧美久久久久免费播放网| 97se狠狠狠综合亚洲狠狠| 久久精品一区二区| 日本亚洲欧美天堂免费| 色老综合老女人久久久| 国产日韩精品一区二区三区在线| 三级久久三级久久| 日本精品一区二区三区四区的功能| 久久精品欧美一区二区三区麻豆| 日本不卡1234视频| 欧美在线观看视频一区二区三区 | 亚洲美腿欧美偷拍| 床上的激情91.| 精品88久久久久88久久久| 五月婷婷色综合| 色国产综合视频| 中文字幕在线一区免费| 成人午夜视频网站| 欧美经典一区二区| 国产一区不卡在线| 欧美xxxx老人做受| 麻豆国产精品官网| 日韩久久久久久| 日本成人在线看| 欧美久久一二区| 亚洲国产成人高清精品| 色婷婷激情久久| 亚洲综合视频在线观看| 欧美羞羞免费网站| 一区二区三区在线观看动漫| 91污片在线观看| 亚洲少妇最新在线视频| 91麻豆成人久久精品二区三区| 国产精品二三区| 91丨国产丨九色丨pron| 亚洲人成网站影音先锋播放| 91丨porny丨在线| 一区二区成人在线视频| 欧美视频第二页| 偷拍亚洲欧洲综合| 日韩欧美成人激情| 国产一区二区在线视频| 欧美国产综合一区二区| 成人影视亚洲图片在线| 成人免费在线观看入口| 欧美性xxxxx极品少妇| 天堂蜜桃91精品| 日韩你懂的在线观看| 国产不卡在线一区| 亚洲激情一二三区| 欧美高清激情brazzers| 精品一区二区三区免费观看| 国产亚洲一二三区| 99久久婷婷国产综合精品| 一区二区三区高清不卡| 91精品国产欧美日韩| 精品综合久久久久久8888| 国产亚洲午夜高清国产拍精品| 91视频在线观看免费| 五月天激情小说综合| 26uuu国产电影一区二区| 成人激情动漫在线观看| 午夜视频一区二区| 欧美国产激情二区三区 | 欧美变态口味重另类| 粉嫩久久99精品久久久久久夜| 亚洲精品高清在线观看|