My $.02 -
The typical BIOS is slow because:
1) Video manufacturers like to have their logo hover for a bit. (This is
just while(1) nop;)
2) BIOS Setup likes to pause so users can enter it (once again, no "work"
is done).
3) Devices need minimum spin-up before initialization times.
4) Cache is off and all of memory is tested .
5) Certainly some boards boot at slow speeds or peripherals start at slow
speeds.
6) Some NICs have *&^& BIOSs these days!
On my computer, it is #1, #2, #3 (SCSI), #6, and Windows 2000 that slow me
down...
As for tangled code, I really think that most of it is written cleanly in
modular 8086 assembly. In other words, it's tangled, but they have little
choice! (If you could use 8086 code cleanly, we probably would have
stolen more of it!)
If there were mass-consumer demands, these would all be resolved and this
project would be dead. But there aren't yet, so we're just anticipating
the embedded wave and preparing to either get really rich (private-sector)
or make really big toys (natl. labs).
See you at SC2001 and ALS!
- James