Petr Posted April 20, 2005 Share Posted April 20, 2005 (edited) It may - (or not?) be good idea to add also updated driver with micocode updates for Intel processors. It is very simple patch replacing not so often used microcodes with new ones.UPDATE.SYS is now updated in each service pack for Windows 2000/XP/2003, but was never updated for Windows 98/SE/ME.For processors before P4 Prescott, each microcode update had the size 2000 bytes without header and 2048 with header, and it was specific for every stepping and for every platform (socket).Starting P4 Prescott, some updates are bigger and most updates are intended for all platforms with the same core stepping. It means different handling in the driver. The number of microcodes included in UPDATE.SYS for different windows versions is:Windows 98: 7Windows 98 SE: 27Windows ME: 49Windows 2000 SP4: 81Windows XP SP2: 94Windows 2003 SP1: 101There is only limited space in the current driver so some limitation has to be applied.Updated UPDATE.SYS for Windows 98 SE, version changed to 4.10.2223http://old.winpack.org/nsp_petr/mc/update_sys-w98se.zipContains 26 microcodes for Pentium II, Pentium III and Celeron with cores: Deschutes / Covington / Mendocino / Katmai / Coppermine / Tualatin in Slot 1 and FCPGA-370 packages and for Pentium 4 Willamette and Northwood. No Xeon, EE and mobile processors.Updated UPDATE.SYS for Windows Me, version changed to 4.90.3001http://old.winpack.org/nsp_petr/mc/update_sys-wme.zip48 microcodes, more platforms, also EE, mobile and Pentium M.It is functional in Windows 98 SE too.I've added also one 2048 byte microcode for Pentium 4 Prescott stepping C0, CPUID 0F33, I have not tested whether the code can use the right mask compare of the platform ID or used simlple comparison. It should not be so big problem to prepare patch of the original UPDATE.SYS not to distribute Microsoft code.Microcode updates are also contained in BIOSes (Award BIOSes shows PATCH ID: during boot), but very often they are not up to date. For example Gigabyte has no Northwood D1 microcodes in BIOS for my motherboards (GA-8PE667 Ultra2).The success of the microcode update can be seen either by Intel® Processor Frequency ID Utility:http://www.intel.com/support/processors/tools/frequencyid/but please be sure to use the right version.Version 7.2 (fidenu32.msi), the newest, supports Win98SE to WXP and does NOT support Pentium 4.Version 7.1 (fidenu31.msi), the previous, supports Win98SE to WXP and does support Pentium 4.Version 5.6 was the last version that supported Windows 95 and 98 Gold.New Intel® Processor Identification Utilityhttp://support.intel.com/support/processors/tools/piu/supports the whole Pentium 4 processor family but only on Windows 2000 and XP.Always it is possible to use bootable (DOS) version of these utilities.In the registry, this is how looks successful update from microcode 21 (in BIOS) to 2E by UPDATE.SYS:[HKEY_LOCAL_MACHINE\Hardware\Description\System\CentralProcessor\0]"VendorIdentifier"="GenuineIntel""Identifier"="x86 Family 15 Model 2 Stepping 9""Update Status"=dword:00000000"Update Signature"=hex:00,00,00,00,2e,00,00,00"Previous Update Signature"=hex:00,00,00,00,21,00,00,00I have not found any information about meaning of "Update Status", my observation is the following:[HKEY_LOCAL_MACHINE\Hardware\Description\System\CentralProcessor\0]"VendorIdentifier"="AuthenticAMD""Identifier"="AMD-K6 3D processor""Update Status"=dword:00000001Status 1 seems to mean that the CPU does not support microcode update.[HKEY_LOCAL_MACHINE\Hardware\Description\System\CentralProcessor\0]"VendorIdentifier"="GenuineIntel""Identifier"="x86 Family 15 Model 2 Stepping 7""Update Status"=dword:00000002Status 2 seems to mean that there is no suitable microcode in UPDATE.SYS present.Status 6 can be seen for the second logical CPU for Pentium 4 Hyper-Threading processors. (In WXP, not tested with W98) Edited September 17, 2006 by Petr Link to comment Share on other sites More sharing options...
MDGx Posted April 21, 2005 Share Posted April 21, 2005 Excellent work, Petr. I've added links to iexpress installers [exe] for your drivers:- Windows ME- Windows 98 SERespectively:* Unofficial Windows ME Updated CPU Microcode UPDATE.SYS 4.90.3001 Fixincludes most current Intel CPUs:http://www.msfn.org/board/?showtopic=44388Direct download [190 KB, English]:http://www.mdgx.com/files/MEUPDSYS.EXE* Unofficial Windows 98 SE Updated CPU Microcode UPDATE.SYS 4.10.2223 Fixincludes most current Intel CPUs:http://www.msfn.org/board/?showtopic=44388Direct download [100 KB, English]:http://www.mdgx.com/files/98UPDSYS.EXEI'm also going to add the WinME driver to 98SE2ME.Thanks. Link to comment Share on other sites More sharing options...
Gape Posted April 21, 2005 Share Posted April 21, 2005 It may - (or not?) be good idea to add also updated driver with micocode updates for Intel processors. It is very simple patch replacing not so often used microcodes with new ones.Windows 98: 7Windows 98 SE: 27Windows ME: 49Windows 2000 SP4: 81Windows XP SP2: 94Windows 2003 SP1: 101There is only limited space in the current driver so some limitation has to be applied.Updated UPDATE.SYS for Windows 98 SE, version changed to 4.10.2223http://www.code.cz/x/update_sys-w98se.zipContains 26 microcodes for Pentium II, Pentium III and Celeron with cores: Deschutes / Covington / Mendocino / Katmai / Coppermine / Tualatin in Slot 1 and FCPGA-370 packages and for Pentium 4 Willamette and Northwood. No Xeon, EE and mobile processors.<{POST_SNAPBACK}>Petr, that's excellent work, Thanks! I think I'll add this work into the SP.I have a question. To add new microcodes into UPDATE.SYS, which old microcodes are removed/replaced? Link to comment Share on other sites More sharing options...
Petr Posted April 21, 2005 Author Share Posted April 21, 2005 I have a question. To add new microcodes into UPDATE.SYS, which old microcodes are removed/replaced?<{POST_SNAPBACK}>I can be seen in properties of the file. Original UPDATE.SYS:1632-0,2,611-0,b27,612-0,c6,616-0,c6,617-0,c6,619-0,d2,633-0,36,634-0,37,650-4,19,650-20,2e,650-80,2f,650-1,32,651-1,30,652-1,14,652-8,15,652-4,29,652-2,8,653-1,1,653-4,4,660-1,4,665-10,1,66a-2,3,66a-8,7,66a-20,6,671-4,14,672-4,21,672-1,4Modified UPDATE.SYS:650-1,40,651-1,40,652-1,2a,653-1,10,660-1,a,665-10,3,672-1,10,673-1,e,681-1,d,681-10,11,683-1,13,683-10,14,686-1,7,686-10,8,68a-10,1,6b1-10,1c,6b4-10,1,f07-1,12,f0a-1,13,f0a-4,14,f12-1,2d,f12-4,2e,f13-4,5,f24-4,1e,f27-4,37,f29-4,2e,f33-d,b (CPUID-Platform,revision)Or, in more detail form:Original UPDATE.SYS:1632 0 2 10.6.1998 Pentium II OverDrive Processor PGA611 0 b27 18.12.1996 Pentium Pro Processor B0 CPGA612 0 c6 10.12.1996 Pentium Pro Processor C0 CPGA616 0 c6 10.12.1996 Pentium Pro Processor sA0 CPGA617 0 c6 10.12.1996 Pentium Pro Processor sA1 CPGA619 0 d2 18.2.1998 Pentium Pro Processor sB1 CPGA633 0 36 23.9.1998 Pentium II Processor (?) Klamath C0 PGA (?)634 0 37 23.9.1998 Pentium II Processor (?) Klamath C1 PGA (?)650 1 32 10.6.1998 Pentium II / Celeron Processor Deschutes / Covington dA0 SECC / SEPP650 4 19 12.12.1997 Pentium II Xeon Processor (?) Deschutes dA0 SECC (?)650 20 2e 11.2.1998 Mobile Pentium II Processor (?) Deschutes dA0 Micro-PGA1 (?)650 80 2f 11.2.1998 ?????????????????????????????? Deschutes dA0 ??????????????651 1 30 10.6.1998 Pentium II / Celeron Processor Deschutes / Covington dA0 SECC/SECC2 / SEPP652 1 14 10.6.1998 Pentium II Processor Deschutes dB0 SECC/SECC2652 2 08 8.4.1998 Mobile Pentium II Processor (?) Deschutes dB0 Mini-Cartridge652 4 29 16.9.1998 Pentium II Xeon Processor Drake B0 SECC652 8 15 10.6.1998 Mobile Pentium II Processor (?) Deschutes dB0 MMC1/MMC2 (?)653 1 01 14.10.1998 Pentium II Processor Deschutes dB1 SECC/SECC2653 4 04 29.7.1998 Pentium II Xeon Processor Drake B1 SECC660 1 04 5.6.1998 Intel Celeron Processor Mendocino mA0 SEPP665 10 01 27.8.1998 Intel Celeron Processor Mendocino mB0 PPGA66a 2 03 5.8.1998 Mobile Pentium II Processor mdxA0 Mini-Cartridge66a 8 07 26.2.1999 Mobile Pentium II / Celeron Processor mdbA0 MMC1/MMC266a 20 06 19.8.1998 Mobile Pentium II / Celeron Processor mdpA0 Micro-PGA1671 4 14 11.8.1998 ?????????????????????????????? SECC (?)672 1 04 29.10.1998 Pentium III Processor Katmai kB0 SECC2672 4 21 30.10.1998 Pentium III Xeon Processor Tanner B0 SECC, SECC330Modified UPDATE.SYS:650 1 40 25.5.1999 Pentium II / Celeron Processor Deschutes / Covington dA0 SECC / SEPP651 1 40 25.5.1999 Pentium II / Celeron Processor Deschutes / Covington dA0 SECC/SECC2 / SEPP652 1 2a 12.5.1999 Pentium II Processor Deschutes dB0 SECC/SECC2653 1 10 28.6.1999 Pentium II Processor Deschutes dB1 SECC/SECC2660 1 a 5.5.1999 Intel Celeron Processor Mendocino mA0 SEPP665 10 3 5.5.1999 Intel Celeron Processor Mendocino mB0 PPGA672 1 10 22.9.1999 Pentium III Processor Katmai kB0 SECC2673 1 e 10.9.1999 Pentium III Processor Katmai kC0 SECC2681 1 d 21.9.1999 Pentium III Processor Coppermine cA2 SECC/SECC2681 10 11 21.9.1999 Pentium III Processor Coppermine cA2 FC-PGA683 1 13 6.2.2001 Pentium III Processor Coppermine cB0 SECC2683 10 14 6.2.2001 Pentium III / Celeron Processor Coppermine cB0 FC-PGA / PPGA686 1 7 5.5.2000 Pentium III Processor Coppermine cC0 SECC2686 10 8 5.5.2000 Pentium III / Celeron Processor Coppermine cC0 FC-PGA / PPGA68a 10 1 2.11.2000 Pentium III / Celeron Processor Coppermine cD0 FC-PGA / PPGA6b1 10 1c 15.2.2001 Pentium III / Celeron Processor Tualatin tA1 PPGA-3706b4 10 1 10.1.2002 Pentium III / Celeron Processor Tualatin tB1 PPGA-370f07 1 12 16.7.2002 Pentium 4 Processor Willamette B2 PPGA-423 INT2f0a 1 13 16.7.2002 Pentium 4 Processor Willamette C1 PPGA-423 INT2f0a 4 14 16.7.2002 Pentium 4 Processor Willamette C1 PPGA-478 FC-PGA2f12 1 2d 2.5.2003 Pentium 4 Processor Willamette D0 PPGA-423 INT2f12 4 2e 2.5.2003 Pentium 4 Processor Willamette D0 PPGA-478 FC-PGA2f13 4 5 8.5.2003 Pentium 4 / Celeron Processor Willamette E0 PPGA-478 FC-PGA2f24 4 1e 5.6.2003 Pentium 4 Processor Northwood B0 PPGA-478f27 4 37 4.6.2003 Pentium 4 / Celeron Processor Northwood C1 PPGA-478f29 4 2e 11.8.2004 Pentium 4 / Celeron Processor Northwood D1 PPGA-478f33 d b 12.5.2004 Pentium 4 / Celeron Processor Prescott C0 AllOr you can display microcodes yourself by using ctmc utility ftp://ftp.heise.de/pub/ct/ctsi/ctmc10.zip - just type "ctmc update.sys". Warning - ctmc utility does not support long filenames and does not work under WinXP. It also supports 2048 byte microcode only.Petr Link to comment Share on other sites More sharing options...
Gape Posted April 21, 2005 Share Posted April 21, 2005 Thanks Petr!Are these microcodes for only Intel processors?I think Xeon / Pentium Pro microcodes are useless for Windows 98 / ME, they can be replaced. But what about "Mobile Pentium II" microcodes? Still lots of users have old Pentium II laptops with Windows 98. Link to comment Share on other sites More sharing options...
Petr Posted April 21, 2005 Author Share Posted April 21, 2005 Thanks Petr!Are these microcodes for only Intel processors?I think Xeon / Pentium Pro microcodes are useless for Windows 98 / ME, they can be replaced. But what about "Mobile Pentium II" microcodes? Still lots of users have old Pentium II laptops with Windows 98.<{POST_SNAPBACK}>Then suggest another microcode to remove. It's no problem to change it. Or to use UPDATE.SYS from ME (I know, not for SESP).I has to be noticed that the microcode update is done by the BIOS too, and UPDATE.SYS will replace the microcode only if it has newer than is in the BIOS.I have no expericence with notebooks so I don't know if they have microcode support up to date or not. I do have experience with Gigabyte desktop boards with 440BX chipset, and only latest Coppermine P III processors does not have the latest version in one model.Petr Link to comment Share on other sites More sharing options...
Petr Posted April 21, 2005 Author Share Posted April 21, 2005 Are these microcodes for only Intel processors?<{POST_SNAPBACK}>I forgot to reply - UPDATE.SYS supports Intel processors only.Petr Link to comment Share on other sites More sharing options...
Gape Posted April 21, 2005 Share Posted April 21, 2005 I forgot to reply - UPDATE.SYS supports Intel processors only.<{POST_SNAPBACK}>Why UPDATE.SYS size doesn't match with the original?Your UPDATE.SYS: 60,576 bytes.Original UPDATE.SYS: 60, 592 bytes.Do you know any good free patching program (supports silent patching)? Link to comment Share on other sites More sharing options...
Petr Posted April 21, 2005 Author Share Posted April 21, 2005 Why UPDATE.SYS size doesn't match with the original?Your UPDATE.SYS: 60,576 bytes.Original UPDATE.SYS: 60, 592 bytes.Do you know any good free patching program (supports silent patching)?<{POST_SNAPBACK}>Because the version information was also edited - especially DataVersion filed. It could be possible to prepare file with equal size if you wish - but the list will not be perfect.I know no suitable patching program but I believe it sure exists. 20 years ago I wrote something similar in 8080 assembler for CP/M-80 :-) and it was very simple. With current development tools such a single purpose patcher can be written within one hour by experienced programmer I believe.Regards,Petr Link to comment Share on other sites More sharing options...
eidenk Posted April 21, 2005 Share Posted April 21, 2005 This utility is used for patching files. First you (or somebody else) must create a .pth patch script or .exe minipatcher by comparing two files (old and new one) and then anybody who has the old file can patch it by using the patcher with the patch script or a standalone minipatcher.crayzee's patcherI don't know if it's good but it seems to do what you are after. Link to comment Share on other sites More sharing options...
Petr Posted April 21, 2005 Author Share Posted April 21, 2005 (edited) Why UPDATE.SYS size doesn't match with the original?Your UPDATE.SYS: 60,576 bytes.Original UPDATE.SYS: 60, 592 bytes.<{POST_SNAPBACK}>So I have prepared new patched file by hex editor only, not by Restorator, i.e. it has equal size and the difference is just in microcodes and in the version info data.Here it is:update_sys-w98se-same_size.zipI don't know if there are some checksums in the header but the driver works as it is.Petr Edited September 17, 2006 by Petr Link to comment Share on other sites More sharing options...
erpdude8 Posted April 27, 2005 Share Posted April 27, 2005 The success of the microcode update can be seen either by Intel® Processor Frequency ID Utility:http://www.intel.com/support/processors/tools/frequencyid/but please be sure to use the right version.Version 7.2 (fidenu32.msi), the newest, supports Win98SE to WXP and does NOT support Pentium 4.Version 7.1 (fidenu31.msi), the previous, supports Win98SE to WXP and does support Pentium 4.Version 5.6 was the last version that supported Windows 95 and 98 Gold.New Intel® Processor Identification Utilityhttp://support.intel.com/support/processors/tools/piu/supports the whole Pentium 4 processor family but only on Windows 2000 and XP.Always it is possible to use bootable (DOS) version of these utilities.<{POST_SNAPBACK}>Intel ONLY offers the LATEST release of the Intel® Processor Frequency ID Utility which is version 7.2. So you won't be able to find any previous versions of the utility there.If you need version 7.1 of that tool go to this page:http://www.msfn.org/comments.php?shownews=9020As for Win95 support, versions of Intel® Processor Frequency ID Utility starting from version 4.5 (not 5.6) no longer support Win95 as stated in Intel's support page:http://support.intel.com/support/processor...b/CS-007636.htmAlso no longer available from Intel.If you want to use much older versions of Intel® Processor Frequency ID Utility in Win95/98 you'll have to do a search on them at some search sites if you're lucky enough to find them.At least the bootable version of the tool is available at the Intel web site. Link to comment Share on other sites More sharing options...
Petr Posted April 27, 2005 Author Share Posted April 27, 2005 If you need version 7.1 of that tool go to this page:http://www.msfn.org/comments.php?shownews=9020orftp://aiedownload.intel.com/df-support/3084/eng/fidenu31.msiAs for Win95 support, versions of Intel® Processor Frequency ID Utility starting from version 4.5 (not 5.6) no longer support Win95 as stated in Intel's support page:http://support.intel.com/support/processor...b/CS-007636.htmAlso no longer available from Intel.It seems you are right with Windows 95. I have no system to test it.I use version 5.6 and it works fine on Windows 98 Standard Edition. I quote from the readme.txt file:2. Supported Operating Systems===============================The Intel Processor Frequency ID Utility v5.6 - Windows version supports the following Microsoft* operating systems: Windows 98 (all versions) Windows ME (all versions) Windows 2000 Professional/Server/Advanced Server (all service packs) Windows XP Home/Professional (all service packs)Version 5.6 is here for download:ftp://aiedownload.intel.com/df-support/3084/eng/fidenu25.exeVersion 4.5 suitable for Windows 95 is here:ftp://aiedownload.intel.com/df-support/3084/eng/fidenu19.exeIf you want to use much older versions of Intel® Processor Frequency ID Utility in Win95/98 you'll have to do a search on them at some search sites if you're lucky enough to find them.No, all of them are here: ftp://aiedownload.intel.com/df-support/3084/eng/At least the bootable version of the tool is available at the Intel web site.<{POST_SNAPBACK}>Regards,Petr Link to comment Share on other sites More sharing options...
erpdude8 Posted April 27, 2005 Share Posted April 27, 2005 Found version 5.6 of Intel Processor Frequency ID Utility here:ftp://aiedownload.intel.com/df-support/3084/eng/fidenu25.exeLast version to work under Win98 Gold [1st edition]. Version 6 & higher require Win98 SE.And for those using the very obsolete Win95 OS, one could try version 4.0 found here:ftp://aiedownload.intel.com/df-support/3084/eng/fidenu18.exeThe next release after 4.0 is 4.5 which dropped Win95 support.It's just that intel doesn't seem to mention the old versions anymore at their site. Link to comment Share on other sites More sharing options...
erpdude8 Posted May 21, 2005 Share Posted May 21, 2005 I've been thinking Petr, how 'bout modifying or updating the update.sys file from Win98 first edition-gold to support or recognize Pentium 3 and Pentium 4 processors. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now