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

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

?? ncg.cpp

?? WinCE5.0BSP for Renesas SH7770
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
	m_pDURegs[DU_VCR  ] = NCGMode[nModeId].DURegs[DU_VCR  ];
	m_pDURegs[DU_VSPR ] = NCGMode[nModeId].DURegs[DU_VSPR ];

	m_pDURegs[DU_DSYSR  ] = 0x00000100;	/* DRES=0, DEN=1, master mode, non-interlace */

	/* Plane 1 : Primary Surface */
	DEBUGMSG(1, (TEXT("FrameBufferBase : 0x%08x\r\n"), NCG_FBBASE + g_dwFrameBufferOffset));
    if (NCGMode[0].nPixelFormat == 1) {
	    m_pDUPnRegs[0][DU_PnMR    ] = PnMR_DDF_565 | PnMR_SPIM_OPAQUE;
    }
    else if (NCGMode[0].nPixelFormat == 2) {
        m_pDUPnRegs[0][DU_PnMR    ] = PnMR_DDF_1555 | PnMR_SPIM_OPAQUE;
    }
    else {
        // Assuming RGB565. 8bpp is currently not supported.
	    m_pDUPnRegs[0][DU_PnMR    ] = PnMR_DDF_565 | PnMR_SPIM_OPAQUE;
    }
	m_pDUPnRegs[0][DU_PnMWR   ] = NCGMode[0].gpeModeEx.lPitch * 8 / 16;
	m_pDUPnRegs[0][DU_PnALPHAR] = 255;	/* 100% */
	m_pDUPnRegs[0][DU_PnDSXR  ] = NCGMode[0].gpeModeEx.modeInfo.width;
	m_pDUPnRegs[0][DU_PnDSYR  ] = NCGMode[0].gpeModeEx.modeInfo.height;
	m_pDUPnRegs[0][DU_PnDPXR  ] = 0;
	m_pDUPnRegs[0][DU_PnDPYR  ] = 0;
	m_pDUPnRegs[0][DU_PnDSA0R ] = (NCG_FBBASE + g_dwFrameBufferOffset) & 0x1FFFFFF0;
	m_pDUPnRegs[0][DU_PnDSA1R ] = (NCG_FBBASE + g_dwFrameBufferOffset) & 0x1FFFFFF0;
	m_pDUPnRegs[0][DU_PnDSA2R ] = (NCG_FBBASE + g_dwFrameBufferOffset) & 0x1FFFFFF0;
	m_pDUPnRegs[0][DU_PnSPXR  ] = 0;
	m_pDUPnRegs[0][DU_PnSPYR  ] = 0;
	m_pDUPnRegs[0][DU_PnWASPR ] = 0;
	m_pDUPnRegs[0][DU_PnWAMWR ] = 1024;
	m_pDUPnRegs[0][DU_PnBTR   ] = 0;
	m_pDUPnRegs[0][DU_PnTC1R  ] = 0;
	m_pDUPnRegs[0][DU_PnTC2R  ] = 0;
	m_pDUPnRegs[0][DU_PnMLR   ] = 0;

	/* Plane 6 : Cursor */
	DEBUGMSG(1, (TEXT("CursorBufferBase : 0x%08x\r\n"), NCG_FBBASE + g_dwCursorBufferOffset));
	m_pDUPnRegs[5][DU_PnMR    ] = PnMR_DDF_8 | PnMR_CPSL_4 | PnMR_SPIM_TRANS | PnMR_TC_PALETTE;
	m_pDUPnRegs[5][DU_PnMWR   ] = CURSOR_XSIZE;
	m_pDUPnRegs[5][DU_PnALPHAR] = 255;	/* 100% */
	m_pDUPnRegs[5][DU_PnDSXR  ] = CURSOR_XSIZE;
	m_pDUPnRegs[5][DU_PnDSYR  ] = CURSOR_YSIZE;
	m_pDUPnRegs[5][DU_PnDPXR  ] = 0;
	m_pDUPnRegs[5][DU_PnDPYR  ] = 0;
	m_pDUPnRegs[5][DU_PnDSA0R ] = (NCG_FBBASE + g_dwCursorBufferOffset) & 0x1FFFFFF0;
	m_pDUPnRegs[5][DU_PnDSA1R ] = (NCG_FBBASE + g_dwCursorBufferOffset) & 0x1FFFFFF0;
	m_pDUPnRegs[5][DU_PnDSA2R ] = (NCG_FBBASE + g_dwCursorBufferOffset) & 0x1FFFFFF0;
	m_pDUPnRegs[5][DU_PnSPXR  ] = 0;
	m_pDUPnRegs[5][DU_PnSPYR  ] = 0;
	m_pDUPnRegs[5][DU_PnWASPR ] = 0;
	m_pDUPnRegs[5][DU_PnWAMWR ] = 1024;
	m_pDUPnRegs[5][DU_PnBTR   ] = 0;
	m_pDUPnRegs[5][DU_PnTC1R  ] = 0;
	m_pDUPnRegs[5][DU_PnTC2R  ] = 0;
	m_pDUPnRegs[5][DU_PnMLR   ] = 0;

	m_pDURegs[DU_DPPR] = 0x76800000;

	/* enable interrupt */
	m_pDURegs[DU_DIER] = DIER_VBE;

    /* clear frame buffer */
    memset((void*)m_pLAW, 0x00, m_nVideoMemorySize);

    DEBUGMSG(GPE_ZONE_INIT,
        (TEXT("NCG: SetRegisters finished.\r\n")));
}



SCODE NCG::SetMode( int modeId, HPALETTE *pPalette )
{
    SCODE sc;
    int nCurrMode;
    EGPEFormat          format;
    EDDGPEPixelFormat	pixelFormat;

    DEBUGMSG(GPE_ZONE_ENTER,
        (TEXT("NCG::SetMode(%d, 0x%X)\r\n"), modeId, pPalette));

    nCurrMode = 0;
    while (nCurrMode < NUMDISPMODES) {
        if (modeId == NCGMode[nCurrMode].gpeModeEx.modeInfo.modeId) {
            DEBUGMSG(GPE_ZONE_INIT,
                (TEXT("SetMode: Mode %d found on NCGMode[%d].\r\n"),
                modeId, nCurrMode));
            break;
        }
        nCurrMode++;
    }
    if (nCurrMode >= NUMDISPMODES) {
        DEBUGMSG(GPE_ZONE_ERROR,
            (TEXT("SetMode: Mode %d required but not found.\r\n"), modeId));
        return E_INVALIDARG;
    }

    if( m_pMode ) { // The mode is already set, just return
        DEBUGMSG(GPE_ZONE_TEMP,
            (TEXT("SetMode: Mode already set.\r\n")));
        return S_OK;
    }

    m_pMode = &NCGMode[nCurrMode].gpeModeEx.modeInfo;
    m_pModeEx = &NCGMode[nCurrMode].gpeModeEx;
    m_nScreenWidth = m_pMode->width;
    m_nScreenHeight = m_pMode->height;
    m_dwPhysicalModeID = modeId;

	g_dwReservedVideoMemorySize =	g_dwCursorBufferSize;

    m_pVideoMemoryHeap = new SurfaceHeap(m_nVideoMemorySize - g_dwReservedVideoMemorySize, NULL);

    // primary surface
	if (NCGMode[nCurrMode].nPixelFormat == 0) {
		format = gpe8Bpp;
		pixelFormat = ddgpePixelFormat_8bpp;
	}
	else if (NCGMode[nCurrMode].nPixelFormat == 1) {
		format = gpe16Bpp;
		pixelFormat = ddgpePixelFormat_565;
	}
	else {
		format = gpe16Bpp;
		pixelFormat = ddgpePixelFormat_5551;
	}

    sc = AllocSurface(
            (DDGPESurf**)&m_pPrimarySurface,
            m_nScreenWidth,
            m_nScreenHeight,
            format,
            pixelFormat,
            GPE_REQUIRE_VIDEO_MEMORY);
    if (FAILED(sc))
        return sc;

	g_dwFrameBufferOffset = m_pPrimarySurface->OffsetInVideoMemory();
	DEBUGMSG(GPE_ZONE_INIT, (TEXT("PrimarySurface(0x%08x) : 0x%08x (0x%08x)\r\n"),
		m_pPrimarySurface, NCG_FBBASE + g_dwFrameBufferOffset, g_dwFrameBufferOffset));

	// cursor
	g_dwCursorBufferOffset = m_nVideoMemorySize - g_dwReservedVideoMemorySize;	// must be 16 byte align
	DEBUGMSG(GPE_ZONE_INIT, (TEXT("CursorBuffer : 0x%08x (0x%08x)\r\n"),
		NCG_FBBASE + g_dwCursorBufferOffset, g_dwCursorBufferOffset));

    /* Register initialization, also clears up video memory. */
    SetRegisters(modeId);

    /* Video memory is already cleared in register initialization part. */
    /* Let the primary surface visible. */
    SetVisibleSurface(m_pPrimarySurface);

    // Here, we use EngCreatePalette to create a palette that that MGDI will use as a
    // stock palette

    if (pPalette) {
        DEBUGMSG(GPE_ZONE_CREATE,
            (TEXT("SetMode: creating palette...\r\n")));

        if (m_pMode->Bpp == 8) {
            *pPalette = EngCreatePalette(
                PAL_INDEXED,
                PALETTE_SIZE,
                (ULONG *)_rgbIdentity,
                0,
                0,
                0 );
            DEBUGMSG(GPE_ZONE_CREATE,
                (TEXT("SetMode: 8bpp indexed palette is created.\r\n")));
        }
        else { // 16bpp
            *pPalette = EngCreatePalette(
                PAL_BITFIELDS,
                0,
                NULL,
                m_pModeEx->dwRBitMask,
                m_pModeEx->dwGBitMask,
                m_pModeEx->dwBBitMask );
            DEBUGMSG(GPE_ZONE_CREATE,
                (TEXT("SetMode: 16bpp bitfield palette is created.\r\n")));
        }
    }
    // Because the color palette is a shared resource, palette setting is
    // required even the screen mode is set to 16bpp.
    SetPalette(_rgbIdentity, 0, PALETTE_SIZE); // PALETTE_SIZE = 256

    DEBUGMSG( GPE_ZONE_ENTER,(TEXT("Leaving NCG::SetMode\r\n")));
    return S_OK;
}


SCODE NCG::GetModeInfo(
	GPEMode *pMode,
	int modeNo )
{
    DEBUGMSG(GPE_ZONE_TEMP,
        (TEXT("GetModeInfo: Requested mode %d.\r\n"), modeNo));

    if( modeNo < 0 || modeNo >= NUMDISPMODES )
        return E_INVALIDARG;
	
    *pMode = NCGMode[modeNo].gpeModeEx.modeInfo;
    return S_OK;
}


int NCG::NumModes()
{
    return NUMDISPMODES;
}


SCODE NCG::GetModeInfoEx(
    GPEModeEx *pModeEx,
    int modeNo )
{
    DEBUGMSG(GPE_ZONE_TEMP,
        (TEXT("GetModeInfoEx: Requested mode %d.\r\n"), modeNo));

    if (modeNo < 0 || modeNo >= NUMDISPMODES)
        return E_INVALIDARG;

    *pModeEx = NCGMode[modeNo].gpeModeEx;
    return S_OK;
}



/* In fact, contrast control is not supported by hardware. */
BOOL NCG::ContrastControl(ULONG cmd,ULONG *pValue)
{
    if ( pValue == NULL )
    {
        SetLastError(ERROR_INVALID_PARAMETER);
        return FALSE;
    }
    DEBUGMSG (GPE_ZONE_ENTER,
        (TEXT("NCG::ContrastControl, cmd=%d *pValue=%d\r\n"),cmd,*pValue));
    switch ( cmd ) {
    case CONTRAST_CMD_GET:
        *pValue = m_nContrastCurrent;
        return TRUE;

    case CONTRAST_CMD_SET:
        m_nContrastCurrent = (UCHAR)*pValue;
        return TRUE;

    case CONTRAST_CMD_INCREASE:
        if (m_nContrastCurrent<255) m_nContrastCurrent++;
        *pValue = m_nContrastCurrent;
        return TRUE;

    case CONTRAST_CMD_DECREASE:
        if (m_nContrastCurrent>0) m_nContrastCurrent--;
        *pValue = m_nContrastCurrent;
        return TRUE;
    case CONTRAST_CMD_DEFAULT:
        m_nContrastCurrent=0;
        return TRUE;

    default:
        SetLastError(ERROR_INVALID_PARAMETER);
    }

    return FALSE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲尤物久久| 亚洲成av人在线观看| 国产高清不卡一区| 中文字幕精品一区二区精品绿巨人 | 国产日韩欧美a| aaa亚洲精品| 亚洲国产成人tv| 欧美成人福利视频| 国产精品夜夜爽| 国产精品看片你懂得| 欧美婷婷六月丁香综合色| 亚洲成年人影院| 精品国产乱码久久久久久浪潮| 国产精品69毛片高清亚洲| 中文字幕亚洲欧美在线不卡| 欧美午夜电影网| 男女激情视频一区| 国产精品久久久久7777按摩| 欧美亚洲动漫精品| 久久99久国产精品黄毛片色诱| 国产精品美女久久久久久久| 欧美羞羞免费网站| 国产精品一区在线观看乱码| 一区二区三区在线视频免费观看| 色吊一区二区三区| 麻豆成人91精品二区三区| 中文字幕在线不卡| 日韩一区二区免费视频| 成人丝袜高跟foot| 奇米影视7777精品一区二区| 国产午夜三级一区二区三| 在线一区二区三区做爰视频网站| 久久99精品久久久久久久久久久久| 最新不卡av在线| 日韩午夜电影av| 91国产成人在线| 成人在线综合网| 免费成人在线网站| 一区二区在线观看av| 久久久一区二区| 欧美理论电影在线| 91浏览器打开| 国产成人亚洲综合a∨婷婷| 亚洲一区二区三区四区在线观看| 久久精品一二三| 日韩一区二区免费电影| 在线国产亚洲欧美| 成人一区二区三区视频| 激情亚洲综合在线| 午夜精品aaa| 亚洲精品国产第一综合99久久| 久久蜜臀精品av| 欧美一卡二卡三卡四卡| 欧美日韩一级二级三级| 成人av资源下载| 国产高清成人在线| 激情五月激情综合网| 天堂午夜影视日韩欧美一区二区| 亚洲精品国产一区二区三区四区在线 | 国产麻豆成人传媒免费观看| 日韩va亚洲va欧美va久久| 亚洲综合色婷婷| 日韩一区中文字幕| 中文字幕中文乱码欧美一区二区 | 中文字幕一区二区视频| 国产日产欧产精品推荐色 | 一区二区三区四区在线免费观看 | 五月天一区二区三区| 亚洲精品水蜜桃| 亚洲免费在线观看视频| 国产精品美女视频| 中文字幕制服丝袜一区二区三区 | 国内成人自拍视频| 久久精品久久精品| 激情综合网av| 国产在线精品视频| 国产成人欧美日韩在线电影| 国产原创一区二区三区| 国产精品综合视频| 久久国产精品99久久人人澡| 九九久久精品视频| 国产在线国偷精品免费看| 国产一区二区三区在线观看免费| 国产精品亚洲а∨天堂免在线| 国产精品自拍av| 丁香天五香天堂综合| 99视频在线精品| 91年精品国产| 91麻豆精品久久久久蜜臀 | 成人性生交大片免费看中文| 成人av电影在线| 99久久精品国产毛片| 日本黄色一区二区| 777午夜精品视频在线播放| 日韩欧美一级二级三级| 欧美国产欧美综合| 一区二区三区中文字幕精品精品| 亚洲成人精品一区二区| 另类专区欧美蜜桃臀第一页| 国产成人精品三级麻豆| 在线免费观看一区| 日韩视频在线一区二区| 国产精品无遮挡| 亚洲第一二三四区| 国产资源精品在线观看| 91网站在线播放| 在线成人免费观看| 亚洲国产激情av| 无吗不卡中文字幕| 国产精品亚洲а∨天堂免在线| 91在线视频官网| 日韩一二三区视频| 中文字幕在线不卡一区| 免费在线看一区| av福利精品导航| 91精品国产免费| 国产精品国产三级国产aⅴ原创 | 中文字幕一区日韩精品欧美| 五月天激情综合网| 成人免费不卡视频| 欧美日韩一本到| 国产欧美一区二区精品婷婷| 一区二区三区国产精华| 在线一区二区三区四区五区| 欧美一区二区三区公司| 国产精品高清亚洲| 麻豆成人免费电影| 色悠久久久久综合欧美99| 欧美精品一区二区三区在线播放| 亚洲天堂中文字幕| 国产乱人伦精品一区二区在线观看| 一本一道综合狠狠老| 久久久国产综合精品女国产盗摄| 亚洲午夜久久久久久久久电影院| 国产福利91精品一区| 欧美一区二区三区视频在线| 日韩理论电影院| 国产成人啪免费观看软件| 欧美一区二区三区四区五区| 一区二区在线观看视频| 不卡的av电影在线观看| 精品日韩在线观看| 天堂在线亚洲视频| 91福利在线观看| 亚洲人成在线播放网站岛国 | 99精品一区二区三区| 精品少妇一区二区三区日产乱码| 尤物在线观看一区| 91香蕉视频黄| 国产精品理论片| 成人性生交大片免费| 久久精品人人做人人综合| 久久99久久久久| 日韩欧美国产系列| 日本欧美肥老太交大片| 欧美日韩dvd在线观看| 亚洲靠逼com| 色综合久久久久综合| 国产精品入口麻豆九色| 国产伦精品一区二区三区视频青涩 | 亚洲精品国产无套在线观| a美女胸又www黄视频久久| 欧美国产在线观看| 国产99久久精品| 国产精品色噜噜| 国产精品一区二区黑丝| 国产色爱av资源综合区| 国产v综合v亚洲欧| 国产精品久久看| 91在线播放网址| 亚洲曰韩产成在线| 欧美无乱码久久久免费午夜一区 | 亚洲日本青草视频在线怡红院| 波多野结衣亚洲一区| 国产精品网站导航| 91免费国产在线| 亚洲自拍与偷拍| 欧美一区二区三区在线观看视频 | 欧美丰满嫩嫩电影| 琪琪久久久久日韩精品| 精品久久一二三区| 国产精品99久久久久久似苏梦涵| 中文字幕不卡一区| 色狠狠桃花综合| 日韩av在线播放中文字幕| 欧美电影免费观看高清完整版| 激情另类小说区图片区视频区| 久久精品亚洲麻豆av一区二区| gogogo免费视频观看亚洲一| 亚洲综合免费观看高清在线观看| 欧美日韩精品欧美日韩精品 | voyeur盗摄精品| 亚洲宅男天堂在线观看无病毒| 欧美综合久久久| 玖玖九九国产精品| 亚洲天堂精品在线观看| 欧美一区二区三区啪啪| 国产精品一区三区| 亚洲综合网站在线观看| 2023国产精品|