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

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

?? video.c

?? 事件驅動程序設計很好的框架
?? C
字號:
/****************************************************************************** Product:  VGA screen output* Last Updated for Version: 4.0.00* Date of the Last Update:  Apr 07, 2008**                    Q u a n t u m     L e a P s*                    ---------------------------*                    innovating embedded systems** Copyright (C) 2002-2008 Quantum Leaps, LLC. All rights reserved.** This software may be distributed and modified under the terms of the GNU* General Public License version 2 (GPL) as published by the Free Software* Foundation and appearing in the file GPL.TXT included in the packaging of* this file. Please note that GPL Section 2[b] requires that all works based* on this software must also be made publicly available under the terms of* the GPL ("Copyleft").** Alternatively, this software may be distributed and modified under the* terms of Quantum Leaps commercial licenses, which expressly supersede* the GPL and are specifically designed for licensees interested in* retaining the proprietary status of their code.** Contact information:* Quantum Leaps Web site:  http://www.quantum-leaps.com* e-mail:                  info@quantum-leaps.com*****************************************************************************/#include "qp_port.h"#include "video.h"#include <conio.h>#include <dos.h>#define VIDEO_BASE   0xB800#define VIDEO_WIDTH  80#define VIDEO_HEIGHT 25/*..........................................................................*/void Video_clearScreen(uint8_t bgColor) {    clrscr();    Video_clearRect(0,  0, VIDEO_WIDTH, VIDEO_HEIGHT, bgColor);}/*..........................................................................*/void Video_clearRect(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2,                     uint8_t bgColor){    uint8_t far *pscrX = (uint8_t far *)MK_FP(VIDEO_BASE,                                   (uint16_t)(((y1 * VIDEO_WIDTH) + x1) * 2));    x2 -= x1;    y2 -= y1;    for (x1 = 0; x1 < x2; ++x1, pscrX += 2) {                /* loop over x */        uint8_t far *pscrXY = pscrX;        for (y1 = 0; y1 < y2; ++y1, pscrXY += 2*VIDEO_WIDTH) {            pscrXY[0] = 0x20;                     /* Put space in video RAM */            pscrXY[1] = bgColor;        /* Put video attribute in video RAM */        }    }}/*..........................................................................*/void Video_printStrAt(uint8_t x, uint8_t y, uint8_t color,                      char const *str){                               /* calculate position on the video RAM (VGA) */    uint8_t far *pscr = (uint8_t far *)MK_FP(VIDEO_BASE,                                     (uint16_t)(((y * VIDEO_WIDTH) + x) * 2));    while (*str != (uint8_t)0) {        pscr[0] = *str++;                     /* Put character in video RAM */        pscr[1] &= ~0x0F;                     /* clear the foreground color */        pscr[1] |= color;               /* Put video attribute in video RAM */        pscr += 2;    }}/*..........................................................................*/void Video_printNumAt(uint8_t x, uint8_t y, uint8_t color, uint32_t num) {    uint8_t far *pscr = (uint8_t far *)MK_FP(VIDEO_BASE,                                     (uint16_t)(((y * VIDEO_WIDTH) + x) * 2));    pscr[3*2] = (char)('0' + (num % 10));    pscr[3*2 + 1] |= color;    num /= 10;    pscr[2*2] = (char)('0' + (num % 10));    pscr[2*2 + 1] |= color;    num /= 10;    if (num == 0) {        if (pscr[2*2] == '0') {            pscr[2*2] = 0x20;        }    }    else {        pscr[1*2] = (char)('0' + (num % 10));        pscr[1*2 + 1] |= color;        num /= 10;        if (num == 0) {            if (pscr[1*2] == '0') {                pscr[1*2] = 0x20;            }        }        else {            pscr[0] = (char)('0' + num % 10);            pscr[0 + 1] |= color;            if (pscr[0] == '0') {                pscr[0] = 0x20;            }        }    }}/*..........................................................................*/void Video_drawBitmapAt(uint8_t x, uint8_t y,                        uint8_t const *bitmap, uint8_t width, uint8_t height){    uint8_t far *pscrX = (uint8_t far *)MK_FP(VIDEO_BASE,                                    (uint16_t)(((y * VIDEO_WIDTH) + x) << 1));    uint8_t ix, iy;    uint8_t w = width;    uint8_t h = height;                                                    /* perform the clipping */    if (x > VIDEO_WIDTH) {        x = VIDEO_WIDTH;    }    if (y > VIDEO_HEIGHT) {        y = VIDEO_HEIGHT;    }    if (w > VIDEO_WIDTH - x) {        w = VIDEO_WIDTH - x;    }    if (h > VIDEO_HEIGHT - y) {        h = VIDEO_HEIGHT - y;    }    for (ix = 0; ix < w; ++ix, pscrX += 2) {                 /* loop over x */        uint8_t far *pscrXY = pscrX;        for (iy = 0; iy < h; ++iy, pscrXY += 2*VIDEO_WIDTH) {            static uint8_t const pixel[2] = { 0x20, 0xDB };            uint8_t byte = bitmap[ix + (iy >> 3)*width];            *pscrXY = pixel[(byte >> (iy & 0x7)) & 1];        }    }}/*..........................................................................*/void Video_drawStringAt(uint8_t x, uint8_t y, char const *str) {    static uint8_t const font5x7[95][5] = {        { 0x00, 0x00, 0x00, 0x00, 0x00 },                            /* ' ' */        { 0x00, 0x00, 0x4F, 0x00, 0x00 },                              /* ! */        { 0x00, 0x07, 0x00, 0x07, 0x00 },                              /* " */        { 0x14, 0x7F, 0x14, 0x7F, 0x14 },                              /* # */        { 0x24, 0x2A, 0x7F, 0x2A, 0x12 },                              /* $ */        { 0x23, 0x13, 0x08, 0x64, 0x62 },                              /* % */        { 0x36, 0x49, 0x55, 0x22, 0x50 },                              /* & */        { 0x00, 0x05, 0x03, 0x00, 0x00 },                              /* ' */        { 0x00, 0x1C, 0x22, 0x41, 0x00 },                              /* ( */        { 0x00, 0x41, 0x22, 0x1C, 0x00 },                              /* ) */        { 0x14, 0x08, 0x3E, 0x08, 0x14 },                              /* * */        { 0x08, 0x08, 0x3E, 0x08, 0x08 },                              /* + */        { 0x00, 0x50, 0x30, 0x00, 0x00 },                              /* , */        { 0x08, 0x08, 0x08, 0x08, 0x08 },                              /* - */        { 0x00, 0x60, 0x60, 0x00, 0x00 },                              /* . */        { 0x20, 0x10, 0x08, 0x04, 0x02 },                              /* / */        { 0x3E, 0x51, 0x49, 0x45, 0x3E },                              /* 0 */        { 0x00, 0x42, 0x7F, 0x40, 0x00 },                              /* 1 */        { 0x42, 0x61, 0x51, 0x49, 0x46 },                              /* 2 */        { 0x21, 0x41, 0x45, 0x4B, 0x31 },                              /* 3 */        { 0x18, 0x14, 0x12, 0x7F, 0x10 },                              /* 4 */        { 0x27, 0x45, 0x45, 0x45, 0x39 },                              /* 5 */        { 0x3C, 0x4A, 0x49, 0x49, 0x30 },                              /* 6 */        { 0x01, 0x71, 0x09, 0x05, 0x03 },                              /* 7 */        { 0x36, 0x49, 0x49, 0x49, 0x36 },                              /* 8 */        { 0x06, 0x49, 0x49, 0x29, 0x1E },                              /* 9 */        { 0x00, 0x36, 0x36, 0x00, 0x00 },                              /* : */        { 0x00, 0x56, 0x36, 0x00, 0x00 },                              /* ; */        { 0x08, 0x14, 0x22, 0x41, 0x00 },                              /* < */        { 0x14, 0x14, 0x14, 0x14, 0x14 },                              /* = */        { 0x00, 0x41, 0x22, 0x14, 0x08 },                              /* > */        { 0x02, 0x01, 0x51, 0x09, 0x06 },                              /* ? */        { 0x32, 0x49, 0x79, 0x41, 0x3E },                              /* @ */        { 0x7E, 0x11, 0x11, 0x11, 0x7E },                              /* A */        { 0x7F, 0x49, 0x49, 0x49, 0x36 },                              /* B */        { 0x3E, 0x41, 0x41, 0x41, 0x22 },                              /* C */        { 0x7F, 0x41, 0x41, 0x22, 0x1C },                              /* D */        { 0x7F, 0x49, 0x49, 0x49, 0x41 },                              /* E */        { 0x7F, 0x09, 0x09, 0x09, 0x01 },                              /* F */        { 0x3E, 0x41, 0x49, 0x49, 0x7A },                              /* G */        { 0x7F, 0x08, 0x08, 0x08, 0x7F },                              /* H */        { 0x00, 0x41, 0x7F, 0x41, 0x00 },                              /* I */        { 0x20, 0x40, 0x41, 0x3F, 0x01 },                              /* J */        { 0x7F, 0x08, 0x14, 0x22, 0x41 },                              /* K */        { 0x7F, 0x40, 0x40, 0x40, 0x40 },                              /* L */        { 0x7F, 0x02, 0x0C, 0x02, 0x7F },                              /* M */        { 0x7F, 0x04, 0x08, 0x10, 0x7F },                              /* N */        { 0x3E, 0x41, 0x41, 0x41, 0x3E },                              /* O */        { 0x7F, 0x09, 0x09, 0x09, 0x06 },                              /* P */        { 0x3E, 0x41, 0x51, 0x21, 0x5E },                              /* Q */        { 0x7F, 0x09, 0x19, 0x29, 0x46 },                              /* R */        { 0x46, 0x49, 0x49, 0x49, 0x31 },                              /* S */        { 0x01, 0x01, 0x7F, 0x01, 0x01 },                              /* T */        { 0x3F, 0x40, 0x40, 0x40, 0x3F },                              /* U */        { 0x1F, 0x20, 0x40, 0x20, 0x1F },                              /* V */        { 0x3F, 0x40, 0x38, 0x40, 0x3F },                              /* W */        { 0x63, 0x14, 0x08, 0x14, 0x63 },                              /* X */        { 0x07, 0x08, 0x70, 0x08, 0x07 },                              /* Y */        { 0x61, 0x51, 0x49, 0x45, 0x43 },                              /* Z */        { 0x00, 0x7F, 0x41, 0x41, 0x00 },                              /* [ */        { 0x02, 0x04, 0x08, 0x10, 0x20 },                              /* \ */        { 0x00, 0x41, 0x41, 0x7F, 0x00 },                              /* ] */        { 0x04, 0x02, 0x01, 0x02, 0x04 },                              /* ^ */        { 0x40, 0x40, 0x40, 0x40, 0x40 },                              /* _ */        { 0x00, 0x01, 0x02, 0x04, 0x00 },                              /* ` */        { 0x20, 0x54, 0x54, 0x54, 0x78 },                              /* a */        { 0x7F, 0x48, 0x44, 0x44, 0x38 },                              /* b */        { 0x38, 0x44, 0x44, 0x44, 0x20 },                              /* c */        { 0x38, 0x44, 0x44, 0x48, 0x7F },                              /* d */        { 0x38, 0x54, 0x54, 0x54, 0x18 },                              /* e */        { 0x08, 0x7E, 0x09, 0x01, 0x02 },                              /* f */        { 0x0C, 0x52, 0x52, 0x52, 0x3E },                              /* g */        { 0x7F, 0x08, 0x04, 0x04, 0x78 },                              /* h */        { 0x00, 0x44, 0x7D, 0x40, 0x00 },                              /* i */        { 0x20, 0x40, 0x44, 0x3D, 0x00 },                              /* j */        { 0x7F, 0x10, 0x28, 0x44, 0x00 },                              /* k */        { 0x00, 0x41, 0x7F, 0x40, 0x00 },                              /* l */        { 0x7C, 0x04, 0x18, 0x04, 0x78 },                              /* m */        { 0x7C, 0x08, 0x04, 0x04, 0x78 },                              /* n */        { 0x38, 0x44, 0x44, 0x44, 0x38 },                              /* o */        { 0x7C, 0x14, 0x14, 0x14, 0x08 },                              /* p */        { 0x08, 0x14, 0x14, 0x18, 0x7C },                              /* q */        { 0x7C, 0x08, 0x04, 0x04, 0x08 },                              /* r */        { 0x48, 0x54, 0x54, 0x54, 0x20 },                              /* s */        { 0x04, 0x3F, 0x44, 0x40, 0x20 },                              /* t */        { 0x3C, 0x40, 0x40, 0x20, 0x7C },                              /* u */        { 0x1C, 0x20, 0x40, 0x20, 0x1C },                              /* v */        { 0x3C, 0x40, 0x30, 0x40, 0x3C },                              /* w */        { 0x44, 0x28, 0x10, 0x28, 0x44 },                              /* x */        { 0x0C, 0x50, 0x50, 0x50, 0x3C },                              /* y */        { 0x44, 0x64, 0x54, 0x4C, 0x44 },                              /* z */        { 0x00, 0x08, 0x36, 0x41, 0x00 },                              /* { */        { 0x00, 0x00, 0x7F, 0x00, 0x00 },                              /* | */        { 0x00, 0x41, 0x36, 0x08, 0x00 },                              /* } */        { 0x02, 0x01, 0x02, 0x04, 0x02 },                              /* ~ */    };    while (*str != '\0') {        Video_drawBitmapAt(x, y, font5x7[*str - ' '], 5, 8);        ++str;        x += 6;    }}                                               

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品高潮呻吟| 色香蕉久久蜜桃| www.欧美色图| 91视视频在线观看入口直接观看www | 综合分类小说区另类春色亚洲小说欧美| 国产日韩欧美精品在线| 亚洲视频小说图片| 国产成人精品www牛牛影视| 欧美一级午夜免费电影| 精品视频在线免费观看| 亚洲国产一区视频| 国产欧美日韩在线看| 一区二区三区免费观看| 久久色成人在线| 不卡的电影网站| 日韩欧美精品在线视频| 欧美国产日韩在线观看| 亚洲444eee在线观看| 精品一区二区日韩| 一区二区三区精品在线观看| 国产在线日韩欧美| 欧美激情资源网| 成人久久视频在线观看| 亚洲综合精品自拍| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲一二三四久久| 91蝌蚪porny九色| ●精品国产综合乱码久久久久| 56国语精品自产拍在线观看| 精品一区二区综合| 日韩av电影免费观看高清完整版| 99国产精品国产精品毛片| 国产精品卡一卡二卡三| 中文字幕亚洲精品在线观看| 亚洲黄色尤物视频| 免费成人深夜小野草| 懂色中文一区二区在线播放| 91久久香蕉国产日韩欧美9色| 国产欧美日韩中文久久| 欧美电影免费观看高清完整版在线观看 | 在线观看国产日韩| 一本一道波多野结衣一区二区| 国产成人一级电影| 久久99精品视频| 天天操天天色综合| 中文字幕一区二区三区在线不卡| 国产欧美日韩麻豆91| 日韩一级完整毛片| 欧美日本在线观看| 日韩一区二区在线看| 久久精品人人做人人爽人人| 欧美日韩高清不卡| 26uuu色噜噜精品一区| 久久久精品免费观看| 欧美午夜精品理论片a级按摩| 成人av网站免费观看| 欧美电影影音先锋| 国产农村妇女精品| 亚洲成人免费观看| 亚洲摸摸操操av| 老司机精品视频导航| av成人免费在线观看| 日韩一级黄色大片| 久久久久国色av免费看影院| 日韩伦理av电影| 日韩电影在线免费看| 不卡在线观看av| 91精品国产综合久久蜜臀| 中文字幕高清不卡| 五月婷婷久久丁香| 国产成人在线观看免费网站| 在线观看日韩毛片| 国产精品福利av| 国产东北露脸精品视频| 精品国产乱码久久久久久牛牛 | 欧美日韩精品电影| 国产精品视频线看| 久久电影网站中文字幕| 欧美三级蜜桃2在线观看| 综合久久国产九一剧情麻豆| 国产成人在线视频播放| 久久久一区二区| 香蕉成人伊视频在线观看| 色狠狠综合天天综合综合| 欧美本精品男人aⅴ天堂| 九九热在线视频观看这里只有精品| 91福利国产精品| 亚洲激情网站免费观看| 色综合天天在线| 亚洲靠逼com| 成人黄色av电影| 亚洲国产精品欧美一二99 | 国产麻豆精品theporn| 久久久久久久久久久黄色| 国产麻豆精品在线观看| 日韩美女视频一区二区| 免费xxxx性欧美18vr| 欧美一区二区三区四区久久| 久久99久久99小草精品免视看| 久久婷婷一区二区三区| 国产精品综合一区二区| 亚洲欧洲成人精品av97| 91精品国产色综合久久ai换脸 | 欧美色中文字幕| 天堂va蜜桃一区二区三区漫画版| 正在播放亚洲一区| 99久久精品一区| 国产乱子伦视频一区二区三区 | 91丨九色丨蝌蚪富婆spa| 国产精品福利av| 日韩欧美一区二区三区在线| kk眼镜猥琐国模调教系列一区二区| 日本一区二区三区电影| 一本色道亚洲精品aⅴ| 国内精品伊人久久久久av一坑| 日韩欧美国产高清| 激情小说亚洲一区| 色综合亚洲欧洲| 秋霞影院一区二区| 中文字幕在线免费不卡| 在线电影欧美成精品| 99re热这里只有精品免费视频| 日韩电影一区二区三区四区| 国产精品久久福利| 欧美一区二区三区免费| 不卡欧美aaaaa| 国产一区二区免费在线| 九九九精品视频| 久久国产人妖系列| 丝袜诱惑亚洲看片| 亚洲福中文字幕伊人影院| 亚洲精品免费在线| 亚洲欧美日韩国产手机在线| 亚洲色图第一区| 亚洲综合在线免费观看| 亚洲免费观看高清完整版在线 | 日本韩国精品一区二区在线观看| 岛国av在线一区| av亚洲精华国产精华精华| aaa欧美日韩| 972aa.com艺术欧美| 91福利精品视频| 欧美日韩日日摸| 91麻豆精品国产91久久久久 | 激情图片小说一区| 韩国精品一区二区| 国产成人av在线影院| 成人国产精品免费网站| 色伊人久久综合中文字幕| 色呦呦国产精品| 欧美高清视频不卡网| 精品第一国产综合精品aⅴ| 久久久.com| 亚洲欧美日韩国产另类专区| 一区二区三区产品免费精品久久75| 最新成人av在线| 丝瓜av网站精品一区二区| 久久国产精品露脸对白| www..com久久爱| 欧美日韩亚洲综合在线 | 综合激情成人伊人| 丝袜美腿高跟呻吟高潮一区| 国产露脸91国语对白| 99视频在线观看一区三区| 91极品视觉盛宴| 精品对白一区国产伦| 日本一区二区三区在线不卡| 国产精品成人一区二区艾草| 亚洲国产你懂的| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 欧美日韩国产在线观看| 精品国产免费人成电影在线观看四季 | 88在线观看91蜜桃国自产| 国产亚洲精品aa| 亚洲一区二区在线视频| 粗大黑人巨茎大战欧美成人| 日韩欧美激情一区| 亚洲一区中文日韩| 色综合久久久久网| 中文av字幕一区| 国产成人自拍在线| 欧美zozo另类异族| 美女视频黄频大全不卡视频在线播放| 色综合久久中文字幕| 国产精品久久久久久久午夜片| 国产一区二区h| 精品乱人伦小说| 毛片av中文字幕一区二区| 91麻豆精品国产91久久久更新时间 | 国产一区免费电影| 日韩精品一区二| 久久精品国产免费| 欧美成人在线直播| 美女精品一区二区| 日韩一区二区三区免费看| 亚洲国产成人av网| 欧美日韩国产一二三| 日韩精品国产欧美| 51精品秘密在线观看| 亚洲va欧美va人人爽|