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

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

?? pdsocket.cpp

?? WinCE5.0BSP for Renesas SH7770
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
		
	    /* Set 1MB System Memory Windows*/
	    
	    //Set to the Max Value
	    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pMW0C1, (MR_SHPC_MW0C1_WINEN | MR_SHPC_MW0C1_WIDTH4 |
	        MR_SHPC_MW0C1_WIDTH3| MR_SHPC_MW0C1_WIDTH2 | MR_SHPC_MW0C1_WIDTH1 | MR_SHPC_MW0C1_WIDTH0 | MR_SHPC_MW0C1_HOLD1 | MR_SHPC_MW0C1_HOLD0 | 
	        MR_SHPC_MW0C1_SETUP0| MR_SHPC_MW0C1_SETUP1 | (USHORT)MEM_WIN0_CNTRL1(v_PcmciaInit[nSlot].attr_win_base))); 

	    // MW1C1: 1MB Common Memory Window
	    //Set to the Max Value
	    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pMW1C1, (MR_SHPC_MW1C1_WINEN | MR_SHPC_MW1C1_WIDTH4 |
	         MR_SHPC_MW1C1_WIDTH3 | MR_SHPC_MW1C1_WIDTH2 | MR_SHPC_MW1C1_WIDTH1 | MR_SHPC_MW1C1_WIDTH0 | MR_SHPC_MW1C1_HOLD1 |
	         MR_SHPC_MW1C1_HOLD0 | MR_SHPC_MW1C1_SETUP1 | MR_SHPC_MW1C1_SETUP0 | (USHORT)MEM_WIN1_CNTRL1(v_PcmciaInit[nSlot].cmn_win_base)));


	    //IOWC1: 1MB IO Window
	    //Set to the Max Value
	    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pIOWC1,(MR_SHPC_IOWC1_WINEN | MR_SHPC_IOWC1_WIDTH4 |
	        MR_SHPC_IOWC1_WIDTH3 | MR_SHPC_IOWC1_WIDTH2 | MR_SHPC_IOWC1_WIDTH1 | MR_SHPC_IOWC1_WIDTH0| 
	        MR_SHPC_IOWC1_HOLD1 | MR_SHPC_IOWC1_HOLD0 | MR_SHPC_IOWC1_SETUP1 | MR_SHPC_IOWC1_SETUP0 | (USHORT)IO_WIN_CNTRL1(v_PcmciaInit[nSlot].io_win_base)));


	    /* Set 256KB Card Memory Windows*/

	    // MW0C2: 256KB Attribute Memory Window
	    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pMW0C2,(MR_SHPC_MW0C2_SWAP | MR_SHPC_MW0C2_SIZE | 
	        MEM_WIN0_CNTRL2(MR_SHPC_MW0C2_CA))));   //16 bit data access

	    // MW1C2: 256KB Common Memory Window
	    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pMW1C2,(MR_SHPC_MW1C2_SWAP | MR_SHPC_MW1C2_SIZE | 
	        MR_SHPC_MW1C2_REG | MEM_WIN1_CNTRL2(MR_SHPC_MW1C2_CA))));   //16 bit data access

	    // IOWC2: 256KB IO Memory Window
	    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pIOWC2,(MR_SHPC_IOWC2_SWAP | IO_WIN_CNTRL2(MR_SHPC_IOWC2_CA) |
	        MR_SHPC_IOWC2_AUTO_SIZE /*| MR_SHPC_IOWC2_SIZE*/)));    //16 bit data access with auto size


	    /* Set Option Reg.*/
	    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pOPT, (MR_SHPC_OPT_LED_OUT_0 | MR_SHPC_OPT_LED_SELECT_BIT2));

	    /* Set Card Control Reg.*/
	    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCCN, 0);  


	    // Set Pulse SysIRQ (INTC is already set to 0) 
	    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pINTC, MR_SHPC_INTC_CARD_IRQ);

	    /* PCIC Info Reg.*/
	    READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCIN);
	    
	    // we are in the power off state because neither 5V or 3.3V is asserted at this point.

#ifdef DEBUG
	    PrintRegisters(nSlot);
#endif
	}

    return TRUE;
}

BOOL CPCCardBusBridge::IsCardInserted( int nSlot )
{
    if( ( READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCST) & MR_SHPC_CST_CD_MASK ) == MR_SHPC_CST_CARD_INSERTED )
        return TRUE;
    else
        return FALSE;
}

BOOL CPCCardBusBridge::IsCardReady( int nSlot )
{
    if( READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCST) & MR_SHPC_CST_RDY_BSY )
        return TRUE;
    else 
        return FALSE;
}

UINT8 CPCCardBusBridge::GetVSPinOut( int nSlot )
{
	USHORT mask = (MR_SHPC_CST_VS2 | MR_SHPC_CST_VS1);
    if( ( READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCST) & mask ) == mask )
        return 2; // 5V card
    else 
        return 1; // 3V card
}

DWORD CPCCardBusBridge::GetCardType( int nSlot )
{
    if( READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCCN) & MR_SHPC_CCN_CARD_IO )
    {
        return CFG_IFACE_MEMORY_IO;
    }
    else
    {
        return CFG_IFACE_MEMORY;
    }
}

void CPCCardBusBridge::SetCardType( int nSlot, DWORD dwInterface )
{
    if( dwInterface == CFG_IFACE_MEMORY_IO )
    {
        WRITE_REGISTER_USHORT( m_rgPcmciaRegisters[nSlot].pCCN,
             READ_REGISTER_USHORT( m_rgPcmciaRegisters[nSlot].pCCN ) | MR_SHPC_CCN_CARD_IO );
    }
    else
    {
        WRITE_REGISTER_USHORT( m_rgPcmciaRegisters[nSlot].pCCN,
             READ_REGISTER_USHORT( m_rgPcmciaRegisters[nSlot].pCCN ) & ~MR_SHPC_CCN_CARD_IO );
    }
}

void CPCCardBusBridge::EnableCSCInterrupts( BOOL bEnable )
{
    USHORT bMask = ~( MR_SHPC_INTC_DETECT_ENABLE |MR_SHPC_INTC_RING_IRQ_MASK |MR_SHPC_INTC_CP_ENABLE |
				MR_SHPC_INTC_RDY_ENABLE |MR_SHPC_INTC_BAT_WARN_ENABLE |MR_SHPC_INTC_BAT_DEAD_ENABLE |MR_SHPC_INTC_MGT_IRQ_MASK);
    USHORT bFlag = 0;
    if( bEnable )
    {
        bFlag = (MR_SHPC_INTC_DETECT_ENABLE |MR_SHPC_INTC_RING_IRQ |MR_SHPC_INTC_CP_ENABLE |
				MR_SHPC_INTC_RDY_ENABLE |MR_SHPC_INTC_BAT_WARN_ENABLE |MR_SHPC_INTC_BAT_DEAD_ENABLE |MR_SHPC_INTC_MGT_IRQ);
    }

    DEBUGMSG(ZONE_PDD, (TEXT("+EnableCSCInterrupts INTC:0x%04x\r\n"), bFlag));

    WRITE_REGISTER_USHORT( m_rgPcmciaRegisters[0].pINTC,
                            ( READ_REGISTER_USHORT( m_rgPcmciaRegisters[0].pINTC ) & bMask ) | bFlag );
    WRITE_REGISTER_USHORT( m_rgPcmciaRegisters[1].pINTC,
                            ( READ_REGISTER_USHORT( m_rgPcmciaRegisters[1].pINTC ) & bMask ) | bFlag );
}

void CPCCardBusBridge::EnableClientInterrupt( int nSlot, BOOL bEnable )
{
    USHORT bMask = ~MR_SHPC_INTC_CARD_IRQ_MASK;
    USHORT bFlag = bEnable ? MR_SHPC_INTC_CARD_IRQ : 0;

    DEBUGMSG(ZONE_PDD, (TEXT("+EnableClientInterrupt INTC:0x%04x\r\n"), bFlag));
    WRITE_REGISTER_USHORT( m_rgPcmciaRegisters[nSlot].pINTC,
                           ( READ_REGISTER_USHORT( m_rgPcmciaRegisters[nSlot].pINTC ) & bMask ) | bFlag );
}

#define GR_BAD_VCC   0x0c
#define GR_BAD_VPP   0x03
BOOL    CPCCardBusBridge::ApplyReset( int nSlot,BOOL fReset )
{
    if (fReset)
        WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCPWC,
            (READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCPWC) & ~MR_SHPC_CPWC_CARD_RESET));
    else
        WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCPWC,
            (READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCPWC) | MR_SHPC_CPWC_CARD_RESET));
    return fReset;

}
BOOL    CPCCardBusBridge::ApplyEnable(int nSlot, BOOL fEnable )
{
    //first lets turn off the buffers that transmit data through to the PCMCIA slots
    // Tri state the outputs 
    if (fEnable)
	    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCPWC,
	        (READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCPWC) | MR_SHPC_CPWC_CARD_ENABLE));
    else
	    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCPWC,
	        (READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCPWC) & ~MR_SHPC_CPWC_CARD_ENABLE));
    return fEnable;

}

BOOL CPCCardBusBridge::ApplyPower(  int nSlot, DWORD dwVccPowerLevel, DWORD dwVppPowerLevel )
{
    DEBUGMSG(ZONE_PDD, (TEXT("+SetPower\r\n")));

    DEBUGCHK( dwVccPowerLevel < PCMCIA_POWER_ENTRIES );
    DEBUGCHK( dwVppPowerLevel < PCMCIA_POWER_ENTRIES );

    DWORD dwPower = cs_rgrgPowerSetting[nSlot][dwVccPowerLevel][dwVppPowerLevel].bValid;
    if( !( dwPower != GR_BAD_VCC || dwPower == GR_BAD_VPP ) )
    {
        return FALSE;
    }

    // Apply power

#ifdef DEBUG
    PrintRegisters(nSlot);
#endif

    POWER_REGISTER_VALUES PowerValues = cs_rgrgPowerSetting[nSlot][dwVccPowerLevel][dwVppPowerLevel];


    // Set VCC and VPP on PCMCIA slots 0 and 1 to original values before power down.

    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCPWC,
        ((READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCPWC) & 0xFFE0) | (PowerValues.CardPowerReg | MR_SHPC_CPWC_VCC_POWER)));
    DEBUGMSG(ZONE_PDD, (TEXT("SetPower slot:%d vcc:%d vpp:%d cardpower:0x%04x => CPWC:0x%08x\r\n"),nSlot, dwVccPowerLevel, dwVppPowerLevel, PowerValues.CardPowerReg, READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCPWC)));

    if (dwVccPowerLevel == 0 && dwVppPowerLevel == 0 ) {
        ApplyEnable(nSlot,FALSE); 
    }

    if( PowerValues.CardPowerReg == 0)
        WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCPWC,0 );

#ifdef DEBUG
    PrintRegisters(nSlot);
#endif

    DEBUGMSG(ZONE_PDD, (TEXT("-SetPower\r\n")));
    return TRUE;
}

#ifdef DEBUG
void CPCCardBusBridge::PrintRegisters(int nSlot)
{
    DEBUGMSG(ZONE_PDD, (TEXT("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\r\n")));
    DEBUGMSG(ZONE_PDD, (TEXT("& %dMOD  (0x%08x)     0x%04X\r\n"), nSlot, v_PcmciaInit[nSlot].reg_base+MR_SHPC_MOD_OFFSET,   READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pMOD)));
    DEBUGMSG(ZONE_PDD, (TEXT("& %dOPT  (0x%08x)     0x%04X\r\n"), nSlot, v_PcmciaInit[nSlot].reg_base+MR_SHPC_OPT_OFFSET,   READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pOPT)));
    DEBUGMSG(ZONE_PDD, (TEXT("& %dCST  (0x%08x)     0x%04X\r\n"), nSlot, v_PcmciaInit[nSlot].reg_base+MR_SHPC_CST_OFFSET,   READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCST)));
    DEBUGMSG(ZONE_PDD, (TEXT("& %dINTC (0x%08x)     0x%04X\r\n"), nSlot, v_PcmciaInit[nSlot].reg_base+MR_SHPC_INTC_OFFSET,   READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pINTC)));
    DEBUGMSG(ZONE_PDD, (TEXT("& %dCPWC (0x%08x)     0x%04X\r\n"), nSlot, v_PcmciaInit[nSlot].reg_base+MR_SHPC_CPWC_OFFSET,   READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCPWC)));
    DEBUGMSG(ZONE_PDD, (TEXT("& %dMW0C1(0x%08x)     0x%04X\r\n"), nSlot, v_PcmciaInit[nSlot].reg_base+MR_SHPC_MW0C1_OFFSET,   READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pMW0C1)));
    DEBUGMSG(ZONE_PDD, (TEXT("& %dMW1C1(0x%08x)     0x%04X\r\n"), nSlot, v_PcmciaInit[nSlot].reg_base+MR_SHPC_MW1C1_OFFSET,   READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pMW1C1)));
    DEBUGMSG(ZONE_PDD, (TEXT("& %dIOWC1(0x%08x)     0x%04X\r\n"), nSlot, v_PcmciaInit[nSlot].reg_base+MR_SHPC_IOWC1_OFFSET,   READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pIOWC1)));
    DEBUGMSG(ZONE_PDD, (TEXT("& %dMW0C2(0x%08x)     0x%04X\r\n"), nSlot, v_PcmciaInit[nSlot].reg_base+MR_SHPC_MW0C2_OFFSET,   READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pMW0C2)));
    DEBUGMSG(ZONE_PDD, (TEXT("& %dMW1C2(0x%08x)     0x%04X\r\n"), nSlot, v_PcmciaInit[nSlot].reg_base+MR_SHPC_MW1C2_OFFSET,   READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pMW1C2)));
    DEBUGMSG(ZONE_PDD, (TEXT("& %dIOWC2(0x%08x)     0x%04X\r\n"), nSlot, v_PcmciaInit[nSlot].reg_base+MR_SHPC_IOWC2_OFFSET,   READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pIOWC2)));
    DEBUGMSG(ZONE_PDD, (TEXT("& %dCCN  (0x%08x)     0x%04X\r\n"), nSlot, v_PcmciaInit[nSlot].reg_base+MR_SHPC_CCN_OFFSET,   READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCCN)));
	DEBUGMSG(ZONE_PDD, (TEXT("& %dCIN  (0x%08x)     0x%04X\r\n"), nSlot, v_PcmciaInit[nSlot].reg_base+MR_SHPC_CIN_OFFSET,   READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pCIN)));
    DEBUGMSG(ZONE_PDD, (TEXT("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\r\n")));
}
#endif

BOOL CPCCardBusBridge::IsValidPowerSetting( DWORD dwVcc, DWORD dwVpp )
{
    // since both sockets have the same power requirements, we will use
    // socket 0 data for power validation
    if( cs_rgrgPowerSetting[0][dwVcc][dwVpp].bValid != GR_BAD_VCC )
        return TRUE;
    else
        return FALSE;
}

//------------------------------------------------------------------------------

const SS_POWER_ENTRY CPCCardBusBridge::cs_rgPowerEntries[PCMCIA_POWER_ENTRIES] =
{
    { 0,    PWR_SUPPLY_VCC | PWR_SUPPLY_VPP1 | PWR_SUPPLY_VPP2 },
    { 33,   PWR_SUPPLY_VCC | PWR_SUPPLY_VPP1 | PWR_SUPPLY_VPP2 },
    { 50,   PWR_SUPPLY_VCC | PWR_SUPPLY_VPP1 | PWR_SUPPLY_VPP2 },
    { 120,  PWR_SUPPLY_VPP1 | PWR_SUPPLY_VPP2 },
};

// for TPS2206
const POWER_REGISTER_VALUES CPCCardBusBridge::cs_rgrgPowerSetting[NUM_SLOTS][NUM_POWER_ENTRIES][NUM_POWER_ENTRIES] = {
   {/* this is socket 0 */
   {{TRUE, MR_SHPC_CPWC_VCC_0V | MR_SHPC_CPWC_VPP0V},           // 00 Vcc 0V,   Vpp 0V
    {BAD_VPP, MR_SHPC_CPWC_BAD_VPP },                           // 01 Vcc 0V,   Vpp 3.3V
    {BAD_VPP, MR_SHPC_CPWC_BAD_VPP },                           // 02 Vcc 0V,   Vpp 5V
    {BAD_VPP, MR_SHPC_CPWC_BAD_VPP }},                          // 03 Vcc 0V,   Vpp 12V
   {{TRUE, MR_SHPC_CPWC_VCC_3V | MR_SHPC_CPWC_VPP0V},           // 04 Vcc 3.3V, Vpp 0V
    {TRUE, MR_SHPC_CPWC_VCC_3V | MR_SHPC_CPWC_VPP_EQL_VCC},     // 05 Vcc 3.3V, Vpp 3.3V
    {BAD_VPP, MR_SHPC_CPWC_BAD_VPP },                           // 06 Vcc 3.3V, Vpp 5V
    {TRUE, MR_SHPC_CPWC_VCC_3V | MR_SHPC_CPWC_VPP12V}},         // 07 Vcc 3.3V, Vpp 12V
   {{TRUE, MR_SHPC_CPWC_VCC_5V | MR_SHPC_CPWC_VPP0V},           // 08 Vcc 5V,   Vpp 0V
    {BAD_VPP, MR_SHPC_CPWC_BAD_VPP},                            // 09 Vcc 5V,   Vpp 3.3V
    {TRUE, MR_SHPC_CPWC_VCC_5V | MR_SHPC_CPWC_VPP_EQL_VCC},     // 10 Vcc 5V,   Vpp 5V
    {TRUE, MR_SHPC_CPWC_VCC_5V | MR_SHPC_CPWC_VPP12V}},         // 11 Vcc 5V,   Vpp 12V
   {{BAD_VCC, MR_SHPC_CPWC_BAD_VCC },                           // 12 Vcc 12V,  Vpp 0V
    {BAD_VCC, MR_SHPC_CPWC_BAD_VCC },                           // 13 Vcc 12V,  Vpp 3.3V
    {BAD_VCC, MR_SHPC_CPWC_BAD_VCC },                           // 14 Vcc 12V,  Vpp 5V
    {BAD_VCC, MR_SHPC_CPWC_BAD_VCC }}                           // 15 Vcc 12V,  Vpp 12V
   },
   {/* this is socket 1 */
   {{TRUE, MR_SHPC_CPWC_VCC_0V | MR_SHPC_CPWC_VPP0V},           // 00 Vcc 0V,   Vpp 0V
    {BAD_VPP, MR_SHPC_CPWC_BAD_VPP },                           // 01 Vcc 0V,   Vpp 3.3V
    {BAD_VPP, MR_SHPC_CPWC_BAD_VPP },                           // 02 Vcc 0V,   Vpp 5V
    {BAD_VPP, MR_SHPC_CPWC_BAD_VPP }},                          // 03 Vcc 0V,   Vpp 12V
   {{TRUE, MR_SHPC_CPWC_VCC_3V | MR_SHPC_CPWC_VPP0V},           // 04 Vcc 3.3V, Vpp 0V
    {TRUE, MR_SHPC_CPWC_VCC_3V | MR_SHPC_CPWC_VPP_EQL_VCC},     // 05 Vcc 3.3V, Vpp 3.3V
    {BAD_VPP, MR_SHPC_CPWC_BAD_VPP },                           // 06 Vcc 3.3V, Vpp 5V
    {TRUE, MR_SHPC_CPWC_VCC_3V | MR_SHPC_CPWC_VPP12V}},         // 07 Vcc 3.3V, Vpp 12V
   {{TRUE, MR_SHPC_CPWC_VCC_5V | MR_SHPC_CPWC_VPP0V},           // 08 Vcc 5V,   Vpp 0V
    {BAD_VPP, MR_SHPC_CPWC_BAD_VPP},                            // 09 Vcc 5V,   Vpp 3.3V
    {TRUE, MR_SHPC_CPWC_VCC_5V | MR_SHPC_CPWC_VPP_EQL_VCC},     // 10 Vcc 5V,   Vpp 5V
    {TRUE, MR_SHPC_CPWC_VCC_5V | MR_SHPC_CPWC_VPP12V}},         // 11 Vcc 5V,   Vpp 12V
   {{BAD_VCC, MR_SHPC_CPWC_BAD_VCC },                           // 12 Vcc 12V,  Vpp 0V
    {BAD_VCC, MR_SHPC_CPWC_BAD_VCC },                           // 13 Vcc 12V,  Vpp 3.3V
    {BAD_VCC, MR_SHPC_CPWC_BAD_VCC },                           // 14 Vcc 12V,  Vpp 5V
    {BAD_VCC, MR_SHPC_CPWC_BAD_VCC }}                           // 15 Vcc 12V,  Vpp 12V
   }
};

//------------------------------------------------------------------------------

// this function will be used to create a new instance of the bridge class
CPCCardBusBridge* CreatePCCardBusBridge( LPCTSTR pwszInfo )
{
    return new CPCCardBusBridge( pwszInfo );
}

BOOL CPCCardBusBridge::EnableWindow( int nSlot )
{
	// set window enable so that it is cleared in card exclusion and adding
    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pMW0C1, 
        ((READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pMW0C1) | MR_SHPC_MW0C1_WINEN)));
    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pMW1C1, 
        ((READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pMW1C1) | MR_SHPC_MW1C1_WINEN)));
    WRITE_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pIOWC1, 
        ((READ_REGISTER_USHORT(m_rgPcmciaRegisters[nSlot].pIOWC1) | MR_SHPC_IOWC1_WINEN)));
	return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区高清在线| 在线一区二区三区四区五区 | 欧美一区二区三区四区在线观看| 欧美二区三区的天堂| 欧美国产一区在线| 久久日韩粉嫩一区二区三区| 日韩av一级电影| 亚洲国产精品成人综合| 91麻豆自制传媒国产之光| 一区二区三区在线看| 日韩欧美高清dvd碟片| 国产精品系列在线播放| 亚洲四区在线观看| 欧美色成人综合| 成人黄色在线看| 亚洲国产欧美在线| 中文字幕av一区二区三区免费看| 色综合天天在线| 国产美女主播视频一区| 免费成人性网站| 亚洲日本va午夜在线影院| 欧美在线免费观看视频| 国产精品一卡二卡| 国产一区二区三区精品欧美日韩一区二区三区 | 91国偷自产一区二区三区成为亚洲经典 | 国产99久久久精品| 麻豆精品一区二区综合av| 亚洲va欧美va人人爽午夜| 国产午夜亚洲精品理论片色戒| 欧美日韩视频在线第一区| 国产最新精品免费| 亚洲国产综合91精品麻豆| 一区二区免费在线播放| 国产精品妹子av| 亚洲欧美另类久久久精品2019| 国产欧美日韩视频一区二区| 日韩三级视频中文字幕| 精品日韩99亚洲| 国产欧美日韩精品一区| 国产色婷婷亚洲99精品小说| 久久综合久久综合亚洲| 国产午夜精品一区二区三区嫩草| 久久久www成人免费无遮挡大片| 久久综合一区二区| 国产精品久久久久婷婷| 亚洲精品免费在线观看| 亚洲激情欧美激情| 亚洲精品菠萝久久久久久久| 天堂蜜桃91精品| 国产成人免费在线观看| 91成人在线免费观看| 日韩一区二区视频| 亚洲精品免费在线| 精品一区二区在线看| 99精品视频一区| 日韩一级完整毛片| 亚洲精品一二三| 国产精品一区不卡| 日韩欧美国产不卡| 视频在线观看91| 91色婷婷久久久久合中文| 日韩一卡二卡三卡四卡| 亚洲女同ⅹxx女同tv| 国产九色精品成人porny| 91视频观看视频| 国产精品成人一区二区艾草| 久久av中文字幕片| 欧美系列一区二区| 亚洲男帅同性gay1069| 福利一区在线观看| 久久精品视频网| 国产激情91久久精品导航| 精品久久一二三区| 婷婷夜色潮精品综合在线| 色婷婷精品大视频在线蜜桃视频| 国产三级精品在线| www.av亚洲| 亚洲资源中文字幕| 欧美在线观看视频在线| 亚洲bdsm女犯bdsm网站| 7777精品伊人久久久大香线蕉的| 中文字幕av在线一区二区三区| 不卡一区二区在线| 夜夜操天天操亚洲| 日韩欧美中文字幕公布| 经典三级视频一区| 欧美中文一区二区三区| 亚洲精品视频在线观看网站| 91麻豆国产福利在线观看| 亚洲第一主播视频| 久久久无码精品亚洲日韩按摩| 高清shemale亚洲人妖| 亚洲老妇xxxxxx| 日韩一区二区免费电影| a级高清视频欧美日韩| 亚洲第一激情av| 欧美极品另类videosde| 6080午夜不卡| 不卡高清视频专区| 久久精品国产一区二区三区免费看| 日韩精品一二三区| 91精品国产一区二区三区| 国产成人99久久亚洲综合精品| 成人欧美一区二区三区黑人麻豆 | 国产综合色精品一区二区三区| 久久精品亚洲一区二区三区浴池| 色88888久久久久久影院野外| 久久精品国产成人一区二区三区| 亚洲欧美电影院| 中文字幕不卡在线播放| 日韩欧美国产电影| 欧美一级片在线看| 欧美一级片在线| 91精品国产91久久综合桃花| 色欧美片视频在线观看| 99久久综合狠狠综合久久| 亚洲精品日韩一| 一区二区日韩电影| 亚洲小少妇裸体bbw| 日韩av二区在线播放| 亚洲成年人影院| 免费成人av资源网| 国产在线精品一区二区不卡了| 日韩高清不卡一区二区三区| 日本不卡视频在线| 丁香六月久久综合狠狠色| 国产精品一区在线| 色诱视频网站一区| 3d成人h动漫网站入口| 久久免费电影网| 日韩美女视频一区| 久久精品国产一区二区| av在线这里只有精品| 欧美揉bbbbb揉bbbbb| 久久这里只有精品6| 国产精品国产自产拍在线| 亚洲大片在线观看| 国产99精品在线观看| 欧美一区二区三区男人的天堂| 国产日韩精品一区| 欧美aaa在线| 欧美探花视频资源| 欧美一区二区三区精品| 欧美国产一区在线| 国产一区二区在线看| 欧美日韩一级视频| 国产精品电影一区二区| 久久精品国产99| 在线电影一区二区三区| 亚洲欧美综合网| 成人一区二区三区在线观看| 日韩一级欧美一级| 日本91福利区| 6080日韩午夜伦伦午夜伦| 一区二区三区中文字幕电影| av一本久道久久综合久久鬼色| 精品久久国产老人久久综合| 三级精品在线观看| 欧美另类变人与禽xxxxx| 亚洲欧美日韩人成在线播放| 不卡一区在线观看| 一区二区三区在线视频观看| 91黄色免费版| 亚洲国产精品精华液ab| 99视频热这里只有精品免费| 亚洲欧美一区二区不卡| 色哟哟一区二区三区| 亚洲成人免费观看| 欧美一级二级三级乱码| 国产一区视频网站| 中文字幕一区二区三区在线观看| 91在线观看成人| 亚洲自拍欧美精品| 久久看人人爽人人| 在线观看日韩电影| 精品一区二区三区视频| 国产精品人人做人人爽人人添 | 99麻豆久久久国产精品免费| 亚洲午夜在线观看视频在线| 精品sm在线观看| 欧美亚洲另类激情小说| 国产精品一区二区久久不卡| 一区二区三区四区不卡在线| 精品久久久久久久久久久院品网| 免费国产亚洲视频| 亚洲乱码中文字幕| 亚洲精品在线三区| 欧美性色综合网| av一区二区三区黑人| 国产精品影视在线观看| 亚洲国产三级在线| 亚洲精选在线视频| 亚洲色图制服丝袜| 国产欧美日韩另类视频免费观看| 91精品国产91久久久久久最新毛片 | 欧美日本一道本在线视频| 91最新地址在线播放| 99热99精品| 国产suv精品一区二区883| 国产精品一二三四区|