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

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

?? gdi1.c

?? 車載電子影音系統dvd播放系統原程序代碼
?? C
字號:
#include "winav.h"
#include "w99av.h"
#include "gdi.h"

// Brian1.20, no Speaker Testm then this file is useless
#ifdef REMOVE_SETUP_SPEAKER_TEST

BYTE code _bGDI1Dummy[]=
{
0
};

#else

DWORD code _aImageSpeaker[]=
{
#include "bmp/speaker.txt"
};

GDI_REGION_INFO code __RegionList_1[NUMBER_OF_REGION] =    // declare the region list
{
                    {   // region ID 0
                        GDI_REGION_WIDTH, GDI_REGION_HEIGHT,        // width, height
                        2,              // 0: 4 colors, 1: 16 colors, 2: 256 colors
                        REGION_T_ADDR0+(GDI_REGION_WIDTH>>2)-4,  // region top field address in DRAM
                        REGION_B_ADDR0+(GDI_REGION_WIDTH>>2)-4  // region bottom field address in DRAM
                    },
                    {   // region ID 1
                        GDI_REGION_WIDTH, GDI_REGION_HEIGHT,        // width, height
                        2,              // 0: 4 colors, 1: 16 colors, 2: 256 colors
                        REGION_T_ADDR1+(GDI_REGION_WIDTH>>2)-4,  // region top field address in DRAM
                        REGION_B_ADDR1+(GDI_REGION_WIDTH>>2)-4  // region bottom field address in DRAM
                    },
                    {   // region ID 2, resource database
                        GDI_REGION_WIDTH, GDI_REGION_2_HEIGHT,        // width 640, height 200
                        2,              // 0: 4 colors, 1: 16 colors, 2: 256 colors
                        REGION_T_ADDR2+(GDI_REGION_WIDTH>>2)-4,  // region top field address in DRAM
                        REGION_B_ADDR2+(GDI_REGION_WIDTH>>2)-4  // region bottom field address in DRAM
                    },


};



extern DWORD    _dwGDITemp;
extern DWORD    _dwGDIHeaders[];
extern WORD     _wGDITemp;
extern BYTE     _bGDITemp;
extern DWORD    *_pdwGDIPTR;

//  *********************************************************************
//  Function    :   GDI_LoadBMP
//  Description :   This function load the BMP data from code array into BMP OSD region
//              :   the region is decided by the __bCurrentRegionId
//  Arguments   :   pParm: point to a Bitmap structure 
//                  The Bitmap data is generated by bmp2data tool
//  Return      :   None
//  Side Effect :
//  ** Note **  :   In order to speed up the load process and reduce the complexity
//              :   We have made the following assumption, and we must follow it.
//              :   [1] bitmap width is 4-pixel alignment
//              :   [2] bitmap height is even
//              :   [3] The destination X-coordinate must be 4-pixel alignment
//              :   [4] The destination Y-coordinate must be even
//  *********************************************************************

void GDI_LoadBMP_1(void) //(PARM_BMP *pParm)
{
#ifndef NO_GDI

    BYTE    bWidth; //, bHeight;

    if (__bCurrentRegionId >= NUMBER_OF_REGION) 
        return;

    bWidth = (WORD)__GDIParm.u.BMP.pdwData[2] >> 2;  // how many DWORD in one line
    //bHeight = (WORD)pParm->pdwData[3];      // the height: Top+Bottom


    _dwGDITemp = ((DWORD)(__GDIParm.u.BMP.wY/2)*__RegionList_1[__bCurrentRegionId].wWidth + __GDIParm.u.BMP.wX);
    // 256 color, one BYTE contains 1 pixel
    _dwGDITemp = _dwGDITemp >> 2; //Calculate which DRAM DWORD the pixel is located

    _dwGDIHeaders[0] = __RegionList_1[__bCurrentRegionId].dwTAddr+4+_dwGDITemp; // start point DWORD in Top
    _dwGDIHeaders[1] = __RegionList_1[__bCurrentRegionId].dwBAddr+4+_dwGDITemp; // start point DWORD in Bottom
    _wGDITemp = (WORD)(__RegionList_1[__bCurrentRegionId].wWidth >> 2);    // Line offset in DWORD

    _pdwGDIPTR = &(__GDIParm.u.BMP.pdwData[4]);

    //_printf("region 2 dwTAddr = %lx\n", __RegionList[2].dwTAddr);
    //_printf("region 2 dwBAddr = %lx\n", __RegionList[2].dwBAddr);

    //_printf("_dwGDIHeaders[0] = %lx\n", _dwGDIHeaders[0]);
    //_printf("_dwGDIHeaders[1] = %lx\n", _dwGDIHeaders[1]);

    for (_bGDITemp=0; _bGDITemp < __GDIParm.u.BMP.pdwData[3]/2; _bGDITemp++)
    {
        // We can directly access the data by indexing into the position we want
        //W99AV_WriteDRAMBurst(_dwGDIHeaders[0]+ (DWORD)_bGDITemp*_wGDITemp, &(pParm->pdwData[4+ ( (DWORD)(_bGDITemp) <<1) *bWidth]), bWidth);
        //W99AV_WriteDRAMBurst(_dwGDIHeaders[1]+ (DWORD)_bGDITemp*_wGDITemp, &(pParm->pdwData[4+ ( ((DWORD)(_bGDITemp)<<1)+1) *bWidth]), bWidth);
        
        // or use ptr and increment
        W99AV_WriteDRAMBurst(_dwGDIHeaders[0]+ (DWORD)_bGDITemp*_wGDITemp, _pdwGDIPTR, bWidth);
        _pdwGDIPTR += bWidth;
        W99AV_WriteDRAMBurst(_dwGDIHeaders[1]+ (DWORD)_bGDITemp*_wGDITemp, _pdwGDIPTR, bWidth);
        _pdwGDIPTR += bWidth;

        //_printf("%hx Top = %lx\n", _bGDITemp, _dwGDIHeaders[0]+ (DWORD)_bGDITemp*_wGDITemp);
        //_printf("%hx Bot = %lx\n", _bGDITemp, _dwGDIHeaders[1]+ (DWORD)_bGDITemp*_wGDITemp);

    }

#endif  //#ifndef NO_GDI
}


//  *********************************************************************
//  Function    :   GDI_LoadBMPResource_1
//  Description :   This function loads the speaker BMP to DRAM
//  Arguments   :   none 
//  Return      :   none  
//  Side Effect : 
//  *********************************************************************
void GDI_LoadBMPResource_1(void)
{
#ifndef NO_GDI

    // BMP resource is put in region 2
    GDI_SET_CURRENT_REGION(2);

    //Speaker image
/*
    __GDIParm.u.BMP.pdwData = _aImageSpeaker;
    __GDIParm.u.BMP.wX = 0;
    __GDIParm.u.BMP.wY = 44;
*/

    // Brian1.22, re-arrange to reserve 4.25K DW for F/W user data

    // image size is 220x132, occupy the region (0, 0) ~ (219, 131)

    __GDIParm.u.BMP.pdwData = _aImageSpeaker;
    __GDIParm.u.BMP.wX = 0;
    __GDIParm.u.BMP.wY = 0;

    GDI_LoadBMP_1();


#endif
}

#endif // #ifndef REMOVE_SETUP_SPEAKER_TEST

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区在线播放相泽| 亚洲欧洲日韩综合一区二区| 欧美最猛性xxxxx直播| 国产激情一区二区三区| 激情偷乱视频一区二区三区| 国产精品羞羞答答xxdd| 成人免费av在线| 欧美影院一区二区| 日韩一区二区三区四区五区六区 | 欧美伊人久久久久久久久影院| 91小视频在线| 欧美日韩久久久| 亚洲精品一区二区三区福利| 国产精品美女一区二区三区| 一区二区三区四区在线播放| 午夜精品久久久久久久99水蜜桃| 久久精品国产999大香线蕉| 激情图片小说一区| 在线观看一区日韩| 久久在线免费观看| 美女爽到高潮91| 麻豆成人免费电影| 麻豆成人久久精品二区三区小说| 国产精品99久久久久久似苏梦涵| 欧美午夜不卡视频| 国产亚洲一区二区三区在线观看| 亚洲欧美另类久久久精品| 理论电影国产精品| 欧美在线观看一二区| 中文字幕欧美一| 国产一区二区调教| 在线播放中文一区| 亚洲午夜私人影院| 欧洲亚洲国产日韩| 亚洲欧美日韩综合aⅴ视频| 国产毛片精品国产一区二区三区| 欧美日韩aaaaaa| 午夜久久久影院| 日韩一区二区在线免费观看| 亚洲国产人成综合网站| 欧美日韩一卡二卡三卡| 亚洲综合在线视频| 欧美色视频在线观看| 亚洲自拍偷拍网站| 欧美手机在线视频| 亚洲成人手机在线| 欧美群妇大交群中文字幕| 午夜精品福利视频网站| 欧美一卡在线观看| 国产麻豆精品一区二区| 国产精品免费视频一区| 99精品视频在线观看免费| 最新久久zyz资源站| 欧美日韩在线直播| 免费看日韩精品| 欧美激情在线看| 欧美亚一区二区| 另类的小说在线视频另类成人小视频在线| 欧美一级免费大片| 成人听书哪个软件好| 亚洲成在人线免费| 国产精品嫩草影院av蜜臀| 在线视频中文字幕一区二区| 免费不卡在线观看| 自拍av一区二区三区| 欧美mv日韩mv国产| 亚洲午夜激情av| 欧美日韩一区二区电影| 国产很黄免费观看久久| 天堂va蜜桃一区二区三区漫画版| 欧美va亚洲va国产综合| 色天使久久综合网天天| 久久99最新地址| 亚洲一卡二卡三卡四卡无卡久久| 精品久久久三级丝袜| 91精品视频网| 在线视频国内一区二区| 国产成人精品一区二区三区网站观看| 亚洲国产成人av网| 一区二区三区在线不卡| 欧美经典一区二区三区| 欧美精品一区二区三区蜜桃| 欧美精品三级日韩久久| 欧美日韩一区二区不卡| 欧美做爰猛烈大尺度电影无法无天| 成人免费毛片高清视频| 国产久卡久卡久卡久卡视频精品| 免费成人性网站| 久久精品国产99国产| 久久国产精品一区二区| 欧美a一区二区| 国产精品99精品久久免费| 国v精品久久久网| 99riav久久精品riav| 色哟哟一区二区三区| 欧美日韩精品欧美日韩精品一| 欧美精品乱码久久久久久| 欧美色视频一区| 久久婷婷综合激情| 国产精品高潮久久久久无| 亚洲五码中文字幕| 国产在线国偷精品产拍免费yy| 国产综合色视频| 色呦呦国产精品| 欧美成人video| 一区二区三区四区中文字幕| 狂野欧美性猛交blacked| 成人av在线一区二区| 欧美一二三区在线观看| 久久久久久9999| 亚洲3atv精品一区二区三区| 国产精品一区2区| 欧美精品1区2区3区| 欧美国产日韩a欧美在线观看 | 国产精品亚洲一区二区三区在线 | 777亚洲妇女| 国产精品免费丝袜| 精品一区二区三区免费| 91黄色免费版| 亚洲人成小说网站色在线| 视频一区二区三区在线| 91在线国产福利| 久久这里都是精品| 日韩电影免费在线观看网站| 色诱亚洲精品久久久久久| 久久精品一区二区三区不卡牛牛| 五月天网站亚洲| 在线亚洲+欧美+日本专区| 中文字幕五月欧美| 国产综合色产在线精品| 日韩欧美在线综合网| 婷婷综合久久一区二区三区| 在线观看亚洲一区| 亚洲综合色区另类av| 91一区二区三区在线观看| 亚洲欧洲精品一区二区三区不卡| 国产精品综合av一区二区国产馆| 日韩亚洲电影在线| 麻豆精品精品国产自在97香蕉| 宅男在线国产精品| 蜜桃av一区二区| 久久久久久久性| aa级大片欧美| 日韩有码一区二区三区| 欧美刺激脚交jootjob| 精品一区二区三区在线播放视频| 欧美不卡一二三| 91小视频免费观看| 天天综合色天天综合色h| 欧美一区二区女人| 国产一区二区美女诱惑| 亚洲激情在线激情| 日韩精品专区在线影院重磅| 国产成人久久精品77777最新版本| 亚洲另类在线一区| 日韩欧美一区二区视频| 99久久精品国产导航| 日韩精品欧美成人高清一区二区| 26uuu久久天堂性欧美| aaa国产一区| 国内精品久久久久影院一蜜桃| 成人免费小视频| xnxx国产精品| 欧美精选一区二区| 91在线观看成人| 国产成人亚洲精品青草天美| 日本中文字幕一区| 一区二区三区欧美激情| av一区二区三区四区| 亚洲一区视频在线| 夜夜嗨av一区二区三区四季av| 欧美国产日韩精品免费观看| 日韩女优制服丝袜电影| 4438亚洲最大| 欧美顶级少妇做爰| 91精品国产综合久久小美女| 欧美三片在线视频观看| 色av一区二区| 欧美丝袜丝交足nylons| 欧美天堂一区二区三区| 欧美亚洲动漫精品| 欧美性生活影院| 欧美久久久久免费| 欧美一区二区三区四区高清| 制服丝袜激情欧洲亚洲| 制服.丝袜.亚洲.中文.综合| 日韩一区二区在线观看视频播放| 欧美一级片在线| 久久综合视频网| 国产精品视频yy9299一区| 中文字幕一区二区视频| 一个色综合av| 青青国产91久久久久久| 风间由美一区二区三区在线观看| av一区二区三区| 欧美一区二区精美| 国产精品国产三级国产普通话99| 亚洲在线免费播放| 国产伦精品一区二区三区免费迷 | 久久久美女毛片|