|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.