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