Annotation of XNU/iokit/Families/IOGraphics/DDCInfo.m, revision 1.1.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.