Annotation of ntddk/src/video/displays/xga/hardware.c, revision 1.1

1.1     ! root        1: /******************************Module*Header*******************************\
        !             2: * Module Name: hardware.c
        !             3: *
        !             4: * Hardware dependent initialization
        !             5: *
        !             6: * Copyright (c) 1992 Microsoft Corporation
        !             7: *
        !             8: \**************************************************************************/
        !             9: 
        !            10: 
        !            11: #include "driver.h"
        !            12: 
        !            13: 
        !            14: /****************************************************************************
        !            15:  *
        !            16:  ***************************************************************************/
        !            17: BOOL DevSetPalette(HANDLE hDriver, PPALETTEENTRY lpPalette,
        !            18:         DWORD iIndex, DWORD iCount)
        !            19: {
        !            20: 
        !            21:     ULONG ReturnedDataLength;
        !            22:     PVIDEO_CLUT pClut;
        !            23:     ULONG iSize;
        !            24:     ULONG iSizeClut;
        !            25: 
        !            26:     iSizeClut = (iCount + 2) * sizeof(ULONG);
        !            27:     pClut = (PVIDEO_CLUT) LocalAlloc(LPTR, iSizeClut);
        !            28: 
        !            29:     pClut->NumEntries = (USHORT) iCount;
        !            30:     pClut->FirstEntry = (USHORT) iIndex;
        !            31: 
        !            32:     iSize = iCount * sizeof(ULONG);
        !            33:     memcpy(pClut->LookupTable, lpPalette, iSize);
        !            34: 
        !            35:     if (!DeviceIoControl(hDriver,
        !            36:                          IOCTL_VIDEO_SET_COLOR_REGISTERS,
        !            37:                          (PVOID) pClut, // input buffer
        !            38:                          iSizeClut,
        !            39:                          NULL,    // output buffer
        !            40:                          0,
        !            41:                          &ReturnedDataLength,
        !            42:                          NULL)) {
        !            43: 
        !            44:         RIP("XGA.DLL: Initialization error-Set color registers");
        !            45: 
        !            46:     }
        !            47: 
        !            48:     LocalFree(pClut);
        !            49: 
        !            50:     return(TRUE);
        !            51: 
        !            52: }
        !            53: 
        !            54: 
        !            55: /****************************************************************************
        !            56:  * vWaitForCoProcessor
        !            57:  ***************************************************************************/
        !            58: VOID vWaitForCoProcessor(PPDEV ppdev, ULONG ulDelay)
        !            59: {
        !            60: 
        !            61:     ULONG i;
        !            62:     ULONG j;
        !            63:     volatile ULONG iWait = 0x5555;
        !            64: 
        !            65:     DISPDBG((3, "XGA.DLL!vWaitForCoProcessor - Entry\n"));
        !            66: 
        !            67:     while (ppdev->pXgaCpRegs->XGACoprocCntl & 0x80)
        !            68:     {
        !            69:         for (i = 0; i < ulDelay; i++)
        !            70:         {
        !            71:             if (iWait & 0x80)
        !            72:                 j++;
        !            73:         }
        !            74:     }
        !            75: }
        !            76: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.