********************************************************************** DMPCHIPS 2.3 OS/2 Driver Modification Program for CHIPS.SYS Ver 2.3 ********************************************************************** This version of DMPCHIPS will NOT work with previous versions of CHIPS.SYS released prior to 3.2.1A. An error message will be displayed if the DMPCHIPS/CHIPS.SYS versions are not compatible. ********************************************************************** Functionality: ------------- The DMPCHIPS utility is used to modify clock values in the CHIPS.SYS. It is recommended an input file be provided as an argument, when executing the utility. A default input file CHIPSCLK.DAT has been provided. Make a copy of CHIPSCLK.DAT, to be used as the input file. For example copy CHIPSCLK.DAT CHIPSCLK.NEW The program has a routine that will auto-detect which Chips & Technologies video chip, if any , is installed in your system. It is not required that this program be run on the target system for which CHIPS.SYS is being modified. The input file contains a list of clock sections which match those found in CHIPS.SYS. The numeric clock values are changed in the input file, and then used to modify clock values in CHIPS.SYS. NOTE: When OS/2 is running, CHIPS.SYS is loaded, and therefore not modifiable. System must be Shutdown and then restarted after CHIPS.SYS is modified. Running DMPCHIPS: ---------------- Make sure that DMPCHIPS.EXE resides in the same directory as the input file CHIPSCLK.NEW and CHIPS.SYS. (Default Input File = CHIPSCLK.DAT) To start the program type: DMPCHIPS Where is the file containing modified clock parameters. If filename is not provided, DMPCHIPS uses the default input file CHIPSCLK.DAT. When the program starts running, you will see the following display: | | ************************************************************* | * CHIPS OS/2 Clock Table Modification Program * | ************************************************************* | | CT65545 video adapter detected in this system | | Target Adapter Chip Category | ----------------------------------------------- | [1] 65530,65535,65540,65545,65546,6554x | [2] 65548 | [3] 64300,64310 | | Please select a chip category from above, or CR for detected adapter >> _ | At this point either select to use the auto-detected adapter value, or enter 1, 2 or 3 to select from the above menu. After selecting the adapter chip category, the following will be displayed: | Clock Table Menu for CT655XX | ------------------------------------------------------------ | [01] 5V/3V Memory Clock Values | [02] 5V CRT Mode | [03] 5V CRT Mode HREF | [04] 3V CRT Mode | [05] 3V CRT Mode Interlaced | [06] 5V FP 640x480 TFT [18] 5V SM 640x480 TFT | [07] 3V FP 640x480 TFT [19] 3V SM 640x480 TFT | [08] 5V FP 800x600 TFT [20] 5V SM 800x600 TFT | [09] 3V FP 800x600 TFT [21] 3V SM 800x600 TFT | [10] 5V FP 1024x768 TFT [22] 5V SM 1024x768 TFT | [11] 3V FP 1024x768 TFT [23] 3V SM 1024x768 TFT | [12] 5V FP 640x480 DSTN [24] 5V SM 640x480 DSTN | [13] 3V FP 640x480 DSTN [25] 3V SM 640x480 DSTN | [14] 5V FP 800x600 DSTN [26] 5V SM 800x600 DSTN | [15] 3V FP 800x600 DSTN [27] 3V SM 800x600 DSTN | [16] 5V FP 1024x768 DSTN [28] 5V SM 1024x768 DSTN | [17] 3V FP 1024x768 DSTN [29] 3V SM 1024x768 DSTN | ------------------------------------------------------------ | Use the M[n] command to select a specific clock section from the Clock Table | Menu above, or use M* to update all sections. The selected clock section in | CHIPS.SYS will then be updated with new values from CHIPSCLK.DAT | $ Use the Mn command to select and update the various clock sections in CHIPS.SYS with data from the modified input file. For example, type M6 to update the clock section for 5V FP 640x480 TFT. The program will then present a display of the old and new values for this clock section, and ask you to respond yes/no to do actual update. Entering no or will exit the section update. After all clock sections have been modified, type Q to exit DMPCHIPS. At this time you must respond YES to the exit query if you want updated clock values written to CHIPS.SYS. Otherwise, clock values in CHIPS.SYS are left alone, and the program is exited. This was added as a last ditch safety factor. Type ? to get a short help display. | m[n] modify clock section n | m* modify all clock sections | d[n] display clock section n parameters | l display available clock table sections | s state of clock_info structure | q exit program, return to DOS Make sure to keep a copy of the original CHIPSCLK.DAT file, as it contains the default clock values included in CHIPS.SYS, and can be used to restore the file. ---------------- CHIPS.SYS is the Ring0 Physical Display Driver (PDD) that IBMCNT32.DLL PM Display driver uses to identify the installed adapter type, and the Virtual Video Driver (VSVGA.SYS) and Base Video Handler (BVHSVGA.DLL) use to program the chip clocks. The clock programmimg routines contained in CHIPS.SYS are table driven, and are a copy of the clock programming sequences found in BIOS. The clock table sections for the various display modes, color depths and resolutions have values that are based on default generic BIOS values. These clock values in some cases need to be modified for a particular vendors hardware implementation. This can be accomplished with the use of DMPCHIPS. This program will accept as input a copy of the default clock tables internal to CHIPS.SYS, which can be modified by the OEM to provide different clock values. The clock table sections in CHIPS.SYS are then modified with the new clock values. As part of this package, the default clock values are provided in the file CHIPSCLK.DAT. A backup of this file should be made to save the default clock values before any modifications are made. Copy to another file and use it as input to DMPCHIPS. If the clock values in the BIOS used with the target chip set have been BMP modified from the original default Chips & Technologies values, then DMPCHIPS should be used to update CHIPS.SYS with the same values. Modifying the Input File ------------------------ Each clock table section has a 24 character string name enclosed in [] brackets. The [sections] in this file correspond to those used by the clock programming code in CHIPS.SYS. Following is the clock section used to program 655XX chips when in 5V CRT Mode. ; ;655XX CRT 5V ; [CLK655XX_5V_CRT ] Dclk=25 ; 640x480x256 Mode 30 Dclk=40 ; 800x600x256 Mode 32 Dclk=65 ; 1024x768x256 Mode 34 NI Dclk=50 ; 640x480x64K Mode 50 Dclk=00 ; 800x600x64K ( Not Available ) Dclk=00 ; 1024x768x64K ( Not Available ) Dclk=65 ; 640x480x16M Mode 60 Dclk=28 ; 40/80 Col Text Mode 3+ Dclk=40 ; 132 Col Text When modifying clock values in the clock table sections, change only the numeric value following the "=" for Dclk. DO NOT change anything else. The entry on each line MUST appear in the exact order as above, without any additional spaces or characters. For example, changing Dclk for 640x480x256 to 28 MHz: Dclk=28 DO NOT change the characters within [], as these are used by DMPCHIPS as search strings to locate a given section. These section strings are exactly 24 characters including the []. DO NOT change the sequence of lines in a section, they are order dependent. See above example, its pretty obvious. DO NOT add any lines in a section. The ";" character denotes a comment line. You may add/delete commants after the last line of a section, or before the [] that starts a section. Also, comments may be added to the end of a line within a section as long as it doesn't cause a new line to be added. The following clock sections are used for CRT Mode. [CLK655XX_5V_CRT ] [CLK655XX_3V_CRT ] [CLK655XX_5V_CRT_HRES ] [CLK655XX_3V_CRT_I ] The following clock sections are used for Panel Mode. [CLK655XX_FP_3V_TFT480 ] [CLK655XX_FP_5V_TFT480 ] [CLK655XX_FP_3V_TFT600 ] [CLK655XX_FP_5V_TFT600 ] [CLK655XX_FP_3V_TFT768 ] [CLK655XX_FP_5V_TFT768 ] [CLK655XX_FP_3V_STN480 ] [CLK655XX_FP_5V_STN480 ] [CLK655XX_FP_3V_STN600 ] [CLK655XX_FP_5V_STN600 ] [CLK655XX_FP_3V_STN768 ] [CLK655XX_FP_5V_STN768 ] The following clock sections are used for Simultaneous Mode. [CLK655XX_SM_3V_TFT480 ] [CLK655XX_SM_5V_TFT480 ] [CLK655XX_SM_3V_TFT600 ] [CLK655XX_SM_5V_TFT600 ] [CLK655XX_SM_3V_TFT768 ] [CLK655XX_SM_5V_TFT768 ] [CLK655XX_SM_3V_STN480 ] [CLK655XX_SM_5V_STN480 ] [CLK655XX_SM_3V_STN600 ] [CLK655XX_SM_5V_STN600 ] [CLK655XX_SM_3V_STN768 ] [CLK655XX_SM_5V_STN768 ] 643XX Clock Tables ------------------ In table for 64300, MCLK = 0 signals clock routine to NOT program this clock. Mclk is set to 72 MHz by BIOS at powerup, and should not be changed. Programming Mclk again will generate an error.. trust me. The following clock sections are used for 643XX. [CLK64300 ] [CLK64300_HRES ]