| E|MG>|ry39|t| ||&||||P|R|I|K| &| |HI|K|R|P|rr }u  t}_3^DXXXGHH |2I|K|PRQ:rذTYZXr |.|$|I|K|p t);|s6|ˆO|36|%|M|ôM| 6O|ʆ$|6%| Non-System disk or disk error Replace and press any key when ready IO SYSMSDOS SYSU1 3@5`79;=?A C@E`GIKMOQ(S@U`WY[]_a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa   !Aa!!#A%a')+-/1!3A5a79;=?/CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sAuawy{}!Aa!Aa!Aa!Aa!Aaǁɡ!Aaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&m&o'q"'sB'ub'w'y'{'}'("(B(b(((((-")B)b)))))*"*B*b*****+"+B+b+++++,",B,b,ǂ,ɢ,,,-"-B-b-ׂ---.".0 0 0 01#1C1c111112!#2#C2%c2'2)1 3@5`79;=?A C@E`GIKMOQ(S@U`WY[]_a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa   !Aa!!#A%a')+-/1!3A5a79;=?/CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sAuawy{}!Aa!Aa!Aa!Aa!Aaǁɡ!Aaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&m&o'q"'sB'ub'w'y'{'}'("(B(b(((((-")B)b)))))*"*B*b*****+"+B+b+++++,",B,b,ǂ,ɢ,,,-"-B-b-ׂ---.".0 0 0 01#1C1c111112!#2#C2%c2'2)DISK1 @r/"EMSETUPBAK =qVCLBLT256DLL *MARCLVGA16 DLL AISK1 BAK nq."CIRRUS4MSYS ZOEMSETUPINF t0VTXTSETUPOEM AF;----------------------------------------------------------------------- ; 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 ;----------------------------------------------------------------------- ; 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 "" ; [Options] "ALP640x480x4x60" = cirrus4m, 4, 640, 480, 60, 0 "ALP640x480x4x75" = cirrus4m, 4, 640, 480, 75, 0 "ALP640x480x8x60" = cirrus4m, 8, 640, 480, 60, 0 "ALP640x480x8x75" = cirrus4m, 8, 640, 480, 75, 0 "ALP800x600x4x60" = cirrus4m, 4, 800, 600, 60, 0 "ALP800x600x4x72" = cirrus4m, 4, 800, 600, 72, 0 "ALP800x600x4x75" = cirrus4m, 4, 800, 600, 75, 0 "ALP800x600x8x60" = cirrus4m, 8, 800, 600, 60, 0 "ALP800x600x8x72" = cirrus4m, 8, 800, 600, 72, 0 "ALP800x600x8x75" = cirrus4m, 8, 800, 600, 75, 0 "ALP1024x768x4x60" = cirrus4m, 4, 1024, 768, 60, 0 "ALP1024x768x4x70" = cirrus4m, 4, 1024, 768, 70, 0 "ALP1024x768x4x72" = cirrus4m, 4, 1024, 768, 72, 0 "ALP1024x768x4x75" = cirrus4m, 4, 1024, 768, 75, 0 "ALP1024x768x8x60" = cirrus4m, 8, 1024, 768, 60, 0 "ALP1024x768x8x70" = cirrus4m, 8, 1024, 768, 70, 0 "ALP1024x768x8x72" = cirrus4m, 8, 1024, 768, 72, 0 "ALP1024x768x8x75" = cirrus4m, 8, 1024, 768, 75, 0 "ALP1280x1024x4x60" = cirrus4m, 4, 1280, 1024, 60, 0 "ALP1280x1024x4x45I" = cirrus4m, 4, 1280, 1024, 45, 1 "ALP1280x1024x8x60" = cirrus4m, 8, 1280, 1024, 60, 0 "ALP1280x1024x8x45I" = cirrus4m, 8, 1280, 1024, 45, 1 ; ; 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" = "VGA" "CIRRUS ALPINE VGA" = "ALP640x480x4x60" "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] cirrus4m = !SERVICE_KERNEL_DRIVER, Video, !SERVICE_ERROR_NORMAL, 16, {clvga16,clblt256}, 1 , %SystemRoot%\System32\IoLogMsg.dll , 7 ;----------------------------------------------------------------------- ; 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] "ALP640x480x4x60" = "Cirrus Logic Gd543x 640x480, 16 colors 60Hz" "ALP640x480x4x75" = "Cirrus Logic Gd543x 640x480, 16 colors 75Hz" "ALP640x480x8x60" = "Cirrus Logic Gd543x 640x480, 256 colors 60Hz" "ALP640x480x8x75" = "Cirrus Logic Gd543x 640x480, 256 colors 75Hz" "ALP800x600x4x60" = "Cirrus Logic Gd543x 800x600, 16 colors 60Hz" "ALP800x600x4x72" = "Cirrus Logic Gd543x 800x600, 16 colors 72Hz" "ALP800x600x4x75" = "Cirrus Logic Gd543x 800x600, 16 colors 75Hz" "ALP800x600x8x60" = "Cirrus Logic Gd543x 800x600, 256 colors 60Hz" "ALP800x600x8x72" = "Cirrus Logic Gd543x 800x600, 256 colors 72Hz" "ALP800x600x8x75" = "Cirrus Logic Gd543x 800x600, 256 colors 75Hz" "ALP1024x768x4x60" = "Cirrus Logic Gd543x 1024x768, 16 colors 60Hz" "ALP1024x768x4x70" = "Cirrus Logic Gd543x 1024x768, 16 colors 70Hz" "ALP1024x768x4x72" = "Cirrus Logic Gd543x 1024x768, 16 colors 72Hz" "ALP1024x768x4x75" = "Cirrus Logic Gd543x 1024x768, 16 colors 75Hz" "ALP1024x768x8x60" = "Cirrus Logic Gd543x 1024x768, 256 colors 60Hz" "ALP1024x768x8x70" = "Cirrus Logic Gd543x 1024x768, 256 colors 70Hz" "ALP1024x768x8x72" = "Cirrus Logic Gd543x 1024x768, 256 colors 72Hz" "ALP1024x768x8x75" = "Cirrus Logic Gd543x 1024x768, 256 colors 75Hz" "ALP1280x1024x4x60" = "Cirrus Logic Gd543x 1280x1024, 16 colors 60Hz" "ALP1280x1024x4x45I" = "Cirrus Logic Gd543x 1280x1024, 16 colors Interlaced" "ALP1280x1024x8x60" = "Cirrus Logic Gd543x 1280x1024, 256 colors 60Hz" "ALP1280x1024x8x45I" = "Cirrus Logic Gd543x 1280x1024, 256 colors Interlaced" ;--------------------------------------------------------------------------- ; 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) set Status = STATUS_SUCCESSFUL 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 ; ; 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) ; ; Check if the language requested is supported ; set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) in $(LanguageList) else set Status = STATUS_NOLANGUAGE goto finish_InstallOption endif 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 OptionList = "" ; ; Option has been defined already ; set MiniportDriver = #(Options, $(Option), 1) set BitsPerPel = #(Options, $(Option), 2) set XResolution = #(Options, $(Option), 3) set YResolution = #(Options, $(Option), 4) set VRefresh = #(Options, $(Option), 5) set Interlaced = #(Options, $(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) read-syms ServicesEntry detect ServicesEntry installtheoption = + ; ; Code to add files to copy list ; 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 EndForListDo addfiles = + ifstr(i) $(DoActualCopy) == NO shell "subroutn.inf" DriversExist $($0) $(String1) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "VIDEO.INF: shelling 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 "VIDEO.INF: User cancelled video installation" goto finish_InstallOption else Debug-Output "VIDEO.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 "VIDEO.INF: shelling 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 "VIDEO.INF: User cancelled asking source." goto finish_InstallOption endif install Install-AddCopyOption ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS" Debug-Output "VIDEO.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 "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 ; ; 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 ParametersValues = { + {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) } + } ifstr(i) $(VRefresh) != "" set VRefreshValue = {DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh)} set ParametersValues = >($(ParametersValues), $(VRefreshValue)) endif ifstr(i) $(Interlaced) != "" set InterlacedValue = {DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced)} set ParametersValues = >($(ParametersValues), $(InterlacedValue)) endif set DeviceValues = {} set EventLogValues = { + {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, + {TypesSupported, 0, $(!REG_VT_DWORD), $(TypesSupported) } + } shell "registry.inf" MakeServicesEntry $(ServiceNode) + $(ServicesValues) + $(ParametersValues) + $(DeviceValues) + $(EventLogValues) + Device0 ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "Couldn't execute MakeServicesEntry in registry.inf" goto finish_InstallOption endif ifstr(i) $($R0) != STATUS_SUCCESSFUL Debug-Output "MakeServicesEntry failed for video" goto finish_InstallOption endif ; ; ; 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 "Couldn't find DisableServicesEntry in registry.inf" goto errorconfig endif ifstr(i) $($R0) != STATUS_SUCCESSFUL Debug-Output "DisableServices entry failed" endif endif endif endif 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 = + 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) EndForListDo exit [Install-DoCopyOption] ; ; Copy files in the copy list ; CopyFilesInCopyList exit ;************************************************************************** ; PROGRESS GAUGE 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 Cirrus Logic Alpine "+ "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 = "CIRRUS LOGIC ALPINE VGA DRIVERS" , TAGFILE = disk1 [Files-DisplayDLLs] clvga16 = 1,clvga16.dll , SIZE=999 clblt256 = 1,clblt256.dll , SIZE=999 [Files-DisplayMiniportDrivers] cirrus4m = 1,cirrus4m.sys , SIZE=999  iLKjBRIEF xa;;CLASSIC GE ]ECLT *J1CPAV H+&CPSTSR U&DCT CmDOOMDATA i&DOS KEXCEL4 u&Cirrus Logic Alpine VGA Drivers DOS SYSj>CONR120MG (k543X tDAFTERDRK l{BMAIL y BOXER iLKjBRIEF xa;;CLASSIC GE ]ECLT *J1CPAV H+&CPSTSR U&DCT CmDOOMDATA i&DOS KEXCEL4 u&Cirrus Logic Gd543x VGA Drivers DOS SYSj>CONR120MG (k543X tDAFTERDRK l{BMAIL y BOXER iLKjBRIEF xa;;CLASSIC GE ]ECLT *J1CPAV H+&CPSTSR U&DCT CmDOOMDATA i&DOS KEXCEL4 u&;----------------------------------------------------------------------- ; 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 ;----------------------------------------------------------------------- ; 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 "" ; [Options] "ALP640x480x4x60" = cirrus4m, 4, 640, 480, 60, 0 "ALP640x480x4x75" = cirrus4m, 4, 640, 480, 75, 0 "ALP640x480x8x60" = cirrus4m, 8, 640, 480, 60, 0 "ALP640x480x8x75" = cirrus4m, 8, 640, 480, 75, 0 "ALP800x600x4x60" = cirrus4m, 4, 800, 600, 60, 0 "ALP800x600x4x72" = cirrus4m, 4, 800, 600, 72, 0 "ALP800x600x4x75" = cirrus4m, 4, 800, 600, 75, 0 "ALP800x600x8x60" = cirrus4m, 8, 800, 600, 60, 0 "ALP800x600x8x72" = cirrus4m, 8, 800, 600, 72, 0 "ALP800x600x8x75" = cirrus4m, 8, 800, 600, 75, 0 "ALP1024x768x4x60" = cirrus4m, 4, 1024, 768, 60, 0 "ALP1024x768x4x70" = cirrus4m, 4, 1024, 768, 70, 0 "ALP1024x768x4x72" = cirrus4m, 4, 1024, 768, 72, 0 "ALP1024x768x4x75" = cirrus4m, 4, 1024, 768, 75, 0 "ALP1024x768x8x60" = cirrus4m, 8, 1024, 768, 60, 0 "ALP1024x768x8x70" = cirrus4m, 8, 1024, 768, 70, 0 "ALP1024x768x8x72" = cirrus4m, 8, 1024, 768, 72, 0 "ALP1024x768x8x75" = cirrus4m, 8, 1024, 768, 75, 0 "ALP1280x1024x4x60" = cirrus4m, 4, 1280, 1024, 60, 0 "ALP1280x1024x4x45I" = cirrus4m, 4, 1280, 1024, 45, 1 "ALP1280x1024x8x60" = cirrus4m, 8, 1280, 1024, 60, 0 "ALP1280x1024x8x45I" = cirrus4m, 8, 1280, 1024, 45, 1 ; ; 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" = "VGA" "CIRRUS ALPINE VGA" = "ALP640x480x4x60" "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] cirrus4m = !SERVICE_KERNEL_DRIVER, Video, !SERVICE_ERROR_NORMAL, 16, {clvga16,clblt256}, 1 , %SystemRoot%\System32\IoLogMsg.dll , 7 ;----------------------------------------------------------------------- ; 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] "ALP640x480x4x60" = "Cirrus Logic Gd543x 640x480, 16 colors 60Hz" "ALP640x480x4x75" = "Cirrus Logic Gd543x 640x480, 16 colors 75Hz" "ALP640x480x8x60" = "Cirrus Logic Gd543x 640x480, 256 colors 60Hz" "ALP640x480x8x75" = "Cirrus Logic Gd543x 640x480, 256 colors 75Hz" "ALP800x600x4x60" = "Cirrus Logic Gd543x 800x600, 16 colors 60Hz" "ALP800x600x4x72" = "Cirrus Logic Gd543x 800x600, 16 colors 72Hz" "ALP800x600x4x75" = "Cirrus Logic Gd543x 800x600, 16 colors 75Hz" "ALP800x600x8x60" = "Cirrus Logic Gd543x 800x600, 256 colors 60Hz" "ALP800x600x8x72" = "Cirrus Logic Gd543x 800x600, 256 colors 72Hz" "ALP800x600x8x75" = "Cirrus Logic Gd543x 800x600, 256 colors 75Hz" "ALP1024x768x4x60" = "Cirrus Logic Gd543x 1024x768, 16 colors 60Hz" "ALP1024x768x4x70" = "Cirrus Logic Gd543x 1024x768, 16 colors 70Hz" "ALP1024x768x4x72" = "Cirrus Logic Gd543x 1024x768, 16 colors 72Hz" "ALP1024x768x4x75" = "Cirrus Logic Gd543x 1024x768, 16 colors 75Hz" "ALP1024x768x8x60" = "Cirrus Logic Gd543x 1024x768, 256 colors 60Hz" "ALP1024x768x8x70" = "Cirrus Logic Gd543x 1024x768, 256 colors 70Hz" "ALP1024x768x8x72" = "Cirrus Logic Gd543x 1024x768, 256 colors 72Hz" "ALP1024x768x8x75" = "Cirrus Logic Gd543x 1024x768, 256 colors 75Hz" "ALP1280x1024x4x60" = "Cirrus Logic Gd543x 1280x1024, 16 colors 60Hz" "ALP1280x1024x4x45I" = "Cirrus Logic Gd543x 1280x1024, 16 colors Interlaced" "ALP1280x1024x8x60" = "Cirrus Logic Gd543x 1280x1024, 256 colors 60Hz" "ALP1280x1024x8x45I" = "Cirrus Logic Gd543x 1280x1024, 256 colors Interlaced" ;--------------------------------------------------------------------------- ; 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) set Status = STATUS_SUCCESSFUL 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 ; ; 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) ; ; Check if the language requested is supported ; set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) in $(LanguageList) else set Status = STATUS_NOLANGUAGE goto finish_InstallOption endif 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 OptionList = "" ; ; Option has been defined already ; set MiniportDriver = #(Options, $(Option), 1) set BitsPerPel = #(Options, $(Option), 2) set XResolution = #(Options, $(Option), 3) set YResolution = #(Options, $(Option), 4) set VRefresh = #(Options, $(Option), 5) set Interlaced = #(Options, $(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) read-syms ServicesEntry detect ServicesEntry installtheoption = + ; ; Code to add files to copy list ; 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 EndForListDo addfiles = + ifstr(i) $(DoActualCopy) == NO shell "subroutn.inf" DriversExist $($0) $(String1) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "VIDEO.INF: shelling 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 "VIDEO.INF: User cancelled video installation" goto finish_InstallOption else Debug-Output "VIDEO.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 "VIDEO.INF: shelling 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 "VIDEO.INF: User cancelled asking source." goto finish_InstallOption endif install Install-AddCopyOption ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS" Debug-Output "VIDEO.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 "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 ; ; 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 ParametersValues = { + {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) } + } ifstr(i) $(VRefresh) != "" set VRefreshValue = {DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh)} set ParametersValues = >($(ParametersValues), $(VRefreshValue)) endif ifstr(i) $(Interlaced) != "" set InterlacedValue = {DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced)} set ParametersValues = >($(ParametersValues), $(InterlacedValue)) endif set DeviceValues = {} set EventLogValues = { + {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), MZ@ !L!This program cannot be run in DOS mode. $PEL ],t} * b@|p0@eT.text `.bss.rdata@@.edata@@.data @.idata0@.rsrc@f@B.relocX@B.debuglr@B SVW|$4t$0GD$GD$GD$(D$G G$ljdž(dž8džHG tt*t?+_^[ d$dž p bdž0 b?dž p bdž b)d$dž ` bdžP b+t$D$(+t$ȋD$(+t$D$$Pj@ u+_^[ d$D$$Pj u +_^[  D$ tD$ D$D$;D$ rD$+t$ t +_^[ +ɉL$D$D$ D$ D$+ۋD$ +D$G+GOD$+t$G D$ ;D$(s;9\$ vD$A\$9\$ wD$ D$D$ D$D$D$덋D$D$$G ;}T$d$A;L$$|D$ +D$+t$ȉD$+t$ t tI_^[ ISVWUt$4F D$nF\$0D$( ǃǃǃF(ƉPF,ƉF0ƉTFLtt/t@+]_^[ǃl bǃp bCd$d$ǃl bǃp0 b%ǃl bǃp b+t$hD$(+t$ȋD$(+D$$Pj@\ u +]_^[D$$PjX u+]_^[I~ D$ tD$ D$;D$ rD$+ t#]_^[+ɉL$D$D$D$ D$+\D$+D$G+GOD$+G D$ ;D$(s:9t$vD$XA9t$wD$D$D$D$D$D$두D$dD$$G ;~D$$XA9L$$D$ +D$+ȉ`D$+ t tI`]_^[8VWt$DjdžD$ dždždžXdž\PD$j4PjjhT#FP% u ,=u{D$Pj@) tiD$jPD$PWjjhT#FP t@GWV: t,GtWV tjjV _^8V+_^8I$Vt$PPPXP{\Po^d$$ $UVWu(uKtdž8džHdždždžM }u + +ɋ BGBGB G F+BMEEU_^] IU Vu(uKtdž8džHdždždž}u:M %EEE9ErLE+E>M + +ɋ%E+E }EEM M D ED (ED$FU+D EEUU^] IUSVW}uE u + +< ًEƉE8EEtdž(dždždžM΋,C0,CAC A EN+KM,CACAC A EN+KE싆EEEUU_^[]D$ PD$ PD$ P,$USVW}uE u + +< ًEƉE8tdž(dždždžMƋ,S0,SPS P }Fu+C+CM,C0,CAC A }Fu +C+CEEEEEUU_^[]IUVWuuKudž(dž8džHdždž}E u +` +X \|BGBGB G F+BMPEEU_^] IU VuuKudž(dž8džHdždž}u0XM %EhEEd;Ew9E4M +` +ɋX%E+hE }EM \|M \DM \D E\DFU+D PEEUU^] USVW}uE u +` +X< \ ًEƉEEEudž(dž8džHdžM΋CCAC A EN+KMCACAC A EN+KE싆EPEEUU_^[]D$ PD$ PD$ P<$USVW}uE u +` +X< \ ًEƉEudž(dž8džHdžMƋSSPS P }Fu+C+CMCCAC A }Fu +C+CEEEPEEUU_^[]IUSVW}uU u +` +҃}Mu +` +ɋXU%E\E<uAudž(dž8džHdžCCAC A GGAG A F+CF+GLu UEUEPEEUU_^[]VW|$O +ɋt$ F$H;|9 9( jPV G N$;|D$H D$ u*P NJNJN J _^H HJH xJO J HHHxu@ 9HH$9H |H (9H|H_^$SVWt$(t V9jWV D$H L$9u)yA(A$A _^[ QCBCBC B 9yy9$9A |A (9A|A_^[ L$9t;QBBG B AA+_^[ d$$SVWt$F +|$9G$9 9( jPW $9|WD$H L$ FAL$T$$ABA +AF(;|؉Z A+FÉB Y+$;|ÉB +ȉJ_^[I SVWU|$,\$(G+D$G +GD$Ct$ D$N$;|D$(t/VD$;?D$9(}*+]_^[ ;l$jUV 9$VD$$H ;ȋD$0T$4hO+KD BkD$ŋ(;|j ?D$0+;ljD$$;|ωJ]_^[ +]_^[ d$VW|$G +t$ 9F$9 9( jPV 9$VD$H L$ GA(W ;|‰A W$;|ЉQD$ tL$@A_^d$d$$SVWU|$t$ o$F ;|苟(t)W9F:9(})+]_^[d$;jSW 9$WD$H L$(Y;‰(V ;|‰A V$;|ЉQD$ t+|$$@+FAG]_^[+]_^[VW|$t$;‹L$ ‰GV;|‰A9}3GV;‰AG V ;|‰A 9A}_^ @!bBABAB A +_^ $$L$T$9B|!9A|B 9AA 9B +d$$@SVWUt$TD$FD$FlD$D$d|$`XW;oT$ G +ÉD$49 9( jSV D$H (L$4;|D$,D$dD$8\$<D$@D$DGD$HD$,+ÉD$LD$8PD$DPjD$jPD$0Pո!D$D$ D$LD$$9 |jHPV D$H (D$$;|ȋ D$ ;+\$ D$8\$<D$@l$DGD$HD$8L$LPD$DPD$dPD$dPD$,PD$$P8!D$ tjMUn$D$,9D$4rD$$D$ \$,D$,jPO L$\$0+9 }9(} jCPV D$H L$0;D$(D$dD$8D$(D$<D$@D$DGD$HD$8+\$(\$LPD$DPjD$jPD$0P^!D$\$+\$L9(jSV D$ ;ˋ(D$;|+ËT$8D$<D$@L$DGD$HD$8l$LPD$DPD$dPD$dPD$,PD$$Pζ!D$9l$tjUuD$(9D$0}\$jHd$D$]_^[@PSVWUt$dD$FD$FlD$|$h|$ttL$|+D$HG+AD$LD$xWX;T$ G +ÉD$49 9( jSV D$H (D$4;|ȋD$xL$,D$8\$<D$PD$TGD$X+ÉD$\D$8PD$TPjD$jPD$0P誵!D$D$ D$\D$$9 |jHPV D$H (D$$;|ȋ D$ ;+\$ D$8\$<D$Pl$TGD$XL$\D$P+D$HD$@+D$LD$D$P$P$PD$LPD$HPD$dP$P$P$PD$@PD$8P!D$ t jMU2D$,;D$4D$$D$ \$,D$,jPO L$\$0+9 }9(} jCPV D$H L$0;D$(D$xD$8D$(D$<D$PD$TGD$XD$8+\$(\$\PD$TPjD$jPD$0P!D$\$+\$\9(jSV D$ ;ˋ(D$;|+ËT$8D$<D$PL$TGD$Xl$\D$P+D$HD$@+L$LL$D$P$P$PD$LPD$HPD$dP$P$P$PD$@PD$8P!D$9l$tjU6D$(9D$0}\$jHD$]_^[P($xSVWU$u D$$@D$= !bu}$$@u @d$$P$P$$P$V$S$WP$P$$P$UP+$$$$$fx0 tOf}0uH($P$P$PVS$WP$P$PU(%I$D$^$u=},u7$t $xu 3D$ <$t+D$4G+FD$8D$pD$DPD$@PWSD$$VP D$D+D$4D$,D$H+D$8D$0$P$P$PD$8PD$LPD$XP$P$P$PUV謰D$ tD$DPD$@PWSD$$VP= {D$E PE$PSD$ WP($PD$XWP+D$TD$$C+GD$XD$(E PE$PD$,PD$`PD$$Pҍj2jj$jP賯ID$dP$h$P良D$ |$dvSD$dDhD$t$hWVVS+D$$F+GCD$(E PE$PD$,PD$ VPD;t$r|$ u f}0"$t+D$4G+FD$8ED$pD$DPD$@PWSD$$VP%D$D+D$4D$,D$H+D$8D$0$P$P$PD$8PD$LPD$XP$P$P$P$VP諮 tD$DPD$@PWSD$$VP^ v+]_^[x,dSVWU$x$|f{0m tIf~0uB$u @d$$j $U$WPVSD$~,uP$t $xu9$t$@*% D$XD$0PD$,$P$WU$ SPpD$(PD$4P$P$PVS_D$ D$0PD$,PWUD$ SP uIF PF$$P$UD$WP辊d$$$PD$DWPs$E+D$@D$ E+GD$DD$$F PF$PD$(PD$LPD$ PU9j2jj$jP6$$D$PP$h$PD$|$PvTD$PDTD$\$TWSSE+D$ C+GED$$F PF$PD$(PD$SP軉;\$r|$u f~0{D$pD$0PD$,$P$WUD$ VPjD$(PD$4P$P$PVS艫D$ tD$0PD$,PWUD$ VP* uD$]_^[dSVWU|$GD$+fO0fL$ft ]_^[,IL$DT$E;t +]_^[,f !bff\$ t{$}+]_^[,d$ U/CG t^f{0uWft fID$DPD$Pf=t2|$,t L$,At!PD$8l$4Pt$0UVSWC]_^[,ftxf usD$DPD$PNL$< t&9u!PD$DPl$8Qt$4UVWJ]_^[,PD$DPD$@QPD$Dl$@PL$@Ut$@QD$@VPSW ]_^[,+]_^[,l$0jt$,UVWL ]_^[,l$0j t$,UVW. ]_^[,d$]_^[,f|$f{0|$,tL$,AD$4j l$4Pt$0UVSW tjL$< t 9uD$@jPQUVWK]_^[,D$@jPD$@QPD$DPL$@UQD$@VPSW ]_^[,l$0jt$,UVW^]_^[,d$3D$=4DtmtQ"tS3tWfft[wt]f=t_=ta=ta=tc=tcfffPff fYfffff ffmfD$ %=e6P4  fD$UZ_fD$=2 ===fD$===fD$f+ffPIff f fYffffff ffmfSVWU$@D$,$H$T$8GBGBG B $T$XAABA BA B PD$jjj$jP$D$4P$hP趞D$+9l$4\$8L$GAGAG A L$$CACAC A PD$P twD$L$$;D$D$L$(;D$D$L$,;|D$D$ L$0;|D$ D$+D$HL$ +L$If$jRQPD$(PD$(PV4E9l$46|$]_^[Ĩ$VD$ H4fD$, fT$f%!f !fD$fD$0"fT$f%#f #fD$ $fD$ ff%%f %fD$L$(D$$fȊ(fT$f)f)fL$f%*f *fD$d$80fD$d$42fD$fD$1ff؍t$ f1fBufJfo^d$$SVWU$$PT$$f$f%fD$D$AD$A D$($q@< u+t$NL$(+L$I+$T$@+++t3Ɋ"!b|$ L$$L$( t3"!bA t3"!bA  13"!b=L$ v{@++ƍ,E t3"!bl$ D$$L$(<]4u@+++t3"!bA t93"!bA 13"!bp +ƍ,E t3"!bl$ D$$L$(+ t13"!bA<]@+++t3"!bA t93"!bAT$ +0D$0u'9D$(rT$(D$()$T$0D$09D$8T$0vT$8D$89D$(vT$(D$(9D$ vT$ B#!bBT$PBBB BBBBB B$P#!bB(B,B0B4B8BPu_^+_^=PuID$jPD$ t$$PVPVh$#AP} u +_^|$$_^_^IxSVWU$D$$ u*@ t+]_^[x$Gw]_^[x=vD+]_^[x$:t(+]_^[xwA$Hi b+]_^[x$0u$+]_^[x]_^[xt$( %!b%fD$D$HpL$D$,PW~ \$0}]_^[xd$D$P3fD$PD$VPD$4L$@HAD$4HD$4PJQ;ӋD$4@ H;AuCD$4@H;u4D$4@H;u%ыD$4 HI D$4@H;\$D$À P3fD$PD$V+PVD$,UPWD$lSPtD$8D$8D$`D$@H L$ D$89D$8tPyD$89D$8AD$`9D$`D$`H L$ 5@HL$;AYыD$4 H I D$4@H;4D$4L$XKYD$4@H;L$A1;qL$@A@Aq;~A2L$A@A@ t2|$NOW+J_ +KSRQPD$$Ph uٸ]_^[xq]_^[xu]_^[xL$8D$89tPhD$`L$ 9H uD$8QPD$hP|$8$D$$GD$|$$t G$?G$u?D$9G~cr6 t2\$؃NKS+Jk +MURQPD$$P uًT$ЋL$ J@B D$GFB?D$8;jD$ ve be be be be be be be be be be be be be be be bd$d$VT$ʋ2FHFuFFFFFx +FFF F΋1;u^d$d$$SVWt$+>΋_W9S};ϋ?;u u_^[SVWL$t$9T$_9X} 69X|>99W t_^[ ISVWUt$$\$06F |$(l$4{t'C@L$D$C@L$D$CKC HKt3CPD$PWV]C@L$D$CCHK utD$PD$PWV$ tD$,SPx\]_^[SVWUD$0T$,HZ+x2ыL$((A$ߋ*ӋًL$(0A$CA +ЉQ  ]_^[+xA AIݍA A A؉A;|řAy u؉AřQAAAiytqAAAx +AAq CuFQy u+qq Nq)qaaQ |$$7F ;| uA9F}IA(]_^[$VD$P4fD$$ fL$f%!f !fD$fD$("fL$f%#f #fD$ T$ D$fȊ(fT$ f)f)fL$f%*f *fD$fD$1f1fBufJt$fo^SD$ @4D$f1BuJ\$$ff\$,ffff $f\$ff0f\$2f[I0SVWU$D$H0u+$T%@%!b3@%!b $H+I;ttIod$$PWP$TPj$XjP$`jQj$hjP+jjj$TjQ t$P$LhDQsD$D$$$D$D$,jPD$hPFHPs l$4\$,D$0;}\E9EvJ\$ ED$CD$(ED$$$PWP$TPjD$,jPjFdPj$hjPC;\$0|D$,jPhjFHP7s uD$(D$D$9$9|$]_^[0d$d$D$PF u+Vt$F t P~sFF` tPs^SVWUt$hj@sF` u +]_^[***++ۋn`/n`L/n`T/n`\/?u ?urɿ`%!b+ɋV`GV`DGV`DWF`TG(V`G)V`G*V`W'F`(rjjjF`Phj5rNPF$~uF`Pr+]_^[]_^[d$ SVWfD$t$$fD$A`+ҊX^X^V$;rӍD$ jPjjD$ hPh#APq t_^[ d$d$$V$ fD$$t$fL$P$$P$QPq;$ t +^$ DL$;v+.nnN;w덄$ jPjjD$hP$(h#@PHp u +^^$SVWUD$+D$|$ ;~7%!bl$VjjD$L$ jQPpE t$ C;|؋D$]_^[D$]+_^[$SVW\$+9vP1pF9w_^[d$d$$VWt$$D$ jPF0jjjPh #FP(o u +_^|$( tDD$D$ jPD$jPD$jPhX#FPn u +_^ tD$FoFd@Fd@Fd@Fd@NdF A FdN$HFTP;Vmdž(dž8džHdždždž_^L$ jAD$D$PjjD$jPh\#APn$\SVWU|$pD$PwLD$ PGP u +]_^[\\$tu)u uut D$tD$+ɋ$H;tz}te|$uk9UuSU 9uHUU;u99Ut u*T$T$D$U@B9T$t l$H u uD$Pn+]_^[\AG0AG A G$ADG(QHW,G$;uG|G Gx G|GxAAGDAG4A4G8A8G$ȁ ȋD$QP$PD$P +f}0u$ tOD$tD$hD$LD$PD$\p*!bD$`p*!bAD$TD$d$ Q AD$dD$Lƒ9AsD$L‹$ 9ArD$L$ @D$LD$PA% IȉL$T$ AD$h$D$\$D$`D$tQD$h$$;r24v0q9D$\v狄$D$8D$<ЉD$@D$D$ x*!b%uD8D$H?D 8D$I% *!bC<+<KT$xAB ABA B $C$C $C$+C$$+C$C $$+C$C $+C$D$,P$PcD$D$0 D$,t!D$4@L$$D$(L$4уD$0HL$T$4D$,tD$T tWV\$PUSPjRD$,QP}. D$0D$4HD$,@L$D$ t$WVD$PUPjD$8jPD$8PD$0P2. t^|$*t4t$T+t$dȋ+t$d%$  q]_^[ ++ꋌ$ QUS@$Prb$8P$hPFb؃$Ltft'$H%D$d$HD$XWVD$PjP$\P$dP$XP$TPD$0P(- t l0+.XSVWUD$l+ɋp9L$xt D$x3ɊH$D$ $u  ɋ|$pWo ƒ;|$|o$<G +ЃT$G+G‰D$=ŃQQ҃ Ѓ@ ЉT$$ $+D$C9G~D$,D$(CD$0GD$49G ~!WT,T(EW T0WT4C9G}"WT,ST0EWT(WT4S 9W}T4T(SET0WT, t9 uD$jPD$0j PUVyPD$PD$,VP$UPGqq uD$PFpP+QD$$PD$PD$(PG SPGPD$0PFpPPGPV]_^[X(d$|$pn ۋuO D$xPUQVD$x$P$P$P$P$SP$P$PWU^D$ tD$xPUV覞 uD$]_^[X(d$SVWU+9$t $p$P$j P$P ttbd$$$$d$OW+Ћ_ +SRQP$PNu$+9$t-l$ $$WQUq tF$Ku Ft4 FNV+Ћ~ +WRQP$PkD$ ;w$$DD$jjj$jP\D$`P$hDP[D$t$dD$`HD$|$`D$9F$F 9A}sٍl$ +$HD$9$tVSU| tGD$L$ u t3|< GO_+؋W +RSQP$PvD$ ;wԃD$L$ ^|$ ]_^[ĔIPVWSUt$lD$TPVy\D$HD$X <|$\|$L\$Tt7t$\t$PWL$8T$}^D Uw;ЀЋ^ $+!bE;ظЀЋ^]^ $+!bۋ] Eh b{s+}}6>ې] E쌜 b{s+}6>C +EԉEFeE^D Uw;ЀЋ^ $+!bېE;ظЀЋ^]^ $,!bM ] ] s}}}6M ] ] s{6+}>}^D Uw;ЀЋ^ $P+!bE;ظЀЋ^]^ $,!bMs ] ] s}}}6MO ] ] s{6+}>EFeE^D Uw;ЀЋ^ $+!bE;ظЀЋ^]^ $,!bۋÃ$0 b@ b[ bR bI b.F/.F/.F/.F/KueۋÃ$ bې b b b b.F/.F/.F/.F/KueۋÃ$Н b b b b bFFFFKueۋÃ$ b( b= b6 b/ bFFFFKueۋÃ$` bp b b b bffgffgffgffgKueۋÃ$̞ bܞ b b b bfff fff fff fff KueۋÃ$0 b@ bj b\ bN bffffffffffffKueۋÃ$ bۤ bΟ b b b+&F'G+&F'G+&F'G+&F'GKueۋÃ$ b b/ b" b b+Fff +Fff +Fff +Fff KueۋÃ$X bh b b bu b+Fff+Fff+Fff+FffKueۋÃ$ bȠ b bޠ bӠ bffffffffKueۋÃ$ b bA b6 b+ bff ff ff ff KueۊffȈgfFfȈgKueffgfFfgKueffȈgfFfȈgKueـ+fgGKueـ+ff GKueـ+fgGKueffFGKueff FGKue쐋fGG'Kue Kue쐋KuefffGG'Kueff KueېffKueېKue쐋 Kue쐋EU+ЉUHU+ЉU܉EGUfFfȈ'GJuu}KueۋEU+ЉUHU+ЉU܉EGUfFf'GJuu}KueۋEU+ЉU؋EHU+ЉU܉EGUfFfȈ'GJuu}KueېEHU+ЉUHU+ЉU܉EGUfFfȈ'GJu&*u}Kue쐋EHU+ЉUHU+ЉU܉EGUfFf'GJu&*u}Kue쐋EHU+ЉUHU+ЉU܉EGUfFfȈ'GJu&*u}Kue쐋UE+rr$Kuer,BFKueۃffKueffNOKueۋUE+r r@S؋ Ku[KueېrBS؋ KuF[Kue쐃S؋ Kuff [KueېS؋ Kuff NO[Kue쐃}$u ]F+EM+ȉM؋Feȋ}FEԋu; |;(| jPS U;(|(+UԊE(f+ۋM" $@,!b}Ju](9E[_^,E+jPS 덐$,!bfG$,!bfG$,!bf$,!bfG$,!bۈ$,!bfG$,!bGG$,!bۈG$,!bGfG$,!bG$,!bېG$,!bېFI"t$@,!bGFI"t$@,!bfGGFI"t$@,!bfGGFIz"t$@,!bfGFIY"c$@,!bGfGFI2"<$@,!bۈGFI"$@,!bfGFI"$@,!bGGFI"$@,!bېGFI"$@,!bۈGfGFIv"$@,!bۈGGFIO"Y$@,!bېGGFI'"1$@,!bې]u TE+EEF؃U,!bڃM,!bMH+EF+u0" b]#]tx]Hp bE}ۍPUt&Hp buEFt,H b" bFtH bFuE}+}؋~++}߉}܉ME$ b+U}JUM]Eԋeȋ>;|;| jQSl+;U,cVffe,2e(f}U;|+UԉUeuEt GtF]Uu }u}jQSlEeEu{ C+;|;| jPVl+C;ǃE}CT;}E,fVffe,2e(fTME@ bE] E }Es6M]eې` bɮ b b b b b~ bo bFfFfFfFfFfFfFfFfIuM:uJfTff[_^,B% ‹U W|$L$ +_8VWSuMUDEzU 2J](;~ ρ+ +}߃;r uӃ ,!bE}]U܋U؃uMQ○MЉ}ԋE t u 3+;FE%=u3EEtUU;uEE t ;Eu3EUuE|#+;U|EuNuă+Eu3+;FE u3t(EU3+3҃~ EUE%u;EEtuu;uEE t;Eu EUEEU|! +;}+;|EEuuăEu3+M̍V+UM`E+FuuME؋ttމUUEEu; |;(|EQPV Et't x+ (+u+u~S}N}}؃t+ ;| (+;| dU}TUuEMuԋ}Ѝ ;ЋUv u]ỦE$EE taB3ҋEE+uF]++09Ev/u|+F+09Evu|+Fƾ봉U]u}M䍕MPQRUE puEt4+ KjSV C+ 0+(jSV (+UdE}Uu}]UM䍅މ}SMPQRU](@u)U;Ut2JUz[_^$]Mt]Uu}M+ލMPQRUuEtD+ QIjQV Y+ U ?+(QjQV X(+U }GEt;~;|+щU.;| 0+~+ډU}UMuM~ UV Et +UU3v}VЋ~,׋N}+}3v~,N#F $t׋F D+|ډ+t׉EM@} ,uKۃ|/tf#3ff#3f};s7͐"2ӈG};s"2ӈGIu};s]u>[_^ VWSuUmNAF(>,ۊ"2ԈKu+G;r]u>[_^ VWSuUmNAF(>,ۋې"2ԈKuO;r]u>[_^ VWSuUmNF(>,ې"2ԈKuG;r]u>[_^ VWSueFEF E^+؃]F(NV>f , tf9M#Uʋ܋!tې"2ԈGLt.Ku};usu>Ff Ne[_^ 9M#UK!t+~};usu>Ff Ne[_^ VWSueF^t@EEu@E EEF E^+؃]F(NV>f , te9M#Uʋ܋!tۊ"2Ԉ}Lt.Ku};usu>Ff Ne[_^ 9M#UK!t+#ڋU~};us܋u>Ff Ne[_^ VWSuUmFEF(܊>,u3|t ff};s*܈G};sGIu};s]u>[_^ VWSuUmNAF(>,ېې'Ku+G;r]u>[_^ VWSuUmNAF(>,ې'KuO;r]u>[_^ VWSuUmNF(>,ېې'KuG;r]u>[_^ VWSueFEF E^+؃]F(NV>f , t^9M#Uʋ܋!t 'GLt.Ku};usu>Ff Ne[_^ 9M#UK!t+~};usu>Ff Ne[_^ VWSueF^t@EEu@E EEF E^+؃]F(NV>f , t]9M#Uʋ܋!t '}Lt.Ku};usu>Ff Ne[_^ 9M#UK!t+#ڋU~};us܋u>Ff Ne[_^ TVWSu}FU+‹OMċU+;}+oE b+E҉UsEɉM+]#tFC;E}Eċ;E~(UE+‹esu+U@MEE9EUEzp}U]M+MQUhs+/It rIu]Y}} tPwE? bMuE{ bUsoE bfEԞ bUrXE bJUKw Em bM:uE bUs"EM bE bUr E# bJU}G OM+N M܋VU+;}++Eȋ҉UmEEsEɉM+ى]]#tEC 9E~E܋C9E}&E+FeEsu+UU@ME̋E9E{]Es4}M++uE; |;(| jPS uEm̋uu U;(|(+UUUЋ](9E[_^ېE+jPS +ۋUMVU^uEEs+EuE}MuÊ2&rfIuÊ2G2&rfIuÊ2G2&rfIu2GÊ2&rfIu2GÊ2GIuUm 2DrdfIu]Um 2DG2DrdfIu]Um 2DG2DrdfIu2DG]Um 2DrdfIu2DG]Um 2DGIu]ÐHVWS} {+ۊ] m-!bEe"h-!b y-!b2-!bċf‰EE b-!b"tfE beԋ}G E܋_˃d-!b7M+ރ`-!bKu"2C+<+ىM"t uCE] -!bM#ts}t bsc .!bMĹ bR sMMȃ .!b MĹ b0ۋMMك+ыU ȋ -!bMĹt bMЋMTE+ÉE}t4_EM }u[_^f[_^EPEfe԰fXE랇ۋ}MGE;|;| jPQlE];|}+}}eАSWEċ˃ }ȋuUE_[ėSWEċӃ}ȋME_[e̐SW}ȋuUEΊ'GIuKu_[ėۊEMӃU؋Mut>ES[EEhu be؋M4MEEhu b搋M4M}EEֺ}9E~6EjPWlE];|}+}}eÇ b b b b bD b8 b, bT b bx bf b b b b b''''KuÊ'gG'gG'gG'gGKuÊ'gGgG'gGgG'gGgG'gGgGKuÊ'gGgGgG'gGgGgG'gGgGgG'gGgGgGKu$ b0 b, b( b8 bG bB b= bP bh b` bX bt b b b| b b b b b b b b b b b b b b b b b b. b$ b b< bT bL bD b` b bv bk b b b b b b b b b b b b b b5 b. b' b@ bj b\ bN b| b b b b b b b bKuffffKufGfGfGfGKuÈfGfGfGfGKuÉKuÉGGGGKuÈGGGGKuÉfGfGfGfGKuÈGGGGGGGGKufGfGfGfGKuÉfGGfGGfGGfGGKuÈfGGfGGfGGfGGKufGGfGGfGGfGGKuÈGfGGfGGfGGfGKuÉGGGGKuÈfGGGfGGGfGGGfGGGKufGfGfGfGfGfGfGfGKuÈGfGGGfGGGfGGGfGGKu b b b b b# b b b0 bT bH b< bd b b bs b b b b b b b b b b- b b b@ bv bd bR b b b b b b b b b b6 b$ b bL b bv ba b b b b b b b b b0 bo bZ bE b b b b bKuËGGGGKuËffffKuËfGfGfGfGKuÈGGGGKuÈGGGGGGGGKuÈGfGfGfGfKuÈGfGGfGGfGGfGKuffffKufGfGfGfGKuffffffffKuffGffGffGffGKuÈfGfGfGfGKuÈfGGfGGfGGfGGKuÈfGffGffGffGfKuÈfGfGfGfGfGfGfGfGKuÐVWSuffffffffTfffff[_^%0!b%0!b%0!b%0!b%0!b%0!b%0!b%0!b%0!b%0!b%0!b%0!b%0!b%1!b%1!b%1!b% 1!b%1!b%1!b%1!b%1!b% 1!b%0!b%0!b%0!b%$1!b%(1!b%,1!b%01!b%41!b256 Color Cirrus Logic VGA BLT Engine Display Driver Library,System MS Sans Serif Courier], 44s],Djs],r],<(08 ^]IZCLBLT256.exeDrvDisableDriverDrvEnableDriverM+fo"D Z<Îqx5S_t90ς}VHc.'j A?rYP{6(ךeNG l!`-KB$ۖiw:\U3~2T];vh%CJ,Ӟa ߒm FOd)7zQXs>@ k&/bIW|18NJu^R4ˆyp=[E#ng*L    @@@@@@@@                $ 62&"40 - )?; /+=9%!73'#51, (>: .*<80^ bp` b` b` bpb bb b)c b R bq b@4 bW bPW b/ b0 b@} bd b O b{ bm b0d bvga256P Y m PUZ_@  @B$$B````8||88lT8E<4C,$B8(80 UUUU @ @@ @ B$$B$BB$````````>>>>6c*c6*<,<,4C$B8B$AA  @@UUUUUUUUp b b bY b b b b b b bX b b b b b b b b b bl b bl b b b bD b b b, b b, b b0 b b0 b b b b b b b b bL b b b bT b, b b, b\ b0 b b0 b b b b b b b b b b b b bx bD b bD b b@ b b@ bȣ bԤ b bԤ bP bԤ b bԤ b b@ bL b@ b0 b b0 b b bt b0 b b¦ b bv bc bP b< b, b` b b bt b b b bЦ b b bS b+ b bܨ b b b bl bP b( bD b b bا b b  𭺀 bз bܷ b b b b b b bx bx b b( b( b| b@ b bܺ b  P b b} b( b b b b b, b< bL b\ bl b| b b b b b b b b b b b b b$ bD bT bt b b b b b4 bD bd b b b b b b$ bD bT b b b b b b4 bD bd b b b b$.!bH.!bl.!b.!b<0N10P010<1\1l1z111111122*2<2L2\2p2222222223$343N3l3<1\1l1z111111122*2<2L2\2p2222222223$343N3l3CDeviceIoControlKERNEL32.dllGetLastError9LocalAlloc=LocalFreeBRUSHOBJ_pvAllocRbrushWINSRV.dllBRUSHOBJ_pvGetRbrushCLIPOBJ_bEnumCLIPOBJ_cEnumStartDDAOBJ_bEnum EngAssociateSurface EngBitBltEngCopyBitsEngCreateBitmapEngCreateClipEngCreateDDAEngCreatePaletteEngCreateSurfaceEngDeleteClipEngDeleteDDAEngDeletePaletteEngDeleteSurfaceEngLockSurface%EngStretchBlt(EngTextOut)EngUnlockSurface9PALOBJ_cGetColors;PATHOBJ_bEnum<PATHOBJ_bEnumClipLinesAPATHOBJ_vEnumStartClipLinesJXLATEOBJ_piVector],H X x(], @Xp   0 H `],"x 8Ph(@Xp0H`x],  8Ph],],  ( @ X p        0 ],H ` x   ], ],  ],  ],  ],  ],  ], ( ], 8 ], H ], X ], h ], x ],  ],  ],  ],  ],  ],  ],  ],  ],  ],  ], ( ], 8 ], H ], X ], h ], x ],  ],  ],  ],  ],  ],  ],  ],  ],  ],  ], ( ], 8 ], H ], X ], h ], x ],  ],  ],  ],  ],  ],  ],  ],  ], ], ], (], 8], H], X], h], x], ], ], ], ], ], ], ], ], ], ], (], 8], H], X], h], x], ], ], ], ], ], O48Q4R4S4U4XV4W4X40Z4x[4\4^4P_444X4$4tTț\4<4t4 4Ȇ@ȋ@H@@@@p44@4ؑ4|||Xhxhl|llTllLh`c0dgj0knq0s(vy0@zX}0|($QXlR\Z]d[STDVW`<_g0n0u0(}0L( @Cfv~~|xp`@??|?8?? @4( @ Xxp` X  @4( @x#s?? @4( @ |<|?9 @4( @?? @4 ( @???? @4( @ @4( @?? @4( @????????????? @4 ( @ @4 ( @?xyxxxx??xxxxxy? @4 ( @ C  D @A@B"@DB@H@1@"1C ?> ?<?8??( @DDDDDDDDDD@DDDDDDDD@DDODDDOD@DDDODDDDDDDDDDD@DDDDDDDDD@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@DDDDDDDDDDD@DDDDDDDDDDD@DDDDDDDDDDD@DDDDDDDDDDD@DDDDDDDDDDD@DDDDDDDDDDD@DDDDODDDDD@DDDDODDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@DDDDODDDD@DDDDDDDDDDDDDD@DDDDDDDDODD@DDDD@DDDD??  0 (@@@0(L~<σπππÁππÀπ?(L??(L??(<~>>~(<(<~~~~~>~(<~>~~~~(2;h(wwwwwwwwwewwwwwwwwxewexevfqqD@p$nprpp "z* vtxpp(eeeefD@&L"* wwwwwwwwp(wwwwwwwwwewwwwwwwwxewexevfqqD@pnprpp"z* vtxpp(eeeefD@$L * wwwwwwwwp(wwwwwwwwwewwwwwwwwxewexevfqqD@pnprpp"z* vtxpp(eeeefD@$L * wwwwwwwwp(ewwwwwwwewwwwwwwewffwwAD@w$Nww2ww w* w&ww (eeeffAD@$l2 * & wwwwwww(ewwwwwwwewwwwwwwewffwwAD@w$Lww2ww w* w&ww (eeeffAD@$N2 * & wwwwwww(ewwwwwwwewwwwwwwewffwwAD@wlww2ww w* w&ww (eeeffAD@n2"* & wwwwwww(ewwwwwwwewwwwwwwewffwwAD@w$Lww2ww w* w&ww (eeeffAD@$N2 * & wwwwwww($hQWWwwwwwwwwwẄ(L(8||<(<||||||||( 8(8'8U_ʩU_QʩU_QʩU_QʩU_QʩU_??|q#H H H #;|q??@@SGKhMNOyNMKSG@@( (??( $( ,(ewwwwwwwewwwwwwwewffwwwAD@wwnwwwwww2wwxwww"xw* w&ww (ewwwwwwwewwwwwwwewffwwAD@ww$Nwwwwwww2wwww ww* w&ww (ewwwwwwwewwwwwwwewffwwAD@w$Nwwwwwwww2wwwww xw* w&ww (ewwwwwwwewwwwwwwewffwwAD@ww$lwwwwwww2wwxwww xw* w&ww 0@@@@@@@@@@@@@@@@@@L4VS_VERSION_INFO  ?StringFileInfo040904B0LCompanyNameMicrosoft Corporationh FileDescription256 Color VGAVGA Display Driver*FileVersion3.106 InternalNamevga256.dllp'LegalCopyrightCopyright Microsoft Corp. 1981-1993> OriginalFilenamevga256.dllv+ProductNameMicrosoft Windows NT(TM) Operating System.ProductVersion3.10DVarFileInfo$Translation  0000003"363@3L3V3 80 07PD2222 3:3N3f33333 4*4N4b44 5F55555566/757=`43r55H9L9P9T9X9\9`9d9h9l9p9t9x9|999==pH029G:d::>>K??0h8M9Y9e99999l;<==>>>>>>?7021 345n::::;;6;;;8>> >$>Z>`>d>h>l>>>>>>*?0?4?8?@>D>H>L>P>T>X>\>?L7777788888)999999 :l::::C;f;;;??? ?$??????00 0$0(01O111111111111111111222 22222 2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|2222222222222222222222222222t200 11!1/1A1W1e1n1|1444444444(5:5F5N5e5p555!7I7777777777777777899 99999 9$9(9,9094989<9@9D9H9L9P9T9X9\9`9d9h9l9p9t9x9|999999999999999999999999999999999::: ::::: :<<<<<=== ===== =$=(=,=0=4=8=<=@=D=H=L=P=T=X=\=`=d=h=l=p=t=x=|============================DB2R2b2r22222222233"323B3R3b3r33333333344 l4t4|444444444444444445::::::::::::::::;;; ;;;;; ;$;(;,;0;4;8;<;@;D;H;L;P;T;X;\;`;d;h;l;p;t;x;|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<< <<<<< <$<(<,<0<4<8<<<@>> >>>> >(>,>0>4>8><>@>D>L>P>T>X>\>`>d>h>p>t>x>|>>>>>>>>>>>>>>>>>c:\ddk\lib\i386\free\clblt256.dll` TP`0  "#0$%0&`'P((@ )0, /p @40 p7  ::<p7 0A@ pB@* DE0 H2 K0 LMpPNNO0O`R@ PWPW `XpXpYPYP[P`\p]]@ ^0^@ p````pbPbPc 0ddiPi@ j@`j0k`l0mpm o o0o q qprs@@s `t@t@yy@zz{ @}x 0 Pe .edata.filegC:\ddk\src\video\displays\clblt256\bank.c.text.file gC:\ddk\src\video\displays\clblt256\bankmgr.c.text".filegC:\ddk\src\video\displays\clblt256\bitblt.c.data .rdata@.textP(`'Y.filegC:\ddk\src\video\displays\clblt256\brush.c.textO`.file%gC:\ddk\src\video\displays\clblt256\color.c.data"P.textR@.file+gC:\ddk\src\video\displays\clblt256\cursor.c.textPW.file1gC:\ddk\src\video\displays\clblt256\debug.c.text].file9gC:\ddk\src\video\displays\clblt256\enable.c.data`$.text]7.fileAgC:\ddk\src\video\displays\clblt256\fillpath.c.data %.textd".fileIgC:\ddk\src\video\displays\clblt256\paint.c.data@%.textm.fileQgC:\ddk\src\video\displays\clblt256\palette.c.data`%P.texto .fileYgC:\ddk\src\video\displays\clblt256\pattern.c.data%.textpr.fileagC:\ddk\src\video\displays\clblt256\screen.c.rdataP(.text@s.fileggC:\ddk\src\video\displays\clblt256\stretch.c.text{.fileogC:\ddk\src\video\displays\clblt256\stroke.c.datap*.text@} .fileugC:\ddk\src\video\displays\clblt256\textout.c.text0 .file}gi386\fastline.asm.textPb.data+DGROUP+FLAT.filegi386\fasttext.asm.text  .data+pDGROUP+FLAT.filegi386\lines.asm.text@.data, DGROUP,FLAT.filegi386\scroll.asm.textз?.data,pDGROUP,FLAT.filegi386\srccopy.asm.textp b.data`-DGROUP`-FLAT.filegi386\strips.asm.textp.data`-DGROUP`-FLAT.filegi386\stretch8.asm.textV.data`-DGROUP`-FLAT.filegi386\vgablts.asm.text` .data`-d<DGROUP`-FLAT.filegi386\vgaregs.asm.textA.data.DGROUP.FLAT.rsrc$02O.idata$61.idata$61.idata$61.idata$61.idata$61.idata$61.idata$6<1.idata$6N1.idata$61.idata$62.idata$62.idata$6*2.idata$6<2.idata$6L2.idata$6\2.idata$6p2.idata$62.idata$62.idata$62.idata$62.idata$62.idata$62.idata$62.idata$62.idata$6\1.idata$6l1.idata$6z1.idata$63.idata$6$3.idata$643.idata$6N3.idata$6l3header= c x  ` p `  0 +P ? R h0 {   ! " # $ % & `' 8P( K( ] ) 0, / @4 p7 # : ;: S< j0A ~pB D E H K L M PN 8N YO hO R PW W .`X EX TpY cY [ `\ ] )]  ^ 0^ p` ` ` pb b c 0d d Ti gi x j `j 0k l 0m m o 0o o q q pr Cs @s `t t ,@y  y  z z { @} 0   = P (D\ _oct_07aN _oct_07bm$ XhE   \ _oct_34b :; ҏq & ? $) u>   q c d w  Ȕ^  ޕ& -Q c4<ؗ  Ji ֘   ) ʙZ ,Qtl 0=L'`h^?8@Xl@lbz(L p_Dܞ@x%-DhȠ ~Tx(,D\Tu C0@P[|ȣ8YLԤC |@PVleq2|K<F/L;o-'L¦Цe=,<PQ`ctvy{ا wDleܨRd(?+%P,S_x8xŪϪO$d,pu ȬԬcL"9T$``o~+ɮ| h / @oW!-ذ;tpմF|A@$oܺx(ܾ^dpF,&`e  1T8; P \ VhkH 8' z ( p  Y  m Y 1 X E    #(x"/2! I! Y"O#i"P Z !q_done"%"_!!*#"w! "#!-!M"Mp#m#m"{#!# "Y#7"!?"Cz `9&$$ %TT%m'$%8'PK$t'$U't%&&<9%`%w& '& &@:'|$%'$c$0$d$%M&&@&'6$x$L$$%%0b&o @P`pe}Qwg } W0@P?` pK U* C  |.8Z P_bTest _gajRop ,!"#P#P$`$_gadrvfnh$! %_gaMix@%`%P %@ ( p* x* *~,&`-%d-#h-'y-i%-%-&-+0*0*(0\(0)0*0%*0++0'0'0(0((0E(0v(0(0(0(0(0(0)0 )1;)1R)1h) 1)1)1)1)1) 18*$1T*(1k*,1*01*41*81end^+CLBLT256_EXPORTS_DrvDisableDriver@0_DrvEnableDriver@12_bInitializeNonPlanar@8_LocalAlloc@8_bInitializePlanar@8_bEnableBanking@4_DeviceIoControl@32_GetLastError@0_vDisableBanking@4_LocalFree@4_vBankErrorTrap@12_vBank1Window@12_vBank1Window2RW@12_vBank2Window@16_vBank2Window1RW@16_vBank2Window2RW@16_vPlanar1Window@12_vPlanar1Window2RW@12_vPlanar2Window@16_vPlanar2Window1RW@16_vPlanar2Window2RW@16_vPlanarDouble@20_pcoBankStart@16_bBankEnum@12_vBankStartBltSrc@24_bBankEnumBltSrc@24_vBankStartBltDest@24_bBankEnumBltDest@24_jRop3ToMix_bIntersectRect@12_bIntersectTest@8_bPuntScreenToScreenCopyBits@20_EngCopyBits@24_bPuntScreenToScreenBitBlt@40_EngBitBlt@44_DrvBitBlt@44_vSrcCopy8bpp@20_CLIPOBJ_bEnum@12_CLIPOBJ_cEnumStart@20_DrvCopyBits@24_bSpecialBlits@44_wXlateSrcRop3toCLRop@8_bXlatePatRop3toCLRop@8_bScrnToScrnWithRop@24_CLScrnToScrnBlt@36_bToScrnWithRop@16_CLToScrnBlt@28_bPatternSolid@44_bPatternBrush@24_BRUSHOBJ_pvGetRbrush@4_vCLMonoPattern@36_vCLColorPattern@28_ulDownLoadBrush@20_vDownLoadBrushIntoMonoCache@12_vDownLoadBrushIntoColorCache@12_vWaitForBLT@0_DrvRealizeBrush@24_XLATEOBJ_piVector@4_BRUSHOBJ_pvAllocRbrush@8_ajConvert_aulDitherOrder_ulNibbleToDwordWithConvert_jSwapSubSpace_DrvDitherColor@16_DrvMovePointer@16_DrvSetPointerShape@40_vComputePointerRect@8_vShowCursor@4_vHideCursor@4_bSetHardwarePointerShape@16_bCopyInNewCursor@8_bInitPointer@4_DebugPrint_DrvPaint@20_DrvStretchBlt@44_DrvFillPath@28_DrvStrokePath@32_DrvTextOut@40_DrvSetPalette@20_gLastState_DrvEnablePDEV@44_vDisablePalette@4_vDisablePatterns@4_EngDeleteDDA@4_EngCreateDDA@0_EngCreateClip@0_bInitPatterns@8_bInitPaletteInfo@4_bInitPDEV@8_DrvCompletePDEV@8_DrvDisablePDEV@4_EngDeleteClip@4_EngDeleteSurface@4_EngUnlockSurface@4_DrvEnableSurface@4_bInitBrushCache@4_EngLockSurface@4_EngCreateBitmap@24_EngAssociateSurface@12_EngCreateSurface@12_bInit256ColorPalette@4_bInitSURF@8_DrvDisableSurface@4_vDisableSURF@4_DrvAssertMode@8_DrvGetModes@12_getAvailableModes@12_DrvEscape@24_clMixToFunc_SavSREnb_SavExtReg_PATHOBJ_bEnum@8_AdvanceAETEdges@4_XSortAETEdges@4_MoveNewEdges@12_ConstructGET@20_AddEdgeToGET@16_vCLScanFill@20_vCLScanSetup@16_DDAOBJ_bEnum@20_BASEPALETTE_EngDeletePalette@4_bInitDefaultPalette@4_EngCreatePalette@24_PALOBJ_cGetColors@16_gaaulPlanarPat_gaaulPat_gDevInfoFrameBuffer_vInitRegs@4_vSetWriteModes@4_vLoadFixedSolidBrush@12_vLoadMonoHatchBrush@16_EngStretchBlt@44_vStretchBlt8bpp@28_gapfnStrip_vStripStyledSet123@12_vStripStyledSet0@12_vStripSolidSet2@12_vStripSolidSet1@12_vStripSolidSet3@12_vStripSolidSet0@12_vStripStyled123@12_vStripStyled0@12_vStripSolid2@12_vStripSolid1@12_vStripSolid3@12_vStripSolid0@12_gaiLineMix_gaspAlternateStyle_bLines@36_PATHOBJ_bEnumClipLines@12_PATHOBJ_vEnumStartClipLines@16_vFastLine@16_EngTextOut@40_vFastText@44_vClearMemDword@8_vTrgBlt@24_lclFillRect@20_octant_3_octant_4_octant_5_octant_6_octant_7_flip_and_do_non_integer_horizontal_line_oct_3_done_bank_map_oct_34a_case_1_oct_1_non_integer_oct_4_done_bank_map_oct_4_non_integer_oct_7_non_integer_octants_6_7_oct_5_done_bank_map_bank_x_major_next_upper_do_non_integer_horizontal_line_next_line_oct_4_slope_one_horizontal_planar_oct_6_done_bank_map_oct_34b_case_1_oct_0_non_integer_oct_7_done_bank_map_oct_3_non_integer_oct_07a_case_1_oct_6_non_integer_oct_2_see_if_more_flip_and_do_horizontal_line_bank_y_major_next_lower_do_short_horizontal_line_oct_0_done_bank_map_oct_2_non_integer_oct_5_non_integer_oct_1_done_bank_map_oct_07b_case_1_oct_7_slope_one_oct_1_see_if_more_oct_0_slope_one_bank_y_major_next_upper_oct_2_done_bank_map_new_line_do_horizontal_line_bank_x_major_next_lower_octant_0_octant_1_octant_2_or_no_odd_bytes_loop_draw_to_temp_loop_entry2_draw_f_tb_no_to_temp_start_or_first_N_wide_rotated_no_last_or_all_N_wide_rotated_no_last_opaq_map_init_bank_mov_first_2_wide_rotated_need_last_or_all_2_wide_unrotated_or_first_3_wide_rotated_no_last_or_all_3_wide_rotated_no_last_opaq_edge_loop_xpar_low_nibble_0_xpar_low_nibble_1_xpar_low_nibble_2_xpar_low_nibble_3_xpar_low_nibble_4_or_first_2_wide_rotated_no_last_xpar_low_nibble_5_or_all_2_wide_rotated_no_last_xpar_low_nibble_6_xpar_low_nibble_7_xpar_low_nibble_8_or_all_1_wide_rotated_need_last_xpar_low_nibble_9_or_first_1_wide_rotated_loop_or_odd_width_xpar_low_nibble_A_xpar_low_nibble_B_xpar_low_nibble_C_xpar_low_nibble_D_xpar_low_nibble_E_xpar_low_nibble_F_draw_f_ntb_o_to_temp_start_mov_first_3_wide_unrotated_opaq_whole_quadpixels_or_first_2_wide_rotated_loop_three_odd_bytes_or_first_4_wide_rotated_no_last_or_all_4_wide_rotated_no_last_opaq_draw_left_edge_only_entry_mov_first_1_wide_unrotated_loop_or_all_2_wide_unrotated_loop_s8wao_byte_1_mov_first_N_wide_unrotated_s8wao_byte_2_s8wao_byte_3_opaq_do_next_bank_opaq_check_more_banks_opaq_draw_right_edge_only_entry_s8wao_byte_4_s8wao_byte_5_or_first_4_wide_rotated_need_last_opaq_left_edge_solid_s8wao_byte_6_s8wao_byte_7_draw_f_tb_no_to_temp_loop_xpar_map_init_bank_s8wao_byte_8_or_two_odd_bytes_or_all_2_wide_rotated_need_loop_or_one_odd_bytes_loop_or_three_odd_bytes_or_first_1_wide_rotated_need_last_or_all_4_wide_rotated_need_last_or_all_3_wide_unrotated_mov_first_4_wide_rotated_need_last_opaq_draw_right_edge_only_general_handler_draw_to_temp_start_entry2_mov_first_1_wide_rotated_need_last_or_all_N_wide_unrotated_or_all_3_wide_rotated_need_last_odd_width_opaq_scan_loop_lt_draw_nf_tb_no_to_temp_start_opaq_set_edge_vector_or_three_odd_bytes_loop_or_first_2_wide_rotated_need_loop_mov_first_4_wide_unrotated_opaque_text_draw_to_temp_start_entry_opaq_draw_both_edges_draw_nf_tb_no_to_temp_loop_do_next_xpar_bank_or_two_odd_bytes_loop_mov_first_2_wide_rotated_need_loop_mov_first_2_wide_unrotated_loop_draw_to_temp_loop_entry_mov_first_1_wide_rotated_no_last_mov_first_1_wide_unrotated_or_first_3_wide_rotated_need_last_or_all_4_wide_unrotated_special_8_wide_aligned_opaque_opaq_scan_loop_draw_nf_ntb_o_to_temp_start_mov_first_N_wide_rotated_no_last_mov_first_3_wide_rotated_need_last_xpar_high_nibble_0_draw_f_ntb_o_to_temp_loop_xpar_high_nibble_1_opaq_scan_loop_l_xpar_high_nibble_2_opaq_draw_left_edge_only_xpar_high_nibble_3_xpar_high_nibble_4_mov_first_3_wide_rotated_no_last_xpar_high_nibble_5_xpar_scan_done_xpar_high_nibble_6_xpar_high_nibble_7_xpar_high_nibble_8_xpar_high_nibble_9_or_all_1_wide_unrotated_opaq_scan_loop_t_s8wa0_init_bank_mapped_opaq_edge_entry_1_or_first_N_wide_rotated_need_last_xpar_high_nibble_A_opaq_edge_entry_2_mov_first_2_wide_rotated_no_last_opaq_bank_loop_or_all_2_wide_rotated_need_last_xpar_high_nibble_B_opaq_edge_entry_3_or_all_2_wide_rotated_loop_xpar_high_nibble_C_opaq_edge_entry_4_xpar_high_nibble_D_s8wao_map_init_bank_xpar_high_nibble_E_xpar_high_nibble_F_xpar_scan_loop_draw_to_screen_or_all_N_wide_rotated_need_last_mov_first_N_wide_rotated_need_last_mov_first_4_wide_rotated_no_last_mov_first_1_wide_rotated_loop_mov_first_2_wide_unrotated_s8wao_byte_loop_or_first_1_wide_rotated_no_last_xpar_bank_loop_or_all_1_wide_rotated_no_last_draw_nf_ntb_o_to_temp_loop_or_all_1_wide_unrotated_loop_xpar_init_bank_mapped_two_odd_bytes_mov_first_2_wide_rotated_loop_opaq_init_bank_mapped_or_first_2_wide_rotated_need_last_RtoL_check_slope_one_line_runs_right_to_left_do_some_styling_line_runs_left_to_right_bank_y_major_gaflRoundTable_the_main_loop_bank_setup_do_some_clipping_simple_clipping_LtoR_check_slope_one_continue_complex_clipping_dda_loop_left_to_right_top_to_bottom_left_to_right_bottom_to_top_right_to_left_top_to_bottom_copy_left_block_right_to_left_bottom_to_top_top_to_bottom_1RW_copy_right_block_top_to_bottom_2RW_bottom_to_top_1RW_bottom_to_top_2RW_vPlanarCopyBits@12_copy_middle_block_copy_wide_w_22_loop_src8_done_copy_wide_w_02_loop_src8_one_dword_copy_wide_w_23_loop_copy_wide_w_30_loop_copy_wide_w_03_loop_copy_wide_w_10_loop_copy_wide_w_31_loop_copy_wide_w_11_loop_copy_wide_w_32_loop_copy_thin_t_1_loop_copy_wide_w_12_loop_copy_wide_w_33_loop_copy_thin_t_2_loop_copy_wide_w_13_loop_copy_wide_w_20_loop_copy_wide_w_00_loop_copy_thin_t_3_loop_copy_wide_w_21_loop_copy_wide_w_01_loop_shrink_xlat_8bpp_l_t_init_bank_mapped_x_shrink_set_dda_done_x_shrink_set_dda_max_bank_loop_shrink_noxlat_8bpp_nl_nt_x_shrink_set_dda_loop_x_shrink_set_dda_min_shrink_block_8bpp_loop_shrink_noxlat_8bpp_l_nt_pixel_loop_shrink_xlat_8bpp_l_nt_shrink_noxlat_8bpp_nl_t_shrink_noxlat_8bpp_l_t_pixel_loop_shrink_xlat_8bpp_narrow_shrink_xlat_8bpp_narrow_loop_shrink_8bpp_loop_shrink_xlat_8bpp_nl_t_pixel_loop_check_y_shrink_map_init_bank_x_shrink_shrink_noxlat_8bpp_l_t_shrink_xlat_8bpp_nl_nt_shrink_noxlat_8bpp_l_nt_do_next_bank_shrink_noxlat_8bpp_nl_t_pixel_loop_shrink_xlat_8bpp_l_t_pixel_loop_DoneFailed_shrink_noxlat_8bpp_nl_nt_pixel_loop_y_shrink_shrink_xlat_8bpp_nl_t_shrink_noxlat_8bpp_narrow_pixel_loop_shrink_xlat_8bpp_nl_nt_pixel_loop_shrink_xlat_8bpp_l_nt_pixel_loop_shrink_noxlat_8bpp_narrow_jForceOffTable_draw_wide_w_01_loop_draw_8_wide_w_mod3_3_loop_draw_wide_w_22_loop_draw_3_wide_w_odd_loop_draw_wide_w_02_loop_draw_wide_w_23_loop_draw_wide_w_30_loop_draw_5_wide_w_even_loop_draw_1_wide_rw_loop_draw_wide_w_03_loop_draw_wide_w_10_loop_draw_2_wide_rw_loop_draw_3_wide_rw_loop_draw_wide_w_31_loop_draw_7_wide_w_mod3_0_loop_draw_4_wide_rw_loop_jNotTable_draw_6_wide_w_mod3_0_loop_draw_wide_w_11_loop_jRightMask_draw_wide_w_32_loop_jALUFuncTable_draw_7_wide_w_mod3_1_loop_draw_2_wide_w_loop_draw_8_wide_w_mod3_0_loop_draw_6_wide_w_mod3_1_loop_do_both_edge_bytes_draw_wide_w_12_loop_draw_wide_w_33_loop_draw_7_wide_w_mod3_2_loop_jInvertDest_draw_8_wide_w_mod3_1_loop_draw_6_wide_w_mod3_2_loop_draw_wide_w_13_loop_draw_wide_w_20_loop_jLeftMask_draw_7_wide_w_mod3_3_loop_draw_wide_w_00_loop_draw_8_wide_w_mod3_2_loop_draw_5_wide_w_odd_loop_draw_1_wide_w_loop_jForceOnTable_draw_wide_w_21_loop_draw_3_wide_w_even_loop_draw_4_wide_w_loop__imp__BRUSHOBJ_pvAllocRbrush@8__imp__BRUSHOBJ_pvGetRbrush@4__imp__CLIPOBJ_bEnum@12__imp__CLIPOBJ_cEnumStart@20__imp__DDAOBJ_bEnum@20__imp__DeviceIoControl@32__imp__EngAssociateSurface@12__imp__EngBitBlt@44__imp__EngCopyBits@24__imp__EngCreateBitmap@24__imp__EngCreateClip@0__imp__EngCreateDDA@0__imp__EngCreatePalette@24__imp__EngCreateSurface@12__imp__EngDeleteClip@4__imp__EngDeleteDDA@4__imp__EngDeletePalette@4__imp__EngDeleteSurface@4__imp__EngLockSurface@4__imp__EngStretchBlt@44__imp__EngTextOut@40__imp__EngUnlockSurface@4__imp__GetLastError@0__imp__LocalAlloc@8__imp__LocalFree@4__imp__PALOBJ_cGetColors@16__imp__PATHOBJ_bEnum@8__imp__PATHOBJ_bEnumClipLines@12__imp__PATHOBJ_vEnumStartClipLines@16__imp__XLATEOBJ_piVector@4WINSRV_IMPORT_DESCRIPTORNULL_IMPORT_DESCRIPTORWINSRV__imp__NULLKERNEL32_IMPORT_DESCRIPTORKERNEL32__imp__NULL__tls_used__load_config_usedMZ@ !L!This program cannot be run in DOS mode. $PEL 0,4o *0h@ bg`e0PT.text `_TEXT `.bss@.rdataP4@@.edata`6@@.datap@8@.idatax@.rsrcf|@B.reloc0*@B.debug` @BD$@x8t_@p@`@P@l@\@L@h@X@H@d@T@DjjPW3M };W^;WQ;WD;W7;W*;W;W;W@_SWV}u ]ffffffffffffffff^_[ SWV^_[ SWV^_[ ȬVWS} u3+ۊ] +!bE3!bE!bEҬ!bE!b"t fe؋UJM Xvpe S KGFGG FGGF GGFG G(FG$G,FG0G8FG4G<]}U" 2ˆGF" 2ˆGG F" 2ˆGG F" 2ˆGG F" 2ˆGG F" 2ˆGG F" 2ˆGGF" 2ˆGGl}+ẺEċG E܋_˃!b7M+ރ!bKu"2C+<+ىM"t uCE] y!bM#}t' br  bEfۋDz!bEȉ]U s#]ċMM̃ Xz!b Mȹ b/ېMMك+ыU ȋ y!bMȹ bMԋMAE+ÉEEE}u!p bjjuu uЊeغf.EM fff[_^}MGE;AH|;AP| jPQE];XP|XP}+}}uNL+#ӉUE+Ey ؃؃X‰EeԇSW}̉]uuWfMEIЃ+W y!b$y!b+W y!bۊf'+}f'+}f'+}f'+}f'+}f'+}f'+}&' <$X_ fU+UURUȋ˃ u$W_}Mt]K]XE_[eАSW}̋EȉTE+EEĉE_[eЍ bTEEE tEfSW_[EEf}}f}GP9E~cEjPWE];XP|XP}+}}uNL+#ӉUE+Ey ؃؃X‰EeÉ]uuufT˃ &WVQSuU[Y^_fWVQSuU[Y^_f WVQSuU[Y^_f0WuU_}MtEHE؋uFudEf b b  b b b: b0 b& bH bf b\ bR bt b b b bffffKuËfGfGfGfGKuÈ'Gf'Gf'Gf'GfKuÈ'GfG'GfG'GfG'GfGKuì b b b b b b b b b b b b b b b b  b$ b b b0 bH b@ b8 bT bo bf b] b| b b b b b b b b b b b b b; b. b! bL by bj b[ b b b b b b b b b bG b6 b% b\ b b bo bKuÈ''''KuffffKuÈ'G'G'G'GKufGfGfGfGKuÈ'fG'fG'fG'fGKuffGffGffGffGKuÈ'fGG'fGG'fGG'fGGKuffGGffGGffGGffGGKuÈ'fGfG'fGfG'fGfG'fGfGKuffGfGffGfGffGfGffGfGKuÈ'fGfGG'fGfGG'fGfGG'fGfGGKuffGfGGffGfGGffGfGGffGfGGKuÈ'fGfGfG'fGfGfG'fGfGfG'fGfGfGKuffGfGfGffGfGfGffGfGfGffGfGfGKuÈ'fGfGfGG'fGfGfGG'fGfGfGG'fGfGfGGKu b b b b b< b0 b$ bL b bp b^ b b b b b b  b b b''''KuÊ'Gg'Gg'Gg'GgKuÊ'GgGg'GgGg'GgGg'GgGgKuÊ'GgGgGg'GgGgGg'GgGgGg'GgGgGgKuËΊ'GIuΊ'GIuΊ'GIuΊ'GIuKu?VWSEE$E̋MAEЋE;AH|;AP| jPQE]܋]]؋];XP|XP+]]S'[)]$t]}GPEjPW빐[_^,E] EЋE܋E H+@EEm(E3EEE8Eu ] UE,HH!U؃]u썅0EE[! bENEN3E@EECU]uS" b}0! bE3ɍ"#+񊉘 b#" b33# b+MmuE3##+#׈UE@EMu0}IuE! bz!bufM󤍻Ār獽8z!bM3؃P bf E0 b⊆B؃ P bf E0 b⊆؃ P bf E0 b⬋؃ P bf E0 b«IuM8}]03e謋Iu    Iu[\ \ \ \ \ \ \ \êIuM}]Kuuu}؊U  '2"2ĪMU  '2"2ĪEE܋E(EMÐVWD$HD$u+t$>Pu_^+_^=PuID$jPD$ t$$PVPVh$#APx u +_^|$$_^_^I0VWSu^(]؋CEЋ~ GEԋG H;CH|;CP| jPSCH9E|EԉGfffu~ EFEG HEFEF EFE܋]v;uef }ME]};_@;_ s͋;s];_v_;v-}]f t fÆG t ff {fpwfM)Ee)ELċME]};_;_ s;Oj];_;Es +E3;_vË_+ÉE+ً}˵A]uffF:uE uhE)EMEEfffff}NNww C^ EO]؋u)CH;E:HjPS~ fffff}NNww C^ EO[_^@VWSu^(]ȋCE~ GEċG H;CH|;CP| jPSCH9E|EĉGfffu~ EFEG HEFEF EҋFE̋]v;uvf PME]};_Q;_ s͋;s];_v_;v:uH2}]f t fÆG t ff mfb+s։U+K}ً˃"ŋ"Ջu#Ë#AIĆ։}U؋]Uf tfÆG tfÆGu f}E2}E؊므fM)Ee)EuċME]};_;_ ;O];;Es +E3;_vË_+ÉE+ً}]׵A]UFUEױ2ff FUU܀::MuˋE uiE)EMEEfffff}NNww C^ EO]ȋu)CH;E;HjPS~ fffff}NNww C^ EO[_^+Kً˃u"2CK::::Ð`VWS}u FOMUĉỦUUUME}UE$tFJkF__;| ы ۋ__;~ ~I+щ}܉UF N+EE$t_[_ +ˉM̋ȃEЉM3ۊ9 b]3]$m  E<u E0Eea`u h, b E+ bauEl+ bE7 bE9 bJu$E9 bN;uE9 beېME$^w6G t^؉]+ً+ЋU$,؊lM}܃w6] [+E9 bE9 bD}܃Mu[EEw6OۋM}܃}܋w6^]ې؃E*+t0"}tM]MԈeȋFEvuE$t]3ۇ]uEe*]U tEuE2*JuUh, b$T9 bB}UU)U]+ڋU؉Ul9 b3EEm tuEe**u]Mt }e[_^ ېEt w6VUEẺEEJu&T9 bEw6vuWU_MuBۋl9 bEBU)U]+ڇۃw6vuW}EEE؉EU_MuِÇېm]ԋ}EЋU$9 b"Ŋ&""Ŋ&""Ŋ&""Ŋ&"KuÇm]ԋ}EЋU$: b"Ŋ&""Ŋ&" "Ŋ&""Ŋ&" KuÇۈm]ԋ}EUm$9 bff"ff"Պff"ff"Պff"ff"Պff"ff"ՊKu]EÇm]ԋ}EUm$<: bff"ff"Պff"ff"Պ ff"ff"Պff"ff"Պ Ku]EÇE8 bQ]ԋM}UE$\: b t t t t t t t tKuEEYÐUM tGMuE8 b]؋}Uې"t}Ku*UEÇېE8 bUEЋU}]|: bPeԋmÊ" t" Bt" Bt" Bt" t" Bt" Bt" Btl]EÇېE8 bQEЊmԋ}U]$: bff tff tff tff tff tff tff tff txEEYËUff tFGJuuMuE8 b]؋}Uېff"t}KuEEÐE8 bQ]؋}MUmB tKu]EEYÇېfۋM& tf'FGuMuÇېE8 b]؋}fBۊ"tu}Ku*UEÐE8 bE؉E]]ȋ}fB" tu}CMuEÇېE8 b]؋}Bff tu}KuEEÇېf]ۋ]ff tf'FGKuu}Mu܀]ÐE8 b]؋}Bff"tu}KuEEÇېE8 bQEЋ]ԋM}U$: bKuEEYÐUMMuÐUEЋU}]: bPeԋmÊ" " B" B" B" " B" B" Bu]EÇېE8 bUEЋ]ԋ}Um$: bffffffffffffffffKu]EEÐUffFJuuMuÇE8 bېtEÇې" t! P]؇ۊu}KuXu}Ԁt]؇ېІu}Kuې*UEÇE8 bgېtEÇې#" t! P]؇ffu}KuXu}Ԁt]؇ېffІu}Ku퐰EEÇE8 b2} y /2} u w }tÆu" t- P]؋UUȊ" u}BKuXu}fԀt)]؋UUȐ" Іu}BKuf۰*UEÇۋ}ffffe]f2԰ffÇۋ} G+ڃ+uÐfffefffff}ffe2ef԰fh/ b1 b2 b2 b3 b4 b3 b4 bD0 b7 b2 b7 bX6 b7 bX6 b7 b- b. b- b. b- b. b- b. b- b. b- b. b- b. b- b. bh/ b1 b2 b2 b3 b4 b3 b4 b0 b1 bh2 bP3 b\5 b5 b\5 b5 bt- bT. bt- bT. bp- bP. bp- bP. bt- bT. bt- bT. bp- bP. bp/ b 1 b 2 b2 b3 b4 b3 b4 bL0 b7 b2 b7 b 4 b7 b 4 b7 bt- bT. bt- bT. bp- bP. bp- bP. b- b. b- b. b- b. b0 b1 bp2 bX3 bp5 b5 bp5 b5 bL0 b7 b2 b7 b6 b7 b6 bp/ b 1 b 2 b2 b3 b4 b/ b1 b@2 b3 b3 b@5 bt- bT. bt- bT. bp- bP. b0 b1 bp2 bX3 b|5 b5 b|5 b5 b0 b1 bp2 bX3 b|5 b5 b- b- b- b- b- b- b- b- bh. b. b. b. b. b. b. br. b- b:. b2. b'. b. b. b. b- b. bJ/ b@/ b1/ b'/ b/ b / b. b/ b/ b/ b/ b/ b/ b/ b/ bh0 b0 b0 b0 b0 b0 b0 bx0 b$1 b1 b1 bt1 bd1 bT1 bD1 b41 b3 b3 b3 b3 b3 b3 b3 b3 b(4 b4 b4 bt4 bf4 bT4 bE4 b64 b4 b(5 b5 b5 b5 b4 b4 b4 bfffffffffffffÐ%İ!b%Ȱ!b%̰!b%а!b%԰!b%!b%ذ!b%ܰ!b%!b%!b%!b%!b%!b%!b%!b%!b%!b%!b%!b%!b%!b%!b%!b% !b%!b%!bSVWU$$A,titdt_$P$$P$VP$$P$V$WP$P$QPS d$$$9ul$t_$P$$P$VP$$P$V$WP$P$QP d$$3$tg$P$$P$VP$$P$V$WP$$P$QPT $$u D$$@D${  $%s!bD$G$6J b$t)D$D3D$ RdFD$ unV2D$ u`$P$P$VP$$P$V$WP$$P$QP4D$D$@ bfx@tD$@ b >D$xE0$$D$9$$N9H|9| D$<*D$< $D$<9}D$<3D$ ttF#$3D$tbfDŽ$$ $$D$|$$  GGD$ D$0D$ @D$,F ufVD$ u\$P$P$VP$$PV$WP$$P$QPd$D$D$P, =$P$P$VP$$PV$WP$$P$QPe)D$ 3D$ tu]_^[,I$$PD$pVP# tʀ|$$tL$l$+L$p+NHL$lAFAFA F wj2jj$jPuD$8|$Pl$L$|$8t$P$h$P-D$8D$4$$D$D$D$VPP^D$@9CH9CP jPSCDPD$PD$dP0|$$t$8+>|$\h+nl$`$PD$$PD$8PD$8PD$(P$,P$+D$xP$+D$xPUL$LW$QP$PS虹L$CP9A ~ YD$D$4D$49$|$8!$F9CH9CP jPS|$Pl$LCDPD$pVP;|$$t$8+>|$lh+nl$p$PD$$PD$8PD$8PD$(P$,P$+$P$+$PUL$LW$QP$PS螸CP9F [jPSW> b> b> b> b> b> b> b> b> b> bG b> b> b> b> b> bSVWUD$L$+|$@9$$t$$@%D$@$0$,D$4D$(t|$@u$,c|$@X$xG$(9@D$h$<($ D$d$HD$d+$L$p@D$x$p+t$x9rD$lVj D$lD$hQQɃD$h ȋ$x@ ȉL$|$,$4+ɋD$$,@;D$x}>$$,$$,@$$@$D$d$,9}Eы$@$,AD$d$@$,P$9P}C@$,@A$@$@$,x $9x}?$,A$,@$@ t:|$@D$Pu$j PQSd$$SP$0QP $@qq u VUJy|$@t $$P$PD$ PD$4P$<PD$xP$4S@P$P$@P$DP$H@Pf|$l* UT $<%\!bD$`$,uD$(jPD$hP{D$,D$L $4D$$xsu@ tL$LuL$L $@ tD$$D$XD$D$PD$ P$$PD$X|$D$D$L @tD$@uL$L@$xs>y 1D$0) bD$L` D$L$,+ɋP$9P~>$,$$$,@$$@$$P $,9}Iы$@$,A$@ $@$,P$9P}C@$,@A$@$@$,p $9p}?$,A$,@$@ t6|$@D$Pu$j PQS艢$SP$0QPL$LD$(jPD$hPyD$,$@D$P D$pP 9L$t$Pl$t(l$TA9L$w^$D$0 b@ D$\tDD$pH 9D$v/T$\T$Td$t$TT$tT$L*@;D$rD$LD$@ t^t qe$$P$0P$P$9$~5$9$}%$$,D$P$0j PjSL$LD$(jPD$hPwD$,D$<|$"DŽ$$+T$$T$L$@BD$8oBD$D$DD$8T$$hD$Dl T$B$D$8@$$B $D$8@ $;Ή$R$$$9P($9P$9P |$9P j2jj$0jPD$|$t$P$(h$PD$+9$va$$,VP$P_$9$~'$9$}D$P$j PjSiE9$w|$k8BT$T$<T$$B@B$$@$$@$;t{>uD$$D$3s4fG@GBGLGFGHGBGG|$tVdD$ P:]_^[+]_^[d$tSVWU+9$t$@% ttC$P$j $QP$Pwd$$+9$t-\$ $$UQS! tG$Nu )$PD$$j P$WP胄d$$$DD$j2jj$jP\D$`P$h$P3D$t$dD$`HD$|$`D$9F$F 9A}f\$ D$$M$tVWS8 tD$M u|$t!$PD$$j PD$P$P蕃D$L$ k|$-]_^[tSVWD$@t4X L$T$t$$%AOu_^[L$T$t$:9փHu_^[$ SVWU$$ tf{@t b b |$$ 0$ @% t+$ xuY u/$ P$$ P$ PjVfG$$( P$$ SP$$ PjVj2jj$$ jP/D$P$ h$P u($ P$$ PD$$PD$$PV$$( P$$ SPD$(PD$(PV u.!b u+j2jj$$ jP$<P$ hPoD$+9$<v4$@$( P$ SPE$, PWV (;$<rӃ|$u!bP]_^[ $$SVWU++\$$:upOw`$Js bt$t L$ QPSD$$UPD$(P]_^[F u V u tʀxEu¸]_^[t$%3Ɋ!b3!b QL$$QVjD$(jHQjPjD$8jP]_^[Ir br br br br br br br br br br br br br br br b$ SVW\$0CGt_^[ {Et +_^[ t.|$ jD$jPS -KG_^[ +_^[ xSVWU$D$$ u*@ t +]_^[x$~w]_^[xD$(- +;s+]_^[xd$$8$t+]_^[xd$$$$x b+]_^[x$8u{H uPqD$ u+]_^[xIL$D$D$ bfx@tD$  b$ t΋_S9W~;ϋ?;u u_^[SVWt$L$|$Z9X} 9X|ʋ9z t_^[ ISVWUt$$\$06F |$(l$4{t'C@L$D$C@L$D$CKC HKt3CPD$PWV]C@L$D$CCHK utD$PD$PWV$ tD$,SP-\]_^[SVWUL$4T$0AZ+x2)L$,A$ߋ*Ӌ1L$,A$CD$A +ЉQ ]_^[I+xA AݍA A A؉A;|"řAy u؉AřQAAAiyt"AiQՉQx+׉Qq CuFYy u +q N)qayt$(P ;T$|u 9X}A(]_^[$,SVWUD$jP$LhP!bP聿 $P tf~@D$ buD$ b+ɍ$\$T$D$;})d$C+;~W/jo GAB;T$| tR u($LP$LP$P$LQPv&$TP$LVP$P$PQPT$(D$jPhj!bP覾 G]_^[,$pSVWU$$BD$4BBD$8$$@D$@$+D$ FD$$FD$(B+GFD$,D$ D$PD$ D$DA|$,OljD$0L$Xz,D$`# btD$% b$@% tt%t<+t$0dž bdžF bh@j@L u +]_^[Pdž@dždždž+wȋ+wD$G+wD$D$ Pj@عF| u +]_^[P+wD$\$ۋD$V|l$NJ (jJ L$JOL$D$ (9L$ɋL$ +wF0D$ Pj@6 u+]_^[Pd$+w+ɉL$\$EVU]U MOD$9T$ӋD$$F|jjV+ҋF{T~{XT~{~ { y$+~Pt}TFGFGF G Ey$+~PtAtEAxEA4EEUU_^[]D$ PD$ PD$ P$USVW}u/M4J4E 9F~)J9FM+ҋE 9F  B9F ~EExXuuADALAPAHǁ}ًCTFCXTFCF C }A$u +F+FTt}GTFGXTFGF G }A$u +F+FETtAtEAxEA4EEUU_^[]I VWD$D$D$D$D$8D$ D$L$@+++t3Ɋw!b|$L$L$ t3w!bA t3w!bA  13w!b=L$v{@++ƍ,E t3w!bl$D$L$<]4u@+++t3w!bA t93w!bA 13w!bp +ƍ,E t3w!bl$D$L$+ t13w!bA<]@+++t3w!bA t93w!bAT$+'D$ u'9D$rT$D$)$T$ D$ 9D$(T$ vT$(D$(9D$vT$D$9D$vT$B`x!bBD$0D$4D$8D$f'f bffE.fG}BU4f ]>+]:C I;#+GRZȰ骋ˋ;+֋u:+GKRZ+ Iff+ǃfU0 5MBu:+E,E+}(EJ+fW}+[^f_Yf EQ@u6 bf ff ffffUV+׃ff« )EPUR«e* ff$f« ffffIffEF+ǃêÐVWS]**Ҋ Ԋ Ԋ Ԋ Ԋ@ Ԋ Ԋ Ԋ ԈCIu**Ҋ  Ԋ Ԋ Ԋ Ԋ Ԋ Ԋ@ Ԋ ԈCIu**Ҋ@ Ԋ Ԋ Ԋ Ԋ Ԋ Ԋ  Ԋ ԈCIu**Ҋ Ԋ Ԋ@ Ԋ Ԋ  Ԋ Ԋ Ԋ ԈCIu[_^dVWS]u }CfEЋEEĉEĉEĉEu+ɋtpz!b։UFtxz!b։UV+w#r }t}u`E#EԉELt w Ft rV+t@BUrM tV+ЋG+‰EԋM V+RB+ЋA+‰EZuu rx E+‰Et~U܉U؋N+ Iń+:rU܋O #x by tL b by u bUEF+ƒEEċEЉE̋F EFE;GH|;GP| jPWEoEȋ];_P|_P+]E++SEEEEM#wű}eۋ]Cs†Ћ†Kuuu]KtCCs†Ћ†Kuuu]CsʉЋʉKuʉuuN]Kt0CsۋʉЋʉKuʉuuűuĉuЋMuЋ}Ⱥ tuЋ}Ⱥ tuЋ}Ⱥ t5uЋ}Ⱥ tquЉ}[#}GP9E[_^ېE)MjPWMv]t% Š ܃G o#M ͈O t Š ܃G OUmy! ƒJۇۇۇۇې ‹V ܁ Š؋V ܁+ fV  ܁ Š ܃+MfOu]t Š ܃G Ot% Š ܃G o#M ͈Ou}Mۋ]t&"""" Š ܃G o#M ͈O t"""" Š ܃G OUmy#"""" ƒNۇۇۇۇۇې"""" ‹V ܁"""" Š؋V ܁""""+ fV  ܁"""" Š ܃+MfOu]t"""" Š ܃G Ot&"""" Š ܃G o#M ͈Ou}M]t&DDDD Š ܃G o#M ͈O tDDDD Š ܃G OUmyDDDD ƒJۇۇۇۋDDDD ‹V ܁DDDD Š؋V ܁DDDD+ fV  ܁DDDD Š ܃+MfOu]tDDDD Š ܃G Ot&DDDD Š ܃G o#M ͈Ou}Ml]t'∈ Š ܃G o#M ͈O t∈ Š ܃G OUmy∈ ƒJۇۇۋ∈ ‹V ܁∈ Š؋V ܁∈+ fV  ܁∈ Š ܃+MfOu]t∈ Š ܃G Ot'∈ Š ܃G o#M ͈Ou}M*ȀVWS] }u}0u}$t}4u uCEEFEċE0$~!b]s{+}}6EP b]s{+}6Er b>}^D Uw;ЀЋ^ $}!bE;ظЀЋ^]^ $~!b]E b{s+}}6>]E b{s+}6>C +EEFeE^D Uw;ЀЋ^ $`~!bE;ظЀЋ^]^ $~!bM  ]]s}}}6M  ]]s{6+}>}^D Uw;ЀЋ^ $~!bE;ظЀЋ^]^ $~!bM  ]]s}}}6M ]]s{6+}>EFeE^D Uw;ЀЋ^ $`~!bE;ظЀЋ^]^ $~!bÃ$ bېȷ b bڷ bѷ b.F/.F/.F/.F/KueÃ$ b b/ b& b b.F/.F/.F/.F/KueÃ$P b` bu bn bg bFFFFKueÃ$ b b b b bFFFFKueÃ$ظ b b b b bffgffgffgffgKueÃ$@ bP bz bl b^ bfff fff fff fff KueÃ$ b bڹ b̹ b bffffffffffffKueÃ$ b b: b, b b+&F'G+&F'G+&F'G+&F'GKueÃ$` bp b b b} b+Fff +Fff +Fff +Fff KueÃ$ b̺ b b bٺ b+Fff+Fff+Fff+FffKueÃ$ b( bI b> b3 bffffffffKueÃ$l b| b b b bff ff ff ff KueffȈgfFfȈgKueffgfFfgKueffȈgfFfȈgKueـ+fgGKueـ+ff GKueـ+fgGKueffFGKueff FGKuefGG'Kue KueKuefffGG'Kueff KueffKueKue KueEU+ЉUHU+ЉU؉EGUfFfȈ'GJuu}KueEU+ЉUHU+ЉU؉EGUfFf'GJuu}KueEU+ЉUԋEHU+ЉU؉EGUfFfȈ'GJuu}KueEHU+ЉUHU+ЉU؉EGUfFfȈ'GJu&*u}KueEHU+ЉUHU+ЉU؉EGUfFf'GJu&*u}KueEHU+ЉUHU+ЉU؉EGUfFfȈ'GJu&*u}KueUE+rr"Kuer*BFKueffKueffNOKueUE+rr+FEЋu+;CH|;CP| jPSU;SP|SP+UЋ]؋Me b4 b* b b b b b b"t F"t GF"t GF"t GF"t GF"t GF"t GF"t GIu}Jw]CP9Ef[_^0E+jPS*^ 9_ _ ]F9G~+GeEGE;}/V9WWU9~+]E;}u }4#u fF E̋F؃!bڃM!bMU+Eu b]#]t>]H b3tH bFtH b bFtHu b}+}؋}+}ԉME b+U}JUMFEЋeċ>}];KH|;KP| jQS}U;SP|SP+UЉUeuEtFGE,E(E؋]ԋUu}u ;}t!MfJueMfJueMfJueMfJueh bE(]Uċu}VWEPUMȋ$ b b b b b" " " " Iu]E,X_^UUMȋ$0 bې@ bd bX bL b" " " " Iu]h bE(]Uċ}Ou}VWEPUMȋ$ b]CP9Ef[_^0EЋeċ}jQS}EeEu{ C+;FH|;FP| jPVFP+C;ǃE}Cf;}fe,fBE(Vt']EEM MsE6h b$ bM EM bE]E }Es[6Meې bY bN bC b8 b- b" b bF#CfF#CfF#CfF#CfF#CfF#CfF#CfF#CfIuMUE I]}sM6Eh b$ bې b b b b b b b bFFFFFFFFIuW|$L$ +_%VWS}u GEFV +ЉUU^+ى]E3EE܀*E݈U+t("ĈE]MԈe܋}_CESUUE$tV+W +WE(MދE  b[_^ b bfEEu}}݊M*M|"&"tf'}uMuـu*%ـff"tf}uMuEE] thEEu}]])] u#& tf'FGKu]}u+Mu)fftfFGKu]}u+Mu݀]] tJu}*:m|&"tf'}uMu ff"tf}uMuËEEu}}݋UM*M|&"t'uMuـu#ـff"t'uMuEE] t\EEu}]])]+ uˬ tGuMu$ff t'FGKu]uMu]] t>u}*:m|&"t'uMuff"t'uMuSW]3 t$fCtE (ftft fE t fffff tffNj} /_[ fffffffffffȔVWS} u3FCtFDp+ۊ] +!bEt"!b !b2Ҭ!btp"!b !b2Ҭ!bp!b"t QYfe؋U BExvp 'GFGGFGGF G G&FfȈ'GgGfFfȈgGgGfFfȈgGgGfFfȈgGgGfF fȈgG gGf F fȈg G gGf F fȈg G gGfFfȈgGgG}+ẺEċG E܋_˃!b7M+ރ!bKu"2C+<+ىM"t uCE] !bM#}t% br  bEdx!bEȉ]U s#]ċMM̃ !b Mȹ$ b/ېMMك+ыU ȋ !bMȹ$ bMԋMAE+ÉEuFLHEFFEȋEE}u#p bjjuu uЊeغQYf/EM fff[_^}MGE;AH|;AP| jPQE];XP|XP}+}}uNL+#ӉUE+Ey ؃؃x‰EeSW}̺ fpB% tJ fufu]]MUu˃ uU+UUW_}Mt"EHEEM؋ufuU븏E_[feЇېSW}̍ blt3pԺfpff,ff_[eА blt3pԺfpfE t EfESW_[EMEf}}ff}GP9E~eEjPWE];XP|XP}+}}uNL+#ӉUE+Ey ؃؃x‰EeÇېlt3p" tE QWS[_Xl$uE搉]]Muf3EuӃL bMW_}MtEHEEMf3EÐEÉ]]Muu3EuUȋ˃ uU+UW_}Mt$EHEEM؋uu3EU뷏EÜ b b b b b b b b b b b b b; b. b! bffffKuËfGfGfGfGKuÈ'Gf'Gf'Gf'GfKuÈ'GfG'GfG'GfG'GfGKuL bX bT bP b` bl bh bd bt b b~ by b b b b b b b b b b b b b b b b b b= b2 b' bL bp bd bX b b b b b b b b b b b b b, b\ bL b< bp b b b b b b b b b5 b" b bKuÈ''''KuffffKuÈ'G'G'G'GKufGfGfGfGKuÈ'fG'fG'fG'fGKuffGffGffGffGKuÈ'fGG'fGG'fGG'fGGKuffGGffGGffGGffGGKuÈ'fGfG'fGfG'fGfG'fGfGKuffGfGffGfGffGfGffGfGKuÈ'fGfGG'fGfGG'fGfGG'fGfGGKuffGfGGffGfGGffGfGGffGfGGKuÈ'fGfGfG'fGfGfG'fGfGfG'fGfGfGKuffGfGfGffGfGfGffGfGfGffGfGfGKuÈ'fGfGfGG'fGfGfGG'fGfGfGG'fGfGfGGKu\ bn bh bb b7777Ku b b b b b b b b bN b< b* bd b b b| b b b b b''''KuÊ'gG'gG'gG'gGKuÊ'gGgG'gGgG'gGgG'gGgGKuÊ'gGgGgG'gGgGgG'gGgGgG'gGgGgGKuËΊ'GIuΊ'GIuΊ'GIuΊ'GIuKuÐHVWSMAEIAE}uu Mf]ῇ!bf!bu !bIuGE!bfE!bu MuMfUUm]]fUx!bD!b #ذSD!bpD!b 3ۭ 2SD!bp[X û 3fEi}_ K K  K NN~@ffы@3f;A +чʋã!b"!bf!b£!b&!bE.!bE+ã*!b+f2!bH PM?D!bU D!b+ߥ2 Mu]D!bX[_^f5 !b!b˾!b6˾!b* +˿!b<3 +˿!b<Í<ÇffffffffffևEu ppPXVWSMAEIMċA@EȋAEE!b=8!b54!bE ؃D!bE.<<E.]4E@!buE++uN] "(U(Eu>E+  u]MÐw+u4ff  ffffB](E(EP])È])˃]2؊E/ÆGM4E1 fMuÇ۴ffffffe. W_G]4 MW_}4e0  MÃ}4+}/:ЀЊ}1:ЀШE4$E4$ TfffffBWE/MÆ_GW}4E1MÆ_+u4f'fffE]4tIfHuÐoe.  VS[^GU4 MWVS[^_}4e0  M#Re. WVRE(f]NZ^_FGڋU4Q +ME(fUfmNf&]_Ze0 M4u>Mf]NE(JÐURSffffffff2f԰f]Z@!b+ڋY :NPRfNfJuZXHu1fHuPRfNfJuZXHufffÇUPfff2԰ff" Yt9 QVWPS x&'=@!bKuff=@!bKu[X_^YԀt4 x&'=@!bKufff=@!bKu]UPfff2԰ff" Yt< QVWPS xNffȆ'=@!bKuff=@!bKu[X_^YԀt8 xNfffȆ'=@!bKufff=@!bKu]ÐURQ#fSW"͊C=@!b_[sffff]X5@!bv+QՊM=@!bY]ÇېUffffSWͰ"3C=@!b_[sfff]fff@!b+ӋHuff=@!bÐ+ "†C"$/=@!bÊ"†C=@!bðBٓ߃<ÆV^+=@!bMuÐ[fffU.u0f $@ H}4PSQVUE4[]^Y[_E4 Uffffp]ÐDVWS} y+ۊ] k!bEe"!b !b2Ҭ!beff!b"tfeԸ f}G E܋_˃!b7M+ރ!bKu"2C+<+ىM"t uCE] !bM#tt}t bsd X!bMĹ bS sMMȃ !b MĹ b0ۋMMك+ыU ȋ !bMĹx bMЋMAE+ÉE}t;fEM ff}tf[_^ۺffefe԰f똇ې}MGE;AH|;AP| jPQE];XP|XP}+}}eАSWEċ˃ }ȋuU_[eSWEċӃ}ȋM_[ėېSW˃ b}ȋEU_[e̋Ӄ bU؋Mut>ES[Eh] beؐ4 bMEh] b搋4 bM}E֋}GP9E~0EjPWE];XP|XP}+}}eÇې b b b b b b b b b> b4 b* bL bs bf bY b b b b b    Ku  G  G  G  GKu  G G  G G  G G  G GKu  G G G  G G G  G G G  G G GKuËKu b b b b b b b b b b b b b0 b( b b< bH bD b@ bP be b^ bW bp b b~ bw b b b b b b b b b b b b b b% b b b4 bU bJ b? bd b bz bo b b b b b b b b b b b b b bD b8 b, bT b~ bp bb bKuffffKufGfGfGfGKuÈfGfGfGfGKuÉKuÉGGGGKuÈGGGGKuÉfGfGfGfGKuÈGGGGGGGGKufGfGfGfGKuÉfGGfGGfGGfGGKuÈfGGfGGfGGfGGKufGGfGGfGGfGGKuÈGfGGfGGfGGfGKuÉGGGGKuÈfGGGfGGGfGGGfGGGKufGfGfGfGfGfGfGfGKuÈGfGGGfGGGfGGGfGGKuÐ b b b b b b b b b b b b b b b b b- b& b b8 bP bH b@ b\ bw bn be b b b b b b b b b b b b b b b b b( bI b> b3 bX bs bj ba b b b b b b b b b b b b bKuËKuËffffKuËffffKuêKuêKuêffffKuêffffKuffffKuffffKuffffffffKuffffffffKuêffffKuêffffKuêffffffffKuêffffffffKu+Kڋʸ˴u"2FN::::Ð mz Mn "m"(4P+NHQIjQVY+NHU 9+NPQjQVXNP+U }aEtЍЍЅЅ;~;|+щU ;| 0+~+ډU}UMuM~UtGVt +MMAM+MƅUҍDžDžMVEt^Ft+UU3ҿBF$}+}3ҿ+ڃF ȈEMut+UU36}Ћ~(׋N}+}36~(N#F$t׋FD+|ډ+t׉EMې@} 0 Ku+;|]u>F[_^ VWSuUmNF>0 Ku;|]u>F[_^ VWSuUmVF>0E:؃u** ;r]u>F[_^ GIu!E ;r]u>F[_^ ދVWSuUmVF>0E:؃u** ;r]u>F[_^ GIu!E ;r]u>F[_^ GIttظfsGVWSuUNF>0*ۋ,F[_^ VWSuEEF^>EF~E022 2Mt3r%Iu };u|݋u>^~EF[_^ 2GIutPUB 9B$sB B UX VWSuEENF>M^f]0 u Mt'Kuȃ;u|u>FfEF[_^ UJ 9J$sJ J UԋM VWSuEEF^>EN,f~M022 2uNJer"Iu };u|׋u>^~f[_^ 2GIut VWSuF>^M]MN,f~M0u ue}Iuȃ;u|ڋu>F~f[_^ Cirrus Logic VGA NT Display Driver Library0,4a4 0,ҍa 0,` *,P`(`8`H`\`m`}``clvga16.dllDrvDisableDriverDrvEnableDriverdumpdsurfhelpD!b!bx!bD!bx!bx!bD!bD!b!b!bD!b!bx!bx!b!bD!b!bx!bx!b!bD!b!bx!b(!b!b(!b(!b!b!b!b!bx!b!b!bx!b!b!b(!bx!b(!b(!b!b(!bx!b!b!b(!b!bx!b(!b(!b!b!b(!bx!b!bp!bp!bTp!bp!b$p!b@ k&/bIW|18NJu^R4ˆyp=[E#ng*L  @ @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@   @@@@@@@@                 " 31#!20 .,?= /-><&$75'%64* (;9 + ):8 b b b b b bx bp bh b` bX bP b8 b6 b4 b2 b0 b. b, b b b b b b b b  b, bL bl b b b b b b< b\ b| b b b b b by!b z!b? b b֖ b6 bv b fj b< bvJ ba bVa bVb bvZ b F b b(6h b)F bt bvr b" bvgaj bj bj bj b b> b b> b b b b b b bb b b b~ b] b~ bj bj bj bj b b> b b> bƸ b b b b b b b b b~ b b~ bj bj bj bj b b b b b. bZ bN bZ bһ b b> b bؼ b b< b b b bӾ b b b bM b bֽ b~ b b~ bŵ b bŵ b b* b bŵ b b? $$3, 4x n0P7 N N NlSystem MS Sans Serif Courier@  @B$$B````8||88lT8E<4C,$B8(80 UUUU@@  @@BB$$$$BB````````88||||88ǃ88llTT88EE<<44CC,,$$BB88((8800 UUUUUUUU *********!"#012????????????3!b0!b@3!b3!b@3!b@3!b3!b3!b0!b0!b3!b0!b@3!b@3!b0!b3!b0!b@3!b@3!b0!b3!b4!b1!b5!b4!b5!b5!b4!b4!b0!b4!b1!b0!b4!b1!b4!b0!b5!b1!b5!b5!b0!b5!b1!b4!b0!b5!b4!b1!b5!b5!b0!b4!b5!b1!b4!b!b!bT!b!b$!b!by>!b b b b b?UU?@ b b] b b b b b b b b b b b b0 b@ bP b` bp b b b b b b b b b b b bH b b b b b b b( bX b b b b b b b8 bh b b b b b b b( bx b bl!b!b!bح!b 𭺀 <.Tİ<L\jvıڱ ,<Pdtز <L\jvıڱ ,<Pdtز CDeviceIoControlKERNEL32.dllGetLastErrorGetSystemInfo9LocalAlloc=LocalFreeBRUSHOBJ_pvAllocRbrushWINSRV.dllBRUSHOBJ_pvGetRbrushCLIPOBJ_bEnumCLIPOBJ_cEnumStartDDAOBJ_bEnum EngAssociateSurface EngBitBltEngCopyBitsEngCreateBitmapEngCreateDDAEngCreatePaletteEngCreateSurfaceEngDeleteDDAEngDeleteSurfaceEngLockSurface)EngUnlockSurface;PATHOBJ_bEnum<PATHOBJ_bEnumClipLines@PATHOBJ_vEnumStartAPATHOBJ_vEnumStartClipLinesCSTROBJ_bEnum&,H X x(&, @Xp   0 H `&,"x 8Ph(@Xp0H`x&,  8Ph&,&,  ( @ X p        0 &,H ` x   &, &,  &,  &,  &,  &,  &, ( &, 8 &, H &, X &, h &, x &,  &,  &,  &,  &,  &,  &,  &,  &,  &,  &, ( &, 8 &, H &, X &, h &, x &,  &,  &,  &,  &,  &,  &,  &,  &,  &,  &, ( &, 8 &, H &, X &, h &, x &,  &,  &,  &,  &,  &,  &,  &,  &, &, &, (&, 8&, H&, X&, h&, x&, &, &, &, &, &, &, &, &, &, &, (&, 8&, H&, X&, h&, x&, &, &, &, &, &, 484444X44404x444P444X4$4tT\4<4t4 4@ @H @@ @@p4 4@44|||Xhxhl|llTllLh000(0@X0 |!($ldD<000(0"D( @Cfv~~|xp`@??|?8?? @4( @ Xxp` X  @4( @x#s?? @4( @ |<|?9 @4( @?? @4 ( @???? @4( @ @4( @?? @4( @????????????? @4 ( @ @4 ( @?xyxxxx??xxxxxy? @4 ( @ C  D @A@B"@DB@H@1@"1C ?> ?<?8??( @DDDDDDDDDD@DDDDDDDD@DDODDDOD@DDDODDDDDDDDDDD@DDDDDDDDD@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@DDDDDDDDDDD@DDDDDDDDDDD@DDDDDDDDDDD@DDDDDDDDDDD@DDDDDDDDDDD@DDDDDDDDDDD@DDDDODDDDD@DDDDODDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@DDDDODDDD@DDDDDDDDDDDDDD@DDDDDDDDODD@DDDD@DDDD??  0 (@@@0(L~<σπππÁππÀπ?(L??(L??(<~>>~(<(<~~~~~>~(<~>~~~~(2;h(wwwwwwwwwewwwwwwwwxewexevfqqD@p$nprpp "z* vtxpp(eeeefD@&L"* wwwwwwwwp(wwwwwwwwwewwwwwwwwxewexevfqqD@pnprpp"z* vtxpp(eeeefD@$L * wwwwwwwwp(wwwwwwwwwewwwwwwwwxewexevfqqD@pnprpp"z* vtxpp(eeeefD@$L * wwwwwwwwp(ewwwwwwwewwwwwwwewffwwAD@w$Nww2ww w* w&ww (eeeffAD@$l2 * & wwwwwww(ewwwwwwwewwwwwwwewffwwAD@w$Lww2ww w* w&ww (eeeffAD@$N2 * & wwwwwww(ewwwwwwwewwwwwwwewffwwAD@wlww2ww w* w&ww (eeeffAD@n2"* & wwwwwww(ewwwwwwwewwwwwwwewffwwAD@w$Lww2ww w* w&ww (eeeffAD@$N2 * & wwwwwww($hQWWwwwwwwwwwẄ(L(8||<(<||||||||( 8(8'8U_ʩU_QʩU_QʩU_QʩU_QʩU_??|q#H H H #;|q??@@SGKhMNOyNMKSG@@( (??( $( ,(ewwwwwwwewwwwwwwewffwwwAD@wwnwwwwww2wwxwww"xw* w&ww (ewwwwwwwewwwwwwwewffwwAD@ww$Nwwwwwww2wwww ww* w&ww (ewwwwwwwewwwwwwwewffwwAD@w$Nwwwwwwww2wwwww xw* w&ww (ewwwwwwwewwwwwwwewffwwAD@ww$lwwwwwww2wwxwww xw* w&ww @0@@@@@@@@@@@@@@@@@@D4VS_VERSION_INFO  ?StringFileInfo~040904B0LCompanyNameMicrosoft Corporationn#FileDescriptionVGA/Super 16 colour Display Driver*FileVersion3.100InternalNamevga.dllp'LegalCopyrightCopyright Microsoft Corp. 1981-19938OriginalFilenamevga.dllv+ProductNameMicrosoft Windows NT(TM) Operating System.ProductVersion3.10DVarFileInfo$Translation 111113(3\3r3}33333345'5H567777777777777777888888888888888888888999 99999 9$9(9,9094989<9@9D9H9L9P9T9X9\9`9d9h9l9p9t9x9|999999999999<<<<<<<<<<<<<<<<<<<>k??0 0G0\01112k222S333444_55[67777777777777777777777888 88888 8$8(8,8084888<8@8D8H8L8P8T8X8\8`8d8h8l8p8t8x8|888888888888888888888888888888888999 99999 9$9(9,9094989<9@9D9H9L9P9T9X9\9`9d9h9l9p9t9x9|9999999999999999999999999999999::: ::::: :$:(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:::::::::::::::::::::::::::::::::;;; ;;;;R;b;r;;;;;;;;;<<"<2>??@481B1_5e56:::>:B:F:J:N:R:V:Z:^:b:f:j:n:r:U>I?P179;;`(334445 5A55;>;J;;;;.<pp001L2233J3N3R3V3Z3^3b3f3j3n3r3v3z3~33345!588888888888888888<+<5<<==???P00|11112$299:*:V:p:::::;&;B;`;;;>>??03:4p44>5G5w5555557"7789 <8<`%141@1L1f1u111111111 22[2j2v22222222233"3+343|46666!8::'<2<<:?0\1`1d1h1l1p1t1x1|11111111L2P2T2X2\2`2d2h2l2p2t2x2|222222222222222222222222222222222333 33333 3$3(3,3034383<3@3D3H3L6P6T6X6x6|6666666666666666666-868U8d8u8888889999999999 :2:7:L:X:n::;;;,;2;9;?;V;m;;;;;; <<,<> >>>#>)>0>H>Q>X>l>y>>>>>>>>>>>>>>? ??#?0?O?T?^?r????????????h0000)0=0R01%1111V2\2d2244$4444445 5{5556666$797C7P7Z7`7m77777-9>>>>z????%0,000408011111122 222222#2'2+2/233333333333333333344444555 6666 78!8%8)8-8185898=8A8E8I8M8Q8U8Y8888888888<9K9k9u9|9999:):I:S:::::::;5;=;R;\;f=}===="? H<9N99997:_:q::;;;;;,<<<;=H==>>*>>>??????0000051d1h1l1p1i22222%3a3333333333333333333445Q55555555555555555556666677;7?7C7G7K7O7S7W7[7_7c7g7k7o7s7w7w888888888888888888 :0:4:8:<:<<<<<p<0 000 0(0,04080@0D0L0P0X0\0d0h0l0t0x0|00000000000000000000011 1111$1(1,14181<1D1H1L1T1X1\1`1d1h1l1t1x1|11111111111111111111111111111222 2222 2$2(2,24282<2@2D2H2L2T2X2\2`2d2h2l2t2x2|2222222222222222299999999999999999999999::: :::::$:(:,:0:4:8:<:@:H:L:P:T:X:\:=$=,=4=<=D=L=T=\=d=l=t=|=======================>>> >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>h7 777 7(7,74787@7D7L7P7X7\7d7h7l7t7x7|77777777777777777777788 8888$8(8,84888<8D8H8L8T8X8\8`8d8h8l8t8x8|88888888888888888888888888888999 9999 9$9(9,94989<9@9D9H9L9T9X9\9`9d9h9l9t9x9|99999999999999999999999:::: :$:(:,:4:8:<:@:D:H:L:P:X:\:`:d:h:l:p:t:|::::::4;8;D9H9L9P9T9X9\9`9d9h9l9p9t9x9|99::::::::::::::::::;;; ;;;;; ;$;0;4;@;D;H;L;= ===== =$=(=,=0=4=8=<=@=D=H=L=P=T=\=`=d=h=p=t=x=|==============================>>>c:\ddk\lib\i386\free\clvga16.dllo @@p"< 7 vJ vX`XfY&ZPvZ VaPa Vbz 6h0fjn ppvp vr sptxP6y@vy@yz`{  } ~& F֐P&PvP 0֖`6@vPFFƛ.edata`.file gi386\alignblt.asm.text.datap_TEXT$03  aDGROUPpFLAT.file#gC:\ddk\src\video\displays\clvga16\bank.c.rdata0P.text~.textFP.text.text .text.text& .text.textX.textp.file+gC:\ddk\src\video\displays\clvga16\bitblt.c.datar.text< ?.file5gi386\blt.asm.textp.datat_TEXT$02P1DGROUPtFLAT.fileAgC:\ddk\src\video\displays\clvga16\brush.c.textfj.textpp.text.textsp.fileOgi386\brushes.asm.textp.datat_TEXT$03_TEXT$04(w_TEXT$01,DGROUPtFLAT.fileYgi386\cblt.asm.text.data`w_TEXT$01.DGROUP`wFLAT.fileagC:\ddk\src\video\displays\clvga16\color.c.data`w@.textF.fileigi386\colorpat.asm.text .datay-DGROUPyFLAT.filesgC:\ddk\src\video\displays\clvga16\copybits.c.data`z.textvZ.text .file{gi386\cpybits.asm.text0".datapzDGROUPpzFLAT.filegC:\ddk\src\video\displays\clvga16\cursor.c.textVaP.textvX`.textfY.text&ZP.texta.text.text֐P.text&P.filegC:\ddk\src\video\displays\clvga16\debug.c.textv.text.text.filegi386\dib2vga.asm.text".datapz_TEXT$01 DGROUPpzFLAT.filegi386\dibs.asm.text".dataz_TEXT$03-DGROUPzFLAT.filegC:\ddk\src\video\displays\clvga16\enable.c.data}.text".textF.textP.textv.text6@ .text֖`.text.text.textP.text.text.text.text.text0.filegi386\fasttext.asm.text`#.data}PP_TEXT$01MDGROUP}FLAT.filegC:\ddk\src\video\displays\clvga16\fillpath.c.textt.textvy@.text6y@.textxP.texty.textz`.filegC:\ddk\src\video\displays\clvga16\gdiinfo.c.datax.rdata@PD.filegi386\glyphblt.asm.text`#.data_TEXT$01DGROUPFLAT.filegC:\ddk\src\video\displays\clvga16\hardware.c.datal.textF.text.textƛ.filegi386\nalgnblt.asm.text`#.data_TEXT$04(DGROUPFLAT.filegC:\ddk\src\video\displays\clvga16\paint.c.data.text{ .textvp .textvr .file'gi386\patblt.asm.text`#.data_TEXT$01L DGROUPFLAT.file1gi386\pointer.asm.text`#.data0 $_TEXT$01 DGROUPFLAT.file;gi386\rect.asm.text`#.dataЪ_TEXT$01tDGROUPЪFLAT.fileEgi386\restscrn.asm.text`#.dataЪ0_TEXT$03DGROUPЪFLAT.fileKgC:\ddk\src\video\displays\clvga16\rleblt.c.text}.fileSgi386\rleblts.asm.text`#C%.dataDGROUPFLAT.fileYgC:\ddk\src\video\displays\clvga16\savescr.c.text6h0.filecgi386\savescrn.asm.text).data_TEXT$03 DGROUPFLAT.filemgi386\special.asm.text).data_TEXT$01MDGROUPFLAT.filewgC:\ddk\src\video\displays\clvga16\stroke.c.data`.text.textVb.filegi386\strblt.asm.text)l.data`DGROUP`FLAT.filegC:\ddk\src\video\displays\clvga16\textout.c.data`@.textvJ#.textn.filegi386\vgablts.asm.text ;.datal<_TEXT$01p DGROUPFLAT.filegi386\vgalines.asm.text ;.data _TEXT$035 "DGROUPFLAT.filegi386\vgaregs.asm.text ;+.data0DGROUP0FLAT.filegi386\vgastrps.asm.textP;.data0_TEXT$04:aDGROUP0FLAT.rsrc$02.idata$6v.idata$6.idata$6.idata$6.idata$6ı.idata$6ڱ.idata$6.idata$6..idata$6.idata$6.idata$6 .idata$6.idata$6,.idata$6<.idata$6P.idata$6d.idata$6t.idata$6.idata$6.idata$6<.idata$6L.idata$6\.idata$6j.idata$6.idata$6.idata$6ز.idata$6.idata$6 header2e2 q2 / Mpn~Zi.CYnHt/ E0ZTp|L\1F[Lp1"  `#, %: f) ) ) ) * C* I* * !*!*3!+H!D+^!l+u!+!+!+!+!+!+!(,!A, ",",$",>",^"-u",-"l-"t-"-"T."."h/"p/#/#0/#0B#D0\#L0p#1# 1#1#1#1#2# 2$@2$h2/$p2B$2\$2p$2$2$3$P3$X3$3$3%3% 4*%4B%4T%@5g%\5%p5%|5%5%5%5%X6&6&$79&l7* ;+P;+`;+p;+;,;,;%,;=,;K,;[,;o,;,<,<, <,0<,@<,P<,`<-p<-<"-</-<@-<[-<q-<-<< vJ !vX 8X MfY \&Z kvZ {Va a Vb 6h fj n p vp vr s /t ?x R6y cvy ty z {  } -~ - - - - -&  .F . 1.F D. T. q.֐ .& .v . _help@20 . . . . / / &/ 8/ I/֖ [/6 o/v / /F /F /ƛ / / .S_cblt@0+q(s Kx1@R]nLMV|'Į?Wb8{;h,1QP~nŰ  a = \ z   ) O  ²* I h D X [    $6 TU {t   + *H ?b ~ ŵ  P r  ! = 3W v    ȷ ?^>z`Ƹ.9PZ~Np>̺]y(Z|һ9Z>ybؼ8Y<x]~ֽ7MXwӾ2H`~4ʿFͿ]q -; I*W4ejuqx  0BRRbdsw.@D@WLmXduz  ?T&lx  "-8CNYp (6DR`n|$N&6G[1pVY\~ '1E7YTnrux % /!Dl|$u8<@':M`Lw`tL+AXn,p\d2FXfsH/b O&p[&o&&& &L&&&&'/'<C'P\'pt'''''4'd(1(L(g( (T((((()8)\0)E)Z)o))()X))))PU2^ ,<<      YF *{3u3b3M L3 *!*"$*A$2*[%C*&U*&f*'_(U(*:*:*:*;*V;+;%+}<=+<X+=q+>+y>0@0@#0@1@P/`_gajRopr-0s`0tm0u0w0`xz0x1y0yl1y%1y0y0 z0Xz1pz1xz1z_gflDrv}_gaulCap1_gaajPat090J0_gaMix:21 20 2T1_pdPtr1_pdPtr22Ċ2ҊJ2_rdReadX_rdReadY_rdWork 2D2D2D283,33@32 2@v1D10191ҬP1_136S6l6(D4n555563İ3Ȱ3̰4а-4԰^4ذ|4ܰ44444 5"5<5T5555 6<66end`6_DrvBitBlt@44_DrvTextOut@40_vComputePointerRect@8_DrvIntersectRect@12_vShowCursor@4_vHideCursor@4_DrvCopyBits@24_DrvMovePointer@16_DrvSetPointerShape@40_DrvStrokePath@32_DrvSaveScreenBits@16_DrvRealizeBrush@24_lclFillRect@20_vCopyOrgBrush@16_bPaintRgn@24_DrvPaint@20_bConvertBrush@4_DrvFillPath@28_AdvanceAETEdges@4_XSortAETEdges@4_MoveNewEdges@12_ConstructGET@20_AddEdgeToGET@16_vTrgTrap@24_vAlignedSrcCopy@16_roptable_bitmask_tbl1_bitmask_tbl2_phase_tbl1_vCompiledBlt@56_copy_dev@0_pattern_preprocessing@0_compute_y@0_CountColors@16_bQuickPattern@8_bShrinkPattern@8_vMono8Wide@12_vMono16Wide@12_vMono4Wide@12_vMono2Wide@12_vBrush2ColorToMono@20_vConvert4BppToPlanar@16_vConvert8BppToPlanar@16_vCreatePlaneMasks@8_cblt_4040_vClrPatBlt@24_clr_whole_bytes_rep_wide_clr_wide_bytes_loop_non_replace_wide_clr_clr_edge_byte_setup_clr_check_next_bank_ReadModWrite_draw_wide_00_clr_draw_wide_01_clr_draw_wide_10_clr_draw_wide_11_clr_draw_1_clr_even_loop_draw_1_clr_odd_loop_draw_2_clr_even_loop_draw_2_clr_odd_loop_draw_3_clr_even_loop_draw_3_clr_odd_loop_draw_4_clr_even_loop_draw_4_clr_odd_loop_draw_5_clr_even_loop_draw_5_clr_odd_loop_draw_6_clr_even_loop_draw_6_clr_odd_loop_draw_7_clr_even_loop_draw_7_clr_odd_loop_draw_8_clr_even_loop_draw_8_clr_odd_loop_draw_1_wide_clr_rop_draw_2_wide_clr_rop_draw_3_wide_clr_rop_draw_4_wide_clr_rop_draw_wide_rop_clr_vConvertVGA2DIB@44_vSetDIB4ToVGATables@4_vDIB2VGA@20_one_partial_only_check_whole_bytes_set_copy_control_flags_set_shift_vec_set_initial_banking_map_init_bank_init_bank_mapped_bank_loop_copy_burst_loop_align_burst_rshift_386_align_burst_lshift_386_align_burst_rshift_486_align_burst_lshift_486_set_alignment_source_proceed_with_copy_copy_burst_plane0_done_copy_burst_plane1_done_copy_burst_plane2_done_copy_burst_plane3_done_next_bank_DIB4_to_VGA_plane0_copy_DIB4_to_VGA_plane0_copy_loop_DIB4_to_VGA_plane0_copy_lbyte_DIB4_to_VGA_plane0_copy_words_DIB4_to_VGA_plane0_word_loop_DIB4_to_VGA_plane0_word_odd_DIB4_to_VGA_plane0_copy_tbyte_DIB4_to_VGA_plane0_copy_tpart_DIB4_to_VGA_plane0_copy_done_DIB4_to_VGA_plane1_copy_DIB4_to_VGA_plane1_copy_loop_DIB4_to_VGA_plane1_copy_lbyte_DIB4_to_VGA_plane1_copy_words_DIB4_to_VGA_plane1_word_loop_DIB4_to_VGA_plane1_word_odd_DIB4_to_VGA_plane1_copy_tbyte_DIB4_to_VGA_plane1_copy_tpart_DIB4_to_VGA_plane1_copy_done_DIB4_to_VGA_plane2_copy_DIB4_to_VGA_plane2_copy_loop_DIB4_to_VGA_plane2_copy_lbyte_DIB4_to_VGA_plane2_copy_words_DIB4_to_VGA_plane2_word_loop_DIB4_to_VGA_plane2_word_odd_DIB4_to_VGA_plane2_copy_tbyte_DIB4_to_VGA_plane2_copy_tpart_DIB4_to_VGA_plane2_copy_done_DIB4_to_VGA_plane3_copy_DIB4_to_VGA_plane3_copy_loop_DIB4_to_VGA_plane3_copy_lbyte_DIB4_to_VGA_plane3_copy_words_DIB4_to_VGA_plane3_word_loop_DIB4_to_VGA_plane3_word_odd_DIB4_to_VGA_plane3_copy_tbyte_DIB4_to_VGA_plane3_copy_tpart_DIB4_to_VGA_plane3_copy_done_aulDefBitMapping_vDIB4n8ToPlaner_vDIB4NAConvert0_vDIB8Preprocess@0_vDIB4Preprocess@0_packed_pel_comp_y@0_vFastText@48_draw_f_tb_no_to_temp_start_draw_nf_tb_no_to_temp_start_draw_to_temp_start_entry_draw_f_ntb_o_to_temp_start_draw_nf_ntb_o_to_temp_start_draw_to_temp_start_entry2_draw_f_tb_no_to_temp_loop_draw_nf_tb_no_to_temp_loop_draw_to_temp_loop_entry_draw_f_ntb_o_to_temp_loop_draw_nf_ntb_o_to_temp_loop_draw_to_temp_loop_entry2_or_all_1_wide_rotated_no_last_or_all_1_wide_rotated_need_last_or_first_1_wide_rotated_no_last_or_first_1_wide_rotated_need_last_or_first_1_wide_rotated_loop_mov_first_1_wide_rotated_need_last_mov_first_1_wide_rotated_no_last_mov_first_1_wide_rotated_loop_mov_first_1_wide_unrotated_mov_first_1_wide_unrotated_loop_or_all_1_wide_unrotated_or_all_1_wide_unrotated_loop_or_first_2_wide_rotated_need_last_or_first_2_wide_rotated_need_loop_or_all_2_wide_rotated_need_last_or_all_2_wide_rotated_need_loop_mov_first_2_wide_rotated_need_last_mov_first_2_wide_rotated_need_loop_or_first_2_wide_rotated_no_last_or_first_2_wide_rotated_loop_or_all_2_wide_rotated_no_last_or_all_2_wide_rotated_loop_mov_first_2_wide_rotated_no_last_mov_first_2_wide_rotated_loop_mov_first_2_wide_unrotated_mov_first_2_wide_unrotated_loop_or_all_2_wide_unrotated_or_all_2_wide_unrotated_loop_or_first_3_wide_rotated_need_last_or_all_3_wide_rotated_need_last_mov_first_3_wide_rotated_need_last_or_first_3_wide_rotated_no_last_or_all_3_wide_rotated_no_last_mov_first_3_wide_rotated_no_last_mov_first_3_wide_unrotated_or_all_3_wide_unrotated_or_first_4_wide_rotated_need_last_or_all_4_wide_rotated_need_last_mov_first_4_wide_rotated_need_last_or_first_4_wide_rotated_no_last_or_all_4_wide_rotated_no_last_mov_first_4_wide_rotated_no_last_mov_first_4_wide_unrotated_or_all_4_wide_unrotated_or_first_N_wide_rotated_need_last_or_all_N_wide_rotated_need_last_mov_first_N_wide_rotated_need_last_or_first_N_wide_rotated_no_last_or_all_N_wide_rotated_no_last_mov_first_N_wide_rotated_no_last_mov_first_N_wide_unrotated_odd_width_two_odd_bytes_three_odd_bytes_or_all_N_wide_unrotated_or_no_odd_bytes_loop_or_odd_width_or_one_odd_bytes_loop_or_two_odd_bytes_or_two_odd_bytes_loop_or_three_odd_bytes_or_three_odd_bytes_loop_draw_to_screen_xpar_map_init_bank_xpar_init_bank_mapped_xpar_bank_loop_xpar_scan_loop_xpar_byte_loop_xpar_enter_8_xpar_enter_7_xpar_enter_6_xpar_enter_5_xpar_enter_4_xpar_enter_3_xpar_enter_2_xpar_enter_1_draw_prop_done_do_next_xpar_bank_do_opaque_clip_opaq_fully_clipped_opaque_text_opaq_left_edge_solid_opaq_set_edge_vector_opaq_edges_set_opaq_map_init_bank_opaq_init_bank_mapped_opaq_bank_loop_opaq_whole_bytes_opaq_scan_loop_opaq_scan_loop_l_opaq_scan_loop_lt_opaq_scan_loop_t_opaq_draw_left_edge_only_opaq_draw_left_edge_only_entry_opaq_fg_edge_loop_opaq_fg_edge_entry_4_opaq_fg_edge_entry_3_opaq_fg_edge_entry_2_opaq_fg_edge_entry_1_opaq_bg_edge_entry_4_opaq_bg_edge_loop_opaq_bg_edge_entry_3_opaq_bg_edge_entry_2_opaq_bg_edge_entry_1_opaq_draw_right_edge_only_opaq_draw_right_edge_only_entry_opaq_draw_both_edges_opaq_check_more_banks_opaq_done_do_next_opaq_bank_special_8_wide_aligned_opaque_s8wao_map_init_bank_s8wa0_init_bank_mapped_s8wa0_word_s8wao_word_8_s8wao_word_loop_s8wao_word_7_s8wao_word_6_s8wao_word_5_s8wao_word_4_s8wao_word_3_s8wao_word_2_s8wao_word_1_s8wa0_trailing_s8wao_byte_loop_s8wao_byte_8_s8wao_byte_7_s8wao_byte_6_s8wao_byte_5_s8wao_byte_4_s8wao_byte_3_s8wao_byte_2_s8wao_byte_1_vClearMemDword@8_vGlyphBlt@32_gblt_calc_dest_addr_gblt_left_mask_gblt_inner_count_gblt_last_mask_gblt_glyph_info_gblt_glyph_offset_gblt_draw_glyph_glyph_blt_exit_vgblt_mix_glyph_vmg_fetch_one_byte_vmg_fetch_two_bytes_vmg_advance_glyph_ptr_vmg_advance_screen_ptr_vmg_inner_bytes_vmg_inner_fetch_one_byte_vmg_inner_fetch_two_bytes_vmg_last_byte_vmg_last_fetch_one_byte_vmg_last_fetch_two_bytes_vmg_exit_vgblt_opaque_glyph_vog_fetch_one_byte_vog_fetch_two_bytes_vog_advance_glyph_ptr_vog_advance_screen_ptr_vog_inner_bytes_vog_inner_fetch_one_byte_vog_inner_fetch_two_bytes_vog_last_byte_vog_last_fetch_one_byte_vog_last_fetch_two_bytes_vog_exit_ulSetXParentRegs@12_vResetVGARegs@0_vNonAlignedSrcCopy@16_vMonoPatBlt@24_whole_bytes_rep_wide_wide_bytes_loop_non_replace_wide_edge_byte_setup_check_next_bank_banks_done_wes_trick_do_edge_wes_trick_do_wide_wes_trick_draw_wide_00_loop_draw_wide_01_loop_draw_wide_10_loop_draw_wide_11_loop_draw_1_wide_even_loop_draw_1_wide_odd_loop_draw_2_wide_even_loop_draw_2_wide_odd_loop_draw_3_wide_even_loop_draw_3_wide_odd_loop_draw_4_wide_even_loop_draw_4_wide_odd_loop_draw_5_wide_even_loop_draw_5_wide_odd_loop_draw_6_wide_even_loop_draw_6_wide_odd_loop_draw_7_wide_even_loop_draw_7_wide_odd_loop_draw_8_wide_even_loop_draw_8_wide_odd_loop_draw_1_wide_loop_draw_1_wide_rop_loop_draw_2_wide_rop_loop_draw_3_wide_rop_loop_draw_4_wide_rop_loop_draw_wide_rop_loop_xyCreateMasks@24_vCopyMasks@0_vFlipMask@0_create_masks_1_thru_7@0_vYankPointer@8_vDrawPointer@16_vDIB4Convert8_vConvertDIBPointer_bIdenticalRect@8_flClipRect@12_vRestoreScreenBitsFromMemory@20_bRleBlt@24_vRle8ToVga@4_vRle4ToVga@4_comp_masks_vSaveScreenBitsToMemory@24_check_device_special_cases@0_vStringBlt@32_sblt_glyph_search_sblt_glyph_search_last_sblt_glyph_search_1st_sblt_found_both_sblt_calc_glyph_height_sblt_accel_flag_sblt_special_case_sblt_init_jmp_table_sblt_1st_glyph_cell_sblt_last_glyph_cell_sblt_middle_fpa_glyph_sblt_next_glyph_cell_sblt_left_mask_sblt_one_byte_mask_sblt_inner_count_sblt_last_mask_sblt_glyph_info_sblt_xfer_glyph_image_xgi_inner_bytes_xgi_last_byte_sblt_exit_fixed_pitch_aligned_sblt_fixed_pitch_aligned_sblt_inner_fpa_single_byte_glyph_fpa_multi_byte_glyph_fpa_exit_xgi1_buffer_over_xgi1_buffer_or_xgi2_buffer_over_xgi2_buffer_or_xgi1_scrn_g_xbos_1scrn_xgi1_scrn_g_xbos_xgi1_scrn_gs_xbos_xgi1_scrn_gm_xbos_1scrn_xgi1_scrn_gm_xbos_xgi1_scrn_gmb_xbos_1scrn_xgi1_scrn_gmb_xbos_xgi2_scrn_g_xbos_1scrn_xgi2_scrn_g_xbos_xgi2_scrn_gs_xbos_xgi2_scrn_gm_xbos_1scrn_xgi2_scrn_gm_xbos_xgi1_scrn_g_xbms_1scrn_xgi1_scrn_g_xbms_xgi1_scrn_gs_xbms_xgi1_scrn_gm_xbms_1scrn_xgi1_scrn_gm_xbms_xgi1_scrn_gmb_xbms_1scrn_xgi1_scrn_gmb_xbms_xgi2_scrn_g_xbms_1scrn_xgi2_scrn_g_xbms_xgi2_scrn_gs_xbms_xgi2_scrn_gm_xbms_1scrn_xgi2_scrn_gm_xbms_xgi1_scrn_g_obos_1scrn_xgi1_scrn_g_obos_xgi1_scrn_gs_obos_xgi1_scrn_gmb_obos_xgi2_scrn_g_obos_1scrn_xgi2_scrn_g_obos_xgi2_scrn_gs_obos_xgi1_scrn_gm_obos_1scrn_xgi1_scrn_gm_obos_lg_xgi1_scrn_gm_obos_xgi2_scrn_gm_obos_1scrn_xgi2_scrn_gm_obos_lg_xgi2_scrn_gm_obos_xgi1_scrn_gmb_obos_1scrn_xgi1_scrn_gmb_obos_lg_xgi_setup_opaque_bkgnd_edge_xgi_set_opaque_bkgnd_vTrgBlt@20_do_both_edge_bytes_draw_1_wide_rw_loop_draw_2_wide_rw_loop_draw_3_wide_rw_loop_draw_4_wide_rw_loop_draw_wide_rw_loop_draw_1_wide_w_loop_draw_2_wide_w_loop_draw_3_wide_w_even_loop_draw_3_wide_w_odd_loop_draw_4_wide_w_loop_draw_5_wide_w_even_loop_draw_5_wide_w_odd_loop_draw_6_wide_w_mod3_0_loop_draw_6_wide_w_mod3_1_loop_draw_6_wide_w_mod3_2_loop_draw_7_wide_w_mod3_0_loop_draw_7_wide_w_mod3_1_loop_draw_7_wide_w_mod3_2_loop_draw_7_wide_w_mod3_3_loop_draw_8_wide_w_mod3_0_loop_draw_8_wide_w_mod3_1_loop_draw_8_wide_w_mod3_2_loop_draw_8_wide_w_mod3_3_loop_draw_wide_w_00_loop_draw_wide_w_01_loop_draw_wide_w_02_loop_draw_wide_w_03_loop_draw_wide_w_10_loop_draw_wide_w_11_loop_draw_wide_w_12_loop_draw_wide_w_13_loop_draw_wide_w_20_loop_draw_wide_w_21_loop_draw_wide_w_22_loop_draw_wide_w_23_loop_draw_wide_w_30_loop_draw_wide_w_31_loop_draw_wide_w_32_loop_draw_wide_w_33_loop_comp_byte_interval@0_bLines@36_bank_setup_dda_loop_bank_y_major_do_some_styling_do_some_clipping_simple_clipping_continue_complex_clipping_vInitRegs@0_vSetStrips@8_vClearStrips@4_vStripSolidDiagonalHorizontal@12_vStripSolidDiagonalVertical@12_vStripSolidHorizontal@12_vStripSolidHorizontalSet@12_vStripSolidVertical@12_vStripStyledHorizontal@12_vStripStyledVertical@12_vStripMaskedHorizontal@12_vStripMaskedVertical@12_BRUSHOBJ_pvAllocRbrush@8_BRUSHOBJ_pvGetRbrush@4_CLIPOBJ_bEnum@12_CLIPOBJ_cEnumStart@20_DDAOBJ_bEnum@20_DeviceIoControl@32_EngAssociateSurface@12_EngBitBlt@44_EngCopyBits@24_EngCreateBitmap@24_EngCreateDDA@0_EngCreatePalette@24_EngCreateSurface@12_EngDeleteDDA@4_EngDeleteSurface@4_EngLockSurface@4_EngUnlockSurface@4_GetLastError@0_GetSystemInfo@4_LocalAlloc@8_LocalFree@4_PATHOBJ_bEnum@8_PATHOBJ_bEnumClipLines@12_PATHOBJ_vEnumStart@4_PATHOBJ_vEnumStartClipLines@16_STROBJ_bEnum@12_SetUpBanking@8_BankErrorTrap@12_Bank1Window@12_Bank1Window2RW@12_Bank2Window@16_Bank2Window1RW@16_Bank2Window2RW@16_DrvConvertBrush@20_DrvDitherColor@16_SimCopyBits@24_bSetHardwarePointerShape@16_bCopyInNewCursor@8_bInitPointer@4_DebugPrint_dumpdsurf@20_DrvEnableDriver@12_DrvDisableDriver@0_bLoadResources@4_bInitDefaultPatterns@4_DrvEnablePDEV@44_DrvCompletePDEV@8_vFreeResources@4_vKillPatterns@4_DrvDisablePDEV@4_DrvEnableSurface@4_DrvDisableSurface@4_DrvAssertMode@8_DrvGetModes@12_bInitPDEV@16_bInitVGA@8_getAvailableModes@12_vCatchTwoPass@12clvga16_EXPORTS_vForceBank0@4_ulNextScan_global_pPtrSave_pPtrWork_jRop3ToMix_gaajRealizedPat_gRealizedBrushHeight_pCountTable_pPixelCount_aulDitherOrder_ulNibbleToDword_jSwapSubSpace_jForceOffTable_pfnWholeBytesMod0Color_PlaneCopyTable_pfnWholeBytesSpecColor_pfnWholeBytesMod1Color_pfnClrEdgeDrawing_pfnWideWholeRepClr_jNotTable_jRightMask_jALUFuncTable_jInvertDest_QuickMul_jLeftMask_jForceOnTable_ajConvertBuffer_jLeftMasks_jRightMasks_DrvEscape@24_devinfoVGA_logPalVGA_pfnWholeBytesSpecial_pfnWideWholeRep_pfnWholeBytesMod0Entries_pfnWholeBytesMod1Entries_pfnEdgeDrawing_rdOverlap_PTR_ROUND_LEFT_PTR_HEIGHT_PTR_WIDTH_BITS_base_clr_masks_base_xor_masks_PTR_ROUND_RIGHT_base_and_masks_alWorkBuff_rdFlushX_rdFlushY_gaulInitMasksRtoL_gaulInitMasksLtoR_gaulAndXorTable_gapfnCatchTwoPass_gapfnStrip_gapfnStripSolidSet_RtoL_check_slope_one_line_runs_right_to_left_line_runs_left_to_right_gaflRoundTable_LtoR_check_slope_one__imp__BRUSHOBJ_pvAllocRbrush@8__imp__BRUSHOBJ_pvGetRbrush@4__imp__CLIPOBJ_bEnum@12__imp__CLIPOBJ_cEnumStart@20__imp__DDAOBJ_bEnum@20__imp__DeviceIoControl@32__imp__EngAssociateSurface@12__imp__EngBitBlt@44__imp__EngCopyBits@24__imp__EngCreateBitmap@24__imp__EngCreateDDA@0__imp__EngCreatePalette@24__imp__EngCreateSurface@12__imp__EngDeleteDDA@4__imp__EngDeleteSurface@4__imp__EngLockSurface@4__imp__EngUnlockSurface@4__imp__GetLastError@0__imp__GetSystemInfo@4__imp__LocalAlloc@8__imp__LocalFree@4__imp__PATHOBJ_bEnum@8__imp__PATHOBJ_bEnumClipLines@12__imp__PATHOBJ_vEnumStart@4__imp__PATHOBJ_vEnumStartClipLines@16__imp__STROBJ_bEnum@12WINSRV_IMPORT_DESCRIPTORNULL_IMPORT_DESCRIPTORWINSRV__imp__NULLKERNEL32_IMPORT_DESCRIPTORKERNEL32__imp__NULL__tls_used__load_config_used$(EventMessageFile) }, + {TypesSupported, 0, $(!REG_VT_DWORD), $(TypesSupported) } + } shell "registry.inf" MakeServicesEntry $(ServiceNode) + $(ServicesValues) + $(ParametersValues) + $(DeviceValues) + $(EventLogValues) + MZ@ !L!This program cannot be run in DOS mode. $PELi-4x *B,FrMX$\`lFT.textB `.rdataFF@@.dataHH@.idataXX@.rsrc\\@B.reloc``@B SVWD$ j P>@D$ D$D$D$D$ D$$8D$D$ j|$8Pt$8WV>D$D$ jPWV>;vD$D$ jPWV>;v؋_^[ d$$VW|$?8s W_^hHt$jV> jj0H HQPV> u W_^V u7_^$GG0Hw G( PG,G0G4 džT džXjh@PQV=F u W_^V+ u 7_^D$+_^$D$f@f@@@@d$d$$SVWUt$ =0#= #w^=#w1=#=#8=#K==#r=#=#w6=#=#=#=(#=,#=L#w-4#w@ =P#=T#=X#=\#I=$#R_|$hHLJxLJ,+LJ0LJ4H0PW/<FPFPF|$$PWF PF|$ PW FPFPF|$$PW4FPFPF|$$PW5FPFPF|$$PW5F PF|$ PW^1W'aD$D$j|$ PW71W':F PF|$ PW!IF PF|$ PW> F PF|$ PW F PF|$ PW~FPFPF|$$PWF PF|$ PW)d$FPFPF|$$PW|$WV&G0+h|$W~&G0+PFPF PF|$$PW$0FPFPF|$$PW%FPF PF|$$PW#FPFPF|$$PW#FPFPF|$$PW"FPFPF|$$PWF|$@nFMEXD$D$UPPQ@PQW8؋`+PEEhE +Fj|$ PWI9FPF|$ PW,؋F]_^[I''' '''( '''@ '''` ''' d$d$SVWUt$FtW]_^[ D$ r|$WJ ;`ff=t f= >fGf= 0ȁ;vz]_^[ fFffFNf+fA fvfANf+fA fvf9AvfAo^hVVz+D$3fGPUSR83fG L$uhVVF+j $P7fGP%P7j$P7NAoP%P7Fj Hf@ %$P7OW%P7j $P7OW%Pz7+]_^[ W]_^[ z]_^[ T$BD$tW|$ szL$fBffBfA+d$d$VWt$ ~t W_^ |$s z_^ T$ff9G~bfJf9O~XfFfBfFFjfxfzf:$P6W%P|6j$Po6fW%P_6+_^ W_^ $$T$L$BtW |$ szBL$%fAB%fBA +I$SVWt$FtW_^[ |$ s z_^[ |$fGf9Ff?FFG Fj $Pg5f_%P4$ ؀ u S%P<5j $P/5fNfAf;wY%Po4$ S%P4+_^[ W_^[ $SVt$P,4D$ jP4P4$<t *^[P3D$jP4P3<tjPh4*^[jPQ4P3$<t$jP34jP&4*^[Pq3D$SP3PT3:uV ujP3P23<thjP3jP3hP3*^[hP3jP}3jPp3*^[D$PPV3jPI3D$PP93D$ PP)3P~2D$ jP 3Pb2$<t *^[PE2D$ hP2jP2\$ SP2P2:t'jP2hP2*^[D$ PPk2hP{2D$ PPK2^[SVWD$t$f };fFf=wnf ti%ǃ]|$f+ۋ*PE1f9v1fFPP1%fDFPP1fCf9wj P1+_^[ W_^[ z_^[ d$SVWUD$t$f;wkf tZfFf=wPȁρ>\$PP$1+f9>vnjUP0G3f;w+]_^[ W]_^[ z]_^[ $$SVWU|$$1D$ H T$B8;B<;B@ ;BD;BH;BL;BP;BT;BX;9J\~9J`utBd;\T$Bh ;HrlƒpD$;0Bt;#Bx;B|; ;;|$P.jPP/jPC/jP6/jP)/jP/hP,/jP.7VT.$ PV.jP.7V1.$ PV.hP.jP.7V-$PV.hP.jP.jP.jP^.T$jLw+۰PP>.EPVr.CrV-t$+۰PP.T$BlPD$PGPC-Cr͋T$thBd uW]_^[ D$hPxP-4=Hu 09t=H 09PPW-hP-T$B$PPS-T$B8\C%ffPPF-Fr݋T$BP tHflu:hP-F%ffPP,Cv݋T$B@D%ffPP,hP,T$BtW]_^[ +ۋT$B< ۊ@tf%ffP$If%ffPPX,T$BT tQfluC ۋtE%ffP$E%ffPP,Fv‹T$j<+ ۋtE%ffP$E%ffPP+Fr‹T$j@+E%ffPP+F r݋T$BX ttflu+ F%ffPPI+E9vP&P&:GtO aP&P&:GtF@jP,'P&:GtO !jP 'P^&:GtOjP&P7&CP)&CP&CjP&jP&jP&jP&jPw&P%GD$P%D$P%GhPX&D$4PP&&P{%:D$u)G4D$PP%D$PP%G4hP%UP%P%CP %CP$CEr|$tP$G. P$G|$t$P$G( P$GP$G"+SP)%P~$EECrߍflu&SP$PH$EECv߃|$jt#$P$%P$D$ P%!P$P#D$ PP$+|$Ut$Pm$%P]$P#CErɊD$flu<|$Ut$P$%P$P\#CEvɍ+UP#P4#CE rflu+ UP#P"CE9v,d$ UP#P"CEvݍ+|$t* P"UP;#P"CErhP7#G PP#jP"SN"$ PS"jP"S+"$ PS"hP"hP"jP"S!$ PS}"FD$jP"jP\"+UPH"D$P!CErLJxLJ8t&LJGdhPPC!GdGlGp Gt Gx G| +jP!pSP!hFPW Cr+]_^[ SVWUD$(|$04Hsz]_^[t$,+F++ҋA,;ttqtIF FrFFF BBB-BD$ C-BD$D$ BD$BD$BF FBBBE4FFtD$D$ÍD4F49~vD$4]4_^[3fA~4FD$( ҋtFt+ƉF$URWFtG+ƉF(D$ SPWv+ƉF,D$PD$ PW]|$+ƉF0D$PD$PWBD$4N+]_^[$SVWU|$t$ xnD$$\$(u#x@|x@Ƅ3x Ixu$<u,u7u 3,xcs +]_^[+$\$(l$x@DŽ|xW@Ƅxh+@DŽxjWk,PPD$$tP+ t hHjW#+]_^[$LJxLJ|ƇLJD$$u`PD$hP1\$($PPhPD$PP+]_^[\$(uQ$<tIP u:hHjWCLJx|Ƈ3LJ,PPiP\$(+]_^[d$$SVWU\$t$ x~D$$|$(uf'x@|x@Ƅ3xf Ixu4f%,u!fu,u .xcs +]_^[+$|$(l$x@DŽ|xS@Ƅxh+@DŽxjS,PP D$$tPxf+ thHjS+]_^[ǃxǃ|ƃǃD$$uaPD$hP|$(ff%PP{hPkD$PP;+]_^[|$(uMfft? u;hHjSǃx|ƃ3fǃ,!fPPP?|$(f+]_^[$SVWU\$t$ xnD$$|$(u'x@|x@Ƅx Ixu,%,uu,u%xcs +]_^[+ d$|$(l$x@DŽ|xS@Ƅxh+@DŽxjS;,PPyD$$tP+ t hHjS+]_^[$ǃxǃ|ƃǃD$$u`PUD$hP|$(PPhPD$PP+]_^[|$(uHt< u8hHjSǃx|ƃǃ,PPRP|$(+]_^[d$SVW|$*ۍ|xvO3Ft tt$FPQFPQ FPQà 3;xrLJx_^[$|$ sD$z$L$t-@HyuED$T$BBH?B BT$B B H?B BD$+IVD$|$sz^L$ t$fAfF6ffF4<PFVD u4fdžlD$%fnVtVfp O>ߍGPGt$%W/D$P D$jPPD$hPjPPD$ j'WlS؀uf%fn fdžnjPTjP'P|D$ D$%ffPPD$PPD$PW|$ u.|$ u'r"fdžlfdžpV%t* tV _^[d$SVWt$flPhP[Pu hPPhP@jV(jUFPMjVhFP7jVFPv D$ PP. D$ PP pu D$$WD$VP 4~u3fD$P 3fD$P tt_+]_^[3f|$3f3fnK fffŃPW< EK uj3fl$3f>3fO tCSU PU CO u&3f|$W "2FPW 3f ]_^[$ SVWU|$<sz]_^[ It$8t %|$4 |$4W9V @+ȍLrLD$jPP E t`D$E D$E$D$D$PW 9f} u+}Hu D$D$D$D$PW D$jP 3fltttI3fE:3fE<3fE>D$D$PW{fluTf}uMf} uEhP" Pwt&hP SX$? @PS3fltt/t>W]_^[ fpuEDEHfpuELEPETPWEX tPWEuyPu* ۋt* Pj0PEPD$d$ ۋt* P}j0PD$PPE0ŀLhE0ńL`oG fn*tf}tG+]_^[ E(G+]_^[ W]_^[ SVWUL$t$AЍBD$ 9T$s z]_^[+9VL$*L^3fGF3fF3fGF 3fGF3fGFGF3F JF$F(F,F0fGF@ ҃ ЉV@F4F8F<3N@ f33fWfoFD3f/t+FHL\C9V%+]_^[$D$|$ szD$HD$@L+$$VD$|$LLsz^L$ T$LB ABf@ %ABf@%ABf@ %A Bf@%ABf@%AB@AA JA$A(A,A0A4A8A<Bff q@Bx ƉA@+^IVt$hVVPjPPX PPhFP,hVV^$SVWT$+B95VvIL3fG;tw flfG2tfpfG4tO6B\F;5Vr_^[$ VWSfBE fJfBEE fBEfJ fBfJEBfBEfJfBEfBE@fJfBEfJE ff $fE] #y+#y+ۃ v r }}u ;u ;__UffBE džf؃ }?}u*effuFsېu~`fBE u}?}ƀ󤹀ЪfefuFM#y+ɋ] #y+ff fff f ef efefefefefEefef[_^$u$tUZ +VPƀ3 +Qff33FF3ɊfffuY3Xf#B^3QM뼋؋˺ +Vƀ3^˭Ы3]ÐfP f ffXÐfPB$JXÇfPB JXÐ%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%Xi-4si- si-r    0$ 0$&&`)`)                                             !   ! ! ! ! !$$2  PIIJJKP^pIIpJJKPP<I0IJIpKPPKpKd% Xd8jj0JKd% Xd<jj0JKd% XdHjKd% XdKjK0<]K0F ]K0H0]K0K@]K@-lKhL@<lKhL@G lKhLP<._JKLhLPK_LhLd% X80\0K LhLd% X<0\0K LhLd% XH\ LhLd% XK\ LhL0<`8L0F `8L0H0`8L0K@`8L@ -mPLpL@ <mPLpL@ G mPLpL(XXXXYY(Y>YTYnYYYYYZZ:ZZZ|ZZZZZ[XYY(Y>YTYnYYYYYZZ:ZZZ|ZZZZZ[VideoPortGetDeviceBaseVIDEOPRT.SYSVideoPortInitializeVideoPortInt10 VideoPortMapMemory VideoPortMoveMemoryVideoPortReadPortUcharVideoPortReadPortUlongVideoPortReadPortUshortVideoPortReadRegisterUcharVideoPortSetTrappedEmulatorPortsVideoPortSynchronizeExecutionVideoPortUnmapMemoryVideoPortVerifyAccessRangesVideoPortWritePortBufferUchar!VideoPortWritePortBufferUshort"VideoPortWritePortUchar#VideoPortWritePortUlong$VideoPortWritePortUshort%VideoPortWriteRegisterBufferUchar(VideoPortWriteRegisterUchar+VideoPortZeroMemoryi-i-0i- H`\\\4VS_VERSION_INFO  ?StringFileInfo040904B0LCompanyNameMicrosoft Corporationn#FileDescriptionCirrus 5426+ Video Miniport Driver*FileVersion3.10: InternalNamecirrus4m.sysp'LegalCopyrightCopyright Microsoft Corp. 1981-1993B OriginalFilenamecirrus4m.sysv+ProductNameMicrosoft Windows NT(TM) Operating System.ProductVersion3.10DVarFileInfo$Translation L4&464444*5667`7:::::::::::::::::::::;; S6e6 4223333 3(303C3I3N3%5q5Q6788U::z;0$14999<<<<=>%?R?Y??@l3"323B3R3b3r33333333344"424B4R4@8T8h8|888<<<<<8=<=@=D=H======>T>\>>>?p??PP(000<1@11111H2L2P2T22233 3\3d3h3334 4x4405555D6H666c:\ddk\lib\i386\free\cirrus4m.sys FF00  `  p0 0`"0$&`)+`, -p-P-@ /Pp/@/@/0p355p6 7 @7@9p<@=@=>`@?p.filegC:\ddk\src\video\miniport\cirrus4m\cirrus.c.dataH.text@3.filegC:\ddk\src\video\miniport\cirrus4m\modeset.c.dataI :.text@7p1.rsrc$02`\.filegi386\clcursor.asm.text? .dataWDGROUPW.filegi386\clhard.asm.textBJFLAT.idata$6X.idata$6X.idata$6Y.idata$6Y.idata$6(Y.idata$6>Y.idata$6TY.idata$6nY.idata$6Y.idata$6Y.idata$6Y.idata$6Y.idata$6Z.idata$6Z.idata$6:Z.idata$6ZZ.idata$6|Z.idata$6Z.idata$6Z.idata$6Z.idata$6Z.idata$6[header      b  }    0    ) a0  " 0$ & J`) + `,  - - "- > / \p/ s/ / 0 p3 5 5 6 - 7 @7 F9 p< m= U= K > @? ?a Bs BBgBBBLBB0B CCz C?0C/@C}PC`CepC/CCCCCC?C( CDD D,0D@DPDjHP0H0HH I 0I PI pI I I Ip I\ JH 0J3 PJ pJJJJJKv0KXPKHpK8K'KKKKL L8LPLhLvpLjL`LQVRVVQ Xl X X X X X X X1 XQ Xr X X X X X. XV X X X X X X4 X Xendr _DriverEntry@8_FullVgaValidatorAccessRange_MinimalVgaValidatorAccessRange_VgaEmulatorAccessEntries_VgaAccessRange_VideoPortInitialize@16_VideoPortZeroMemory@8_VgaFindAdapter@20_VideoPortGetDeviceBase@20_VideoPortVerifyAccessRanges@12_VgaInitialize@4_VgaStartIO@8_VideoPortUnmapMemory@12_VideoPortMapMemory@24_VgaSetMode@12_VgaQueryCurrentMode@16_VgaQueryNumberOfAvailableModes@16_VgaQueryAvailableModes@16_VideoPortSetTrappedEmulatorPorts@12_VgaLoadAndSetFont@12_VideoPortWritePortUchar@8_VgaInterpretCmdStream@8_DisableA000Color_VideoPortWriteRegisterBufferUchar@12_EnableA000Data_VgaQueryCursorPosition@16_VgaSetCursorPosition@12_VgaQueryCursorAttributes@16_VgaSetCursorAttributes@12_VideoPortReadPortUchar@4_VgaIsPresent@4_VideoPortWritePortUshort@8_VgaSetPaletteReg@12_VgaSetColorLookup@12_VideoPortWritePortBufferUchar@12_VgaRestoreHardwareState@12_VideoPortMoveMemory@12_VideoPortReadRegisterUchar@4_VideoPortWriteRegisterUchar@8_VgaSaveHardwareState@16_VgaGetBankSelectCode@16_CL542xBankSwitchStart_CL542xBankSwitchEnd_CL542xDisablePlanarHCStart_CL542xEnablePlanarHCStart_CL542xPlanarHCBankSwitchStart_CL542xDisablePlanarHCEnd_CL542xEnablePlanarHCEnd_CL542xPlanarHCBankSwitchEnd_VgaValidatorUcharEntry@16_VideoPortSynchronizeExecution@16_VgaValidatorUshortEntry@16_VideoPortReadPortUshort@4_VgaValidatorUlongEntry@16_VideoPortReadPortUlong@4_VideoPortWritePortUlong@8_VgaPlaybackValidatorData@4_VgaQueryPointerCapabilities@16_VgaSetPointerPosition@16_CirrusDrawPointer@24_VgaQueryPointerPosition@16_VgaSetPointerAttributes@16_VgaQueryPointerAttributes@16_CirrusEnablePointer@4_CirrusDisablePointer@4_CirrusSetPointerColors@4_CirrusLogicIsPresent@4_CirrusValidateModes@4_CirrusFindVmemSize@4_SetCirrusBanking@8_CirrusFind6410DisplayType@4_CirrusFind6340@4_CirrusDoInt10@12_VideoPortInt10@8_NumVideoModes_ModesVGA_MemoryMaps_MODESET_2K_WIDE_MODESET_1K_WIDE_CL542x_1280x1024_256_CL542x_1024x768_256_CL542x_800x600_256_CL542x_640x480_256_CL542x_1280x1024_I_CL542x_80x25_14_Text_CL542x_80x25Text_CL542x_1024x768_CL542x_800x600_CL542x_640x480_CL6420_1024x768_256color_crt_CL6420_800x600_256color_crt_CL6420_640x480_256color_panel_CL6420_640x480_256color_crt_CL6420_80x25Text_panel_CL6420_80x25Text_crt_CL6420_80x25_14_Text_panel_CL6420_80x25_14_Text_crt_CL6420_1024x768_crt_CL6420_800x600_crt_CL6420_640x480_crt_CL6420_640x480_panel_CL6410_80x25Text_panel_CL6410_80x25Text_crt_CL6410_80x25_14_Text_panel_CL6410_80x25_14_Text_crt_CL6410_800x600_crt_CL6410_640x480_panel_CL6410_640x480_crt_VideoPortWritePortBufferUshort@12_VgaZeroVideoMemory@4_wait4VertRetrace_shift_mask__imp__VideoPortGetDeviceBase@20__imp__VideoPortInitialize@16__imp__VideoPortInt10@8__imp__VideoPortMapMemory@24__imp__VideoPortMoveMemory@12__imp__VideoPortReadPortUchar@4__imp__VideoPortReadPortUlong@4__imp__VideoPortReadPortUshort@4__imp__VideoPortReadRegisterUchar@4__imp__VideoPortSetTrappedEmulatorPorts@12__imp__VideoPortSynchronizeExecution@16__imp__VideoPortUnmapMemory@12__imp__VideoPortVerifyAccessRanges@12__imp__VideoPortWritePortBufferUchar@12__imp__VideoPortWritePortBufferUshort@12__imp__VideoPortWritePortUchar@8__imp__VideoPortWritePortUlong@8__imp__VideoPortWritePortUshort@8__imp__VideoPortWriteRegisterBufferUchar@12__imp__VideoPortWriteRegisterUchar@8__imp__VideoPortZeroMemory@8VIDEOPRT_IMPORT_DESCRIPTORNULL_IMPORT_DESCRIPTORVIDEOPRT__imp__NULL__tls_used__load_config_used Device0 ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "Couldn't execute MakeServicesEntry in registry.inf" goto finish_InstallOption endif ifstr(i) $($R0) != STATUS_SUCCESSFUL Debug-Output "MakeServicesEntry failed for video" goto finish_InstallOption endif ; ; ; 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 "Couldn't find DisableServicesEntry in registry.inf" goto errorconfig endif ifstr(i) $($R0) != STATUS_SUCCESSFUL Debug-Output "DisableServices entry failed" endif endif endif endif 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 = + 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) EndForListDo exit [Install-DoCopyOption] ; ; Copy files in the copy list ; CopyFilesInCopyList exit ;************************************************************************** ; PROGRESS GAUGE 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 Cirrus Logic Gd543x "+ "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 = "CIRRUS LOGIC Gd543x VGA DRIVERS" , TAGFILE = disk1 [Files-DisplayDLLs] clvga16 = 1,clvga16.dll , SIZE=999 clblt256 = 1,clblt256.dll , SIZE=999 [Files-DisplayMiniportDrivers] cirrus4m = 1,cirrus4m.sys , SIZE=999  s$*SNPYPREF xnDSYMANTEC ZtATEMP +QuTSCSI rNUTIL Q-VGATESTS VV-WEP ;y.WINDOWS tWINICE +^B--------------------------------------------------------------------- [OptionsTextENG] "ALP640x480x4x60" = "Cirrus Logic Gd543x 640x480, 16 colors 60Hz" "ALP640x480x4x75" = "Cirrus Logic Gd543x 640x480, 16 colors 75Hz" "ALP640x480x8x60" = "Cirrus Logic Gd543x 640x480, 256 colors 60Hz" "ALP640x480x8x75" = "Cirrus Logic Gd543x 640x480, 256 colors 75Hz" "ALP800x600x4x60" = "Cirrus Logic Gd543x 800x600, 16 colors 60Hz" "ALP800x600x4x72" = "Cirrus Logic Gd543x 800x600, 16 colors 72Hz" "ALP800x600x4x75" = "Cirrus Logic Gd543x 800x600, 16 colors 75Hz" "ALP800x600x8x60" = "Cirrus Logic Gd543x 800x600, 256 colors 60Hz" "ALP800x600x8x72" = "Cirrus Logic Gd543x 800x600, 256 colors 72Hz" "ALP800x600x8x75" = "Cirrus Logic Gd543x 800x600, 256 colors 75Hz" "ALP1024x768x4x60" = "Cirrus Logic Gd543x 1024x768, 16 colors 60Hz" "ALP1024x768x4x70" = "Cirrus Logic Gd543x 1024x768, 16 colors 70Hz" "ALP1024x768x4x72" = "Cirrus Logic Gd543x 1024x768, 16 colors 72Hz" "ALP1024x768x4x75" = "Cirrus Logic Gd543x 1024x768, 16 colors 75Hz" "ALP1024x768x8x60" = "Cirrus Logic Gd543x 1024x768, 256 colors 60Hz" "ALP1024x768x8x70" = "Cirrus Logic Gd543x 1024x768, 256 colors 70Hz" "ALP1024x768x8x72" = "Cirrus Logic Gd543x 1024x768, 256 colors 72Hz" "ALP1024x768x8x75" = "Cirrus Logic Gd543x 1024x768, 256 colors 75Hz" "ALP1280x1024x4x60" = "Cirrus Logic Gd543x 1280x1024, 16 colors 60Hz" "ALP1280x1024x4x45I" = "Cirrus Logic Gd543x 1280x1024, 16 colors Interlaced" "ALP1280x1024x8x60" = "Cirrus Logic Gd543x 1280x1024, 256 colors 60Hz" "ALP1280x1024x8x45I" = "Cirrus Logic Gd543x 1280x1024, 256 colors Interlaced" ;--------------------------------------------------------------------------- ; 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) set Status = STATUS_SUCCESSFUL 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 ; ; 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) ; ; Check if the language requested is supported ; set LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) in $(LanguageList) else set Status = STATUS_NOLANGUAGE goto finish_InstallOption endif 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 OptionList = "" ; ; Option has been defined already ; set MiniportDriver = #(Options, $(Option), 1) set BitsPerPel = #(Options, $(Option), 2) set XResolution = #(Options, $(Option), 3) set YResolution = #(Options, $(Option), 4) set VRefresh = #(Options, $(Option), 5) set Interlaced = #(Options, $(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) read-syms ServicesEntry detect ServicesEntry installtheoption = + ; ; Code to add files to copy list ; 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 EndForListDo addfiles = + ifstr(i) $(DoActualCopy) == NO shell "subroutn.inf" DriversExist $($0) $(String1) ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "VIDEO.INF: shelling 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 "VIDEO.INF: User cancelled video installation" goto finish_InstallOption else Debug-Output "VIDEO.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 "VIDEO.INF: shelling 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 "VIDEO.INF: User cancelled asking source." goto finish_InstallOption endif install Install-AddCopyOption ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS" Debug-Output "VIDEO.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 "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 ; ; 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 ParametersValues = { + {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) } + } ifstr(i) $(VRefresh) != "" set VRefreshValue = {DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh)} set ParametersValues = >($(ParametersValues), $(VRefreshValue)) endif ifstr(i) $(Interlaced) != "" set InterlacedValue = {DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced)} set ParametersValues = >($(ParametersValues), $(InterlacedValue)) endif set DeviceValues = {} set EventLogValues = { + {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, + {TypesSupported, 0, $(!REG_VT_DWORD), $(TypesSupported) } + } shell "registry.inf" MakeServicesEntry $(ServiceNode) + $(ServicesValues) + $(ParametersValues) + $(DeviceValues) + $(EventLogValues) + Device0 ifint $($ShellCode) != $(!SHELL_CODE_OK) Debug-Output "Couldn't execute MakeServicesEntry in registry.inf" goto finish_InstallOption endif ifstr(i) $($R0) != STATUS_SUCCESSFUL Debug-Output "MakeServicesEntry failed for video" goto finish_InstallOption endif ; ; ; 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 "Couldn't find DisableServicesEntry in registry.inf" goto errorconfig endif ifstr(i) $($R0) != STATUS_SUCCESSFUL Debug-Output "DisableServices entry failed" endif endif endif endif 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 = + 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) EndForListDo exit [Install-DoCopyOption] ; ; Copy files in the copy list ; CopyFilesInCopyList exit ;************************************************************************** ; PROGRESS GAUGE 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 Cirrus Logic Gd543x "+ "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 = "CIRRUS LOGIC Gd543x VGA DRIVERS" , TAGFILE = disk1 [Files-DisplayDLLs] clvga16 = 1,clvga16.dll , SIZE=999 clblt256 = 1,clblt256.dll , SIZE=999 [Files-DisplayMiniportDrivers] cirrus4m = 1,cirrus4m.sys , SIZE=999 defgijklmnoqrstuvwxyz{|}~# # format for txtsetup.oem. # [Disks] # This section lists all disks in the disk set. d1 = "CIRRUS LOGIC ENHANCED DRIVERS", \disk1, \ [Defaults] # This section lists the default selection for each 'required' # hardware component. display = "ALP640x480x4x60" [display] # This section lists the options available for a particular component. # "ALP640x480x4x60" = "Cirrus Logic Gd543x 640x480, 16 colors 60Hz" , cirrus4m "ALP640x480x4x75" = "Cirrus Logic Gd543x 640x480, 16 colors 75Hz" , cirrus4m "ALP640x480x8x60" = "Cirrus Logic Gd543x 640x480, 256 colors 60Hz" , cirrus4m "ALP640x480x8x75" = "Cirrus Logic Gd543x 640x480, 256 colors 75Hz" , cirrus4m "ALP800x600x4x60" = "Cirrus Logic Gd543x 800x600, 16 colors 60Hz" , cirrus4m "ALP800x600x4x72" = "Cirrus Logic Gd543x 800x600, 16 colors 72Hz" , cirrus4m "ALP800x600x4x75" = "Cirrus Logic Gd543x 800x600, 16 colors 75Hz" , cirrus4m "ALP800x600x8x60" = "Cirrus Logic Gd543x 800x600, 256 colors 60Hz" , cirrus4m "ALP800x600x8x72" = "Cirrus Logic Gd543x 800x600, 256 colors 72Hz" , cirrus4m "ALP800x600x8x75" = "Cirrus Logic Gd543x 800x600, 256 colors 75Hz" , cirrus4m "ALP1024x768x4x60" = "Cirrus Logic Gd543x 1024x768, 16 colors 60Hz" , cirrus4m "ALP1024x768x4x70" = "Cirrus Logic Gd543x 1024x768, 16 colors 70Hz" , cirrus4m "ALP1024x768x4x72" = "Cirrus Logic Gd543x 1024x768, 16 colors 72Hz" , cirrus4m "ALP1024x768x4x75" = "Cirrus Logic Gd543x 1024x768, 16 colors 75Hz" , cirrus4m "ALP1024x768x8x60" = "Cirrus Logic Gd543x 1024x768, 256 colors 60Hz" , cirrus4m "ALP1024x768x8x70" = "Cirrus Logic Gd543x 1024x768, 256 colors 70Hz" , cirrus4m "ALP1024x768x4x72" = "Cirrus Logic Gd543x 1024x768, 256 colors 72Hz" , cirrus4m "ALP1024x768x4x75" = "Cirrus Logic Gd543x 1024x768, 256 colors 75Hz" , cirrus4m "ALP1280x1024x4x45I" = "Cirrus Logic Gd543x 1280x1024, 16 colors Interlaced" , cirrus4m "ALP1280x1024x4x60" = "Cirrus Logic Gd543x 1280x1024, 16 colors 60Hz" , cirrus4m "ALP1280x1024x8x45I" = "Cirrus Logic Gd543x 1280x1024, 256 colors Interlaced" , cirrus4m "ALP1280x1024x8x60" = "Cirrus Logic Gd543x 1280x1024, 256 colors 60Hz" , cirrus4m [Files.display.ALP640x480x4x60] driver = d1,cirrus4m.sys,ALP640x480x4x60 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP640x480x4x75] driver = d1,cirrus4m.sys,ALP640x480x4x75 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP640x480x8x60] driver = d1,cirrus4m.sys,ALP640x480x8x60 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP640x480x8x75] driver = d1,cirrus4m.sys,ALP640x480x8x75 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP800x600x4x60] driver = d1,cirrus4m.sys,ALP800x600x4x60 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP800x600x4x72] driver = d1,cirrus4m.sys,ALP800x600x4x72 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP800x600x4x75] driver = d1,cirrus4m.sys,ALP800x600x4x75 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP800x600x8x60] driver = d1,cirrus4m.sys,ALP800x600x8x60 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP800x600x8x72] driver = d1,cirrus4m.sys,ALP800x600x8x72 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP800x600x8x75] driver = d1,cirrus4m.sys,ALP800x600x8x75 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP1024x768x4x60] driver = d1,cirrus4m.sys,ALP1024x768x4x60 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP1024x768x4x70] driver = d1,cirrus4m.sys,ALP1024x768x4x70 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP1024x768x4x72] driver = d1,cirrus4m.sys,ALP1024x768x4x72 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP1024x768x4x75] driver = d1,cirrus4m.sys,ALP1024x768x4x75 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP1024x768x8x60] driver = d1,cirrus4m.sys,ALP1024x768x8x60 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP1024x768x8x70] driver = d1,cirrus4m.sys,ALP1024x768x8x70 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP1024x768x8x72] driver = d1,cirrus4m.sys,ALP1024x768x8x72 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP1024x768x8x75] driver = d1,cirrus4m.sys,ALP1024x768x8x75 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP1280x1024x4x60] driver = d1,cirrus4m.sys,ALP1280x1024x4x60 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP1280x1024x4x45I] driver = d1,cirrus4m.sys,ALP1280x1024x4x45i dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP1280x1024x8x60] driver = d1,cirrus4m.sys,ALP1280x1024x8x60 dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Files.display.ALP1280x1024x8x45I] driver = d1,cirrus4m.sys,ALP1280x1024x8x45i dll = d1,clvga16.dll dll = d1,clblt256.dll inf = d1,oemsetup.inf [Config.ALP640x480x4x60] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 4 value = Device0, DefaultSettings.XResolution, REG_DWORD, 280 value = Device0, DefaultSettings.YResolution, REG_DWORD, 1e0 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 3c [Config.ALP640x480x4x75] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 4 value = Device0, DefaultSettings.XResolution, REG_DWORD, 280 value = Device0, DefaultSettings.YResolution, REG_DWORD, 1e0 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 4B [Config.ALP640x480x8x60] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 8 value = Device0, DefaultSettings.XResolution, REG_DWORD, 280 value = Device0, DefaultSettings.YResolution, REG_DWORD, 1e0 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 3c [Config.ALP640x480x8x75] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 8 value = Device0, DefaultSettings.XResolution, REG_DWORD, 280 value = Device0, DefaultSettings.YResolution, REG_DWORD, 1e0 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 4B [Config.ALP800x600x4x60] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 4 value = Device0, DefaultSettings.XResolution, REG_DWORD, 320 value = Device0, DefaultSettings.YResolution, REG_DWORD, 258 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 3c [Config.ALP800x600x4x72] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 4 value = Device0, DefaultSettings.XResolution, REG_DWORD, 320 value = Device0, DefaultSettings.YResolution, REG_DWORD, 258 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 48 [Config.ALP800x600x4x75] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 4 value = Device0, DefaultSettings.XResolution, REG_DWORD, 320 value = Device0, DefaultSettings.YResolution, REG_DWORD, 258 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 4B [Config.ALP800x600x8x60] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 8 value = Device0, DefaultSettings.XResolution, REG_DWORD, 320 value = Device0, DefaultSettings.YResolution, REG_DWORD, 258 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 3c [Config.ALP800x600x8x72] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 8 value = Device0, DefaultSettings.XResolution, REG_DWORD, 320 value = Device0, DefaultSettings.YResolution, REG_DWORD, 258 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 48 [Config.ALP800x600x8x75] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 8 value = Device0, DefaultSettings.XResolution, REG_DWORD, 320 value = Device0, DefaultSettings.YResolution, REG_DWORD, 258 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 4B [Config.ALP1024x768x4x60] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 4 value = Device0, DefaultSettings.XResolution, REG_DWORD, 400 value = Device0, DefaultSettings.YResolution, REG_DWORD, 300 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 3c [Config.ALP1024x768x4x70] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 4 value = Device0, DefaultSettings.XResolution, REG_DWORD, 400 value = Device0, DefaultSettings.YResolution, REG_DWORD, 300 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 46 [Config.ALP1024x768x4x72] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 4 value = Device0, DefaultSettings.XResolution, REG_DWORD, 400 value = Device0, DefaultSettings.YResolution, REG_DWORD, 300 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 48 [Config.ALP1024x768x4x75] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 4 value = Device0, DefaultSettings.XResolution, REG_DWORD, 400 value = Device0, DefaultSettings.YResolution, REG_DWORD, 300 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 4B [Config.ALP1024x768x8x60] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 8 value = Device0, DefaultSettings.XResolution, REG_DWORD, 400 value = Device0, DefaultSettings.YResolution, REG_DWORD, 300 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 3c [Config.ALP1024x768x8x70] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 8 value = Device0, DefaultSettings.XResolution, REG_DWORD, 400 value = Device0, DefaultSettings.YResolution, REG_DWORD, 300 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 46 [Config.ALP1024x768x8x72] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 8 value = Device0, DefaultSettings.XResolution, REG_DWORD, 400 value = Device0, DefaultSettings.YResolution, REG_DWORD, 300 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 48 [Config.ALP1024x768x8x75] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 8 value = Device0, DefaultSettings.XResolution, REG_DWORD, 400 value = Device0, DefaultSettings.YResolution, REG_DWORD, 300 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 4B [Config.ALP1280x1024x4x60] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 4 value = Device0, DefaultSettings.XResolution, REG_DWORD, 500 value = Device0, DefaultSettings.YResolution, REG_DWORD, 400 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 3c [Config.ALP1280x1024x4x45i] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 4 value = Device0, DefaultSettings.XResolution, REG_DWORD, 500 value = Device0, DefaultSettings.YResolution, REG_DWORD, 400 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 1 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 2d [Config.ALP1280x1024x8x60] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 8 value = Device0, DefaultSettings.XResolution, REG_DWORD, 500 value = Device0, DefaultSettings.YResolution, REG_DWORD, 400 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 3c [Config.ALP1280x1024x8x45i] value = "", tag, REG_DWORD, 10 value = Device0, VgaCompatible, REG_DWORD, 1 value = Device0, InstalledDisplayDrivers, REG_MULTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 8 value = Device0, DefaultSettings.XResolution, REG_DWORD, 500 value = Device0, DefaultSettings.YResolution, REG_DWORD, 400 value = Device0, DefaultSettings.Interlaced, REG_DWORD, 1 value = Device0, DefaultSettings.VRefresh, REG_DWORD, 2d XTG_AZIPXTP i6XTG_CFG EXE vhiٛXTG_CGA DRV fJkXTG_EDITXTP ficXTG_EGA DRV fKkXTG_FINDXTP fiXTG_FORMXTP fi0XTG_GBMPXTP f&kCXTG_GDRVXTP fOkXTG_GDWGEXE v/kXTG_GGIFXTP f)kCirrus Logic GD543x VGA Drivers CL-GD543X V1.10 Beta Disk 4 of 4S@U`WY[]_a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa   !Aa!!#A%a')+-/1!3A5a79;=?/CAEaGIKMOQ!SAUaesolution, REG_DWORD, 400 val}e = Device0, DefaultSettings.Interlaced, REG_DWORD, 1 value = Device0, DefaultSettings.Vrefresh, REG_DWORD, 2d *IBMPRO COD 0%LASERJETCOD 0%LASERJETPP 0%LICENSE DOC 0% MAKEINDXDOC 0%OAKEINDxEXE 0%PMAKEMAN DOC 0%MAKEMAN EXE 0%MONO CLR 0%>MSWORD KEY 0% OULTI_EDKEY 0% , DefaultSettings.I~terlaced< REG_DWORD, 0 value = Device0, DefaultSettings.VRefresh, REG_DWRD, 3c [Config.ALP1280x1024x8x45i] ~alue = "", tag, REG_DWORD, 10 value = Device0, VgaCompatyle, REG_DWOrD, 1 value = Device0, InstalledDisplayDrivers, REG_MUTI_SZ, clvga16, clblt256 value = Device0, DefaultSettings.BitsPerPel, REG_DWORD, 8 value = Device0, DefautSettings.XResolution, REG_DWORD, 500 value = Device0, DefaultSettings.YRLP><0x480x8x75" = cirr}s4m, 8, 640, 4801@Ip̞ǃǃOAAp̞ǃǃDOAADp̞ǃǃ@LOAA@At̞ǃǃÃODAA (<<<19:> (<<<19:6 (<<<19:> (<<<19:6 0 "ALP1024x768x4x72" = cyrus4m, 4, 1024, 768, 72, 0 "ALP1020, 0 "ALp1020" ? cirrus4m, 4, 1280, 1024< 60, 0 "ALp1280x1024x4x<8LOAADGApp̞DǃGÃOAAD80, 1024, 60, 0 "AP1280x1024x8x45I" = crru0, 0 "ALp1020" ? cirrus4m, 4, 1280, 1024< 60, 0 "ALp1280x1024x4x<8LOAADGApp̞DǃGÃOAAD80, 1024, 60, 0 "AP1280x1024x8x45I" = crru, {clvga16,clb|t2=6}, 1 , %SystemRoot%|Systeo32\ILgMsg.dll , 7 ;--/-----------/-/-?-/-?-----/-?-/-/-/---------------------------------- ; OPTION TExT SECTION ; ---------=---/---?- ; Thee ae text strings usd to ientify the option to the usr. Therg? are separate sgctions for each language suported. The foroat of the ; secty ~aoe is "OtiACό@p202;4:42&039292:21<:4294--=-=---=---=-------------------------------------------------------- [OptionsTextENG] "AP640x480x4x60" = "Cirr}s Lgic GD543x 640x480, 16 colors 60Hz" "ALP640x480x4x?=" = "Cirr}s Logic GD543x 640x480, 16 colors 75Hz" "ALp640x480x8x60" ? "Cirrus Logic GD543x 640x480< 256 colors 60Hz" "ALP640x480x8x75" = "Cirrus Logic GD543x 640x480, 256 colors 75Hz" "ALP800x600x4x60" = "Cirrus Logic GD5<3x 800x600, 16 cOǓp̞ǃǃDO̜O OAǃ, 16 colors 72Hz" "ALP800x600x4x75" = "Cirrus Logic GD543x 800x600, 16 colors 75Hz" "ALP800x600x8x60" = "Cirrus Logic GD543x 800x600, 25> colors >0Hz" "ALP800x600x8x?2" = "Cirrus Logic GD543x 800x>00, 25> colors ?2Hz" "ALP800x>00x8x75" = "Cirrus Logic GD543x 800x600< 256 colors ?=Hz" "ALP1024x768x4x60" = "Cirrus Logic GD5<3x 1024x?68, 1> colors 8Ǔp̞G@ÃGO̜O OAG@@ό 9$= (<<<!9:&7#4x768, 16 c|ors 72Hz" "ALP1024x768x4x75" = "Cirrus Logic GD543x 1024x768, 16 colors 75Hz" "ALP1024x768x8x60" = "Cirru Logic GD543x 1024x7>8, 256 co|s 60Hz" "ALP1024x768x8x70" = "Crrus Logic GD543x 1024x768, 256 colors 70Hz" "ALP1024x768x8x72" = "Cirrus Logic GD543x 1024x768, 256 colors 72Hz" "ALP1024x768x8x75" = "Cirrus Logic GD543x 1024x768, 256 colors 75Hz" "ALP1280x1024x4x60" = "Cirrus Logic GD5<3 1280x1024, 16 colors 60Hz" "ALP1280x1024x SourcDirectory ; $($3): AddCopy (YGS | NO) ; $($4)> DoCopy (YES | NO) ; $($5): DoConfig (YGS | NO) ; ; OUTPuT: $8$R0): STATUS: SATUS_SSFUL | ; SATU_NOLANGUAGE | ; STATUS_USRCCL | ; SATUS_FAILED ; [I~stapppppOωπOppp set S|atws = STATus_FAILGD se| DrivgsTFrge = {} ; ; extract parameters ; se| Optyon = $($1) set Scir = $($2) st AdCy = $($3) set DoCpy ? $($4) set DoConfig = $($5) ; ; Ceck if the language reqested is supported ; st LanguageList = ^(LanguagesSupported, 1) Ifcontains(i) $($0) in $8LapppψppττAAOOz *鯧' #37344/906':422492)943$($0) ; ; chec{ t see yf Option is supprtgd. ;  set OptionList ? ^8Optins, 0) ifcontai~s $(Optyon) in $(OptionList) else g| fi~ysh_Insa||Optio~ endi set OtinList = "" ; ; Option has been defined already ; set Minipor|Driver = #(Options, $(Option), 1) set BitsPerPel = #(Optio~s< $(Optyon)< 2) sgt Xresolwti~ ? #(Otis1ÐABppτ ςOCAӐAqpτπresh = #(Optins, $(Option), 5) set Interlacd = #(Optios, $(Option), 6) set Type = $(#(MiniportDrivers, $(MiniportDrivgr), 1)) st Gop = #(MynipotDrivers, $(MinyportDriver), 2) set GrrorControl = $(#(MiniportDrivers, $(MyniportDriver), 3)) set Tag = #(Mi~ipor|Drivers, $(MiniportDriver), <) se Insta|edDisplays = #(Mi~iportDryvers, $(MiniportDriver)1Bppττ OOCAÐ@ Ƶ