Sure I know that they're not so unmodular when you're
the BIOS developer and have the BIOS source code and toolset etc.
e.g. "award modular bios" is even what they proclaim when it boots.
But that level of modularity is almost useless lacking any OEM
quality control and dedication to improving their products with new
releases until they actually work for all specified features.
After about 5-6 BIOS releases even for popular high end motherboards
the OEM just decides it's not worth the bother and doesn't ever fix
anything else even if there are well understood bugs remaining.
Most motherboard OEMs can't even be bothered to devotedly post
current *DEVICE DRIVER* versions applicable to their boards on
their support websites, so expecting BIOS updates is ...quixotic.
Whereas if a 3rd party like Intel, Silicon Image, Marvell, Promise,
Seagate, Realtek, whatever was empowered to write new
F-CODE or whatever modules for supporting *their products*, there'd
be a better chance they'd do it or they'd look bad instead of just being
able to hand off the blame to the M/B OEM for not fixing the overall BIOS.
And of course if the end user could then apply these modules via
patch updates from the 3rd party support sites, there'd be a much
better / quicker process to improve things.
For instance I've got a DELL PDA that has had exactly *two*
firmware updates *ever* (which includes the WHOLE OS and
ALL the basic applications), and that's from the time it was
top of the line state of the art to when it's end-of-life, no more support
EVER. In the same time period, however, Microsoft has made
DOZENS of patches / updates available to its Windows Mobile OS
for OEMs to publish in new firmware images (the end user CAN'T
modularly apply the patches ala carte), but the OEMs just DON'T BOTHER.
Tons and tons of basic software things just don't work right, or could
work a lot better and never will due to this "it's not my concern"
attitude with the firmware leaving it out of the end user's hands and
out of the actual chipset / application / OS developers hands too.
I have yet to see a decently working ACPI PC without at least
some crippled aspects, and in many cases it'd only take some
TRIVIAL AML script fixes in the BIOS to change something that
crashes on wake-up or fails to suspend to something that actually
*works*. No BIOS code change at all, just ACPI tables; it's never done.
Originally posted by: Peter
Modern BIOSes aren't half as spaghetti and "ad-hoc throwaway" as you appear to think. Modularity exists on a source code level, but not so much on the binary end of it. 3rd party modules, and updates thereof, are also something that has been existing for a long while. (And besides, poor programming can screw up anything. Even more so if it's "easy to do". I said that

)
EFI can do add-on functionality much easier, and on a much bigger scale, owed to the 64-bitness of the environment and standardized APIs for the supported hardware.