The DSC files are the key to DSPINSTL's ability to act as a generalized installation tool that can install many different types of display drivers. The display driver developer packages a set of drivers by placing the drivers on a diskette, creating one or more DSP files containing DSPINSTL installation and configuration commands. The developer then creates a configuration file entry within a DSC file that summarizes the key points concerning that display driver package. DSC files should be placed either in the directory that contains the DSPINSTL utility program or in a directory that is contained in the user's DPATH. DSPINSTL checks its directory first, and then if it cannot find a DSC file it searches the DPATH, stopping when it finds a directory that contains one or more DSC files. DSPINSTL reads all the DSC files it finds in that directory. DSC files are distinguished by a file-name extension of .DSC. A configuration file entry includes the following types of information:
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Type of Adapter ³Keyword Type String ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³Color Graphics Adapter ³ CGA ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³Enhanced Graphics Adapter ³ EGA ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³Video Graphics Adapter ³ VGA ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³Display Adapter 8514/A ³ 8514 ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³Extended Graphics Adapter ³ XGA ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³Super Video Graphics Adapter ³ SVGA ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
These standard-type strings are provided so that DSPINSTL can create a logical association with a display driver as a default type. This association is used if the user accepts DSPINSTL's default selection in the Video Display Configuration PM panel (the initial DSPINSTL PM panel). For example, suppose the panel shows that the user's system has an 8514 adapter as its primary display. If a DSC file entry contains a standard-type string of "8514" and the user accepts the default choice by selecting the OK push button, then that file entry will be chosen automatically. If more than one DSC file entry contains standard-type strings of "8514", then DSPINSTL would display a PM panel to allow the user to resolve the ambiguity. If the user checks either the primary or secondary check box, to indicate the desire to override the default logic and explicitly choose a driver, then the PM panel that follows will include list box entries for all the entries in the DSC files that DSPINSTL has read.
Typically, there will be one data element within the chain for each diskette in the package. However, the display driver developer can use the chain as desired. For example, one data element in the chain might handle file copy commands, while the next might be used for configuration file updates. The chain of data elements is first passed to the action routines (if any) and is then interpreted by the DSPINSTL Command Language Interpreter in the last part of the process. In this manner a developer can create a default series of installation steps, dynamically modify those steps, and then have the DSPINSTL command interpreter execute all the substeps that constitute each step.
DSC files are composed of lines containing character string entries. The following syntax rules govern the lines within a DSC file:
DSC files contain one or more display driver package entries. Each entry contains a header section containing general information about the display driver package. The header section is followed by one or more subsections that define the default values for a data chain element. The format of the header section is shown in the following diagram:
<Adapter Type Title string> /* Title strings are up to 256 characters */ <DLL Module Name string> /* DLL module, containing action routines */ /* for that type of adapter */ <Standard Type Key string> /* Key string that DSPINSTL uses to identify*/ /* a type of adapter that it recognizes. */ /* Can be NULL, see below for the complete*/ /* set of standard keys */ "1" /* Required parameter, must be set to 1 */ "0" /* Required parameter, must be set to 0 */ <# of Parameter Sets in Entry>/* 'n' */
The format of the data chain element subsection is as follows:
<Default Key String> /* Initial key string assigned to this */ /* DSPINSTL data chain element */ <Default General Prompt String> /* User prompt string displayed in the */ /* Specify Source Directory panel when */ /* the DSPINSTL data chain element is /* interpreted */ <Default Diskette Prompt String>/* User prompt displayed in the Insert */ /* Diskette panel displayed by the */ /* Specify Source Directory panel logic */ <Default Volume Label> /* Optional volume label string used by */ /* the Specify Source Directory panel */ /* logic to verify that an inserted */ /* diskette is the correct diskette */ <Resolution String> /* Optional string, which indicates a */ /* display driver resolution. */ /* The string can be passed to the */ /* Select_Display_Resolutions */ /* service function or can be left NULL. */ /* SVGA display driver sets have one */ /* resolution to a DSP file. */ /* Resolution strings should always */ /* be of the form, ####x####x####, where */ /* each #### field is a separate integer */
There is no data element parameter provided to indicate a choice of default source directory. It is always assumed to be the logical A: drive. DSPINSTL provides a Specify Source Directory PM panel that allows the user to override the default source directory. The <Default General Prompt String> is displayed in the PM panel so that the user will know the purpose of the source directory about to be searched.
If the user changes the source directory to a nonremovable device, the source files can exist in the specified directory or in a subdirectory under the specified directory. The subdirectory name must be the same as the volume label for the entry with the underscore character (_) replacing spaces. To do this, volume labels must be limited to eight characters.
The following example shows a typical SVGA display adapter parameter entry:
"XYZ SVGA video adapter" "XYZ.DLL" "SVGA" "1" "0" "3" "XYZ1" "XYZ SVGA display drivers (part 1)" "XYZ SVGA drivers diskette #1" "XYZ 1" "640x480x256" "XYZ2" "XYZ SVGA display drivers (part 2)" "XYZ SVGA drivers diskette #2" "XYZ 2" "1024x786x256" "XYZ3" "XYZ SVGA display drivers (part 3)" "XYZ SVGA drivers diskette #3" "XYZ 3" "1024x768x256"
The above example includes three resolution strings, which can be displayed in the scrolling list box in the Select Display Resolutions panel.
If DSPINSTL cannot identify the type of graphics adapter, it displays a default type of Other and also sets the default internal key to "Other". The user can then go to the Primary Video Adapter PM panel or the Secondary Video Adapter PM panel and select a display type that is included in one of the DSC file entries.
If DSPINSTL can identify the type of graphics adapter but finds no matching configuration file entry with a matching standard-type keyword string, it displays the default type-name for the adapter in the Video Display Configuration panel (such as VGA) but does not allow the user to accept the default selection. The user must use either the primary display check box or the secondary display check box in order to override default DSPINSTL processing. This will cause a secondary PM panel to be displayed that will allow the user to select a display driver package from a list that includes all the packages described in the DSC files.