05/04/97 source.txt MCLK's source code is broken into two major components... 1) MCLK.CPP Actual program with main() function. User-interface simply calls the chips.lib (chips.lib does all the work.) 2) CHIPS.LIB, which is composed of many sub-components VGA.CPP // Class declarations for the BASE class // of all derived SVGA chipsets PCI.CPP // Generic routines for PCI_BIOS calls // Used by all PCI-based functions S3.CPP // Contains all S3 code, except for detection // plenty of feedback from Trio64 owners, // also works on the Virge CIRRUS.CPP // Contains the Cirrus code // DETECT.CPP // Contains code to detect video hardware... // Dependent on the other code (vga.cpp s3.cpp, etc.) // detection code isn't very robust // misidentifies a lot of Trio64V+ chips TRIDENT.CPP // Contains the Trident 9440/96XX MCLK code // I tested it on my 9680PCI, so I know it // works TSENG.CPP // Tseng Labs ET-6000 code (untested) // auto-detect routine "skips" w32p And of course, the CPP files reference the appropriate .H header files. Keep in mind that MCLK was my first C++ program. The organization and code structure are hardly first-class, but at least the program works. CHIPS.PRJ Turbo C++ 3.0 project file, load this and you can recompile CHIPS.LIB MCLK.PRJ Turbo C++ 3.0 project file, if CHIPS.LIB is present, you can recompile the main exeuctable program. ....................... ATI Technologies http://www.atitech.ca Cirrus Logic http://www.cirrus.com Matrox Graphics http://www.matrox.com Oak Technologies http://www.oaktech.com S3 incorporated http://www.s3.com Trident Microsystems, Inc. http://www.tridentmicro.com Tseng Laboratories, Inc. http://www.tseng.com ....................... email: liaor@uci.edu www: http://www.oac.uci.edu/~rliao