Brendan wrote:
Doh - sorry, I must've mis-counted. ::)
That's ok, happens to me all the time.
I just wish there was a "15 year rule", where any bad hardware descisions from 15 years or more ago is dropped from the architecture. That way would could get rid of ISA, the ISA holes and A20 gate completely (and possibly even get rid of the PIC, floppy drive controller and ISA DMA chips too).
I can imagine someone in the year 3006 trying to explain why the A20 gate, etc still exists...
I'm designing my OS for purely new technology that'll be common in some 5-10 years for most computers. That way, you plain ignore the old quirky stuff. Add to that a boot loader that abstracts this odd stuff to a normal layer and you've reduced the OS creation story to a short one.
Hardware items I'm going to support directly:
AC97 audio
not decided on video yet, probably one ATI and one Nvidia driver (no intel, don't have any computers with intel video cards and they don't make chipsets for amd processors)
Realtek 8139/8169 network (responsible for a large portion of network cards, and if you don't have one they're cheap as chips)
AMD64 only (so everything can be handled the exact way I want it to, such as the IST handling etc.)
USB keyboard and mouse (no ps2, no quirky stuff)
USB storage (SCSI RBC and ATAPI), harddisks and ATAPI devices (mainly cdrom/dvdrom etc).
That should be the full list. Note that it doesn't include any really legacy hardware. It is a list that pretty much describes a new computer as bought by the average consumer, which is what I'll be aiming for to have a released OS for in 2010.
In short, make your own limit what you won't support, because the legacy old stuff will only become older and more legacy.