Actually,
You are sort of right Carl...
IBM did standardize the ISA Architecture, and as you said attempted to keep it proprietary by introducing their own 16/32bit bus known as MCA... On the other hand, EISA began as Compaq's answer to IBM's MCA bus, and followed a similar path of development--with very similar results.
Compaq avoided the two key mistakes that IBM made when they developed EISA. First, they made it compatible with the ISA bus. Second, they opened the design to all manufacturers instead of keeping it proprietary, by forming the non-profit EISA committee to manage the design of the standard.
You are right in the fact that Microsoft did not standardize the architecture of the computer...
Now that being said, let me explain why I say what I say about Microsoft and clarify a couple of things... First all must agree that the first true mouse driven GUI OS was developed by Apple... Second to clarify on where M$ came into the picture, IBM contracted Microsoft to make a GUI based OS (MS-DOS was already out in the mainstream along with alot of other's DR-DOS, QDOS, PC-DOS, etc...)... This GUI was known as Windows (HA!!!)... IBM however decided not to use the design and being IBM, in an attempt to emulate Apple, decided to develop a proprietary OS for their proprietary hardware systems, this became OS/2... Bill Gates realizing the profit potential of his GUI (wasn't an OS) asked IBM if he could have the rights to it... IBM gave them over whole heartedly (if they would not have they would have had to pay Bill for them)... And the rest becomes history...
Now, that being said... What I credit Microsoft with doing is creating the API's that programmers use in order to allow many types of non-proprietary hardware to interface almost seamlessly together... I mean think about it this way, when things were DOS driven until Win95, you had to not only jumper (rather be hard-set or soft-set) your hardware and ensure that not only were you using a non-used IRQ but also in other cases a non-used DMA or Port Address and then if that all worked, you had to load the drivers, if any were created by the manufacturer... Still Win95 was not by any means perfect but it was a step in the right direction, you had the basis of the API's... Now if you look at it from a 2000 or XP perspective it's amazing building a system without setting a single jumper and having windows recognize and install the drivers, if any are needed, for each and every device, and if your device has no drivers windows will load the base API for that device until you load the drivers, if any are needed... It's just amazing...
My couple of Quaters, three nickels, two dimes and four pennies... ;)
:D
-sage-