• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    嵌入式GameBoyAdvance模擬器移植實(shí)驗(yàn)

    2016-07-04 20:25:46葉立威姜海陽
    電腦知識(shí)與技術(shù) 2016年15期
    關(guān)鍵詞:源代碼模擬器按鍵

    葉立威+姜海陽

    摘要:論文將GameBoyAdvance游戲模擬器移植到嵌入式系統(tǒng)中。借助開放源代碼的跨平臺(tái)多媒體開發(fā)庫SDL,實(shí)現(xiàn)對(duì)現(xiàn)有基于PC的GameBoyAdvance模擬器源代碼進(jìn)行移植,包括對(duì)窗口的設(shè)計(jì)、按鍵事件的判斷和音頻播放等人機(jī)交互界面設(shè)計(jì),最終實(shí)現(xiàn)了GameBoyAdvance游戲在凌動(dòng)平臺(tái)上的運(yùn)行。

    關(guān)鍵詞: GameBoyAdvance游戲;SDL庫;嵌入式系統(tǒng)

    中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)15-0122-04

    Abstract: GameBoyAdvance game simulator is transplanted to the embedded system. With open source cross platform multimedia development library SDL, the simulator source code based on PC is transplanted, including function such as the window design, key events of judgment and audio playback man-machine interface design, eventually the GameBoyAdvance game in the SDL operation is completed.

    Key words: GameBoyAdvance; SDL library; embedded system

    1 背景

    GameBoyAdvance游戲以其獨(dú)特的魅力吸引了大量的游戲愛好者。相對(duì)Game Boy游戲的早期版本,如GameBoy、Game BoyColor游戲,GameBoyAdvance游戲需要耗費(fèi)龐大的系統(tǒng)資源,隨著嵌入式處理器處理能力的迅猛發(fā)展,GBA游戲模擬器在嵌入式處理器的移植、運(yùn)行成為了可能。模擬器的移植工作是本論文中最大的內(nèi)容之一,移植工作顯得非常重要,它決定著這個(gè)論文是否能順利進(jìn)行下去。但是移植過程中會(huì)出現(xiàn)許多不確定因素,因素是多樣的,有被移植代碼的因素,也有來自SDL本身接口函數(shù)處理的因素,因此被移植代碼是否最終能夠在系統(tǒng)中正常運(yùn)行將遇到許多障礙。由于windows下的開發(fā)工具非常方便,因此我們的思路是先拋開SDL的移植,在去掉windows的API接口后先能夠確保代碼在windows上編譯通過,然后再將代碼進(jìn)行SDL移植,雖然看似多走了一段路,但這樣將移植風(fēng)險(xiǎn)降到了最低。

    GameBoyAdvance模擬器能夠正常在嵌入式系統(tǒng)下運(yùn)行,其移植過程是一個(gè)充滿挑戰(zhàn)的旅程,我們選擇VC++6.0,通過VC++6.0 windows開發(fā)工具的調(diào)試修改,使得GBA游戲能夠在windows下運(yùn)行,最終能夠移植到嵌入式系統(tǒng)下運(yùn)行。

    2 GameBoyAdvance在SDL上的移植

    由于GameBoyAdvance模擬器是開源代碼,所以在網(wǎng)上可以找到GameBoyAdvance模擬器的部分代碼,但這些代碼都只能在系統(tǒng)上編譯以及對(duì)GBA文件進(jìn)行解碼,但是調(diào)用windows的AIP函數(shù)會(huì)出錯(cuò),所以沒有游戲運(yùn)行窗口、按鍵響應(yīng)、音頻播放等基本功能,也就是說,一般用網(wǎng)上的開源源代碼編譯出來的可執(zhí)行程序不能直接運(yùn)行GBA游戲。

    SDL是一個(gè)用C語言編寫的免費(fèi)跨平臺(tái)多媒體開發(fā)庫,使用LGPL許可證,可用于游戲、游戲開發(fā)工具、模擬器、樣本演示、多媒體應(yīng)用等。[1]為了添加人機(jī)交互界面,我們直接將工程中的windows的API函數(shù)拋棄,與跨平臺(tái)的SDL相結(jié)合起來,調(diào)用SDL中的一些庫函數(shù),從而實(shí)現(xiàn)對(duì)GameBoyAdvance模擬器的移植。

    2.1 SDL庫函數(shù)的添加

    先將開源源代碼工程中的main.cpp文件更名newMain.cpp,把 GameBoyAdvance整個(gè)工程文件和newMain.cpp文件添加到VC++6.0的工程中,當(dāng)執(zhí)行編譯時(shí)會(huì)產(chǎn)生許多錯(cuò)誤,部分錯(cuò)誤如下:

    C:\GBV\vb_no_MMX\vb_no_MMX\win32\newMain.cpp(16): error C2062:type 'int' unexpected

    C:\GBV\vb_no_MMX\vb_no_MMX\win32\newMain.cpp(17) : error C2146: syntax error : missing ';' before identifier 'CALLBACK'

    C:\GBV\vb_no_MMX\vb_no_MMX\win32\newMain.cpp(17) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

    C:\GBV\vb_no_MMX\vb_no_MMX\win32\newMain.cpp(17) : error C2146: syntax error : missing ';' before identifier 'WndProc'

    C:\GBV\vb_no_MMX\vb_no_MMX\win32\newMain.cpp(17) : error C2065: 'HWND' : undeclared identifier

    C:\GBV\vb_no_MMX\vb_no_MMX\win32\newMain.cpp(17) : error C2065: 'UINT' : undeclared identifier

    C:\GBV\vb_no_MMX\vb_no_MMX\win32\newMain.cpp(17) : error C2065: 'WPARAM' : undeclared identifier

    C:\GBV\vb_no_MMX\vb_no_MMX\win32\newMain.cpp(17) : error C2065: 'LPARAM' : undeclared identifier

    可以看出,編譯出錯(cuò)主要是因?yàn)樵垂こ淌侵苯诱{(diào)用windows下API函數(shù),但我們?cè)谝浦渤鯇⑦@些API函數(shù)的頭文件刪除了,部分刪除內(nèi)容如下:

    #include

    #include

    #include

    #include

    #include

    #include

    #include

    #include

    #include

    #include

    所以,如果要進(jìn)行SDL移植,就要加上SDL庫和模擬器源代碼的頭文件,添加內(nèi)容如下:

    #include

    #include

    #include

    #include

    #include

    #include

    #include "SDL.h"

    #include "GBA.h"

    #include "agbprint.h"

    #include "Flash.h"

    #include "Port.h"

    #include "debugger.h"

    #include "RTC.h"

    #include "Sound.h"

    #include "Text.h"

    #include "unzip.h"

    #include "Util.h"

    #include "gb/GB.h"

    #include "gb/gbGlobals.h"

    至此,GameBoyAdvance模擬器開源源代碼成功用SDL移植成無人機(jī)交互界面的模擬器。

    3 為GameBoyAdvance模擬器增加人機(jī)交互界面

    當(dāng)GameBoyAdvance在Windows上利用SDL實(shí)現(xiàn)了無人機(jī)交互界面移植成功后,模擬器還只是 “又聾又啞”,還需要添加人機(jī)交互界面才是一個(gè)完整的模擬器。這個(gè)過程包括了3大部分的內(nèi)容:游戲畫面、鍵盤響應(yīng)、聲音播放。

    3.1 窗體設(shè)計(jì)

    通過SDL建立窗口界面,在newMain.cpp的main函數(shù)里添加創(chuàng)建窗口語句,就可以建立在windows下的窗口,部分程序如下:

    if(cartridgeType == 0) {

    srcWidth = 240;

    srcHeight = 160;

    systemFrameSkip = frameSkip;

    } else if (cartridgeType == 1) {

    if(gbBorderOn) {

    srcWidth = 256;

    srcHeight = 224;

    gbBorderLineSkip = 256;

    gbBorderColumnSkip = 48;

    gbBorderRowSkip = 40;

    } else {

    srcWidth = 160;

    srcHeight = 144;

    gbBorderLineSkip = 160;

    gbBorderColumnSkip = 0;

    gbBorderRowSkip = 0;

    }

    systemFrameSkip = gbFrameSkip;

    } else {

    srcWidth = 320;

    srcHeight = 240;

    }

    destWidth = (sizeOption+1)*srcWidth;

    destHeight = (sizeOption+1)*srcHeight;

    surface = SDL_SetVideoMode(destWidth, destHeight, 16,SDL_ANYFORMAT|SDL_HWSURFACE|SDL_DOUBLEBUF | (fullscreen ? SDL_FULLSCREEN : 0));

    3.2 加入鍵盤響應(yīng)

    為了能響應(yīng)到按鍵事件,我們?cè)趎ewMain.cpp文件中利用SDL對(duì)按鍵事件響應(yīng)的判斷,自行編寫按鍵事件響應(yīng)函數(shù),從而可以達(dá)到對(duì)按鍵進(jìn)行響應(yīng),程序如下:

    while(SDL_PollEvent(&event) {

    if(event.type == SDL_KEYDOWN) {

    switch(event.key.keysym.sym) {

    case SDLK_UP: // GBA_UP

    ZSC_Key_UP();

    break;

    case SDLK_DOWN : //GBA_DOWN

    ZSC_Key_DOWN();

    break;

    case SDLK_LEFT: //GBA_LEFT

    ZSC_Key_LEFT();

    break;

    case SDLK_RIGHT: //GBA_RIGJT

    ZSC_Key_RIGHT();

    break;

    case SDLK_Enter: //GBA_Enter

    ZSC_Key_ Enter ();

    break;

    case SDLK_A: //GBA_A

    ZSC_Key_ A ();

    break;

    case SDLK_Z: //GBA_Z

    ZSC_Key_ Z ();

    break;

    case SDLK_X: //GBA_X

    ZSC_Key_ X ();

    break;

    case SDLK_Esc:

    ZSC_GameExit();

    break;

    ………

    }

    }

    }

    3.3 加入聲音播放引擎

    到目前為止,我們還剩最后的聲音處理了,怎樣處理聲音這一塊呢?借助SDL庫,將解碼聲音播放出來,我們最終解決了這個(gè)問題。在原本newMain.cpp中被注銷掉的代碼位置中填入SDL聲音引擎。

    首先在ZSC_systemSoundInit填入內(nèi)容下,其中是SDL庫對(duì)聲音驅(qū)動(dòng)的初始化代碼如下:

    bool ZSC_systemSoundInit()

    {

    SDL_AudioSpec audio;

    switch(soundQuality) {

    case 1:

    audio.freq = 44100;

    soundBufferLen = 1470*2;

    break;

    case 2:

    audio.freq = 22050;

    soundBufferLen = 736*2;

    break;

    case 4:

    audio.freq = 11025;

    soundBufferLen = 368*2;

    break;

    }

    audio.format=AUDIO_S16SYS;

    audio.channels = 2;

    audio.samples = 1024;

    audio.callback = ZSC_soundCallback;

    audio.userdata = NULL;

    if(SDL_OpenAudio(&audio, NULL)) {

    fprintf(stderr,"Failed to open audio: %s\n", SDL_GetError());

    return false;

    }

    soundBufferTotalLen = soundBufferLen*10;

    cond = SDL_CreateCond();

    mutex = SDL_CreateMutex();

    sdlSoundLen = 0;

    systemSoundOn = true;

    return true; }

    在SDL_AudioSpec audio結(jié)構(gòu)中,定義了聲音播放的回調(diào)函數(shù)ZSC_soundCallback,該函數(shù)將游戲中解碼的音頻數(shù)據(jù)sdlBuffer不斷拷貝到播放數(shù)據(jù)流中。部分程序如下:

    void ZSC_soundCallback(void *,u8 *stream,int len)

    {

    if(!emulating)

    return;

    SDL_mutexP(mutex);

    if(!speedup && !throttle) {

    while(sdlSoundLen < 2048*2) {

    if(emulating)

    SDL_CondWait(cond, mutex);

    else

    break;

    }

    }

    if(emulating) {

    memcpy(stream, sdlBuffer, len);

    }

    sdlSoundLen = 0;

    if(mutex)

    SDL_mutexV(mutex);

    }

    經(jīng)過分析,所播放的音頻數(shù)據(jù)是通過WriteSample函數(shù)來實(shí)現(xiàn)解碼程序和播放程序相互連接的,由 WriteSample函數(shù)代碼和WriteSample在sound.c中被調(diào)用可以看出來WriteSample函數(shù)是聲音處理的關(guān)鍵函數(shù),部分程序如下:

    void WriteSample(short int l, short int r)

    {

    if (audio_is_open == 0) {

    return;

    }

    sample[0][sample_pos] = (short) (l >> 8);

    sample[1][sample_pos] = (short) (r >> 8);

    sample_pos++;

    if (sample_pos >= AUDIOBUFFER) {

    play_sample(sample[0], sample[1]);

    sample_pos = 0;

    }

    }

    WriteSample中,當(dāng)音頻數(shù)據(jù)采集到AUDIOBUFFER的長度后 ,音頻數(shù)據(jù)通過 play_sample播放出去。我們將play_sample填入代碼,將采集到的音頻數(shù)據(jù)存儲(chǔ)在final_wave中,由回調(diào)函數(shù)waveout播放出去。部分程序如下所示:

    void play_sample(signed char *dataL, signed char *dataR)

    {

    int i;

    for (i = 0; i < 2049; i++)

    {

    sdlBuffer [waveptr] = (dataL[i] +dataR[i] );

    waveptr++;

    if ( waveptr == 2048 )

    {

    waveptr = 0;

    wavflag = 2; wavdone=0;

    }

    else if ( waveptr == 1024 )

    {

    wavflag = 1; wavdone=0;

    }

    while (!wavdone) SDL_Delay(0);

    }

    }

    因?yàn)樵a中的close_audio用來關(guān)閉聲音設(shè)備,而SDL的 SDL_CloseAudio()函數(shù)可以用來實(shí)現(xiàn)對(duì)聲音設(shè)備的關(guān)閉,因此在close_audio中填入代碼:

    void close_audio(void)

    {

    SDL_CloseAudio();

    audio_is_open = 0;

    }

    至此模擬器能夠顯示游戲畫面、播放游戲音樂、響應(yīng)用戶指令,已經(jīng)能夠運(yùn)行在凌動(dòng)平臺(tái)下了,有了上述基礎(chǔ)下一步只需要做一些小小改動(dòng)即可運(yùn)行在嵌入式系統(tǒng),如linux系統(tǒng)、WinCE等等。移植GameBoyAdvance模擬器運(yùn)行游戲如圖1所示:

    4 結(jié)束語

    論文成功的將GameBoyAdvance游戲模擬器成功移植到凌動(dòng)平臺(tái)上。通過測試,支持大部分網(wǎng)絡(luò)下載的GBA文件格式的游戲。游戲畫面清晰流暢,聲音,按鍵操作可靠。論文雖然達(dá)到了預(yù)期目的,但仍有許多可以改善的地方,如在游戲運(yùn)行中存在聲音有輕微不流暢,畫面有輕微卡、頓的現(xiàn)象,將在后續(xù)的研究過程中進(jìn)行改進(jìn)。

    參考文獻(xiàn):

    [1] 王園園, 高明煜, 曾毓. 基于 SDL 庫的嵌入式平臺(tái)中文顯示技術(shù)研究[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2009(4).

    [2] 顧葉鋒,付宇卓,魯欣. 基于ARM Linux 的GameBoy模擬器移植和優(yōu)化研究[J]. 計(jì)算機(jī)仿真, 2005(9).

    [3] 趙成. 嵌入式系統(tǒng)應(yīng)用基礎(chǔ):基于S3C2410A的SKYEYE的仿真與實(shí)踐[M]. 北京: 國防工業(yè)出版社, 2012.

    [4] 謝蓉, 巢愛棠. Linux基礎(chǔ)及應(yīng)用[M]. 北京: 中國鐵道出版社, 2005.

    猜你喜歡
    源代碼模擬器按鍵
    人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
    飛行模擬器大揭秘
    航空世界(2022年3期)2022-06-01 06:13:42
    了不起的安檢模擬器
    基于有限狀態(tài)機(jī)的按鍵檢測程序設(shè)計(jì)
    電子制作(2021年3期)2021-06-16 03:14:26
    基于TXL的源代碼插樁技術(shù)研究
    盲盒模擬器
    劃船模擬器
    軟件源代碼非公知性司法鑒定方法探析
    一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)
    電子制作(2016年1期)2016-11-07 08:43:05
    揭秘龍湖產(chǎn)品“源代碼”
    成人av一区二区三区在线看| 老汉色∧v一级毛片| 一边摸一边抽搐一进一小说| 亚洲熟妇中文字幕五十中出| 一二三四社区在线视频社区8| 免费看美女性在线毛片视频| 免费看美女性在线毛片视频| 满18在线观看网站| 视频在线观看一区二区三区| 麻豆国产av国片精品| 可以在线观看的亚洲视频| 亚洲男人的天堂狠狠| 午夜日韩欧美国产| 神马国产精品三级电影在线观看 | 久久精品夜夜夜夜夜久久蜜豆 | 亚洲九九香蕉| 18禁黄网站禁片午夜丰满| 精品第一国产精品| 日本黄色视频三级网站网址| 一区二区日韩欧美中文字幕| 老鸭窝网址在线观看| 女人被狂操c到高潮| 老司机午夜十八禁免费视频| 50天的宝宝边吃奶边哭怎么回事| 精品国产超薄肉色丝袜足j| 午夜a级毛片| 日韩欧美三级三区| 日本免费a在线| 制服诱惑二区| 国产熟女午夜一区二区三区| xxx96com| 欧美亚洲日本最大视频资源| 亚洲精品国产精品久久久不卡| 亚洲五月婷婷丁香| 黄色a级毛片大全视频| 在线观看免费视频日本深夜| 在线免费观看的www视频| 一级片免费观看大全| 久久草成人影院| 99久久99久久久精品蜜桃| 12—13女人毛片做爰片一| 国产91精品成人一区二区三区| 一个人观看的视频www高清免费观看 | 亚洲精品粉嫩美女一区| 丝袜人妻中文字幕| 国产人伦9x9x在线观看| 欧美成人午夜精品| 99久久99久久久精品蜜桃| 美女国产高潮福利片在线看| 精品人妻1区二区| av有码第一页| 在线观看日韩欧美| 精品国产国语对白av| 伊人久久大香线蕉亚洲五| 长腿黑丝高跟| 国产成人av教育| 亚洲 欧美一区二区三区| 精品一区二区三区视频在线观看免费| 亚洲国产精品sss在线观看| 日韩视频一区二区在线观看| 亚洲成国产人片在线观看| 亚洲午夜理论影院| 欧美又色又爽又黄视频| 国产黄色小视频在线观看| 成人国语在线视频| 国产伦在线观看视频一区| 男女午夜视频在线观看| 亚洲男人天堂网一区| 长腿黑丝高跟| 香蕉久久夜色| 国产亚洲精品一区二区www| 亚洲av成人一区二区三| 色婷婷久久久亚洲欧美| 精品不卡国产一区二区三区| 人人妻人人澡欧美一区二区| 国产精品二区激情视频| 岛国视频午夜一区免费看| 露出奶头的视频| 国产黄色小视频在线观看| 久久精品91无色码中文字幕| 美女 人体艺术 gogo| 欧美中文综合在线视频| 一级毛片精品| 亚洲色图av天堂| 亚洲专区中文字幕在线| 亚洲片人在线观看| 国产午夜精品久久久久久| 欧美成人性av电影在线观看| 黄片大片在线免费观看| 老司机午夜十八禁免费视频| 欧美大码av| 9191精品国产免费久久| 亚洲人成网站在线播放欧美日韩| 午夜激情av网站| 午夜激情av网站| 99国产精品一区二区三区| 侵犯人妻中文字幕一二三四区| 欧美又色又爽又黄视频| 国产一卡二卡三卡精品| 免费观看人在逋| 久久九九热精品免费| 夜夜夜夜夜久久久久| 亚洲人成网站高清观看| 色婷婷久久久亚洲欧美| 精品电影一区二区在线| 久久精品aⅴ一区二区三区四区| 视频区欧美日本亚洲| 亚洲精品色激情综合| av超薄肉色丝袜交足视频| 欧美国产日韩亚洲一区| 悠悠久久av| 久久香蕉国产精品| 国产成人av教育| 欧美乱码精品一区二区三区| 国产又色又爽无遮挡免费看| 又大又爽又粗| 精品久久久久久久人妻蜜臀av| 91字幕亚洲| a级毛片a级免费在线| e午夜精品久久久久久久| 一本综合久久免费| 丰满的人妻完整版| 亚洲成人久久爱视频| 精品卡一卡二卡四卡免费| 色在线成人网| 午夜福利在线观看吧| 两个人看的免费小视频| 精品人妻1区二区| 一夜夜www| 午夜久久久在线观看| 欧美成人午夜精品| 淫秽高清视频在线观看| 美女扒开内裤让男人捅视频| 欧美日韩黄片免| 哪里可以看免费的av片| 女人被狂操c到高潮| 成人国产综合亚洲| 波多野结衣高清作品| 国产成人av教育| 美国免费a级毛片| 一级a爱片免费观看的视频| 精品国产乱码久久久久久男人| www国产在线视频色| 亚洲色图av天堂| 在线免费观看的www视频| 在线观看日韩欧美| 久久精品亚洲精品国产色婷小说| 日本 av在线| a在线观看视频网站| 中文字幕久久专区| 亚洲精品一区av在线观看| 国产黄色小视频在线观看| 亚洲国产精品久久男人天堂| 伊人久久大香线蕉亚洲五| 制服丝袜大香蕉在线| 熟女少妇亚洲综合色aaa.| 女同久久另类99精品国产91| 久久久久久大精品| 亚洲第一电影网av| 欧美一区二区精品小视频在线| a级毛片a级免费在线| 色综合欧美亚洲国产小说| av免费在线观看网站| 国产精品二区激情视频| 99久久综合精品五月天人人| 亚洲精品国产区一区二| 免费观看人在逋| 在线播放国产精品三级| 999久久久国产精品视频| 午夜亚洲福利在线播放| 国产成人av激情在线播放| 久久精品人妻少妇| 亚洲精品久久国产高清桃花| 中文资源天堂在线| 欧美激情 高清一区二区三区| 人人妻人人澡人人看| 久久精品亚洲精品国产色婷小说| 亚洲久久久国产精品| 午夜老司机福利片| 一级a爱视频在线免费观看| www.999成人在线观看| 久久这里只有精品19| 国产精品乱码一区二三区的特点| 亚洲精品美女久久久久99蜜臀| x7x7x7水蜜桃| 精品少妇一区二区三区视频日本电影| 亚洲狠狠婷婷综合久久图片| 一本精品99久久精品77| 最好的美女福利视频网| 真人一进一出gif抽搐免费| 精品卡一卡二卡四卡免费| 一区福利在线观看| 国产日本99.免费观看| 亚洲一区中文字幕在线| 露出奶头的视频| 国产成人啪精品午夜网站| 黄色 视频免费看| 国产一区二区激情短视频| 精品久久蜜臀av无| 久久久久久人人人人人| 一级片免费观看大全| 中文字幕av电影在线播放| 亚洲国产精品sss在线观看| 日韩大码丰满熟妇| 老司机深夜福利视频在线观看| 在线免费观看的www视频| 日本撒尿小便嘘嘘汇集6| 欧美激情久久久久久爽电影| or卡值多少钱| 亚洲人成网站高清观看| 久久精品夜夜夜夜夜久久蜜豆 | 亚洲无线在线观看| 久久午夜综合久久蜜桃| av中文乱码字幕在线| 亚洲av熟女| 国产精品美女特级片免费视频播放器 | 男人舔奶头视频| 国产精品二区激情视频| 国产日本99.免费观看| 老司机深夜福利视频在线观看| 无遮挡黄片免费观看| 久久亚洲真实| 国产97色在线日韩免费| 国产亚洲精品av在线| 亚洲精品一区av在线观看| 国产成人精品久久二区二区91| 级片在线观看| 999精品在线视频| 淫秽高清视频在线观看| 国产精品亚洲av一区麻豆| 手机成人av网站| 国产不卡一卡二| 99国产精品一区二区蜜桃av| 精品欧美一区二区三区在线| 亚洲自偷自拍图片 自拍| 好男人电影高清在线观看| 亚洲成人久久爱视频| 可以在线观看的亚洲视频| 欧美一级毛片孕妇| 午夜久久久久精精品| 精品少妇一区二区三区视频日本电影| 久久99热这里只有精品18| 一级片免费观看大全| 国产av一区在线观看免费| 亚洲国产高清在线一区二区三 | 欧美激情极品国产一区二区三区| 国产精品美女特级片免费视频播放器 | 91字幕亚洲| 嫩草影院精品99| 性欧美人与动物交配| 久久久久国产精品人妻aⅴ院| 久久亚洲精品不卡| 国产黄色小视频在线观看| 亚洲免费av在线视频| 亚洲中文字幕日韩| 两个人视频免费观看高清| 啦啦啦韩国在线观看视频| 欧美黑人精品巨大| 女人被狂操c到高潮| 成人av一区二区三区在线看| 国产精品久久视频播放| 天天一区二区日本电影三级| videosex国产| 50天的宝宝边吃奶边哭怎么回事| 91麻豆精品激情在线观看国产| 国产精品亚洲av一区麻豆| 每晚都被弄得嗷嗷叫到高潮| 日韩高清综合在线| 老熟妇乱子伦视频在线观看| 久久久精品欧美日韩精品| 国产aⅴ精品一区二区三区波| 国产野战对白在线观看| 亚洲五月婷婷丁香| 精品不卡国产一区二区三区| 啪啪无遮挡十八禁网站| 国产在线精品亚洲第一网站| 久久久久亚洲av毛片大全| 老鸭窝网址在线观看| 高潮久久久久久久久久久不卡| 黄色 视频免费看| 夜夜爽天天搞| 亚洲va日本ⅴa欧美va伊人久久| 99在线人妻在线中文字幕| 久久伊人香网站| 欧美日本亚洲视频在线播放| 亚洲欧美激情综合另类| 日韩精品青青久久久久久| 伦理电影免费视频| 久久草成人影院| 熟妇人妻久久中文字幕3abv| 国产av在哪里看| 色精品久久人妻99蜜桃| 国产极品粉嫩免费观看在线| 成熟少妇高潮喷水视频| 999久久久国产精品视频| 亚洲七黄色美女视频| 久久人妻av系列| 日韩成人在线观看一区二区三区| 18禁黄网站禁片午夜丰满| 国产精品免费视频内射| а√天堂www在线а√下载| 国产99久久九九免费精品| 在线观看一区二区三区| 人人妻人人澡人人看| 国产亚洲精品久久久久久毛片| 色综合站精品国产| 一本精品99久久精品77| 日韩精品免费视频一区二区三区| 亚洲成国产人片在线观看| 天天躁夜夜躁狠狠躁躁| 又大又爽又粗| 国产精品一区二区精品视频观看| 亚洲精品中文字幕一二三四区| 国产激情欧美一区二区| 久久久久久久久久黄片| 欧洲精品卡2卡3卡4卡5卡区| 亚洲国产毛片av蜜桃av| 国内精品久久久久久久电影| 免费在线观看影片大全网站| 一本久久中文字幕| 国产精品国产高清国产av| a级毛片a级免费在线| 淫妇啪啪啪对白视频| 在线观看一区二区三区| 精品日产1卡2卡| 久久婷婷成人综合色麻豆| 国产精品 国内视频| 搡老熟女国产l中国老女人| www.999成人在线观看| 亚洲国产精品久久男人天堂| 亚洲片人在线观看| 99久久综合精品五月天人人| 亚洲欧美日韩无卡精品| e午夜精品久久久久久久| 欧美亚洲日本最大视频资源| 亚洲成av人片免费观看| 亚洲国产高清在线一区二区三 | 国产一级毛片七仙女欲春2 | 韩国精品一区二区三区| 国产国语露脸激情在线看| 在线观看www视频免费| 精品久久久久久久末码| 国产精品一区二区精品视频观看| 国产精品 国内视频| 国产精品国产高清国产av| 黄频高清免费视频| 超碰成人久久| 18禁美女被吸乳视频| 韩国av一区二区三区四区| 亚洲中文av在线| 中文字幕久久专区| 亚洲精品粉嫩美女一区| 成人一区二区视频在线观看| 国产黄a三级三级三级人| 两个人看的免费小视频| 日韩欧美三级三区| 男女那种视频在线观看| 亚洲av美国av| 黄片播放在线免费| 亚洲久久久国产精品| 亚洲天堂国产精品一区在线| 丰满的人妻完整版| 国产人伦9x9x在线观看| 一进一出好大好爽视频| 日韩欧美国产在线观看| 亚洲激情在线av| 午夜成年电影在线免费观看| 久久99热这里只有精品18| 一卡2卡三卡四卡精品乱码亚洲| 日韩成人在线观看一区二区三区| 99久久综合精品五月天人人| 午夜a级毛片| 成人三级做爰电影| 亚洲国产看品久久| 亚洲国产中文字幕在线视频| 国产高清激情床上av| 久久久久国产一级毛片高清牌| 村上凉子中文字幕在线| 亚洲一区高清亚洲精品| 丁香欧美五月| 成人亚洲精品av一区二区| 亚洲国产精品999在线| 国产区一区二久久| 国产在线观看jvid| 亚洲欧美精品综合久久99| 亚洲欧美日韩无卡精品| 亚洲av电影不卡..在线观看| 一区福利在线观看| 成人18禁在线播放| 亚洲男人天堂网一区| 久久国产精品人妻蜜桃| 亚洲久久久国产精品| 人妻久久中文字幕网| 侵犯人妻中文字幕一二三四区| 国产av一区二区精品久久| 日韩欧美一区二区三区在线观看| 国产精华一区二区三区| 曰老女人黄片| 国产精品久久久久久亚洲av鲁大| 丝袜人妻中文字幕| 看黄色毛片网站| 欧美黑人欧美精品刺激| 国产麻豆成人av免费视频| 激情在线观看视频在线高清| 亚洲成人国产一区在线观看| 国产精品久久视频播放| 国产精品 国内视频| 亚洲av片天天在线观看| 午夜福利一区二区在线看| 麻豆成人午夜福利视频| 757午夜福利合集在线观看| 十八禁网站免费在线| 国产精华一区二区三区| 精品国产国语对白av| 在线观看一区二区三区| 日韩大码丰满熟妇| 伦理电影免费视频| 大型黄色视频在线免费观看| 欧美日韩乱码在线| 婷婷精品国产亚洲av| 国产精品九九99| 美女扒开内裤让男人捅视频| 精品电影一区二区在线| 大型av网站在线播放| 窝窝影院91人妻| 啦啦啦免费观看视频1| 禁无遮挡网站| 国产伦在线观看视频一区| 午夜a级毛片| 国产国语露脸激情在线看| 精品福利观看| 国产精品,欧美在线| 亚洲欧美激情综合另类| 国产精品免费视频内射| 午夜精品在线福利| 午夜福利在线在线| 久久久久国产一级毛片高清牌| 一区二区日韩欧美中文字幕| 成人18禁高潮啪啪吃奶动态图| 国产成年人精品一区二区| 黄色毛片三级朝国网站| 俄罗斯特黄特色一大片| 欧美激情久久久久久爽电影| 免费看十八禁软件| 亚洲成人久久性| 三级毛片av免费| 国产三级在线视频| 成人三级做爰电影| 久久久久久久久久黄片| 淫妇啪啪啪对白视频| 色综合站精品国产| 757午夜福利合集在线观看| 18美女黄网站色大片免费观看| 久久精品91蜜桃| 精品熟女少妇八av免费久了| 91成人精品电影| 精品午夜福利视频在线观看一区| av电影中文网址| 极品教师在线免费播放| 老司机在亚洲福利影院| 在线观看免费日韩欧美大片| 日韩免费av在线播放| 欧美丝袜亚洲另类 | 啪啪无遮挡十八禁网站| 欧美成人午夜精品| 亚洲人成电影免费在线| av中文乱码字幕在线| 国产真实乱freesex| 欧美国产精品va在线观看不卡| 88av欧美| 欧美丝袜亚洲另类 | 久久99热这里只有精品18| 久久午夜综合久久蜜桃| 啦啦啦 在线观看视频| 亚洲午夜理论影院| 欧美zozozo另类| 黑人巨大精品欧美一区二区mp4| 成人手机av| 久久精品人妻少妇| 91麻豆av在线| 免费电影在线观看免费观看| 麻豆一二三区av精品| 欧美日韩乱码在线| 日韩中文字幕欧美一区二区| 一进一出抽搐动态| 啦啦啦免费观看视频1| 久久人妻av系列| 91成年电影在线观看| 又黄又爽又免费观看的视频| 黄片大片在线免费观看| 欧美+亚洲+日韩+国产| 国产精品亚洲一级av第二区| 国产国语露脸激情在线看| 国产又爽黄色视频| 欧美一级a爱片免费观看看 | 久久久久久亚洲精品国产蜜桃av| 欧美午夜高清在线| 麻豆一二三区av精品| 最近最新中文字幕大全免费视频| 亚洲 欧美 日韩 在线 免费| 黄色片一级片一级黄色片| 99re在线观看精品视频| 夜夜躁狠狠躁天天躁| 黄色视频,在线免费观看| 亚洲一区中文字幕在线| 给我免费播放毛片高清在线观看| 国产三级在线视频| 制服人妻中文乱码| 黄色视频,在线免费观看| 一级a爱视频在线免费观看| 好男人在线观看高清免费视频 | 国产片内射在线| 欧美激情极品国产一区二区三区| 757午夜福利合集在线观看| 亚洲成av人片免费观看| 久久国产乱子伦精品免费另类| www.熟女人妻精品国产| 国产三级黄色录像| 亚洲午夜精品一区,二区,三区| 欧美乱妇无乱码| 亚洲精品一区av在线观看| √禁漫天堂资源中文www| 黄色视频不卡| 女性被躁到高潮视频| 男人操女人黄网站| 色在线成人网| 黄片播放在线免费| 男女之事视频高清在线观看| 动漫黄色视频在线观看| 久久久久久亚洲精品国产蜜桃av| 免费电影在线观看免费观看| 美国免费a级毛片| 午夜免费激情av| 国产精品影院久久| 日韩欧美国产在线观看| 国产精品,欧美在线| 一本精品99久久精品77| 久久久水蜜桃国产精品网| 亚洲专区字幕在线| 一区二区三区精品91| av天堂在线播放| 精品久久久久久久久久久久久 | 高潮久久久久久久久久久不卡| 精品国产乱码久久久久久男人| 又紧又爽又黄一区二区| 国产麻豆成人av免费视频| 久久精品aⅴ一区二区三区四区| 久久 成人 亚洲| 亚洲aⅴ乱码一区二区在线播放 | 亚洲av电影在线进入| 777久久人妻少妇嫩草av网站| 久久香蕉激情| 国产主播在线观看一区二区| 丁香六月欧美| 麻豆av在线久日| 韩国精品一区二区三区| 午夜久久久久精精品| 亚洲人成77777在线视频| 一级a爱视频在线免费观看| 亚洲人成伊人成综合网2020| 国产精品久久久人人做人人爽| 精品卡一卡二卡四卡免费| 日韩高清综合在线| 久久国产乱子伦精品免费另类| 50天的宝宝边吃奶边哭怎么回事| 男女之事视频高清在线观看| 日韩欧美 国产精品| 成人三级做爰电影| videosex国产| 亚洲专区国产一区二区| 精品无人区乱码1区二区| 国产免费av片在线观看野外av| 人人妻人人看人人澡| 母亲3免费完整高清在线观看| 精品电影一区二区在线| 国产片内射在线| 免费观看人在逋| 国产99白浆流出| 校园春色视频在线观看| 女生性感内裤真人,穿戴方法视频| 国产精品1区2区在线观看.| 国产成人一区二区三区免费视频网站| 1024香蕉在线观看| 日韩国内少妇激情av| 麻豆国产av国片精品| 精品国产一区二区三区四区第35| 欧美日韩亚洲国产一区二区在线观看| avwww免费| 人妻丰满熟妇av一区二区三区| 99国产精品一区二区蜜桃av| 国内少妇人妻偷人精品xxx网站 | 熟女少妇亚洲综合色aaa.| 90打野战视频偷拍视频| 美女高潮到喷水免费观看| 成人精品一区二区免费| 色综合站精品国产| 国产人伦9x9x在线观看| 国产精品99久久99久久久不卡| 亚洲国产精品成人综合色| 男男h啪啪无遮挡| 日韩欧美免费精品| 白带黄色成豆腐渣| 91国产中文字幕| 亚洲专区中文字幕在线| 两人在一起打扑克的视频| 欧美黑人精品巨大| 欧美一级a爱片免费观看看 | 久久久国产精品麻豆| 无限看片的www在线观看| 在线天堂中文资源库| 黄色丝袜av网址大全| 男女床上黄色一级片免费看| 啦啦啦观看免费观看视频高清| 国产私拍福利视频在线观看| 日本在线视频免费播放|