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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rom.cpp

?? 一個(gè)gba的模擬器源代碼
?? CPP
?? 第 1 頁 / 共 5 頁
字號(hào):
    if (calc==89)
        cl=contrast;
    else if (calc>=92)
        cl=31-contrast;
    else if ((calc==82)||(calc==85))
        cl=contrast+((calc==85)?4:0);
    else if (calc==83)
        cl=((contrast-12)*32)/52;
    else
        cl=contrast;
    if (cpuCompleteStop) cl+=6;
    if (romErase)
    {
        if (calc!=89)
            cl+=contrastDelta[romErasePhase>>3];
        romErasePhase++;
        if (romErasePhase==64)
        {
            romErasePhase=0;
            romErase=0;
        }
    }
    if (cl>31) cl=31;
    if (cl<0) cl=0;
    if (cl>16)
    {
        rv[0]=irv[0]; rv[6]=irv[0]+((irv[6]-irv[0])*(32-cl))/16;
        gv[0]=igv[0]; gv[6]=igv[0]+((igv[6]-igv[0])*(32-cl))/16;
        bv[0]=ibv[0]; bv[6]=ibv[0]+((ibv[6]-ibv[0])*(32-cl))/16;
        rv[1]=rv[0]+(rv[6]-rv[0])/6;
        rv[2]=rv[0]+((rv[6]-rv[0])*2)/6;
        rv[3]=rv[0]+((rv[6]-rv[0])*3)/6;
        rv[4]=rv[0]+((rv[6]-rv[0])*4)/6;
        rv[5]=rv[0]+((rv[6]-rv[0])*5)/6;
        gv[1]=gv[0]+(gv[6]-gv[0])/6;
        gv[2]=gv[0]+((gv[6]-gv[0])*2)/6;
        gv[3]=gv[0]+((gv[6]-gv[0])*3)/6;
        gv[4]=gv[0]+((gv[6]-gv[0])*4)/6;
        gv[5]=gv[0]+((gv[6]-gv[0])*5)/6;
        bv[1]=bv[0]+(bv[6]-bv[0])/6;
        bv[2]=bv[0]+((bv[6]-bv[0])*2)/6;
        bv[3]=bv[0]+((bv[6]-bv[0])*3)/6;
        bv[4]=bv[0]+((bv[6]-bv[0])*4)/6;
        bv[5]=bv[0]+((bv[6]-bv[0])*5)/6;
    }
    else
    {
        rv[6]=irv[6]; rv[0]=irv[6]-((irv[6]-irv[0])*cl)/16;
        gv[6]=igv[6]; gv[0]=igv[6]-((igv[6]-igv[0])*cl)/16;
        bv[6]=ibv[6]; bv[0]=ibv[6]-((ibv[6]-ibv[0])*cl)/16;
        rv[1]=rv[0]+(rv[6]-rv[0])/6;
        rv[2]=rv[0]+((rv[6]-rv[0])*2)/6;
        rv[3]=rv[0]+((rv[6]-rv[0])*3)/6;
        rv[4]=rv[0]+((rv[6]-rv[0])*4)/6;
        rv[5]=rv[0]+((rv[6]-rv[0])*5)/6;
        gv[1]=gv[0]+(gv[6]-gv[0])/6;
        gv[2]=gv[0]+((gv[6]-gv[0])*2)/6;
        gv[3]=gv[0]+((gv[6]-gv[0])*3)/6;
        gv[4]=gv[0]+((gv[6]-gv[0])*4)/6;
        gv[5]=gv[0]+((gv[6]-gv[0])*5)/6;
        bv[1]=bv[0]+(bv[6]-bv[0])/6;
        bv[2]=bv[0]+((bv[6]-bv[0])*2)/6;
        bv[3]=bv[0]+((bv[6]-bv[0])*3)/6;
        bv[4]=bv[0]+((bv[6]-bv[0])*4)/6;
        bv[5]=bv[0]+((bv[6]-bv[0])*5)/6;
    }
    for (j=0;j<7;j++)
        rgbv[j]=bv[j]|(gv[j]<<8)|(rv[j]<<16);
    {
        bmp=new Graphics::TBitmap;
        bmp->Width=calcImage->Width;
        bmp->Height=calcImage->Height;
        bmp->PixelFormat=pf32bit;
        lcd=new Graphics::TBitmap;
        lcd->Width=lcdWidth<<1;
        lcd->Height=lcdHeight<<1;
        lcd->PixelFormat=pf32bit;
        for (int i=0;i<(lcdHeight<<1);i++)
            ScreenLine[i]=(unsigned long *)lcd->ScanLine[i];
    	for (y=0,lofs=0;y<lcdHeight;y++,lofs+=lcdLineBytes)
    	{
  	    	ofs=lofs;
      		for (x=0,sptr1=(unsigned long*)ScreenLine[y<<1],sptr2=
                (unsigned long*)ScreenLine[(y<<1)+1];x<lcdWidth;x+=8,
                ofs++)
     		{
 	    		v0=oldScreen[0][ofs];
  		    	v1=oldScreen[1][ofs];
      			v2=oldScreen[2][ofs];
      			v3=oldScreen[3][ofs];
  	    		v4=oldScreen[4][ofs];
   		    	v5=oldScreen[5][ofs];
       			for (i=7,b=0x80;i>=0;i--,b>>=1)
       			{
                    j=6-(((v0&b)+(v1&b)+(v2&b)+(v3&b)+(v4&b)+(v5&b))>>i);
                    unsigned long v=rgbv[j];
                    *(sptr1++)=v; *(sptr1++)=v;
                    *(sptr2++)=v; *(sptr2++)=v;
   	    		}
   		    }
        }
        if (calcImage)
            bmp->Canvas->Draw(0,0,calcImage);
        bmp->Canvas->Draw(skinLcd.left,skinLcd.top,lcd);
        delete lcd;
    }
    return bmp;*/
    return NULL;
}

void AddSkin(char *name,int size)
{
/*    FILE *fp=fopen(name,"rb");
    if (!fp) return;
    char str[9];
    fread(str,8,1,fp);
    str[8]=0;
    if (strcmp(str,"VTIv2.1 "))
    {
        fclose(fp);
        return;
    }
    strcpy(skin[skinCount].file,name);
    fread(skin[skinCount].name,64,1,fp);
    fread(&skin[skinCount].calc,4,1,fp);
    fseek(fp,0,SEEK_SET);
    skin[skinCount].csum=0;
    for (int i=0;i<size;i++)
        skin[skinCount].csum+=fgetc(fp)&0xff;
    TRegistry *reg=new TRegistry;
    reg->RootKey=HKEY_LOCAL_MACHINE;
    reg->OpenKey("\\Software\\ACZ\\Virtual TI\\Skins",true);
    char keyName[96];
    sprintf(keyName,"%s",name);
    skin[skinCount].defW=0;
    skin[skinCount].defH=0;
    if (reg->OpenKey(keyName,false))
    {
        if (reg->ValueExists("Checksum"))
        {
            if (reg->ReadInteger("Checksum")==
                skin[skinCount].csum)
            {
                if ((reg->ValueExists("Width"))&&
                    (reg->ValueExists("Height")))
                {
                    skin[skinCount].defW=reg->ReadInteger("Width");
                    skin[skinCount].defH=reg->ReadInteger("Height");
                }
            }
        }
    }
    reg->CloseKey();
    delete reg;
    fclose(fp);
    skinCount++;*/
}

void AnalyzeSkins()
{
    ffblk ff;
    int done;

    skinCount=0;
/*    done=findfirst("*.skn",&ff,FA_RDONLY|FA_ARCH);
    while (!done)
    {
        AddSkin(ff.ff_name,ff.ff_fsize);
        done=findnext(&ff);
    }*/
}

void LoadSkin(int n)
{
/*    char filename[256];
    if (initPath[0])
    {
        sprintf(filename,"%s%s%s",initPath,(initPath[strlen(
            initPath)-1]=='\\')?"":"\\",skin[n].file);
    }
    else
        strcpy(filename,skin[n].file);
    FILE *fp=fopen(filename,"rb");
    if (!fp) return;
    fseek(fp,80,SEEK_SET);
    TColor white,black;
    fread(&white,4,1,fp);
    fread(&black,4,1,fp);
    irvC[0]=((int)black)&0xff; irvC[1]=((int)white)&0xff;
    igvC[0]=(((int)black)>>8)&0xff; igvC[1]=(((int)white)>>8)&0xff;
    ibvC[0]=(((int)black)>>16)&0xff; ibvC[1]=(((int)white)>>16)&0xff;
    fread(&skinLcd,sizeof(RECT),1,fp);
    fread(skinKey,sizeof(RECT),80,fp);
    Screen->Cursor=crHourGlass;
    if (!skinImageLg) skinImageLg=new Graphics::TBitmap;
    skinImageLg->PixelFormat=pf24bit;
    ReadJPEG(fp,skinImageLg);
    if (!skinImageSm) skinImageSm=new Graphics::TBitmap;
    skinImageSm->Width=skinImageLg->Width>>1;
    skinImageSm->Height=skinImageLg->Height>>1;
    skinImageSm->PixelFormat=pf24bit;
    TRect r;
    r.Left=0; r.Right=skinImageSm->Width;
    r.Top=0; r.Bottom=skinImageSm->Height;
    skinImageSm->Canvas->StretchDraw(r,skinImageLg);
    Screen->Cursor=crDefault;
    fclose(fp);
    currentSkin=n;*/
}

void CloseSkin(int saveSkin)
{
/*    if (saveSkin)
    {
        TRegistry *reg=new TRegistry;
        reg->RootKey=HKEY_LOCAL_MACHINE;
        if ((currentSkin!=-1)&&(!EmuWnd->Fullscreenview1->Checked))
        {
            reg->OpenKey("\\Software\\ACZ\\Virtual TI\\Skins",true);
            char keyName[96];
            sprintf(keyName,"%s",skin[currentSkin].file);
            reg->OpenKey(keyName,true);
            reg->WriteInteger("Checksum",(int)((unsigned long)
                skin[currentSkin].csum));
            reg->WriteInteger("Width",EmuWnd->Image->Width);
            reg->WriteInteger("Height",EmuWnd->Image->Height);
            skin[currentSkin].defW=EmuWnd->Image->Width;
            skin[currentSkin].defH=EmuWnd->Image->Height;
            reg->CloseKey();
        }
        reg->OpenKey("\\Software\\ACZ\\Virtual TI\\Skins",true);
        char keyName[24];
        switch (calc)
        {
            case 73: strcpy(keyName,"DefaultSkin73"); break;
            case 82: strcpy(keyName,"DefaultSkin82"); break;
            case 83: strcpy(keyName,"DefaultSkin83"); break;
            case 84: strcpy(keyName,"DefaultSkin83Plus"); break;
            case 85: strcpy(keyName,"DefaultSkin85"); break;
            case 86: strcpy(keyName,"DefaultSkin86"); break;
            case 89: strcpy(keyName,"DefaultSkin89"); break;
            case 92: case 93: strcpy(keyName,"DefaultSkin92"); break;
            case 94: strcpy(keyName,"DefaultSkin92Plus"); break;
        }
        if (currentSkin!=-1)
            reg->WriteString(keyName,skin[currentSkin].file);
        else
            reg->WriteString(keyName,"");
        reg->CloseKey();
        delete reg;
    }
    if (skinImageLg) { delete skinImageLg; skinImageLg=NULL; }
    if (skinImageSm) { delete skinImageSm; skinImageSm=NULL; }
    skinLcd.left=0; skinLcd.right=lcdWidth<<1;
    skinLcd.top=0; skinLcd.bottom=lcdHeight<<1;
    currentSkin=-1;
    irvC[0]=0; irvC[1]=255;
    igvC[0]=0; igvC[1]=255;
    ibvC[0]=0; ibvC[1]=255;*/
}

unsigned char getmem_direct(unsigned short addr)
{
    if (addr<0xf000)
    {
        if (!mem[addr>>12])
            return 0;
        return mem[addr>>12][addr&0xfff];
    }
    return getmem(addr);
}

unsigned char getmem(unsigned short addr)
{
    if ((dmaClk)&&(addr<0xff00))
    {
        if (addr<0x8000)
        {
            if (dmaType==0)
            {
                if (debugWarn[DBW_DMA])
                    DebugWarn(DBW_DMA);
                return 0;
            }
        }
        else if (addr<0xa000)
        {
            if (dmaType==1)
            {
                if (debugWarn[DBW_DMA])
                    DebugWarn(DBW_DMA);
                return 0;
            }
        }
        else
        {
            if (dmaType==2)
            {
                if (debugWarn[DBW_DMA])
                    DebugWarn(DBW_DMA);
                return 0;
            }
        }
    }
    if (addr<0x8000)
    {
        if (!mem[addr>>12])
        {
            if (debugWarn[DBW_INVALIDMEM])
                DebugWarn(DBW_INVALIDMEM);
            return 0;
        }
        return mem[addr>>12][addr&0xfff];
    }
    else if (addr<0xa000)
    {
        if ((lcdMode==3)&&(hiRam[0x40]&0x80))
        {
            if (debugWarn[DBW_VIDMEM])
                DebugWarn(DBW_VIDMEM);
            return 0;
        }
        return vidRam[(vidPage<<13)+(addr&0x1fff)];
    }
    else if (addr<0xf000)
    {
        if (!mem[addr>>12])
        {
            if ((addr<0xc000)&&(!ramEnable)&&
                (debugWarn[DBW_RAMDISABLED]))
                DebugWarn(DBW_RAMDISABLED);
            else if (debugWarn[DBW_INVALIDMEM])
                DebugWarn(DBW_INVALIDMEM);
            return 0;
        }
        return mem[addr>>12][addr&0xfff];
    }
    else if (addr<0xfe00)
        return intRam[(hiRam[0x70]<<12)+(addr&0xfff)];
    if (addr<0xfea0)
    {
        if ((lcdMode>=2)&&(hiRam[0x40]&2)&&(hiRam[0x40]&0x80))
        {
            if (debugWarn[DBW_VIDMEM])
                DebugWarn(DBW_VIDMEM);
            return 0;
        }
        return oam[addr&0xff];
    }
    else if (addr<0xff00)
        return 0;
    else if (addr==0xff00)
    {
        hiRam[0]=(hiRam[0]&0xf0)|(((hiRam[0]&0x10)?15:(keys&0xf))&
            ((hiRam[0]&0x20)?15:((keys>>4)&0xf)));
        return hiRam[0];
    }
    else if (addr==0xff0f)
    {
        hiRam[0xf]=intReq;
        return hiRam[0xf];
    }
    else if (addr==0xff26)
    {
        hiRam[0x26]=(hiRam[0x26]&0xf0)|(snd4Enable<<3)|
            (snd3Enable<<2)|(snd2Enable<<1)|snd1Enable;
        return hiRam[0x26];
    }
    else if ((addr>=0xff30)&&(addr<0xff40))
    {
//        if ((!(hiRam[0x26]&0x80))||(!(hiRam[0x1a]&0x80)))
            return hiRam[addr&0xff];
//        return rand()&0xff;
    }
    else if (addr==0xff41)
    {
        hiRam[0x41]=(hiRam[0x41]&0xf8)|((lcdY==
            hiRam[0x45])?4:0)|lcdMode;
//        hiRam[0x41]=(hiRam[0x41]&0xf8)|(hiRam[0x41]&4)|lcdMode;
        int v=hiRam[0x41];
//        if (lcdY!=hiRam[0x45])
//            hiRam[0x41]&=~4;
        return v;
    }
    else if (addr==0xff44)
    {
        hiRam[0x44]=lcdY;
        return hiRam[0x44];
    }
    else if (addr==0xff69)
    {
        unsigned char v;
        if (hiRam[0x68]&1)
            v=(bgPalGB[(hiRam[0x68]>>1)&31]>>8)&0xff;
        else
            v=bgPalGB[(hiRam[0x68]>>1)&31]&0xff;
        if (hiRam[0x68]&0x80)
            hiRam[0x68]=((hiRam[0x68]+1)&63)|0x80;
        return v;
    }
    else if (addr==0xff6b)
    {
        unsigned char v;
        if (hiRam[0x6a]&1)
            v=(objPalGB[(hiRam[0x6a]>>1)&31]>>8)&0xff;
        else
            v=objPalGB[(hiRam[0x6a]>>1)&31]&0xff;
        if (hiRam[0x6a]&0x80)
            hiRam[0x6a]=((hiRam[0x6a]+1)&63)|0x80;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品成人久久综合一区| 色88888久久久久久影院野外| 亚洲国产精品v| 精品国产一区二区三区不卡 | 日本亚洲免费观看| 国产精品毛片a∨一区二区三区| 欧美精品在线观看一区二区| 成人美女视频在线观看18| 日日摸夜夜添夜夜添亚洲女人| 1024成人网| 欧美极品美女视频| 国产精品视频看| 国产精品久久精品日日| 精品国产免费一区二区三区四区 | 日韩av成人高清| 天天综合色天天综合| 中文字幕在线观看不卡视频| 国产精品动漫网站| 亚洲免费在线播放| 国产精品超碰97尤物18| 亚洲激情自拍视频| 国产精品毛片久久久久久久| 亚洲欧美日韩综合aⅴ视频| 亚洲黄色性网站| 午夜影院在线观看欧美| 一区二区在线电影| 五月综合激情婷婷六月色窝| 欧美a一区二区| 亚洲激情中文1区| 亚洲不卡av一区二区三区| 日韩国产欧美三级| 国产一区91精品张津瑜| 美女视频第一区二区三区免费观看网站| 亚洲在线成人精品| 一区二区三区鲁丝不卡| 亚洲男帅同性gay1069| 亚洲第一福利视频在线| 国产一区二区在线免费观看| 91在线观看污| 欧美午夜不卡在线观看免费| 成人激情免费网站| 粉嫩在线一区二区三区视频| 丰满少妇在线播放bd日韩电影| 一本大道综合伊人精品热热 | 国产午夜精品一区二区| 久久在线观看免费| 国产午夜精品美女毛片视频| 一区二区三区丝袜| 精品一区二区在线播放| 国产精品中文欧美| 成人综合在线观看| 在线免费观看日本一区| 欧美日韩中文字幕一区二区| 4438成人网| 久久综合色之久久综合| 一区二区三区在线观看视频| 经典三级视频一区| 欧美系列亚洲系列| 国产欧美一二三区| 国产精品久久国产精麻豆99网站 | 99久久国产综合色|国产精品| 欧美高清激情brazzers| 国产精品护士白丝一区av| 日韩综合小视频| 91免费在线播放| 久久婷婷成人综合色| 天天影视网天天综合色在线播放| 成人午夜视频在线| 日韩欧美久久久| 国产日韩精品一区二区浪潮av| 亚洲第一av色| 色先锋aa成人| 国产精品视频一二三区| 青青草一区二区三区| 在线视频你懂得一区二区三区| 亚洲国产精品激情在线观看| 精品无人区卡一卡二卡三乱码免费卡| 欧美探花视频资源| ...中文天堂在线一区| 国产精品综合在线视频| 欧美一区二区三区免费视频 | 亚洲小说欧美激情另类| 麻豆国产91在线播放| 欧美日韩成人在线| 国产欧美日韩综合精品一区二区| 天堂蜜桃91精品| 在线一区二区视频| 亚洲视频资源在线| 久久精品国产精品亚洲红杏| 成人app网站| 国产亚洲欧美激情| 久久99精品国产.久久久久久| 欧美日韩高清一区二区| 亚洲一区自拍偷拍| 日本道精品一区二区三区| 最近中文字幕一区二区三区| 国产成人免费网站| 91精品国产高清一区二区三区| 夜夜嗨av一区二区三区网页| 91蜜桃婷婷狠狠久久综合9色| 国产欧美一区二区精品性| 国产白丝精品91爽爽久久| 国产日韩欧美制服另类| 国内精品国产成人国产三级粉色| 欧美日韩一区不卡| 亚洲一区二区三区视频在线 | 中文字幕亚洲综合久久菠萝蜜| 国产高清在线精品| 国产拍揄自揄精品视频麻豆| 国产福利一区二区三区视频| 国产日韩欧美麻豆| 9久草视频在线视频精品| 精品久久久久久无| 丝袜美腿一区二区三区| 欧美久久高跟鞋激| 蜜桃视频一区二区| 亚洲精品一区二区三区福利| 国产一区二区三区在线观看免费视频| 久久影音资源网| 国产东北露脸精品视频| 国产精品久久久一本精品 | 国产精品国产自产拍在线| 99亚偷拍自图区亚洲| 亚洲精品你懂的| 欧美精品v国产精品v日韩精品| 蜜桃av噜噜一区| 久久久久久久性| 国产一区二区在线电影| 国产精品成人一区二区三区夜夜夜| 91免费观看视频| 青青草97国产精品免费观看无弹窗版| 日韩一级高清毛片| 日韩精品午夜视频| 欧美一区2区视频在线观看| 国产一区二区影院| 亚洲女同女同女同女同女同69| 欧美狂野另类xxxxoooo| 久久69国产一区二区蜜臀| 国产精品日产欧美久久久久| 欧美午夜电影在线播放| 精品无人码麻豆乱码1区2区 | 樱桃视频在线观看一区| 88在线观看91蜜桃国自产| 国产在线精品不卡| 亚洲三级在线免费观看| 欧美久久久影院| 粉嫩一区二区三区性色av| 亚洲午夜在线电影| 久久久久久综合| 欧美日韩一区成人| 国产精品一区二区男女羞羞无遮挡| 亚洲精品伦理在线| 日韩欧美一区二区久久婷婷| 北条麻妃一区二区三区| 亚洲电影一区二区三区| 久久久综合视频| 精品视频1区2区3区| 国产乱国产乱300精品| 亚洲电影中文字幕在线观看| 欧美激情一区二区三区四区| 欧美三区免费完整视频在线观看| 国产一区二三区好的| 亚洲va韩国va欧美va| 中文在线免费一区三区高中清不卡| 欧美日韩综合在线免费观看| 高清视频一区二区| 日韩国产一区二| 亚洲自拍偷拍麻豆| 亚洲国产精华液网站w| 日韩欧美色电影| 欧美午夜精品免费| 国产不卡高清在线观看视频| 日本一区中文字幕| 一区二区三区在线高清| 国产欧美综合在线| 精品女同一区二区| 欧美精品一卡二卡| 色综合天天综合狠狠| 亚洲超丰满肉感bbw| 日韩理论电影院| 国产午夜亚洲精品理论片色戒 | 亚洲电影一区二区| 《视频一区视频二区| 欧美极品aⅴ影院| 精品免费日韩av| 日韩欧美国产1| 欧美精品乱人伦久久久久久| 91蝌蚪porny| 成人av在线电影| 国产福利一区二区| 韩国三级在线一区| 麻豆精品在线播放| 日韩中文字幕亚洲一区二区va在线 | 日韩欧美久久一区| 欧美一区二区三区系列电影| 欧美日韩性生活| 欧美日韩国产三级| 欧美日韩午夜精品| 欧美日韩黄视频| 欧美裸体一区二区三区|