OEMSETUP.INF Driver File Contents (ndis3140.exe)

[Identification]
  OptionType = NetAdapter

[PlatformsSupported]
  ISA
  PCMCIA

[Options]
  PCX20
  PCM20

[OptionsTextENG]
  PCX20     = "PCX20 Arcnet Adapter"
  PCM20     = "PCM20 PCMCIA Arcnet Adapter"


[FileConstants]
  UtilityInf      = "UTILITY.INF"
  ParamInf        = "NCPARAM.INF"
  subroutineinf   = "SUBROUTN.INF"
  SoftwareType    = "driver"
  DialogDll       = "CCSIINF.DLL"
  Exit_Code       = 0
  NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  Manufacturer    = "Contemporary Control Systems, Inc."
  ProductMajorVersion     = "1"
  ProductMinorVersion     = "0"
  ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)

[RegistryConstantsPCX20]
  ProductSoftwareName     = "PCX20"
  ProductSoftwareImagePath = "\SystemRoot\System32\drivers\PCX20.sys"
  NetRuleSoftwareType     = "PCX20Sys ndisDriver PCX20Driver"
  NetRuleSoftwareUse      = $(SoftwareType)
  NetRuleSoftwareBindForm = """PCX20Sys"" yes no container"
  NetRuleSoftwareClass    = {"PCX20Driver basic"}
  NetRuleSoftwareBindable = {"PCX20Driver PCX20Adapter non exclusive 100"}
  ProductHardwareName     = "PCX20"
  NetRuleHardwareType     = "PCX20 PCX20Adapter"
  NetRuleHardwareBindForm = " yes yes container"
  NetRuleHardwareClass    = {"PCX20Adapter basic"}
  ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  FunctionTitle   = "PCX20 Network Card Setup"
  ProductSoftwareDescription      = "PCX20 Arcnet Adapter Driver"
  ProductHardwarePCX20Description  = "PCX20 Arcnet Adapter"
  ProductSoftwareTitle    = "PCX20 Arcnet Adapter Driver"
  ProductHardwarePCX20Title      = "PCX20 Arcnet Adapter"

[RegistryConstantsPCM20]
  ProductSoftwareName     = "PCM20"
  ProductSoftwareImagePath = "\SystemRoot\System32\drivers\PCM20.sys"
  NetRuleSoftwareType     = "PCM20Sys ndisDriver PCM20Driver"
  NetRuleSoftwareUse      = $(SoftwareType)
  NetRuleSoftwareBindForm = """PCM20Sys"" yes no container"
  NetRuleSoftwareClass    = {"PCM20Driver basic"}
  NetRuleSoftwareBindable = {"PCM20Driver PCM20Adapter non exclusive 100"}
  ProductHardwareName     = "PCM20"
  NetRuleHardwareType     = "PCM20 PCM20Adapter"
  NetRuleHardwareBindForm = " yes yes container"
  NetRuleHardwareClass    = {"PCM20Adapter basic"}
  ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  FunctionTitle   = "PCM20 Network Card Setup"
  ProductSoftwareDescription      = "PCM20 Arcnet Adapter Driver"
  ProductHardwarePCM20Description  = "PCM20 Arcnet Adapter"
  ProductSoftwareTitle    = "PCM20 Arcnet Adapter Driver"
  ProductHardwarePCM20Title      = "PCM20 Arcnet Adapter"

[PcmciaKeys]
  CardManufacturer   = "Contemporary Control Systems, Inc."
  CardKeyName        = "PCM20 Arcnet Adapter"
  PcmciaPath         = $(!NTN_ServiceBase)"\Pcmcia\DataBase"
  CCSIPcmciaPath     = $(!NTN_ServiceBase)"\Pcmcia\DataBase\"$(CardManufacturer)
  PCM20Path          = $(!NTN_ServiceBase)"\Pcmcia\DataBase\"$(CardManufacturer)"\"$(CardKeyName)

[SetUpPcmcia]
  Read-Syms GeneralConstants
  Read-Syms PcmciaKeys

  Debug-Output "Opening PCMCIA DataBase"
  OpenRegKey $(!REG_H_LOCAL) "" $(PcmciaPath) $(MAXIMUM_ALLOWED) PcmciaKey

  IfStr(i) $(PcmciaKey) == $(KeyNull)
      Debug-Output "Failed to open "$(PcmciaPath)
      Shell "" FatalError "Cannot Open PCMCIA Registry DataBase!"
      Return FALSE
  EndIf

  Debug-Output "Opening CCSI Key"$(PcmciaPath)"\"$(CardManufacturer)

;  OpenRegKey $(!REG_H_LOCAL) "" $(CCSIPcmciaPath) $(MAXIMUM_ALLOWED) CCSIPcmciaKey
  OpenRegKey $(PcmciaKey) "" $(CardManufacturer) $(MAXIMUM_ALLOWED) CCSIPcmciaKey

  IfStr(i) $(CCSIPcmciaKey) == $(KeyNull)
      Debug-Output "Open failed - creating key"
      CreateRegKey $(PcmciaKey) {$(CardManufacturer), 0, 0 } "" $(MAXIMUM_ALLOWED) "" CCSIPcmciaKey
      IfStr(i) $(CCSIPcmciaKey) == $(KeyNull)
          Debug-Output "Failed to create CCSI key"
          Shell "" FatalError "Cannot Create CCSI Key in Registry DataBase PCMCIA!"
          CloseRegKey $(PcmciaKey)
          Return FALSE
      EndIf
  EndIf

;  Debug-Output "Opening PCM20 Key"$(PcmciaPath)"\"$(CardManufacturer)"\"$(CardKeyName)
;  OpenRegKey $(!REG_H_LOCAL) "" $(Smc91c94Path) $(MAXIMUM_ALLOWED) Smc91c94Key
  OpenRegKey $(CCSIPcmciaKey) "" $(CardKeyName) $(MAXIMUM_ALLOWED) PCM20Key

  IfStr(i) $(PCM20Key) == $(KeyNull)
      Debug-Output "Open failed - creating key"
      CreateRegKey $(CCSIPcmciaKey) {$(CardKeyName), 0, 0 } "" $(MAXIMUM_ALLOWED) "" PCM20Key
      IfStr(i) $(PCM20Key) == $(KeyNull)
          Shell "" FatalError "Cannot Create PCM20 Key in Registry DataBase PCMCIA!"
          CloseRegKey $(CCSIPcmciaKey)
          CloseRegKey $(PcmciaKey)
          Return FALSE
      EndIf
  EndIf

  Debug-Output "Writing Driver Keyword"
  SetRegValue $(PCM20Key) {Driver, 0, $(!REG_VT_SZ), "pcm20"}
  CloseRegKey $(PCM20Key)
  CloseRegKey $(CCSIPcmciaKey)
  CloseRegKey $(PcmciaKey)
  Debug-Output "All done with SetUpPcmcia"
  return TRUE



[GeneralConstants]
  from      = ""
  to        = ""
  ExitCodeOk     = 0
  ExitCodeCancel = 1
  ExitCodeFatal  = 2
  KeyNull         = ""
  MAXIMUM_ALLOWED   = 33554432
  RegistryErrorIndex = NO_ERROR
  KeyProduct      = ""
  KeyParameters   = ""
  TRUE            = 1
  FALSE           = 0
  NoTitle            = 0
  OldVersionExisted = $(FALSE)

[date]
  Now = {} ? $(!LIBHANDLE) GetSystemDate

[Identify]
;  set !G:DebugOutputControl = 1

  read-syms Identification
  set Status     = STATUS_SUCCESSFUL
  set Identifier = $(OptionType)
  set Media      = #("Source Media Descriptions", 1, 1)
  Return $(Status) $(Identifier) $(Media)

[ReturnOptions]
;  set !G:DebugOutputControl = 1
  Debug-Output "PCx20.INF at return options"
  set Status        = STATUS_FAILED
  set OptionList     = {}
  set OptionTextList = {}
  set LanguageList = ^(LanguagesSupported, 1)
  Ifcontains(i) $($0) in $(LanguageList)
	  ifstr(i) $($1) == ""
	    goto returnoptions
    endif
	  set PlatformList = ^(PlatformsSupported, 1)
	  Ifcontains(i) $($1) in $(PlatformList)
	    goto returnoptions
	  else
	    set Status = STATUS_NOTSUPPORTED
	    goto finish_ReturnOptions
    endif
  else
	  set Status = STATUS_NOLANGUAGE
	  goto finish_ReturnOptions
  endif

returnoptions = +
  set OptionList     = ^(Options, 1)
  set OptionTextList = ^(OptionsText$($0), 1)
  set Status         = STATUS_SUCCESSFUL

finish_ReturnOptions = +
  Return $(Status) $(OptionList) $(OptionTextList)


[InstallOption]
  set !G:DebugOutputControl = 1
  set Option   = $($1)
  set SrcDir   = $($2)
  set AddCopy  = $($3)
  set DoCopy   = $($4)
  set DoConfig = $($5)
  set LanguageList = ^(LanguagesSupported, 1)
  Ifcontains(i) $($0) NOT-IN $(LanguageList)
	  Return STATUS_NOLANGUAGE
  endif
  set-subst LF = "\n"
  read-syms GeneralConstants
  read-syms FileConstants
  read-syms RegistryConstants$(Option)
  read-syms DialogConstants$(!STF_LANGUAGE)
  ifstr(i) $(!NTN_Origination) == "NCPA"
	  set Continue = $(OK)
  endif
  read-syms FileConstants$(!STF_LANGUAGE)
  detect date
  set-title  $(FunctionTitle)
  set to   = Begin
  set from = Begin
  set CommonStatus = STATUS_SUCCESSFUL
  EndWait
;
; Here is where we choose NDIS 3.x or NDIS 4.0
;
  Debug-Output "PCX20: =================================================="
  Debug-Output "PCX20: STF_CWDIR is: "$(!STF_CWDIR)
  Debug-Output "PCX20: STF_SRCDIR is: "$(!STF_SRCDIR)
  Debug-Output "PCX20: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  Debug-Output "PCX20: Option is: "$(Option)
  Debug-Output "PCX20: SrcDir is: "$(SrcDir)
  Debug-Output "PCX20: Media is: "$(Media)
  Debug-Output "PCX20: DialogDll is: "$(DialogDll)
  Debug-Output "PCX20: !STF_NCDETECT  is: "$(!STF_NCDETECT)
  Debug-Output "PCX20: !STF_NCOPTION  is: "$(!STF_NCOPTION)
  Debug-Output "PCX20: !STF_NCDETCARD is: "$(!STF_NCDETCARD)
  Debug-Output "PCX20: !STF_NCDETINFO is: "$(!STF_NCDETINFO)
  Debug-Output "PCX20: =================================================="

  ifstr(i) $(!NTN_InstallMode) == "INSTALL"
    LoadLibrary $(Media) $(SrcDir)$(DialogDll) CustomDialogDll
  else
    LoadLibrary "" $(!STF_WINDOWSSYSPATH)"\"$(DialogDll) CustomDialogDll
  endif
  LibraryProcedure Result $(CustomDialogDll) IsNDIS40
  FreeLibrary $(CustomDialogDll)

  set !G:DebugOutputControl = 1
  ifstr(i) $(Result) == "TRUE"
    Debug-Output  "Detected NDIS 4"
    set  NdisVersion = "NDIS40"
  else
    Debug-Output  "Detected NDIS 3"
    set  NdisVersion = "NDIS30"
  endif


Begin = +
  set !G:DebugOutputControl = 1
  Debug-Output "PCx20.INF at Begin"
  set ActivateDetection = FALSE
  Ifstr(i) $(!NTN_InstallMode) == deinstall
	  set StartLabel = removeadapter
	else-Ifstr(i) $(!NTN_InstallMode) == Update
		set StartLabel = UpgradeSoftware
	else-Ifstr(i) $(!NTN_InstallMode) == bind
		set StartLabel = bindingadapter
	else-Ifstr(i) $(!NTN_InstallMode) == configure
		set CommonStatus = STATUS_REBOOT
		set ActivateDetection = TRUE
		set StartLabel = configureadapter
		Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
			Debug-Output "Cannot configure the PCX20 driver software."
			Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
			ifint $($ShellCode) != $(!SHELL_CODE_OK)
				Debug-Output "ShellCode error: cannot get an error string."
				goto ShellCodeError
			endif
			set Error = $($R0)
			set from = end
			set to = end
			goto nonfatalinfo
		endif
  else
		set StartLabel = installadapter
		set OEM_ABANDON_OPTIONS = {}
		set OEM_ABANDON_SOFTWARE = FALSE
		set OEM_ABANDON_ON = TRUE
		set ActivateDetection = TRUE
  endif
    Set DetectedCard = FALSE
    Ifstr(i) $(ActivateDetection) != TRUE
	    Goto skipdetection
    Endif

    Set TypeList = {{IRQ,IRQList,IRQValue},+
		    {IOADDR, IOBaseAddrDecList, IOBaseAddrValue}}
    Debug-Output "PCX20: building param lists"
    Set IOBaseAddrDecList = {0,512,544,576,608,640,672,704,736,768,800,832,864,896,928,960,992}
    Set IOBaseAddrHexList = {0x0, 0x100,0x120,0x130,0x140,0x160,0x180,0x1A0,0x1C0,0x1E0,0x200,0x220,0x240,0x260,0x280,0x2A0,0x2C0,0x2E0,0x300,0x320,0x340,0x360,0x380,0x3A0,0x3C0,0x3E0}
    Set IRQList = {0,2,3,4,5,9,10,11,12,15}
    Set !STF_NC_PARAMS = {{IRQ,1,80,{0,2,3,4,5,9,10,11,12,15}},+
			  {IOADDR,1,100,{0,512,544,576,608,640,672,704,736,768,800,832,864,896,928,960,992}}}
    Set !STF_NC_PNAMES = {{IRQ,IRQValue,0},{IOADDR,IOBaseAddrValue,0x0}}


    Debug-Output "PCX20: call Param_SetDefaults"
    Shell $(ParamInf) Param_SetDefaults {}

    Ifstr(i) $(!STF_NCDETECT) == YES
	    Ifstr(i) $(!STF_NCOPTION) == $(Option)
	      Set DetectedCard = TRUE
	      Debug-Output "PCX20: Setting DetectedCard to TRUE"
	    Endif
    Endif

skipdetection =+
    Debug-Output "PCx20.INF at skipdetection"
    set from = $(fatal)
    set to = $(fatal)
    goto $(StartLabel)

installadapter = +
    Debug-Output "PCx20.INF at installadapter"

    set IOBaseAddrValue = 736
    set IRQValue = 5
    set NetworkAddress = 0
    set CableType = 0
    set CardSpeed = 0
    set ExtendedTimeout = 0
    set SlowArbitration = 0
    set CommandChaining = 0
    set ExcessiveNaks = 0

    IfStr(i) $(Option) == "PCM20"
        Set PCMCIA = 1
    Else
        Set PCMCIA = 0
    EndIf

    OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
    Ifstr $(KeyProduct) != $(KeyNull)
	  CloseRegKey $(KeyProduct)
	  ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
	    Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
	       $(ProductVersion)
	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
	      Debug-Output "ShellCode error: cannot get an error string."
	      goto ShellCodeError
	    endif
	    goto end
	  else
	    Shell $(UtilityInf), CardExistedDlg
	    ifint $($ShellCode) != $(!SHELL_CODE_OK)
	      Debug-Output "ShellCode error: cannot get an error string."
	      goto ShellCodeError
	    endif
	    ifstr(i) $($R1) != "OK"
	      set CommonStatus = STATUS_USERCANCEL
	      goto end
	    endif
	    set OldVersionExisted = $(TRUE)
	  endif
  endif
  Ifstr(i) $(DetectedCard) != TRUE
	  Goto adaptersetup
  Endif
  StartWait
  Debug-Output "About to call Param_QueryCard"
  Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD)
  EndWait
  Ifstr(i) $($R0) != STATUS_SUCCESSFUL
	  Goto adaptersetup
  Endif
  Set DetectedParams = $($R1)
  Debug-Output "PCX20: Calling Param_SetDefaults to merge detected params"
  Shell $(ParamInf) Param_SetDefaults $(DetectedParams)
  goto adapteroptions

configureadapter = +
  Debug-Output "PCx20.INF at configureadapter"
  Ifstr $(KeyProduct) == $(KeyNull)
	  OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
	  Ifstr $(KeyProduct) == $(KeyNull)
	    set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
	    Debug-Output "Cannot find component product key"
	    goto fatalregistry
	  Endif
  Endif
  Debug-Output "INF: Shelling to FindService"
  Shell $(UtilityInf) FindService, $(KeyProduct)
  Ifint $($ShellCode) != $(!SHELL_CODE_OK)
	  Debug-Output "INF: FindService shell failure"
	  Goto ShellCodeError
  Endif
  Ifstr(i) $($R0) != NO_ERROR
	  Debug-Output "INF: FindService Shell error: "$($R0)
	  Goto fatalregistry
  endif
  set KeyParameters = $($R2)
  CloseRegKey $($R1)
  Ifstr $(KeyParameters) == $(KeyNull)
	  set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
	  Debug-Output "Cannot find component service"
	  goto fatalregistry
  endif
  set OldVersionExisted = $(TRUE)
  set ValueName = ""
  set ValueData = ""
  set ValueStr  = ""
  set ValueList = {}
  EnumRegValue $(KeyParameters) ValueList
  ForListDo $(ValueList)
	  set ValueItem = $($)
	  set ValueName = *($(ValueItem),1)
	  set ValueData = *($(ValueItem),4)
	  Ifstr(i) $(ValueName) == "InterruptNumber"
	    set IRQValue = $(ValueData)
	  else-ifstr(i) $(ValueName) == "IoBaseAddress"
	    set IOBaseAddrValue = $(ValueData)
	  else-ifstr(i) $(ValueName) == "BusType"
	    set BusInterfaceType = $(ValueData)
	  else-ifstr(i) $(ValueName) == "BusNumber"
	    set BusNumber = $(ValueData)
	  else-ifstr(i) $(ValueName) == "NetworkAddress"
	   set NetworkAddress = $(ValueData)
	  else-ifstr(i) $(ValueName) == "CableType"
	    set CableType = $(ValueData)
	  else-ifstr(i) $(ValueName) == "CardSpeed"
	    set CardSpeed = $(ValueData)
	  else-ifstr(i) $(ValueName) == "ExtendedTimeout"
	    set ExtendedTimeout = $(ValueData)
	  else-ifstr(i) $(ValueName) == "SlowArbitration"
	    set SlowArbitration = $(ValueData)
	  else-ifstr(i) $(ValueName) == "CommandChaining"
	    set CommandChaining = $(ValueData)
	  else-ifstr(i) $(ValueName) == "ExcessiveNaks"
	    set ExcessiveNaks = $(ValueData)
	  else-ifstr(i) $(ValueName) == "Pcmcia"
	    set PCMCIA = $(ValueData)
	  endif
  EndForListDo


;  set !G:DebugOutputControl = 1

  Debug-Output "IOBaseAddrValue =  "$(IOBaseAddrValue)
  Debug-Output "IRQValue        =  "$(IRQValue)
  Debug-Output "NetworkAddress  =  "$(NetworkAddress)
	Debug-Output "CableType       =  "$(CableType)
  Debug-Output "CardSpeed       =  "$(CardSpeed)
  Debug-Output "ExtendedTimeout =  "$(ExtendedTimeout)
  Debug-Output "SlowArbitration =  "$(SlowArbitration)
  Debug-Output "CommandChaining =  "$(CommandChaining)
  Debug-Output "ExcessiveNaks   =  "$(ExcessiveNaks)



  ifstr(i) $(IRQValue) == ""
	  set IRQValue = 5
  endif

  ifstr(i) $(IOBaseAddrValue) == ""
	  set IOBaseAddrValue = 736       ; 0x2E0
  endif


adaptersetup =+
  Debug-Output "PCx20.INF at adaptersetup"
  Shell $(ParamInf) Param_ParameterConfidence
  Ifstr(i) $($R0) != STATUS_SUCCESSFUL
	  Debug-Output "OEMNADE2.INF: parameter confidence too low to bypass configuration"
	  Goto adapteroptions
  Endif
  Ifstr(i) $(DetectedCard) == TRUE
	  Ifstr(i) $(!STF_INSTALL_MODE) != CUSTOM
	    Goto adapterverify
	  Endif
  Endif
  goto adapteroptions

adapteroptions = +
  Debug-Output "PCx20.INF at adapteroptions"
  set from = adapteroptions
  ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
	  ifstr(i) $(!AutoNetInterfaceType) != ""
	    set BusInterfaceType = $(!AutoNetInterfaceType)
	  else
	    set BusInterfaceType = 1
	  endif
	  ifstr(i) $(!AutoNetBusNumber) != ""
	    set BusNumber = $(!AutoNetBusNumber)
	  else
	    set BusNumber = 0
	  endif
    goto adapterverify
  endif


;  set !G:DebugOutputControl = 1

  Debug-Output "About to load library "$(SrcDir)$(DialogDll)
  Debug-Output "install mode is "$(!NTN_InstallMode)
  ifstr(i) $(!NTN_InstallMode) == "INSTALL"
    LoadLibrary $(Media) $(SrcDir)$(DialogDll) CustomDialogDll
  else
    LoadLibrary "" $(!STF_WINDOWSSYSPATH)"\"$(DialogDll) CustomDialogDll
  endif
  Debug-Output "About to call library procedure DoCCSISetup"
  LibraryProcedure Result $(CustomDialogDll) DoCCSISetup +
    $(IOBaseAddrValue) +
    $(IRQValue)        +
    $(NetworkAddress)  +
    $(CableType)       +
    $(CardSpeed)       +
    $(ExtendedTimeout) +
    $(SlowArbitration) +
    $(CommandChaining) +
    $(ExcessiveNaks)   +
    $(PCMCIA)

  Debug-Output "About to free library "$(SrcDir)$(DialogDll)
  FreeLibrary $(CustomDialogDll)

  Split-String $(Result) ":" ResultList
;
; First element in result list has OK or CANCEL
;
  ifstr(i) *($(ResultList),1) == "CANCEL"
    set CommonStatus = STATUS_USERCANCEL
	  Debug-Output "Action: cancel. Bye."
	goto end
  endif
  Debug-Output "result list is "$(ResultList)
  Debug-Output "next item is "*($(ResultList), 1)
  Debug-Output "next item is "*($(ResultList), 2)
  Debug-Output "next item is "*($(ResultList), 3)
  Debug-Output "next item is "*($(ResultList), 4)
  Debug-Output "next item is "*($(ResultList), 5)
  Debug-Output "next item is "*($(ResultList), 6)
  Debug-Output "next item is "*($(ResultList), 7)
  Debug-Output "next item is "*($(ResultList), 8)
  Debug-Output "next item is "*($(ResultList), 9)
  Debug-Output "next item is "*($(ResultList), 10)
  Debug-Output "next item is "*($(ResultList), 11)
  Debug-Output "next item is "*($(ResultList), 12)
  Debug-Output "next item is "*($(ResultList), 13)
  Debug-Output "next item is "*($(ResultList), 14)
  Debug-Output "next item is "*($(ResultList), 15)
  Debug-Output "next item is "*($(ResultList), 16)
  Debug-Output "next item is "*($(ResultList), 17)
  Debug-Output "next item is "*($(ResultList), 18)
  Debug-Output "next item is "*($(ResultList), 19)

  set IOBaseAddrValue = *($(ResultList), 3)
  set IRQValue        = *($(ResultList), 5)
  set NetworkAddress  = *($(ResultList), 7)
	set CableType       = *($(ResultList), 9)
  set CardSpeed       = *($(ResultList), 11)
  set ExtendedTimeout = *($(ResultList), 13)
  set SlowArbitration = *($(ResultList), 15)
  set CommandChaining = *($(ResultList), 17)
  set ExcessiveNaks   = *($(ResultList), 19)

  Debug-Output "IOBaseAddrValue =  "$(IOBaseAddrValue)
  Debug-Output "IRQValue        =  "$(IRQValue)
  Debug-Output "NetworkAddress  =  "$(NetworkAddress)
	Debug-Output "CableType       =  "$(CableType)
  Debug-Output "CardSpeed       =  "$(CardSpeed)
  Debug-Output "ExtendedTimeout =  "$(ExtendedTimeout)
  Debug-Output "SlowArbitration =  "$(SlowArbitration)
  Debug-Output "CommandChaining =  "$(CommandChaining)
  Debug-Output "ExcessiveNaks   =  "$(ExcessiveNaks)



  ifint $(PCMCIA) == 1
    Debug-Output "PCMCIA, no bus type detection required"
    set BusInterfaceType = 1
    set BusNumber = 0
  else
    Debug-Output "ISA, no bus type detection required"
    set BusInterfaceType = 1
    set BusNumber = 0

;    ifstr(i) $(!STF_NCDETINFO) == {}
;      Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
;      ifint $($ShellCode) != $(!SHELL_CODE_OK)
;        Debug-Output "ShellCode error."
;        goto ShellCodeError
;      endif
;      set BusInterfaceType = $($R1)
;      set BusNumber = $($R2)
;    else
;      set BusInterfaceType = *($(!STF_NCDETINFO),5)
;      set BusNumber = *($(!STF_NCDETINFO),6)
;    endif
  endif

adapterverify =+
  Debug-Output "PCx20.INF at adapterverify"
  Ifstr(i) $(DetectedCard) != TRUE
	  Goto skipoptions
  Endif
  Debug-Output "PCX20: Calling Param_VerifyCard"
  Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD)
  Ifstr(i) $($R0) == STATUS_SUCCESSFUL
	  Debug-Output "PCX20: Param_VerifyCard succeeded"
	  Goto skipoptions
  Endif
  Set from = adapteroptions
  Set to = skipoptions
  Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING
  ifint $($ShellCode) != $(!SHELL_CODE_OK)
	  Debug-Output "ShellCode error: cannot get an error string."
	  goto ShellCodeError
  endif
  set Error = $($R0)
  Goto Warning

skipoptions =+
  Debug-Output "PCx20.INF at skipoptions"
  ifint $(OldVersionExisted) == $(TRUE)
	  ifstr(i) $(!NTN_InstallMode) == configure
		  goto writeparameters
	  endif
  endif
  StartWait
  ifint $(OldVersionExisted) == $(FALSE)
	  ifstr(i) $(!NTN_InstallMode) == "install"
		  Ifstr(i) $(DoCopy) == "YES"
		    Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
		    Ifint $($ShellCode) != $(!SHELL_CODE_OK)
			    Goto ShellCodeError
		    Else-Ifstr(i) $($R0) == STATUS_FAILED
			    Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
			    ifint $($ShellCode) != $(!SHELL_CODE_OK)
			      goto ShellCodeError
			    endif
			    set Error = $($R0)
			    Goto fatal
		    Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
			    Goto successful
		    Endif
		    Set SrcDir = $($R1)
		  Endif
		  install "Install-Option"
		  ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
		    Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
		    ifint $($ShellCode) != $(!SHELL_CODE_OK)
			    goto ShellCodeError
		    endif
		    set Error = $($R0)
		    goto fatal
		  endif
    endif
    Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
			$(ProductSoftwareName), +
			$(ProductSoftwareName), +
			$(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
			$(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
			$(NetEventDLL)
    Set OEM_ABANDON_SOFTWARE = TRUE
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
	    Debug-Output "ShellCode error"
	    goto ShellCodeError
    endif
    set RegistryErrorIndex = $($R0)
    set KeyProduct      = $($R1)
    Set SoftNetRulesKey = $($R2)
    CloseRegKey $($R3)
    CloseRegKey $($R4)
    CloseRegKey $($R5)
    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
      EndWait
	    Debug-Output "Registry error: add software components"
	    CloseRegKey $(KeyProduct)
	    CloseRegKey $(SoftNetRulesKey)
	    goto fatalregistry
    endif
    set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
		   {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
		   {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
		   {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
		   {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
		   {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
		   {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
       Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
	    Debug-Output "ShellCode error."
	    goto ShellCodeError
    endif
    set RegistryErrorIndex = $($R0)
    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	    EndWait
	    Debug-Output "Registry error: add value list."
	    CloseRegKey $(KeyProduct)
	    CloseRegKey $(SoftNetRulesKey)
	    goto fatalregistry
    endif
    set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
			{use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
			{bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
			{class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
			{bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
			{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
    Shell  $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
	    Debug-Output "ShellCode error."
	    goto ShellCodeError
    endif
    set RegistryErrorIndex = $($R0)
    CloseRegKey $(KeyProduct)
    CloseRegKey $(SoftNetRulesKey)
    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	    EndWait
	    Debug-Output "Registry error: add value list."
	    goto fatalregistry
    endif
  endif
  Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  ifint $($R4) != -1
	  Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  endif
  ifint $($ShellCode) != $(!SHELL_CODE_OK)
	  Debug-Output "Cannot add hardware component"
		goto ShellCodeError
  endif
  set RegistryErrorIndex = $($R0)
  Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
		EndWait
		Debug-Output "Registry error: add hardware component"
		CloseRegKey $($R1)
		CloseRegKey $($R2)
		CloseRegKey $($R3)
		goto fatalregistry
  endif
  set KeyParameters = $($R3)
  set KeyAdapterRules = $($R2)
  set AdapterNumber = $($R4)
  set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
		       {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
		       {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
		       {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
		       {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
		       {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  ifint $($ShellCode) != $(!SHELL_CODE_OK)
		Debug-Output "ShellCode error"
		goto ShellCodeError
  endif


  CloseRegKey $($R1)
  set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
			{bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
			{class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
			{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  ifint $($ShellCode) != $(!SHELL_CODE_OK)
		Debug-Output "ShellCode error."
		goto ShellCodeError
  endif
  set RegistryErrorIndex = $($R0)
  Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
		EndWait
		Debug-Output "Resgitry error: add value list."
		CloseRegKey $(KeyParameters)
		CloseRegKey $(KeyAdapterRules)
		goto fatalregistry
  endif
  CloseRegKey $(KeyAdapterRules)
  goto writeparameters

writeparameters = +
  Debug-Output "PCx20.INF at writeparameters"

  ifint $(BusInterfaceType) == 8
    Debug-Output "PCx20.INF BusInterfaceType is 8"
    set PCMCIA = 1
    set BusInterfaceType = 1
  endif

  set NewValueList = {{InterruptNumber,$(NoTitle),$(!REG_VT_DWORD),$(IRQValue)},+
		       {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+
		       {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
		       {MediaType,$(NoTitle),$(!REG_VT_DWORD),8},+
		       {NetworkAddress,$(NoTitle),$(!REG_VT_DWORD), $(NetworkAddress)},+
		       {CableType,$(NoTitle),$(!REG_VT_DWORD), $(CableType)},+
		       {CardSpeed,$(NoTitle),$(!REG_VT_DWORD), $(CardSpeed)},+
		       {ExtendedTimeout,$(NoTitle),$(!REG_VT_DWORD), $(ExtendedTimeout)},+
		       {SlowArbitration,$(NoTitle),$(!REG_VT_DWORD), $(SlowArbitration)},+
		       {CommandChaining,$(NoTitle),$(!REG_VT_DWORD), $(CommandChaining)},+
		       {ExcessiveNaks,$(NoTitle),$(!REG_VT_DWORD), $(ExcessiveNaks)},+
		       {IoBaseAddress,$(NoTitle),$(!REG_VT_DWORD),$(IOBaseAddrValue)}}
  Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  Debug-Output "R0 from AddValueList is "$($R0)
  ifint $($ShellCode) != $(!SHELL_CODE_OK)
		Debug-Output "ShellCode error."
    CloseRegKey $(KeyParameters)
		goto ShellCodeError
  endif
  Ifstr(i) $($R0) != NO_ERROR
		Debug-Output "AddValueList error when adding params, error is "$($R0)
    CloseRegKey $(KeyParameters)
		goto fatalregistry
  endif

  ifstr(i) $(!STF_GUI_UNATTENDED) == "YES"
	  Shell $(UtilityInf),AddDefaultNetCardParameters,$(KeyParameters)
    Debug-Output "R0 from AddDefaultNetCardParametersis "$($R0)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
    	Debug-Output "ShellCode error."
      CloseRegKey $(KeyParameters)
    	goto ShellCodeError
    endif
    Ifstr(i) $($R0) != NO_ERROR
    	Debug-Output "AddDefaultNetCardParametersiserror when adding params, error is "$($R0)
      CloseRegKey $(KeyParameters)
    	goto fatalregistry
    endif
  endif

  IfInt $(PCMCIA) == 1
    Set NewValueList = {{Pcmcia,$(NoTitle),$(!REG_VT_DWORD),1}}

    Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
    Debug-Output "R0 from AddValueList is "$($R0)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
    	Debug-Output "ShellCode error."
      CloseRegKey $(KeyParameters)
    	goto ShellCodeError
    endif
    Ifstr(i) $($R0) != NO_ERROR
	  	Debug-Output "AddValueList error when adding Pcmcia param, error is "$($R0)
      CloseRegKey $(KeyParameters)
  		goto fatalregistry
    endif

    Debug-Output "PCx20.INF about to call SetUpPcmcia"
    Shell "" SetUpPcmcia
    Debug-Output "ShellCode from SetUpPcmcia is "$($ShellCode)
    Debug-Output "R0 return from SetUpPcmcia is "$($R0)
    ifint $($ShellCode) != $(!SHELL_CODE_OK)
    	Debug-Output "ShellCode error."
      CloseRegKey $(KeyParameters)
    	goto ShellCodeError
    endif
    Ifstr(i) $($R0) != TRUE
	  	Debug-Output "SetUpPcmcia error is "$($R0)
      CloseRegKey $(KeyParameters)
  		goto fatalregistry
    endif

  endif

  CloseRegKey $(KeyParameters)
  EndWait
  goto successful




bindingadapter =+
  Debug-Output "PCx20.INF at bindingadapter"
  set Error = "Binding: Sorry, not yet implemented."
  goto fatal




removeadapter = +
  Debug-Output "PCx20.INF at removeadapter"
  Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
	  Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
				$(ProductSoftwareName)
		ifint $($ShellCode) != $(!SHELL_CODE_OK)
		  Debug-Output "ShellCode error"
			goto ShellCodeError
		endif
		set RegistryErrorIndex = $($R0)
		Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
			goto fatalregistry
		endif
  else
		Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
			$(ProductSoftwareName), $(!NTN_RegBase)
		ifint $($ShellCode) != $(!SHELL_CODE_OK)
	    Debug-Output "ShellCode error"
			goto ShellCodeError
		endif
		set RegistryErrorIndex = $($R0)
		Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
			goto fatalregistry
		endif
  endif
  goto end

UpgradeSoftware = +
  Debug-Output "PCx20.INF at upgradesoftware"
  OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  Ifstr $(KeyProduct) != $(KeyNull)
	  install "Install-Update"
	  ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
	    goto fatal
	  endif
	  SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
	  SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
	  CloseRegKey $(KeyProduct)
  else
	  goto fatalregistry
  endif
  goto end

successful = +
  Debug-Output "PCx20.INF at successful"
  goto end

abandon = +
  Debug-Output "PCx20.INF at abandon"
  ForListDo $(OEM_ABANDON_OPTIONS)
	Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
	    $(ProductSoftwareName), $($)
	ifint $($ShellCode) != $(!SHELL_CODE_OK)
    Debug-Output "ShellCode error"
	  goto ShellCodeError
	endif
	set RegistryErrorIndex = $($R0)
	Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	  goto fatalregistry
	endif
  EndForListDo
  Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
	  Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
	    $(ProductSoftwareName), FALSE
	  ifint $($ShellCode) != $(!SHELL_CODE_OK)
	    Debug-Output "ShellCode error"
	    goto ShellCodeError
	  endif
	  set RegistryErrorIndex = $($R0)
	  Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
	    goto fatalregistry
	  endif
  endif
  goto end

warning = +
  Debug-Output "PCx20.INF at warning"
  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  ifint $($ShellCode) != $(!SHELL_CODE_OK)
	  goto ShellCodeError
  endif
  ifstr(i) $($R1) == "OK"
	  goto $(to)
  else-ifstr(i) $($R1) == "CANCEL"
	  goto $(from)
  else
	  goto "end"
  endif

nonfatalinfo = +
  Debug-Output "PCx20.INF at nonfatalinfo"
  Set CommonStatus = STATUS_USERCANCEL
  Set Severity = STATUS
  goto nonfatalmsg

nonfatal = +
  Debug-Output "PCx20.INF at nonfatal"
  Set Severity = NONFATAL
  goto nonfatalmsg

nonfatalmsg = +
  Debug-Output "PCx20.INF at nonfatalmsg"
  ifstr(i) $(Error) == ""
    Set Severity = NONFATAL
	  Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
	  ifint $($ShellCode) != $(!SHELL_CODE_OK)
	    goto ShellCodeError
	  endif
	  set Error = $($R0)
  endif
  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  ifint $($ShellCode) != $(!SHELL_CODE_OK)
	  goto ShellCodeError
  endif
  ifstr(i) $($R1) == "OK"
	  goto $(from)
  else
	  goto "end"
  endif

fatalregistry = +
  Debug-Output "PCx20.INF at fatalregistry"
  Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  ifint $($ShellCode) != $(!SHELL_CODE_OK)
	  goto ShellCodeError
  endif
  set Error = $($R0)
  goto fatal

fataldetect = +
  Debug-Output "PCx20.INF at fataldetect"
  Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  ifint $($ShellCode) != $(!SHELL_CODE_OK)
	  Debug-Output "ShellCode error: cannot get an error string."
	  goto ShellCodeError
  endif
  set Error = $($R0)
  Goto fatal

fatal = +
  Debug-Output "PCx20.INF at fatal"
  ifstr(i) $(Error) == ""
	  Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
	  ifint $($ShellCode) != $(!SHELL_CODE_OK)
	    goto ShellCodeError
	  endif
	  set Error = $($R0)
  endif
  Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  ifint $($ShellCode) != $(!SHELL_CODE_OK)
	  goto ShellCodeError
  endif
  goto setfailed

ShellCodeError = +
  Debug-Output "PCx20.INF at ShellCodeError"
  set DlgType      = "MessageBox"
  set STF_MB_TITLE = $(ShellCodeErrorTitle)
  set STF_MB_TEXT  = $(ShellCodeErrorText)
  set STF_MB_TYPE  = 1
  set STF_MB_ICON  = 3
  set STF_MB_DEF   = 1
  ui start "Error Message"
  goto setfailed

setfailed = +
  Debug-Output "PCx20.INF at setfailed"
  set CommonStatus = STATUS_FAILED
  ifstr(i) $(OEM_ABANDON_ON) == TRUE
	  set OEM_ABANDON_ON = FALSE
	  goto abandon
  endif
  goto end

end = +
  Debug-Output "PCx20.INF at end"
  goto term

term = +
  Debug-Output "PCx20.INF at term"
  Return $(CommonStatus)

[Install-Option]
  set !G:DebugOutputControl = 1
  Debug-Output "PCx20.INF at Install-Option"
  set STF_VITAL = ""
  set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  ifstr(i) $(AddCopy) == "YES"
;	  AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
	  AddSectionFilesToCopyList Files-$(NdisVersion) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
	  AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
  endif
  ifstr(i) $(DoCopy) == "YES"
    set !STF_NCPA_FLUSH_COPYLIST = TRUE
    CopyFilesInCopyList
  endif
  ifstr(i) $(DoConfig) == "YES"
  endif
  Exit

[Install-Update]
;  set !G:DebugOutputControl = 1
  Debug-Output "PCx20.INF at Install-Update"
  set STF_VITAL        = ""
  set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
;  AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  AddSectionFilesToCopyList Files-$(NdisVersion) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
  set !STF_NCPA_FLUSH_COPYLIST = TRUE
  CopyFilesInCopyList
  exit

[Source Media Descriptions]
  1 = "CCSI Arcnet Network Driver Setup Diskette" , TAGFILE = ccsiinf.dll

[Signature]
  FileType=CCSI_FILE

[GetSignature]
  read-syms Signature
  return $(FileType)

[ProductType]
  STF_PRODUCT  = Winnt
  STF_PLATFORM = I386

[Files-Inf]
  1,      oemsetup.inf,     SIZE=32591,     RENAME=$(!UG_Filename)

[Files-Dll]
  1,      ccsiinf.dll,     SIZE=145920

[Files-NDIS30]
;  1,      NTNDIS30.SY_ , SIZE=21504 RENAME=PCX20.SYS
  1,      NTNDIS30.SY_ , SIZE=21504 RENAME=$(Option).SYS

[Files-NDIS40]
;  1,      NTNDIS40.SY_ , SIZE=21504 RENAME=PCX20.SYS
  1,      NTNDIS40.SY_ , SIZE=21504 RENAME=$(Option).SYS

[LanguagesSupported]
  ENG

[FileConstantsENG]
  ProCaption   = "Windows NT Setup"
  ProCancel    = "Cancel"
  ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
	       "Are you sure you want to cancel copying files?"
  ProCancelCap = "Network Setup Message"
  ProText1     = "Copying:"
  ProText2     = "To:"
  ShellCodeErrorTitle     = "Error: "$(FunctionTitle)
  ShellCodeErrorText      = "Shell Code Error."

[DialogConstantsENG]
  Help        = "&Help"
  Exit        = "Cancel"
  OK          = "OK"
  HelpContext = ""
  Continue    = "Continue"
  Cancel      = "Cancel"

Download Driver Pack

How To Update Drivers Manually

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.

server: web5, load: 1.10