Annotation of XNU/iokit/Families/IOGraphics/DDCInfo.m, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
        !             3:  *
        !             4:  * @APPLE_LICENSE_HEADER_START@
        !             5:  * 
        !             6:  * The contents of this file constitute Original Code as defined in and
        !             7:  * are subject to the Apple Public Source License Version 1.1 (the
        !             8:  * "License").  You may not use this file except in compliance with the
        !             9:  * License.  Please obtain a copy of the License at
        !            10:  * http://www.apple.com/publicsource and read it before using this file.
        !            11:  * 
        !            12:  * This Original Code and all software distributed under the License are
        !            13:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
        !            14:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
        !            15:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
        !            16:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
        !            17:  * License for the specific language governing rights and limitations
        !            18:  * under the License.
        !            19:  * 
        !            20:  * @APPLE_LICENSE_HEADER_END@
        !            21:  */
        !            22: #include  <driverkit/ppc/IOMacOSTypes.h>
        !            23: #include "IOMacOSVideo.h"
        !            24: #include <stdlib.h>
        !            25: 
        !            26: struct TimingToEDID {
        !            27:     UInt32     timingID;
        !            28:     UInt8      spare;
        !            29:     UInt8      establishedBit;
        !            30:     UInt16     standardTiming;
        !            31: };
        !            32: typedef struct TimingToEDID TimingToEDID;
        !            33: 
        !            34: #define MAKESTD(h,a,r)         ( (((h/8)-31)<<8) | (a<<6) | (r-60) )
        !            35: 
        !            36: static const TimingToEDID timingToEDID[] = {
        !            37:     { timingApple_512x384_60hz,                0, 0xff, MAKESTD(  512,1,60) },
        !            38:     { timingApple_640x480_67hz,                0, 0x04, MAKESTD(  640,1,67) },
        !            39:     { timingVESA_640x480_60hz,         0, 0x05, MAKESTD(  640,1,60) },
        !            40:     { timingVESA_640x480_72hz ,                0, 0x03, MAKESTD(  640,1,72) },
        !            41:     { timingVESA_640x480_75hz,         0, 0x02, MAKESTD(  640,1,75) },
        !            42:     { timingVESA_640x480_85hz,         0, 0xff, MAKESTD(  640,1,85) },
        !            43:     { timingApple_832x624_75hz,                0, 0x0d, MAKESTD(  832,1,75) },
        !            44:     { timingVESA_800x600_56hz,         0, 0x01, MAKESTD(  800,1,56) },
        !            45:     { timingVESA_800x600_60hz,         0, 0x00, MAKESTD(  800,1,60) },
        !            46:     { timingVESA_800x600_72hz,         0, 0x0f, MAKESTD(  800,1,72) },
        !            47:     { timingVESA_800x600_75hz,         0, 0x0e, MAKESTD(  800,1,75) },
        !            48:     { timingVESA_800x600_85hz,         0, 0xff, MAKESTD(  800,1,85) },
        !            49:     { timingVESA_1024x768_60hz,                0, 0x0b, MAKESTD( 1024,1,60) },
        !            50:     { timingVESA_1024x768_70hz,                0, 0x0a, MAKESTD( 1024,1,70) },
        !            51:     { timingVESA_1024x768_75hz,                0, 0x09, MAKESTD( 1024,1,75) },
        !            52:     { timingVESA_1024x768_85hz,                0, 0xff, MAKESTD( 1024,1,85) },
        !            53:     { timingApple_1024x768_75hz,       0, 0x09, MAKESTD( 1024,1,75) },
        !            54:     { timingApple_1152x870_75hz,       0, 0x17, MAKESTD( 0000,0,00) },
        !            55:     { timingVESA_1280x960_75hz,                0, 0xff, MAKESTD( 1280,1,75) },
        !            56:     { timingVESA_1280x1024_60hz,       0, 0xff, MAKESTD( 1280,2,60) },
        !            57:     { timingVESA_1280x1024_75hz,       0, 0x08, MAKESTD( 1280,2,75) },
        !            58:     { timingVESA_1280x1024_85hz,       0, 0xff, MAKESTD( 1280,2,85) },
        !            59:     { timingVESA_1600x1200_60hz,       0, 0xff, MAKESTD( 1600,1,60) },
        !            60:     { timingVESA_1600x1200_65hz,       0, 0xff, MAKESTD( 1600,1,65) },
        !            61:     { timingVESA_1600x1200_70hz,       0, 0xff, MAKESTD( 1600,1,70) },
        !            62:     { timingVESA_1600x1200_75hz,       0, 0xff, MAKESTD( 1600,1,75) },
        !            63:     { timingVESA_1600x1200_80hz,       0, 0xff, MAKESTD( 1600,1,80) }
        !            64: };
        !            65: 
        !            66: 
        !            67: void main( void )
        !            68: {
        !            69:     const TimingToEDID *       lookTiming;
        !            70: 
        !            71:     lookTiming = timingToEDID;
        !            72:     while( lookTiming < (timingToEDID + sizeof( timingToEDID) / sizeof( TimingToEDID))) {
        !            73: 
        !            74:        printf("%d 0x%x ", lookTiming->timingID, 
        !            75:                *((unsigned int *)&lookTiming->spare) );
        !            76:        lookTiming++;
        !            77:     }
        !            78:     printf("\n");
        !            79: }
        !            80: 

unix.superglobalmegacorp.com

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