home *** CD-ROM | disk | FTP | other *** search
/ Inside Multimedia 1995 May / IMM0595.ISO / driver / ati / mach64 / disk4 / nt / oemsetup.inf < prev    next >
Encoding:
INI File  |  1994-11-09  |  23.5 KB  |  637 lines

  1. ;-----------------------------------------------------------------------
  2. ; OPTION TYPE
  3. ; -----------
  4. ; This identifies the Option type we are dealing with.  The different
  5. ; possible types are:
  6. ;
  7. ; COMPUTER, VIDEO, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
  8. ;-----------------------------------------------------------------------
  9.  
  10. [Identification]
  11.     OptionType = VIDEO
  12.  
  13. ;-----------------------------------------------------------------------
  14. ; LANGUAGES SUPPORTED
  15. ; -------------------
  16. ;
  17. ; The languages supported by the OEM INF, For every language supported
  18. ; we need to have a separate text section for every displayable text
  19. ; section.
  20. ;
  21. ;-----------------------------------------------------------------------
  22.  
  23. [LanguagesSupported]
  24.     ENG
  25.  
  26. ;-----------------------------------------------------------------------
  27. ; OPTION LIST
  28. ; -----------
  29. ; This section lists the OEM Option key names.  These keys are locale
  30. ; independent and used to represent the option in a locale independent
  31. ; manner.
  32. ;
  33. ;-----------------------------------------------------------------------
  34.  
  35. ;
  36. ; Option list order: Option = Miniport driver, BitsPerPel, XResolution, YResolution, VRefresh, Interlaced
  37. ;
  38. ; If you don't want to create a VRefresh or Interlaced value under the service
  39. ; parameters then use the value ""
  40. ;
  41.  
  42. [Options]
  43.     "ATI Graphics Accelerators 640x480x4"    = ati, 4,  640,  480   , "" , ""
  44.     "ATI Graphics Accelerators 640x480x8"    = ati, 8,  640,  480   , "" , ""
  45.     "ATI Graphics Accelerators 640x480x16"   = ati,16,  640,  480   , "" , ""
  46.     "ATI Graphics Accelerators 640x480x24"   = ati,24,  640,  480   , "" , ""
  47.     "ATI Graphics Accelerators 640x480x32"   = ati,32,  640,  480   , "" , ""
  48.     "ATI Graphics Accelerators 800x600x4"    = ati, 4,  800,  600   , "" , ""
  49.     "ATI Graphics Accelerators 800x600x8"    = ati, 8,  800,  600   , "" , ""
  50.     "ATI Graphics Accelerators 800x600x16"   = ati,16,  800,  600   , "" , ""
  51.     "ATI Graphics Accelerators 800x600x24"   = ati,24,  800,  600   , "" , ""
  52.     "ATI Graphics Accelerators 800x600x32"   = ati,32,  800,  600   , "" , ""
  53.     "ATI Graphics Accelerators 1024x768x4"   = ati, 4, 1024,  768   , "" , ""
  54.     "ATI Graphics Accelerators 1024x768x8"   = ati, 8, 1024,  768   , "" , ""
  55.     "ATI Graphics Accelerators 1024x768x16"  = ati,16, 1024,  768   , "" , ""
  56.     "ATI Graphics Accelerators 1024x768x24"  = ati,24, 1024,  768   , "" , ""
  57.     "ATI Graphics Accelerators 1024x768x32"  = ati,32, 1024,  768   , "" , ""
  58.     "ATI Graphics Accelerators 1152x864x4"   = ati, 4, 1152,  864   , "" , ""
  59.     "ATI Graphics Accelerators 1152x864x8"   = ati, 8, 1152,  864   , "" , ""
  60.     "ATI Graphics Accelerators 1152x864x16"  = ati,16, 1152,  864   , "" , ""
  61.     "ATI Graphics Accelerators 1152x864x24"  = ati,24, 1152,  864   , "" , ""
  62.     "ATI Graphics Accelerators 1280x1024x4"  = ati, 4, 1280, 1024   , "" , ""
  63.     "ATI Graphics Accelerators 1280x1024x8"  = ati, 8, 1280, 1024   , "" , ""
  64.     "ATI Graphics Accelerators 1280x1024x16" = ati,16, 1280, 1024   , "" , ""
  65.     "ATI Graphics Accelerators 1280x1024x24" = ati,24, 1280, 1024   , "" , ""
  66.  
  67. ;
  68. ; This maps detected options into the options we support
  69. ;
  70. ; Format: DetectedOption = MappedOption
  71. ;
  72.  
  73. [MapOfOptions]
  74.     "VGA"                       = "VGA"
  75.     "COMPAQ AVGA"               = "VGA"
  76.     "COMPAQ AGB"                = "VGA"
  77.     "8514 MONITOR UNKNOWN"      = "VGA"
  78.     "8514 VGA MONITOR"          = "VGA"
  79.     "8514 8503 MONO"            = "VGA"
  80.     "8514 8514 GAD"             = "VGA"
  81.     "GENOA VGA"                 = "VGA"
  82.     "VIDEO7 VGA DRAM"           = "VIDEO7 VGA VRAM 640x480x4"
  83.     "VIDEO7 VGA VRAM"           = "VIDEO7 VGA VRAM 640x480x4"
  84.     "TRIDENT VGA"               = "VGA"
  85.     "TRIDENT VGA 9100"          = "VGA"
  86.     "PARADISE VGA"              = "VGA"
  87.     "PARADISE VGA PROM"         = "VGA"
  88.     "PARADISE VGA CHIP 1F"      = "VGA"
  89.     "ATI VGA"            = "VGA"
  90.     "ATI VGA WONDER"        = "VGA"
  91.     "TSENGLAB VGA ET3000"       = "VGA"
  92.     "TSENGLAB VGA ET4000"       = "TSENGLAB VGA ET4000 640x480x4x60"
  93.     "CIRRUS VGA"                = "VGA"
  94.     "CIRRUS VGA 610-620 REVC"   = "VGA"
  95.     "XGA"                       = "XGA 640x480x8"
  96.     "DELL DGX"                  = "DELL DGX 640x480x8"
  97.     "S3 VGA"                    = "S3 VGA 640x480x8"
  98.     "PRODESIGNER II"            = "TSENGLAB VGA ET4000 640x480x4x60"
  99.  
  100.  
  101. ;
  102. ; Order of the information:
  103. ;
  104. ; Port driver = Type, Group, ErrorControl, Tag, InstalledDisplay, VgaCompatible( 0/1 ), EventMessageFile, TypesSupported
  105. ;
  106.  
  107. [MiniportDrivers]
  108.     ati   = !SERVICE_KERNEL_DRIVER, Video, !SERVICE_ERROR_NORMAL, 11,  {ati}, 0, "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\ati.sys" , 7, {ssdpms.scr, ssdpms.hlp}
  109.  
  110.  
  111. ;-----------------------------------------------------------------------
  112. ; OPTION TEXT SECTION
  113. ; -------------------
  114. ; These are text strings used to identify the option to the user.  There
  115. ; are separate sections for each language supported.  The format of the
  116. ; section name is "OptionsText" concatenated with the Language represented
  117. ; by the section.
  118. ;
  119. ;-----------------------------------------------------------------------
  120.  
  121. [OptionsTextENG]
  122.     "ATI Graphics Accelerators 640x480x4"   = "ATI Graphics Accelerators 640x480, 16 colors"
  123.     "ATI Graphics Accelerators 640x480x8"   = "ATI Graphics Accelerators 640x480, 256 colors"
  124.     "ATI Graphics Accelerators 640x480x16"  = "ATI Graphics Accelerators 640x480, 65536 colors"
  125.     "ATI Graphics Accelerators 640x480x24"  = "ATI Graphics Accelerators 640x480, 16777216 colors"
  126.     "ATI Graphics Accelerators 640x480x32"  = "ATI Graphics Accelerators 640x480, TRUE color"
  127.     "ATI Graphics Accelerators 800x600x4"   = "ATI Graphics Accelerators 800x600, 16 colors"
  128.     "ATI Graphics Accelerators 800x600x8"   = "ATI Graphics Accelerators 800x600, 256 colors"
  129.     "ATI Graphics Accelerators 800x600x16"  = "ATI Graphics Accelerators 800x600, 65536 colors"
  130.     "ATI Graphics Accelerators 800x600x24"  = "ATI Graphics Accelerators 800x600, 16777216 colors"
  131.     "ATI Graphics Accelerators 800x600x32"  = "ATI Graphics Accelerators 800x600, TRUE color"
  132.     "ATI Graphics Accelerators 1024x768x4"  = "ATI Graphics Accelerators 1024x768, 16 colors"
  133.     "ATI Graphics Accelerators 1024x768x8"  = "ATI Graphics Accelerators 1024x768, 256 colors"
  134.     "ATI Graphics Accelerators 1024x768x16" = "ATI Graphics Accelerators 1024x768, 65536 colors"
  135.     "ATI Graphics Accelerators 1024x768x24" = "ATI Graphics Accelerators 1024x768, 16777216 colors"
  136.     "ATI Graphics Accelerators 1024x768x32" = "ATI Graphics Accelerators 1024x768, TRUE color"
  137.     "ATI Graphics Accelerators 1152x864x4"  = "ATI Graphics Accelerators 1152x864, 16 colors"
  138.     "ATI Graphics Accelerators 1152x864x8"  = "ATI Graphics Accelerators 1152x864, 256 colors"
  139.     "ATI Graphics Accelerators 1152x864x16" = "ATI Graphics Accelerators 1152x864, 65536 colors"
  140.     "ATI Graphics Accelerators 1152x864x24" = "ATI Graphics Accelerators 1152x864, 16777216 colors"
  141.     "ATI Graphics Accelerators 1280x1024x4" = "ATI Graphics Accelerators 1280x1024, 16 colors"
  142.     "ATI Graphics Accelerators 1280x1024x8" = "ATI Graphics Accelerators 1280x1024, 256 colors"
  143.     "ATI Graphics Accelerators 1280x1024x16" = "ATI Graphics Accelerators 1280x1024, 65536 colors"
  144.     "ATI Graphics Accelerators 1280x1024x24" = "ATI Graphics Accelerators 1280x1024, 16777216 colors"
  145.  
  146.  
  147. ;---------------------------------------------------------------------------
  148. ; 1. Identify
  149. ;
  150. ; DESCRIPTION:   To verify that this INF deals with the same type of options
  151. ;                as we are choosing currently.
  152. ;
  153. ; INPUT:         None
  154. ;
  155. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  156. ;                $($R1): Option Type (COMPUTER ...)
  157. ;                $($R2): Diskette description
  158. ;---------------------------------------------------------------------------
  159.  
  160. [Identify]
  161.     ;
  162.     ;
  163.     read-syms Identification
  164.  
  165.     set Status     = STATUS_SUCCESSFUL
  166.     set Identifier = $(OptionType)
  167.     set Media      = #("Source Media Descriptions", 1, 1)
  168.  
  169.     Return $(Status) $(Identifier) $(Media)
  170.  
  171.  
  172.  
  173. ;------------------------------------------------------------------------
  174. ; 2. ReturnOptions:
  175. ;
  176. ; DESCRIPTION:   To return the option list supported by this INF and the
  177. ;                localised text list representing the options.
  178. ;
  179. ;
  180. ; INPUT:         $($0):  Language used. ( ENG | FRN | ... )
  181. ;
  182. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
  183. ;                                STATUS_NOLANGUAGE
  184. ;                                STATUS_FAILED
  185. ;
  186. ;                $($R1): Option List
  187. ;                $($R2): Option Text List
  188. ;------------------------------------------------------------------------
  189.  
  190. [ReturnOptions]
  191.     ;
  192.     ;
  193.     set Status        = STATUS_FAILED
  194.     set OptionList     = {}
  195.     set OptionTextList = {}
  196.  
  197.     ;
  198.     ; Check if the language requested is supported
  199.     ;
  200.     set LanguageList = ^(LanguagesSupported, 1)
  201.     Ifcontains(i) $($0) in $(LanguageList)
  202.         goto returnoptions
  203.     else
  204.         set Status = STATUS_NOLANGUAGE
  205.         goto finish_ReturnOptions
  206.     endif
  207.  
  208.     ;
  209.     ; form a list of all the options and another of the text representing
  210.     ;
  211.  
  212. returnoptions = +
  213.     set OptionList     = ^(Options, 0)
  214.     set OptionTextList = ^(OptionsText$($0), 1)
  215.     set Status         = STATUS_SUCCESSFUL
  216.  
  217. finish_ReturnOptions = +
  218.     Return $(Status) $(OptionList) $(OptionTextList)
  219.  
  220.  
  221.  
  222. ;---------------------------------------------------------------------------
  223. ; MapToSupportedOption
  224. ;
  225. ; DESCRIPTION:   To map a hardware detected option to the NT Supported
  226. ;                option which represents it.
  227. ;
  228. ; INPUT:         $($0): Option
  229. ;
  230. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  231. ;                $($R1): Mapped Option
  232. ;
  233. ;---------------------------------------------------------------------------
  234.  
  235. [MapToSupportedOption]
  236.     ;
  237.     set Status = STATUS_FAILED
  238.     set MappedOption = $($0)
  239.  
  240.     ;
  241.     ; If the option is one we can support using one of our standard options
  242.     ; then map it to the standard option else map it to the default option
  243.     ; which is VGA.
  244.     ;
  245.  
  246.     set OptionList = ^(MapOfOptions, 0)
  247.     ifcontains $($0) in $(OptionList)
  248.         set MappedOption = #(MapOfOptions, $($0), 1)
  249.     else
  250.         set MappedOption = "VGA"
  251.     endif
  252.  
  253.     set Status = STATUS_SUCCESSFUL
  254.     Return $(Status) $(MappedOption)
  255.  
  256.  
  257.  
  258. [ServicesEntry]
  259.     CurrentEntry = "" ? $(!LIBHANDLE) GetDevicemapValue Video \Device\Video0
  260.  
  261.  
  262. ;
  263. ; InstallOption:
  264. ;
  265. ; FUNCTION:  To copy files representing Options
  266. ;            To configure the installed option
  267. ;            To update the registry for the installed option
  268. ;
  269. ; INPUT:     $($0):  Language to use
  270. ;            $($1):  OptionID to install
  271. ;            $($2):  SourceDirectory
  272. ;            $($3):  AddCopy  (YES | NO)
  273. ;            $($4):  DoCopy   (YES | NO)
  274. ;            $($5):  DoConfig (YES | NO)
  275. ;
  276. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  277. ;                            STATUS_NOLANGUAGE |
  278. ;                            STATUS_USERCANCEL |
  279. ;                            STATUS_FAILED
  280. ;
  281.  
  282. [InstallOption]
  283.  
  284.     ;
  285.     ; Set default values for
  286.     ;
  287.     set Status       = STATUS_FAILED
  288.     set DrivesToFree = {}
  289.  
  290.     ;
  291.     ; extract parameters
  292.     ;
  293.     set Option   = $($1)
  294.     set SrcDir   = $($2)
  295.     set AddCopy  = $($3)
  296.     set DoCopy   = $($4)
  297.     set DoConfig = $($5)
  298.  
  299.     ;
  300.     ; Check if the language requested is supported
  301.     ;
  302.     set LanguageList = ^(LanguagesSupported, 1)
  303.     Ifcontains(i) $($0) in $(LanguageList)
  304.     else
  305.         set Status = STATUS_NOLANGUAGE
  306.         goto finish_InstallOption
  307.     endif
  308.     read-syms Strings$($0)
  309.  
  310.     ;
  311.     ; check to see if Option is supported.
  312.     ;
  313.  
  314.     set OptionList = ^(Options, 0)
  315.     ifcontains $(Option) in $(OptionList)
  316.     else
  317.         goto finish_InstallOption
  318.     endif
  319.     set OptionList = ""
  320.  
  321.     ;
  322.     ; Option has been defined already
  323.     ;
  324.     set MiniportDriver    = #(Options, $(Option), 1)
  325.     set BitsPerPel        = #(Options, $(Option), 2)
  326.     set XResolution       = #(Options, $(Option), 3)
  327.     set YResolution       = #(Options, $(Option), 4)
  328.     set VRefresh          = #(Options, $(Option), 5)
  329.     set Interlaced        = #(Options, $(Option), 6)
  330.  
  331.     set Type              = $(#(MiniportDrivers, $(MiniportDriver), 1))
  332.     set Group             =   #(MiniportDrivers, $(MiniportDriver), 2)
  333.     set ErrorControl      = $(#(MiniportDrivers, $(MiniportDriver), 3))
  334.     set Tag               =   #(MiniportDrivers, $(MiniportDriver), 4)
  335.     set InstalledDisplays =   #(MiniportDrivers, $(MiniportDriver), 5)
  336.     set VgaCompatible     =   #(MiniportDrivers, $(MiniportDriver), 6)
  337.     set EventMessageFile  =   #(MiniportDrivers, $(MiniportDriver), 7)
  338.     set TypesSupported    =   #(MiniportDrivers, $(MiniportDriver), 8)
  339.     set AuxFiles          =   #(MiniportDrivers, $(MiniportDriver), 9)
  340.  
  341.     read-syms ServicesEntry
  342.     detect    ServicesEntry
  343.  
  344. installtheoption = +
  345.  
  346.     ;
  347.     ; Code to add files to copy list
  348.     ;
  349.  
  350.     ifstr(i) $(AddCopy) == "YES"
  351.         set DoActualCopy = NO
  352.         set FileToCheck = #(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  353.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  354.         ifstr(i) $(STATUS) == NO
  355.             set DoActualCopy = YES
  356.             goto addfiles
  357.         endif
  358.         ForListDo $(InstalledDisplays)
  359.             set FileToCheck = #(Files-DisplayDLLs, $($), 2)
  360.             LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
  361.             ifstr(i) $(STATUS) == NO
  362.                 set DoActualCopy = YES
  363.             endif
  364.         EndForListDo
  365.         ForListDo $(AuxFiles)
  366.             set FileToCheck = #(Files-Auxillary, $($), 2)
  367.             LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
  368.             ifstr(i) $(STATUS) == NO
  369.                 set DoActualCopy = YES
  370.             endif
  371.         EndForListDo
  372.  
  373. addfiles = +
  374.         ifstr(i) $(DoActualCopy) == NO
  375.             shell "subroutn.inf" DriversExist $($0) $(String1)
  376.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  377.                 Debug-Output "VIDEO.INF: shelling DriversExist failed"
  378.                 goto finish_InstallOption
  379.             endif
  380.  
  381.             ifstr(i) $($R0) == STATUS_CURRENT
  382.             else-ifstr(i) $($R0) == STATUS_NEW
  383.                 set DoActualCopy = YES
  384.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  385.                 Debug-Output "VIDEO.INF: User cancelled video installation"
  386.                 goto finish_InstallOption
  387.             else
  388.                 Debug-Output "VIDEO.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  389.                 goto finish_InstallOption
  390.             endif
  391.         endif
  392.  
  393.         ifstr(i) $(DoActualCopy) == YES
  394.  
  395.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  396.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  397.                 Debug-Output "VIDEO.INF: shelling DoAskSourceEx failed"
  398.                 goto finish_InstallOption
  399.             endif
  400.  
  401.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  402.                 set SrcDir = $($R1)
  403.                 ifstr(i) $($R2) != ""
  404.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  405.                 endif
  406.             else
  407.                 Debug-Output "VIDEO.INF: User cancelled asking source."
  408.                 goto finish_InstallOption
  409.             endif
  410.  
  411.             install Install-AddCopyOption
  412.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  413.                 Debug-Output "VIDEO.INF: Adding video files to copy list failed"
  414.                 goto finish_InstallOption
  415.             endif
  416.         else
  417.             set DoCopy = NO
  418.         endif
  419.  
  420.     endif
  421.  
  422.     ifstr(i) $(DoCopy) == "YES"
  423.         read-syms ProgressCopy$($0)
  424.         install Install-DoCopyOption
  425.         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  426.             Debug-Output "Copying files failed"
  427.             goto finish_InstallOption
  428.         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  429.             set Status = STATUS_USERCANCEL
  430.             goto finish_InstallOption
  431.         endif
  432.     endif
  433.  
  434.     ifstr(i) $(DoConfig) == "YES"
  435.  
  436.         ;
  437.         ; first run a privilege check on modifying the setup node
  438.         ;
  439.  
  440.         shell "registry.inf" CheckSetupModify
  441.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  442.             goto finish_InstallOption
  443.         endif
  444.  
  445.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  446.             goto finish_InstallOption
  447.         endif
  448.  
  449.         ;
  450.         ; first make a new video entry, the entry is created automatically
  451.         ; enabled
  452.         ;
  453.  
  454.         set ServiceNode   = $(MiniportDriver)
  455.         set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  456.  
  457.         set ServicesValues   = { +
  458.                 {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
  459.                 {Start,          0, $(!REG_VT_DWORD),     $(!SERVICE_SYSTEM_START) }, +
  460.                 {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
  461.                 {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
  462.                 {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
  463.                 {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
  464.                 }
  465.  
  466.         set ParametersValues = { +
  467.                 {InstalledDisplayDrivers,     0, $(!REG_VT_MULTI_SZ), $(InstalledDisplays) }, +
  468.                 {VgaCompatible,               0, $(!REG_VT_DWORD),    $(VgaCompatible)     }, +
  469.                 {DefaultSettings.BitsPerPel,  0, $(!REG_VT_DWORD),    $(BitsPerPel)        }, +
  470.                 {DefaultSettings.XResolution, 0, $(!REG_VT_DWORD),    $(XResolution)       }, +
  471.                 {DefaultSettings.YResolution, 0, $(!REG_VT_DWORD),    $(YResolution)       }  +
  472.                 }
  473.  
  474.         ifstr(i) $(VRefresh) != ""
  475.             set VRefreshValue = {DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh)}
  476.             set ParametersValue = >($(ParametersValue), $(VRefreshValue))
  477.         endif
  478.  
  479.         ifstr(i) $(Interlaced) != ""
  480.             set InterlacedValue = {DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced)}
  481.             set ParametersValue = >($(ParametersValue), $(InterlacedValue))
  482.         endif
  483.  
  484.         set DeviceValues     = {}
  485.         set EventLogValues   = { +
  486.                 {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
  487.                 {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
  488.                 }
  489.  
  490.         shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
  491.                                                 $(ServicesValues)   +
  492.                                                 $(ParametersValues) +
  493.                                                 $(DeviceValues)     +
  494.                                                 $(EventLogValues)   +
  495.                                                 Device0
  496.  
  497.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  498.             Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
  499.             goto finish_InstallOption
  500.         endif
  501.  
  502.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  503.             Debug-Output "MakeServicesEntry failed for video"
  504.             goto finish_InstallOption
  505.         endif
  506.  
  507.         ;
  508.         ;
  509.         ; then disable the previous video entry
  510.         ;
  511.  
  512.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  513.             ifstr(i) $(CurrentEntry) != VGA
  514.                 ifstr(i) $(CurrentEntry) != ""
  515.                     shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_DISABLED)
  516.  
  517.                     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  518.                         Debug-Output "Couldn't find DisableServicesEntry in registry.inf"
  519.                         goto errorconfig
  520.                     endif
  521.  
  522.                     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  523.                         Debug-Output "DisableServices entry failed"
  524.                     endif
  525.                 endif
  526.             endif
  527.         endif
  528.  
  529.         goto configdone
  530.  
  531. errorconfig = +
  532.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  533.             shell "registry.inf" ModifyServicesEntry $(MiniportDriver) $(!SERVICE_DISABLED)
  534.             ifstr(i) $(CurrentEntry) != ""
  535.                 shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_SYSTEM_START)
  536.             endif
  537.         endif
  538.         goto finish_InstallOption
  539.  
  540. configdone = +
  541.  
  542.     endif
  543.  
  544.     set Status = STATUS_SUCCESSFUL
  545.  
  546. finish_InstallOption = +
  547.     ForListDo $(DrivesToFree)
  548.         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
  549.     EndForListDo
  550.  
  551.     Return $(Status)
  552.  
  553.  
  554. [Install-AddCopyOption]
  555.  
  556.     set STF_VITAL = ""
  557.     ;
  558.     ; Add the files to the copy list
  559.     ;
  560.     AddSectionKeyFileToCopyList   Files-DisplayMiniportDrivers   +
  561.                                   $(MiniportDriver)              +
  562.                                   $(SrcDir)                      +
  563.                                   $(!STF_WINDOWSSYSPATH)\drivers
  564.  
  565.     ForListDo $(InstalledDisplays)
  566.         AddSectionKeyFileToCopyList   Files-DisplayDLLs          +
  567.                                       $($)                       +
  568.                                       $(SrcDir)                  +
  569.                                       $(!STF_WINDOWSSYSPATH)
  570.  
  571.     ForListDo $(AuxFiles)
  572.         AddSectionKeyFileToCopyList   Files-Auxillary            +
  573.                                       $($)                       +
  574.                                       $(SrcDir)                  +
  575.                                       $(!STF_WINDOWSSYSPATH)
  576.  
  577.     EndForListDo
  578.  
  579.     exit
  580.  
  581.  
  582. [Install-DoCopyOption]
  583.  
  584.     ;
  585.     ; Copy files in the copy list
  586.     ;
  587.     CopyFilesInCopyList
  588.     exit
  589.  
  590. ;**************************************************************************
  591. ; PROGRESS GUAGE VARIABLES
  592. ;**************************************************************************
  593.  
  594. [ProgressCopyENG]
  595.     ProCaption   = "Windows NT Setup"
  596.     ProCancel    = "Cancel"
  597.     ProCancelMsg = "Windows NT is not correcly installed.  Are you sure you want "+
  598.                    "to cancel copying files?"
  599.     ProCancelCap = "Setup Message"
  600.     ProText1     = "Copying:"
  601.     ProText2     = "To:"
  602.  
  603. [StringsENG]
  604.     String1 = "Display"
  605.     String2 = "Please enter the full path to the OEM Display "+
  606.               "driver files.  Then choose Continue."
  607.  
  608. ;-----------------------------------------------------------------------
  609. ; SOURCE MEDIA DESCRIPTIONS
  610. ; -------------------------
  611. ; The OEM should list all the diskette labels here.  The source media
  612. ; description is used during copy to prompt the user for a diskette
  613. ; if the source is diskettes.
  614. ;
  615. ; Use 1 = "Diskette 1 Label" , TAGFILE = disk1
  616. ;     2 = "Diskette 2 Label" , TAGFILE = disk2
  617. ;     ...
  618. ;-----------------------------------------------------------------------
  619.  
  620. ;--------------------------------------------------------------------
  621. ; THE SECTIONS BELOW SHOULD BE AUTOMATICALLY GENERATED BY THE EXCEL
  622. ; SPREAD SHEETS
  623. ;--------------------------------------------------------------------
  624.  
  625. [Source Media Descriptions]
  626.     1  = "ATI Installation DISK (VIDEO)"  , TAGFILE = nt\ati_vid
  627.  
  628. [Files-DisplayDLLs]
  629. ati = 1,ati.dll , SIZE=999
  630.  
  631. [Files-Auxillary]
  632. ssdpms.scr = 1,ssdpms.scr, SIZE=999
  633. ssdpms.hlp = 1,ssdpms.hlp, SIZE=999
  634.  
  635. [Files-DisplayMiniportDrivers]
  636. ati = 1,ati.sys , SIZE=999
  637.