;
; AccelGraphics OemSetup.Inf file. Build: 3.5.1.01
;
; This is for Nt-3.51
;
;-----------------------------------------------------------------------
; OPTION TYPE
; -----------
; This identifies the Option type we are dealing with. The different
; possible types are:
;
; COMPUTER, VIDEO, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
;-----------------------------------------------------------------------
[Identification]
OptionType = VIDEO ; If it's for 3.51
;-----------------------------------------------------------------------
; LANGUAGES SUPPORTED
; -------------------
;
; The languages supported by the OEM INF, For every language supported
; we need to have a separate text section for every displayable text
; section.
;
;-----------------------------------------------------------------------
[LanguagesSupported]
ENG
;-----------------------------------------------------------------------
; OPTION LIST
; -----------
; This section lists the OEM Option key names. These keys are locale
; independent and used to represent the option in a locale independent
; manner.
;
;-----------------------------------------------------------------------
;
; Option list order: Option = Miniport driver, BitsPerPel, XResolution,
; YResolution, VRefresh, Interlaced
;
; If you don't want to create a VRefresh or Interlaced value under the service
; parameters then use the value ""
;
; AccelPro 3.5.1.01
[Options]
"AccelGraphics AccelPro VideoBoard" = AccelPro
"AccelGraphics AccelR8 VideoBoard" = AccelR8
[OptionsAccelR8]
"1024x768x8x60" = Accel3D, 8, 1024, 768 , 60 , 0
[OptionsAccelPro]
"1280x1024x15x60" = Accel3D, 15, 1280, 1024 , 60 , 0
;
; This maps detected options into the options we support
;
; Format: DetectedOption = MappedOption
;
[MapOfOptions]
"VGA" = "VGA"
"COMPAQ AVGA" = "VGA"
"COMPAQ AGB" = "VGA"
"8514 MONITOR UNKNOWN" = "VGA"
"8514 VGA MONITOR" = "VGA"
"8514 8503 MONO" = "VGA"
"8514 8514 GAD" = "VGA"
"GENOA VGA" = "VGA"
"VIDEO7 VGA DRAM" = "VIDEO7 VGA VRAM 640x480x4"
"VIDEO7 VGA VRAM" = "VIDEO7 VGA VRAM 640x480x4"
"TRIDENT VGA" = "VGA"
"TRIDENT VGA 9100" = "VGA"
"PARADISE VGA" = "VGA"
"PARADISE VGA PROM" = "VGA"
"PARADISE VGA CHIP 1F" = "VGA"
"ATI VGA" = "VGA"
"ATI VGA WONDDER3" = "VGA"
"TSENGLAB VGA ET3000" = "VGA"
"TSENGLAB VGA ET4000" = "TSENGLAB VGA ET4000 640x480x4x60"
"CIRRUS VGA" = "VGA"
"CIRRUS VGA 610-620 REVC" = "VGA"
"XGA" = "XGA 640x480x8"
"DELL DGX" = "DELL DGX 640x480x8"
"S3 VGA" = "S3 VGA 640x480x8"
"PRODESIGNER II" = "TSENGLAB VGA ET4000 640x480x4x60"
;
; Order of the information:
;
; Port driver = Type, Group, ErrorControl, Tag, InstalledDisplay, VgaCompatible( 0/1 ), EventMessageFile, TypesSupported
;
[MiniportDrivers]
Accel3D = !SERVICE_KERNEL_DRIVER, Video, !SERVICE_ERROR_NORMAL, 11, {Accel3D}, 0 , "%SystemRoot%\System32\IoLogMsg.Dll;%SystemRoot%\System32\Drivers\Accel3D.Sys" , 7
;
; Order of the information
;
; Display driver = OpenGL client driver
;
[OpenGLDrivers]
Accel3D = Accel3D
;
; Order of the information
;
; Display driver = Perfmon DLL
;
;; job: temp delete 5-Jan-95 until reinstated ->::[DispayPerfmon]
;; job: temp delete 5-Jan-95 until reinstated ->:: Accel3D = Accel3D
;
; Order of the information
;
; Display driver = GLINT Applet CPL
;
[Accel3DMisc]
Accel3D = Accel3D
[AccelReleaseNoteArea]
Accel3D = Accel3D
;-----------------------------------------------------------------------
; OPTION TEXT SECTION
; -------------------
; These are text strings used to identify the option to the user. There
; are separate sections for each language supported. The format of the
; section name is "OptionsText" concatenated with the Language represented
; by the section.
;
;-----------------------------------------------------------------------
[OptionsTextENG]
"AccelGraphics AccelPro VideoBoard" = "AccelGraphics AccelPro 3D Video Adapter"
"AccelGraphics AccelR8 VideoBoard" = "AccelGraphics AccelR8 3D Video Adapter"
;---------------------------------------------------------------------------
; 1. Identify
;
; DESCRIPTION: To verify that this INF deals with the same type of options
; as we are choosing currently.
;
; INPUT: None
;
; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL
; $($R1): Option Type (COMPUTER ...)
; $($R2): Diskette description
;---------------------------------------------------------------------------
[Identify]
;
;
read-syms Identification
set Status = STATUS_SUCCESSFUL
set Identifier = $(OptionType)
set Media = #("Source Media Descriptions", 1, 1)
Return $(Status) $(Identifier) $(Media)
;------------------------------------------------------------------------
; 2. ReturnOptions:
;
; DESCRIPTION: To return the option list supported by this INF and the
; localised text list representing the options.
;
;
; INPUT: $($0): Language used. ( ENG | FRN | ... )
;
; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
; STATUS_NOLANGUAGE
; STATUS_FAILED
;
; $($R1): Option List
; $($R2): Option Text List
;------------------------------------------------------------------------
[ReturnOptions]
;
;
set Status = STATUS_FAILED
set OptionList = {}
set OptionTextList = {}
;
; Check if the language requested is supported
;
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) in $(LanguageList)
goto returnoptions
else
set Status = STATUS_NOLANGUAGE
goto finish_ReturnOptions
endif
;
; form a list of all the options and another of the text representing
;
returnoptions = +
set OptionList = ^(Options, 0)
set OptionTextList = ^(OptionsText$($0), 1)
finish_ReturnOptions = +
Return $(Status) $(OptionList) $(OptionTextList)
;---------------------------------------------------------------------------
; MapToSupportedOption
;
; DESCRIPTION: To map a hardware detected option to the NT Supported
; option which represents it.
;
; INPUT: $($0): Option
;
; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL
; $($R1): Mapped Option
;
;---------------------------------------------------------------------------
[MapToSupportedOption]
;
set Status = STATUS_FAILED
set MappedOption = $($0)
;
; If the option is one we can support using one of our standard options
; then map it to the standard option else map it to the default option
; which is VGA.
;
set OptionList = ^(MapOfOptions, 0)
ifcontains $($0) in $(OptionList)
set MappedOption = #(MapOfOptions, $($0), 1)
else
set MappedOption = "VGA"
endif
set Status = STATUS_SUCCESSFUL
Return $(Status) $(MappedOption)
[ServicesEntry]
CurrentEntry = "" ? $(!LIBHANDLE) GetDevicemapValue Video \Device\Video0
[AccelGeneralConstants]
ExitCodeOk = 0
ExitCodeCancel = 1
ExitCodeFatal = 2
KeyNull = ""
MAXIMUM_ALLOWED = 33554432
RegistryErrorIndex = NO_ERROR
KeyProduct = ""
KeyParameters = ""
TRUE = 1
FALSE = 0
NoTitle = 0
ExitState = "Active"
OldVersionExisted = $(FALSE)
DriverPath = $(!STF_NTPATH)\Drivers
SupportedBoards = {AccelR8, AccelPro}
;
; InstallOption:
;
; FUNCTION: To copy files representing Options
; To configure the installed option
; To update the registry for the installed option
;
; INPUT: $($0): Language to use
; $($1): OptionID to install
; $($2): SourceDirectory
; $($3): AddCopy (YES | NO)
; $($4): DoCopy (YES | NO)
; $($5): DoConfig (YES | NO)
;
; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
; STATUS_NOLANGUAGE |
; STATUS_USERCANCEL |
; STATUS_FAILED
;
[InstallOption]
;
; Set default values for
;
set Status = STATUS_FAILED
set DrivesToFree = {}
;
; extract parameters
;
set Option = $($1)
set SrcDir = $($2)
set AddCopy = $($3)
set DoCopy = $($4)
set DoConfig = $($5)
; Read General Constants
read-syms AccelGeneralConstants
read-syms Strings$($0)
;
; check to see if Option is supported.
;
set OptionList = ^(Options, 0)
ifcontains $(Option) in $(OptionList)
else
goto finish_InstallOption
endif
set BoardType = #(Options, $(Option), 1)
set Status = STATUS_SUCCESSFUL
;
; select appropriate resolution
;
set OptionList = ^(Options$(BoardType), 0)
set Option = *($(OptionList), 1)
; shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) WARNING $(OptionList)" "$(Option)
;
;
set MiniportDriver = #(Options$(BoardType), $(Option), 1)
set BitsPerPel = #(Options$(BoardType), $(Option), 2)
set XResolution = #(Options$(BoardType), $(Option), 3)
set YResolution = #(Options$(BoardType), $(Option), 4)
set VRefresh = #(Options$(BoardType), $(Option), 5)
set Interlaced = #(Options$(BoardType), $(Option), 6)
set Type = $(#(MiniportDrivers, $(MiniportDriver), 1))
set Group = #(MiniportDrivers, $(MiniportDriver), 2)
set ErrorControl = $(#(MiniportDrivers, $(MiniportDriver), 3))
set Tag = #(MiniportDrivers, $(MiniportDriver), 4)
set InstalledDisplays = #(MiniportDrivers, $(MiniportDriver), 5)
set VgaCompatible = #(MiniportDrivers, $(MiniportDriver), 6)
set EventMessageFile = #(MiniportDrivers, $(MiniportDriver), 7)
set TypesSupported = #(MiniportDrivers, $(MiniportDriver), 8)
set OpenGLDriverList = ^(OpenGLDrivers, 0)
set Accel3DMiscList = ^(Accel3DMisc, 0)
set AccelReleaseNoteAreaList = ^(AccelReleaseNoteArea, 0)
Set AccelGraphicsGroupNameRemoveBasic = "AccelGraphics"
Set AccelGraphicsGroupNameRemoveFalcon = "AccelGraphics - Falcon"
Set AccelGraphicsGroupNameRemoveFalconEFT = "AccelGraphics - Falcon EFT"
Set AccelGraphicsGroupName = $(AccelGraphicsGroupNameRemoveBasic)
Set MainGroup = "Main"
Set AccelOemSetupIconVersion = 13
Set AccelOemSetupBuildVersionString = "Accel3DOemSetup.BuildVersion"
Set AccelOemSetupIconVersionString = "Accel3DOemSetup.IconVersion"
Set AccelInstallCursors = "No"
Set AccelInstallIcons = "Yes"
read-syms ServicesEntry
detect ServicesEntry
installtheoption = +
;
; Code to add files to copy list
;
set Status = STATUS_FAILED
ifstr(i) $(AddCopy) == "YES"
set DoActualCopy = NO
set FileToCheck = #(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\Drivers\"$(FileToCheck)
ifstr(i) $(STATUS) == NO
set DoActualCopy = YES
goto addfiles
endif
ForListDo $(InstalledDisplays)
set FileToCheck = #(Files-DisplayDLLs, $($), 2)
LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
ifstr(i) $(STATUS) == NO
set DoActualCopy = YES
endif
set FileToCheck = #(Files-DisplayOpenGLDrivers, $($), 2)
LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
ifstr(i) $(STATUS) == NO
set DoActualCopy = YES
endif
set FileToCheck = #(Files-Accel3DMisc, $($), 2)
LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)\$(FileToCheck)
ifstr(i) $(STATUS) == NO
set DoActualCopy = YES
endif
Set FileToCheck = #(Files-AccelReleaseNoteArea, $($), 2)
LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSPATH)\Agi\(FileToCheck)
ifstr(i) $(STATUS) == NO
set DoActualCopy = YES
endif
EndForListDo
addfiles = +
ifstr(i) $(DoActualCopy) == NO
shell "subroutn.inf" DriversExist $($0) $(String1)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Accel3D OemSetup.Inf: Shell subroutn.inf DriversExist failed"
goto finish_InstallOption
endif
ifstr(i) $($R0) == STATUS_CURRENT
else-ifstr(i) $($R0) == STATUS_NEW
set DoActualCopy = YES
else-ifstr(i) $($R0) == STATUS_USERCANCEL
Debug-Output "Accel3D OemSetup.Inf: User cancelled video installation"
goto finish_InstallOption
else
Debug-Output "Accel3D OemSetup.Inf: Error reported in DriversExist routine in SUBROUTN.INF"
goto finish_InstallOption
endif
endif
ifstr(i) $(DoActualCopy) == YES
shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Accel3D OemSetup.Inf: Shell subroutn.inf DoAskSourceEx failed"
goto finish_InstallOption
endif
ifstr(i) $($R0) == STATUS_SUCCESSFUL
set SrcDir = $($R1)
ifstr(i) $($R2) != ""
set DrivesToFree = >($(DrivesToFree), $($R2))
endif
else
Debug-Output "Accel3D OemSetup.Inf: User cancelled asking source."
goto finish_InstallOption
endif
install Install-AddCopyOption
ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
Debug-Output "Accel3D OemSetup.Inf: Adding video files to copy list failed"
goto finish_InstallOption
endif
else
set DoCopy = NO
endif
endif
ifstr(i) $(DoCopy) == "YES"
read-syms ProgressCopy$($0)
install Install-DoCopyOption
ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
Debug-Output "Accel3D OemSetup.Inf: Copying files failed"
goto finish_InstallOption
else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
set Status = STATUS_USERCANCEL
goto finish_InstallOption
endif
endif
ifstr(i) $(DoConfig) == "YES"
;
; first run a privilege check on modifying the setup node
;
shell "registry.inf" CheckSetupModify
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto finish_InstallOption
endif
ifstr(i) $($R0) != STATUS_SUCCESSFUL
goto finish_InstallOption
endif
; Before sticking anything in, let's see if we already have done some iconing things for
; this revision
shell "" GetServicesEntryValue Accel3D\Parameters $(AccelOemSetupIconVersionString)
Set GetR0 = $($R0)
Set GetR1 = $($R1)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Accel3D OemSetup.Inf: Couldn't execute GetServicesEntryValue in registry.inf"
goto bypass_previousinstall
endif
ifstr(i) $(GetR0) != STATUS_SUCCESSFUL
Debug-Output "Accel3D OemSetup.Inf: GetServicesEntryValue failed for "$(AccelOemSetupIconVersionString)
goto bypass_previousinstall
endif
ifstr(i) $(GetR1) != $(AccelOemSetupIconVersion)
Debug-Output "Accel3D OemSetup.Inf: GetServicesEntryValue version match for "$(AccelOemSetupIconVersionString)
goto bypass_previousinstall
endif
Set AccelInstallCursors = "No"
Set AccelInstallIcons = "No"
bypass_previousinstall = +
;
; first make a new video entry, the entry is created automatically
; enabled
;
set ServiceNode = $(MiniportDriver)
set ServiceBinary = %SystemRoot%\System32\Drivers\#(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
set ServicesValues = { +
{Type, 0, $(!REG_VT_DWORD), $(Type) }, +
{Start, 0, $(!REG_VT_DWORD), $(!SERVICE_SYSTEM_START) }, +
{Group, 0, $(!REG_VT_SZ), $(Group) }, +
{ErrorControl, 0, $(!REG_VT_DWORD), $(ErrorControl) }, +
{Tag, 0, $(!REG_VT_DWORD), $(Tag) }, +
{BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary) } +
}
set ParametersValuesForAccelR8 = { +
{InstalledDisplayDrivers, 0, $(!REG_VT_MULTI_SZ), $(InstalledDisplays) }, +
{VgaCompatible, 0, $(!REG_VT_DWORD), $(VgaCompatible) }, +
{DefaultSettings.BitsPerPel, 0, $(!REG_VT_DWORD), $(BitsPerPel) }, +
{DefaultSettings.XResolution, 0, $(!REG_VT_DWORD), $(XResolution) }, +
{DefaultSettings.YResolution, 0, $(!REG_VT_DWORD), $(YResolution) }, +
{DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh) }, +
{DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced) }, +
{DoubleBuffer.NumberOfBuffers, 0, $(!REG_VT_DWORD), 2 }, +
{DoubleBuffer.MultiColorSpace, 0, $(!REG_VT_DWORD), 1 }, +
{ExportSingleBufferedModes, 0, $(!REG_VT_DWORD), 1 }, +
; {GlintClockSpeed, 0, $(!REG_VT_DWORD), 50 }, +
{Accel3DDMA.SizeOfBuffer, 0, $(!REG_VT_DWORD), 65536 }, +
{Accel3DDMA.NumberOfBuffers, 0, $(!REG_VT_DWORD), 4 }, +
{Accel3DDMA.NumberOfSubBuffers, 0, $(!REG_VT_DWORD), 5 }, +
{Accel3DDMA.LatencyTimer, 0, $(!REG_VT_DWORD), 0 }, +
; {Accel3DTiming.Use2ClockMemoryCtl, 0, $(!REG_VT_DWORD), 0 }, +
; {Accel3DTiming.LBMemoryCtl, 0, $(!REG_VT_DWORD), 32932 }, +
; {Accel3DTiming.LBMemoryCtlMask, 0, $(!REG_VT_DWORD), -1 }, +
; {Accel3DTiming.FBMemoryCtl, 0, $(!REG_VT_DWORD), 2048 }, +
; {Accel3DTiming.FBMemoryCtlMask, 0, $(!REG_VT_DWORD), 65535 }, +
; {Accel3DTiming.FBModeSel, 0, $(!REG_VT_DWORD), 2053 }, +
; {Accel3DTiming.FBModeSelMask, 0, $(!REG_VT_DWORD), 65535 }, +
{3DInterfaceBuffer.SizeLongs, 0, $(!REG_VT_DWORD), 8192 }, +
{3DExtensions.Disable, 0, $(!REG_VT_DWORD), 0 }, +
{3DExtensions.SupportGDIsingle, 0, $(!REG_VT_DWORD), 0 }, +
{3DExtensions.SupportGDIdouble, 0, $(!REG_VT_DWORD), 0 }, +
; {Timing.MClkN, 0, $(!REG_VT_DWORD), 178 }, +
; {Timing.MClkM, 0, $(!REG_VT_DWORD), 43 }, +
; {Timing.MClkP, 0, $(!REG_VT_DWORD), 178 }, +
{UseSoftwareCursor, 0, $(!REG_VT_DWORD), 0 }, +
{DefaultSettings.8bppRGB, 0, $(!REG_VT_DWORD), 1 } +
{$(AccelOemSetupBuildVersionString),0, $(!REG_VT_SZ), "3.5.1.01" } +
}
; Important Note: There should be NO UseSoftwareCursor entry for Falcon. Even if it's
; specified as zero.
; Note that the previous values are overlayed by the following. There is NO NEED to comment
; out the previous lines......
set ParametersValuesForAccelPro = { +
{InstalledDisplayDrivers, 0, $(!REG_VT_MULTI_SZ), $(InstalledDisplays) }, +
{VgaCompatible, 0, $(!REG_VT_DWORD), $(VgaCompatible) }, +
{DefaultSettings.BitsPerPel, 0, $(!REG_VT_DWORD), $(BitsPerPel) }, +
{DefaultSettings.XResolution, 0, $(!REG_VT_DWORD), $(XResolution) }, +
{DefaultSettings.YResolution, 0, $(!REG_VT_DWORD), $(YResolution) }, +
{DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh) }, +
{DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced) }, +
{DefaultSettings.8bppRGB, 0, $(!REG_VT_DWORD), 1 }, +
{DoubleBuffer.NumberOfBuffers, 0, $(!REG_VT_DWORD), 2 }, +
{ExportSingleBufferedModes, 0, $(!REG_VT_DWORD), 1 }, +
; {GlintClockSpeed, 0, $(!REG_VT_DWORD), 0 }, +
{Accel3DDMA.SizeOfBuffer, 0, $(!REG_VT_DWORD), 65536 }, +
{Accel3DDMA.NumberOfBuffers, 0, $(!REG_VT_DWORD), 8 }, +
{Accel3DDMA.NumberOfSubBuffers, 0, $(!REG_VT_DWORD), 5 }, +
{Accel3DDMA.LatencyTimer, 0, $(!REG_VT_DWORD), 255 }, +
; {Accel3DTiming.Use2ClockMemoryCtl, 0, $(!REG_VT_DWORD), 0 }, +
; {Accel3DTiming.LBMemoryCtl, 0, $(!REG_VT_DWORD), 0 }, +
; {Accel3DTiming.LBMemoryCtlMask, 0, $(!REG_VT_DWORD), 0 }, +
; {Accel3DTiming.FBMemoryCtl, 0, $(!REG_VT_DWORD), 0 }, +
; {Accel3DTiming.FBMemoryCtlMask, 0, $(!REG_VT_DWORD), 0 }, +
; {Accel3DTiming.VTGSerialClk, 0, $(!REG_VT_DWORD), 0 }, +
{3DInterfaceBuffer.SizeLongs, 0, $(!REG_VT_DWORD), 8192 }, +
{3DExtensions.SupportGDIsingle, 0, $(!REG_VT_DWORD), 1 }, +
{3DExtensions.SupportGDIdouble, 0, $(!REG_VT_DWORD), 1 }, +
{OpenGL.DisableMipMaps, 0, $(!REG_VT_DWORD), 0 }, +
{OpenGL.PerspectiveCorrection, 0, $(!REG_VT_DWORD), 1 }, +
{DoubleBuffer.MultiColorSpace, 0, $(!REG_VT_DWORD), 0 }, +
{Timing.MClkN, 0, $(!REG_VT_DWORD), 178 }, +
{Timing.MClkM, 0, $(!REG_VT_DWORD), 43 }, +
{Timing.MClkP, 0, $(!REG_VT_DWORD), 178 }, +
{Accel3D.WarmReboot, 0, $(!REG_VT_DWORD), 1 }, +
{$(AccelOemSetupBuildVersionString),0, $(!REG_VT_SZ), "3.5.1.01" } +
}
set ParametersValues = $(ParametersValuesFor$(BoardType))
set DeviceValues = {}
set EventLogValues = { +
{EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
{TypesSupported, 0, $(!REG_VT_DWORD), $(TypesSupported) } +
}
;Del:;
;Del:; Remove the old one completely, before installing the new one....
;Del:do_removal =+
;Del: shell "registry.inf" RemoveServicesEntry $(ServiceNode)
;Del: ifint $($ShellCode) != $(!SHELL_CODE_OK)
;Del: Debug-Output "SCSI.INF: Failed to shell RemoveServicesEntry"
;Del: goto finish_PreviousDeInstallOption
;Del: endif
;Del: ifstr(i) $($R0) != STATUS_SUCCESSFUL
;Del: Debug-Output "SCSI.INF: Failed to disable services entry"
;Del: goto finish_PreviousDeInstallOption
;Del: endif
;Del: set Status = STATUS_SUCCESSFUL
;Del:finish_PreviousDeInstallOption =+
;Ganesh: To be clean, we have have to delete DeviceID_1,_2,..DeviceID_x
;devices left over from pre-release 3.1 drivers. Otherwise, we
;will have these (harmless) devices left cluttering the registry.
set NullValues = { }
;
; Setup Device nodes for up to 4 adapters.
; Store the parameters in all Devices.
;
ForListDo {0,1,2,3}
; Now blow away the previous registry values right now....
shell "" DeleteKeyTree $(!REG_H_LOCAL) "System\"$(!STF_CONTROLSET)"\Services\"$(ServiceNode)"\Device"$($)
;
; Now install the new one...
;
shell "registry.inf" MakeServicesEntry $(ServiceNode) +
$(ServicesValues) +
$(ParametersValues) +
$(DeviceValues) +
$(EventLogValues) +
Device$($)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Accel3D OemSetup.Inf: Couldn't execute MakeServicesEntry in registry.inf"
goto finish_InstallOption
endif
ifstr(i) $($R0) != STATUS_SUCCESSFUL
Debug-Output "Accel3D OemSetup.Inf: MakeServicesEntry failed for video"
goto finish_InstallOption
endif
EndForListDo
set KeyPath = { +
{SOFTWARE, 0, $(MaskAllAccess)}, +
{Microsoft, 0, $(MaskAllAccess)}, +
{"Windows NT", 0, $(MaskAllAccess)}, +
{CurrentVersion, 0, $(MaskAllAccess)}, +
{OpenGLDrivers, 0, $(MaskAllAccess)} +
}
set KeyValue = { +
{"AccelGraphics Accel3D Driver", 0, $(!REG_VT_SZ), Accel3DOglDrv } +
}
shell "registry.inf" CreateKey $(!REG_H_LOCAL) $(KeyPath) $(KeyValue)
Debug-Output "Accel3D OemSetup.Inf: Just did an OGL section"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Accel3D OemSetup.Inf: Couldn't execute CreateKey in registry.inf"
goto finish_InstallOption
endif
ifstr(i) $($R0) != STATUS_SUCCESSFUL
Debug-Output "Accel3D OemSetup.Inf: CreateKey failed for OGLDrivers"
goto finish_InstallOption
endif
Debug-Output "Accel3D OemSetup.Inf: Success installing an ogl entry"
; This is where the performance counters are loaded, if present.
set KeyPath = { +
{SYSTEM, 0, $(MaskAllAccess)}, +
{$(!STF_CONTROLSET), 0, $(MaskAllAccess)}, +
{Services, 0, $(MaskAllAccess)}, +
{Accel3D, 0, $(MaskAllAccess)}, +
{Performance, 0, $(MaskAllAccess)} +
}
set PerformanceValues = { +
{Open, 0, $(!REG_VT_SZ), "OpenGlintPerformanceData" }, +
{Close, 0, $(!REG_VT_SZ), "CloseGlintPerformanceData" }, +
{Collect, 0, $(!REG_VT_SZ), "CollectGlintPerformanceData" }, +
;; job: temp delete 5-Jan-95 until reinstated ->:: {Library, 0, $(!REG_VT_SZ), "glntctrs.Dll" } +
}
shell "registry.inf" CreateKey $(!REG_H_LOCAL) $(KeyPath) $(PerformanceValues)
Debug-Output "Accel3D OemSetup.Inf: Just did a perfmon section"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Couldn't execute CreateKey in registry.inf"
goto finish_InstallOption
endif
ifstr(i) $($R0) != STATUS_SUCCESSFUL
Debug-Output "Accel3D OemSetup.Inf: CreateKey failed for Accel3D perfmon"
goto finish_InstallOption
endif
Debug-Output "Accel3D OemSetup.Inf: Success installing a perfmon entry"
;
;
; then disable the previous video entry
;
ifstr(i) $(CurrentEntry) != $(MiniportDriver)
ifstr(i) $(CurrentEntry) != VGA
ifstr(i) $(CurrentEntry) != ""
shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_DISABLED)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Accel3D OemSetup.Inf: Couldn't find DisableServicesEntry in registry.inf"
goto errorconfig
endif
ifstr(i) $($R0) != STATUS_SUCCESSFUL
Debug-Output "Accel3D OemSetup.Inf: DisableServices entry failed"
endif
endif
endif
endif
set AgiUnZipParam = "/c $(!STF_WINDOWSSYSPATH)\..\Agi\AgiUnzip.Bat $(!STF_WINDOWSSYSPATH)\.."
RunProgram Status "" "" $(!STF_WINDOWSSYSPATH)"\Cmd.Exe" "/c Call " $(!STF_WINDOWSSYSPATH)"\..\Agi\AgiUnzip.Bat" " " $(!STF_WINDOWSSYSPATH)"\.. > " $(!STF_WINDOWSSYSPATH)"\..\Agi\Accel3DInstall.Tmp 2>&1"
set KeyPath = SYSTEM"\"$(!STF_CONTROLSET)"\"Services"\"Accel3D"\"Device0
set AccelPanelParam = "-s "$(BoardType)"-p "$(KeyPath)
RunProgram Status "" "" $(!STF_WINDOWSSYSPATH)"\"AccelPanel.Exe "-s " $(BoardType) "-p " $(KeyPath)
; $(KeyPath)
goto configdone
errorconfig = +
ifstr(i) $(CurrentEntry) != $(MiniportDriver)
shell "registry.inf" ModifyServicesEntry $(MiniportDriver) $(!SERVICE_DISABLED)
ifstr(i) $(CurrentEntry) != ""
shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_SYSTEM_START)
endif
endif
goto finish_InstallOption
configdone = +
;Jack Burness added for inserting the dynamic cursors......
;
; We will run over the current user, and then the default path. And we will replace both the Wait
; and the Application Starting Cursors with our own.
ifstr(i) $(AccelInstallCursors) != "Yes"
goto DontInstallCursors
endif
Set RegCursorList = {"Wait", "AppStarting"}
Set MatchingList = {"Agi.Ani", "AgiArrow.Ani" }
ForListDo { $(!REG_H_CUSER) $(!REG_H_USERS) }
Set RegKey = $($)
set KeyPath = { +
{"Control Panel",0, $(MaskAllAccess)}, +
{"Cursors", 0, $(MaskAllAccess)}, +
}
ifstr(i) $(RegKey) == $(!REG_H_USERS)
set KeyPath = { +
{".Default", 0, $(MaskAllAccess)}, +
{"Control Panel", 0, $(MaskAllAccess)}, +
{"Cursors", 0, $(MaskAllAccess)}, +
}
endif
ForListDo $(RegCursorList)
set KeyValue = { +
{$($), 0, $(!REG_VT_SZ), *($(MatchingList), $(#)) } +
}
shell "registry.inf" CreateKey $(!REG_H_CUSER) $(KeyPath) $(KeyValue)
Debug-Output "Accel3D OemSetup.Inf: Just did a CreateKey for the cursor"
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Accel3D OemSetup.Inf: Couldn't execute CreateKey in registry.inf"
goto endInstallCursorInnerLoop
endif
ifstr(i) $($R0) != STATUS_SUCCESSFUL
Debug-Output "Accel3D OemSetup.Inf: CreateKey failed for Agi Cursors"
goto endInstallCursorInnerLoop
endif
Debug-Output "Accel3D OemSetup.Inf: Success in installing cursor into registry"
endInstallCursorInnerLoop = +
EndForListDo
EndForListDo
DontInstallCursors =+
; Jack Burness. Stuck in the creation of the icons here....
ifstr(i) $(AccelInstallIcons) != "Yes"
goto DontInstallIcons
endif
install Install-AccelGraphicsIcons
; Now set the flag that we have done the installing.
set ParametersValues2 = { +
{$(AccelOemSetupIconVersionString), 0, $(!REG_VT_DWORD), $(AccelOemSetupIconVersion) } +
{$(AccelOemSetupBuildVersionString),0, $(!REG_VT_SZ), "3.5.1.01" } +
}
shell "registry.inf" MakeServicesEntry $(ServiceNode) +
$(ServicesValues) +
$(ParametersValues2) +
$(DeviceValues) +
$(EventLogValues) +
Parameters
DontInstallIcons = +
endif
set Status = STATUS_SUCCESSFUL
finish_InstallOption = +
ForListDo $(DrivesToFree)
LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
EndForListDo
Return $(Status)
[Install-AddCopyOption]
set STF_VITAL = ""
;
; Add the files to the copy list
;
AddSectionKeyFileToCopyList Files-DisplayMiniportDrivers +
$(MiniportDriver) +
$(SrcDir) +
$(!STF_WINDOWSSYSPATH)\Drivers
ForListDo $(InstalledDisplays)
AddSectionKeyFileToCopyList Files-DisplayDLLs +
$($) +
$(SrcDir) +
$(!STF_WINDOWSSYSPATH)
AddSectionKeyFileToCopyList Files-DisplayOpenGLDrivers +
$($) +
$(SrcDir) +
$(!STF_WINDOWSSYSPATH)
; Things that need to be done here. See about expanding the *.Ani files.
; Also check how they are loaded. Think that I may have a kludge in there
; that I don't quite understand. Also I moved it outside the For loop.
; AddSectionKeyFileToCopyList Files-Accel3DMisc +
; $($) +
; $(SrcDir) +
; $(!STF_WINDOWSSYSPATH)
EndForListDo
; This is the code I moved outside the For loop. I think that the other one was in error.
AddSectionFilesToCopyList Files-Accel3DMisc +
$(SrcDir) +
$(!STF_WINDOWSSYSPATH)
AddSectionFilesToCopyList Files-AccelReleaseNoteArea +
$(SrcDir) +
$(!STF_WINDOWSPATH)\Agi
exit
[Install-DoCopyOption]
;
; Copy files in the copy list
;
CopyFilesInCopyList
exit
;**************************************************************************
; PROGRESS GUAGE VARIABLES
;**************************************************************************
[ProgressCopyENG]
ProCaption = "Windows NT Setup"
ProCancel = "Cancel"
ProCancelMsg = "Windows NT is not correcly installed. Are you sure you want "+
"to cancel copying files?"
ProCancelCap = "Setup Message"
ProText1 = "Copying:"
ProText2 = "To:"
[StringsENG]
String1 = "Display"
String2 = "Please enter the full path to the OEM Display "+
"driver files. Then choose Continue."
;-----------------------------------------------------------------------
; SOURCE MEDIA DESCRIPTIONS
; -------------------------
; The OEM should list all the diskette labels here. The source media
; description is used during copy to prompt the user for a diskette
; if the source is diskettes.
;
; Use 1 = "Diskette 1 Label" , TAGFILE = disk1
; 2 = "Diskette 2 Label" , TAGFILE = disk2
; ...
;-----------------------------------------------------------------------
;--------------------------------------------------------------------
; THE SECTIONS BELOW SHOULD BE AUTOMATICALLY GENERATED BY THE EXCEL
; SPREAD SHEETS
;--------------------------------------------------------------------
[Source Media Descriptions]
1 = "OEM DISK (VIDEO)" , TAGFILE = disk1
[Files-DisplayOpenGLDrivers]
; Important Note. The following formats MUST be adhered to, or else the buildkit.bat file
; will break for the zipping case. Basically everything between the first and second ='s
; MUST be kept formatted with spaces, etc. This is only for the first item, which breaks
; the 8.3 ancient naming convention.
Accel3D = 1, A8OglDrv.Dll, SIZE=820000, RENAME=Accel3DOglDrv.Dll, BACKUP=Accel3DOglDrv.Dll.Bak
[Files-Accel3DMisc]
; Important Note. The following formats MUST be adhered to, or else the buildkit.bat file
; will break for the zipping case. Basically everything between the first and second ='s
; MUST be kept formatted with spaces, etc. This is only for the first item, which breaks
; the 8.3 ancient naming convention.
Accel3D = 1, AgiPanel.Exe, SIZE=260000, RENAME=AccelPanel.Exe
Accel3D = 1, AgiPanel.Hlp, SIZE=30000, RENAME=AccelPanel.Hlp
Accel3D = 1, Agi.Ani, SIZE=3000, RENAME=Agi.Ani
Accel3D = 1, AgiArrow.Ani, SIZE=3000, RENAME=AgiArrow.Ani
[Files-AccelReleaseNoteArea]
; Note that we don't install the release notes for some kits. And we also
; have special unzipping kits.
Accel3D = 1, RelNotes.Wri, SIZE=15000, RENAME=RelNotes.Wri
Accel3D = 1, Bbs.Txt, SIZE=5000, RENAME=Bbs.Txt
Accel3D = 1, Faq.Wri, SIZE=15000, RENAME=Faq.Wri
Accel3D = 1, AgiUnzip.Bat, SIZE=1000000, RENAME=AgiUnzip.Bat
Accel3D = 1, AgiUnzip.Exe, SIZE=1400000, RENAME=AgiUnzip.Exe
[Files-DisplayDLLs]
;Accel3D = 1,Accel3D.Dll , SIZE=150000, RENAME=Accel3Dmul.Dll, BACKUP=Accel3Dmul.Dll.Bak
Accel3D = 1,Accel3D.Dll , SIZE=150000, RENAME=Accel3D.Dll, BACKUP=Accel3D.Dll.Bak
[Files-DisplayMiniportDrivers]
Accel3D = 1,Accel3D.Sys , SIZE=42000, RENAME=Accel3D.Sys, BACKUP=Accel3D.Sys.Bak
[Install-AccelGraphicsIcons]
ifstr(i) $(!STF_PRODUCT) != "WINNT"
; CreateCommonProgManGroup $(AccelGraphicsGroupNameRemove1) ""
; RemoveCommonProgManGroup $(AccelGraphicsGroupNameRemove1)
; CreateCommonProgManGroup $(AccelGraphicsGroupNameRemove2) ""
; RemoveCommonProgManGroup $(AccelGraphicsGroupNameRemove2)
; CreateCommonProgManGroup $(AccelGraphicsGroupNameRemove3) ""
; RemoveCommonProgManGroup $(AccelGraphicsGroupNameRemove3)
CreateCommonProgManGroup $(AccelGraphicsGroupName) ""
ShowCommonProgManGroup $(AccelGraphicsGroupName), 1
RemoveCommonProgManItem $(AccelGraphicsGroupName), "AccelPanel"
CreateCommonProgManItem $(AccelGraphicsGroupName), "AccelPanel", AccelPanel.Exe "" 0
RemoveCommonProgManItem $(AccelGraphicsGroupName), "Release Notes"
CreateCommonProgManItem $(AccelGraphicsGroupName), "Release Notes", $(!STF_WINDOWSPATH)\Agi\RelNotes.Wri "" 0
RemoveCommonProgManItem $(AccelGraphicsGroupName), "Frequently Asked Questions"
CreateCommonProgManItem $(AccelGraphicsGroupName), "Frequently Asked Questions", $(!STF_WINDOWSPATH)\Agi\Faq.Wri "" 0
RemoveCommonProgManItem $(AccelGraphicsGroupName), "Bbs Info"
CreateCommonProgManItem $(AccelGraphicsGroupName), "Bbs Info", $(!STF_WINDOWSPATH)\Agi\Bbs.Txt "" 0
ShowCommonProgManGroup $(AccelGraphicsGroupName), 6
endif
exit
[DeleteKeyTree]
set Status = STATUS_FAILED
read-syms AccelRegistryConstants
set BaseHandle = $($0)
set KeyHandle = $(BaseHandle)
ForListDo $($1)
set KeyInfo = $($)
set KeyName = *($(KeyInfo), 1)
OpenRegKey $(BaseHandle) "" $(KeyName) $(MaskAllAccess) KeyHandle
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
goto enddeletekeytree
endif
endif
DeleteRegKey $(BaseHandle) $(KeyInfo)
ifstr(i) $(BaseHandle) != $($0)
CloseRegKey $(BaseHandle)
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
set Status = STATUS_ERROR_CREATEKEY
Debug-Output "AccelOemSetup.Inf: Error in closing base handle"
goto enddeletekeytree
endif
endif
set BaseHandle = $(KeyHandle)
EndForListDo
set Status = STATUS_SUCCESSFUL
enddeletekeytree = +
ifstr(i) $(Status) != STATUS_SUCCESSFUL
Debug-Output "AccelOemSetup.Inf: CreateKey Error:"$(Status)
endif
Return $(Status)
[DeleteRegValueList]
set Status = STATUS_FAILED
read-syms AccelRegistryConstants
set BaseHandle = $($0)
set KeyHandle = $(BaseHandle)
ForListDo $($1)
set KeyInfo = $($)
set KeyName = *($(KeyInfo), 1)
OpenRegKey $(BaseHandle) "" $(KeyName) $(MaskAllAccess) KeyHandle
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
goto enddeletevaluetree
endif
endif
DeleteRegValue $(BaseHandle) $(KeyInfo)
ifstr(i) $(BaseHandle) != $($0)
CloseRegKey $(BaseHandle)
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
set Status = STATUS_ERROR_CREATEKEY
Debug-Output "AccelOemSetup.Inf: Error in closing base handle"
goto enddeletevaluetree
endif
endif
set BaseHandle = $(KeyHandle)
EndForListDo
set Status = STATUS_SUCCESSFUL
enddeletevaluetree = +
ifstr(i) $(Status) != STATUS_SUCCESSFUL
Debug-Output "AccelOemSetup.Inf: CreateKey Error:"$(Status)
endif
Return $(Status)
[AccelRegistryConstants]
MaskAllAccess = 33554432
; NoTitle = 0
; RegLastError = $(!REG_ERROR_SUCCESS)
[GetServicesEntryValue]
set MyStatus = STATUS_FAILED
set ReturnValue = ""
Set GetSEVPath = $($0)
Set GetSEVItem = $($1)
read-syms AccelRegistryConstants
Debug-Output "Accel OemSetup.Inf: Get Services node "$(GetSEVPath)" value: "$(GetSEVItem)
set KeyName = "System\"$(!STF_CONTROLSET)"\Services\"$(GetSEVPath)
OpenRegKey $(!REG_H_LOCAL) "" $(KeyName) $(!REG_KEY_READ) KeyHandle
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
Debug-Output "Accel OemSetup.Inf: Couldn't open services node for read access"
goto finish_GetServicesEntryValue
endif
GetRegValue $(KeyHandle) $(GetSEVItem) ReturnValueList
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
Debug-Output "Accel OemSetup.Inf: Couldn't read value "$(GetSEVItem)
CloseRegKey $(KeyHandle)
goto finish_GetServicesEntryValue
endif
CloseRegKey $(KeyHandle)
set ReturnValue = *($(ReturnValueList), 4)
set MyStatus = STATUS_SUCCESSFUL
finish_GetServicesEntryValue = +
Return $(MyStatus) $(ReturnValue)
; End of OemSetup.Inf
Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.