.StartsWith ( "Windows 9" )

Microsoft Windows NT 4.0 ran into a bit of a snag with "family 8."  For those not schooled in the ways of binary, the decimal number 8 is "1000" in binary.  That's four binary digits . . . four bits.
Four bits.  Remember that, because it's important.
When Windows NT 4.0 and its six service packs were released, the largest CPU family code was 6. That's "110" in binary . . . only three bits.  So the NT code only looks at the first three bits of the CPU family when configuring the system.
If you haven't figured it out by now, the first three bits of 8 are zero, zero and, you guessed it, zero.  Windows NT goes wacko when it sees a CPU family zero.  Serious wacko.  Jack with an axe at the end of The Shining wacko.
Since Windows 2000 wasn't in wide release at the time, and Intel wanted to avoid this tech support issue, the family code had to be changed to avoid a conflict with Windows NT.
So now the family code for the Pentium 4 is 15,  or "1111" in binary,  so the first three bits look like 'CPU family 7' to Windows NT.  Of course, this wasn't revealed to software developers outside of a non-disclosure agreement ( NDA ) till the official release of the Pentium 4.

Truth is hard. A story originally published oneWednesday, 20 December 2000; that you can fully read here.

Via Jeff Atwood.
Newer Post Older Post Home