*It enables legacy hardware to be removed from the chipset (this isn't happening very fast but things will be better for it).
*USB provides a unified and extendable interface for any device that wants to attach to the system, this reduces the amount of code you need.
Parhaps... but I'm not so sure the standardization is so simple, don't forget you have firewire, which uses, I think, a different protocol...
And what I had been told is that motherboards don't really "want" OS developers to start using the new interfaces (in order to really incentivate them to drop old ones and reduce the amount of code)...
And you won't be simply dropping drivers for legacy hardware (unless you act like NVIDIA, that has recently dropped support for "old" graphic cards from their official driver package), unless you are programming for you only and with no intention of releasing your work... even Linux has support for XT harddisks!
For example often a simple generic USB driver will support a huge range of different devices, which wasn't really in the design spec for PS/2 ports.
Hum... are you telling me I can write a driver that will control any USB-2.0 peripheral created from now on? Doesn't seem possible, but parhaps you are right...
* All the cool kids use USB
That's an invalid argument...
PS: I think that USB mouses and keyboards only exist because it's fashion, seems modern and looks very good to use hight speed ports, instead of old unfashioned ports, for everything... Fortunately, it's not so bad as USB modems...
If you want standard protocols for accessing devices, I think it would be much better to unify all the ports under a standard protocol at chipset level...
JJ