Hi there.
> AFAIK a BIOS, like I said before, is specific for one and only
> one chipset.
Not true: an XT BIOS is specific to a particular combination of
chipset and glue logic, not just the chipset itself. Taking the Tandy
1000 range as an example, they differ from the standard PC range in
using part of system RAM for video RAM, and had special non-standard
glue logic to implement this, but they used the same chipset as many
other 8086 clones of the time. One obvious example is the Tandy 2000
range, which used the same chipset with different glue logic, and the
BIOS's of the two machines were not interchangable...
> And I think the answer is writing a video driver for every
> different type of system.
Linux does this precicely because it is unable to use the BIOS in
protected mode, but the simplest form of video driver is simply to
have the kernel driver use the standard INT 10h routines provided in
all PC compatible BIOS's, and present a standard API for other
programs to use.
Granted, one could add drivers for specific hardware, and have the
kernel routine detect and use it in preference to the BIOS driver if
the relevant driver is present, but I wouldnae see such as a first
choice for getting a working video subsystem...
Whilst we're on the subject, let's enumerate the various different
video subsystems we may need to handle, assuming a genuine XT clone of
some sort:
1. IBM MDA.
2. Hercules MDA.
3. CGA.
4. EGA.
5. MCGA.
6. XGA.
7. VGA.
8. Assorted SVGA modes - how many are there now?
9. Tandy 1000 range.
10. Tandy 2000 range.
11. DEC Rainbow range.
12. Olivetti computers ???
Others, anybody?
Best wishes from Riley.
+----------------------------------------------------------------------+
| There is something frustrating about the quality and speed of Linux |
| development, ie., the quality is too high and the speed is too high, |
| in other words, I can implement this XXXX feature, but I bet someone |
| else has already done so and is just about to release their patch. |
+----------------------------------------------------------------------+
* ftp://ftp.MemAlpha.cx/pub/rhw/Linux
* http://www.MemAlpha.cx/kernel.versions.html