[OpenBIOS] Hard drives, CMOS/VRAM and some general ideas

Alle Metzlar matrix at xs4all.nl
Tue Feb 24 16:01:28 CET 1998


This past weekend I have subscribed to the OpenBIOS mailinglist, and it
took me some time to read all contributions, except for some in the
archive.

Following are my thoughts in this discussion:

CMOS/NVRAM
Older PCs use a CMOS of 64 bytes, newer (486 and up) use 128 bytes. Some
other systems use up to 4K or 8K of CMOS (MCI/EISA).
The first 16 bytes of CMOS are reserved for RTC use:
00h - 09h Time and date fields
0Ah          Status Register A
0Bh          Status Register B
0Ch          Status Register C
0Dh          Status Register D
0Eh          Diagnostic Status Register
0Fh          Shutdown Register
The following 32 bytes are most commonly used for ISA configuration
data, and the last 16 bytes are generally used for BIOS-specific
configuration data, such as Boot sector virus-protection, security, ROM
shadow config, and extended CMOS checksum.
An additional 64 bytes may be available in the Extended CMOS RAM,
incorporated in many chipsets to store advanced config info.
>From space in CMOS RAM 16 bytes less are available.

Hard disk drives
BIOS CHS limits to 1024/255/63, thus supporting up to 8.0325 Gb. IDE CHS
limits to 65,536/16/255, thus supporting up to 130.56 Gb. Thus the
overall limits are 1024/16/63, supporting only up to 504 Mb. A little
resize of storage in BIOS/CMOS would break those limitations, as Microid
Research may have done with its MR BIOS. As far as I know the MR BIOS
has CHS support for 16384/255?/63? (128.52 Gb). It already did in 1990!
I have used a 2 Gb EIDE drive in an old 386DX (1989) ISA machine with an
MR BIOS v1.51, though advanced PIO/DMA modes were not available. Some
sort of translation is used however, but I haven't figured that out. It
isn't LBA according to WD/Phoenix for sure. By the way, MR BIOS supports
installation of 8 hard drives and 4 floppy drives, for some years now,
and you can boot from all of these.

OK, there is the idea of designing an OpenBIOS. Are there any general
ideas on how this OpenBIOS should be designed? Most BIOSses still have
the IBM compatibility, that is compatibility to the older PC and XT
standards, by maintaining a list of vectors to the IBM-compatible vector
(AMI calls this the ROM Compatibility Table, Phoenix calls this COMPAS
or Compatibility Structure). And what about the INTs. As I recall, Intel
reserved 32 ints to be CPU ints. With the 8088 just a few were used, and
IBM began to use all non-used but reserved ints for their PC BIOS, which
means that we now are stuck up with several ints being both BIOS and
Hardware/CPU ints, such as 05h, 10h, 11h, and 12h. Are there any ideas
on this, including some possible work-around?

BIOS should at least consist of three parts: Power-On-Self-Test (test
and initialize various components, and eventually the bootstrap loader),
System BIOS (providing the interface between OS and hardware:
interrupts), and a setup utility (system configuration). The setup util
should be in the BIOS itself, or a special key(combination) should be
available during POST if things go wrong, and you can't access the setup
program on disk. The setup program should be functional, and doesn't
have to have great looks (as the AMI WinBIOS?).

--------------------------------------------------------------------------------------------

Alle Metzlar
Matrix Technologies
P.O. Box 40, NL 1724 ZG Oudkarspel
The Netherlands
Tel: (+31) 226 316889 Fax: (+31) 226 312157
EMail: matrix at xs4all.nl
WWW:   http://www.xs4all.nl/~matrix/  (Matrix Technologies' BIOS Web)
--------------------------------------------------------------------------------------------

Author of:
Het BIOS boekje, Uitg. Pim Oets, ISBN 90-5722-013X
Das BIOS Buch, Franzis' Verlag, ISBN 3-7723-4832-7
Die BIOS CD-ROM, Franzis' Verlag, ISBN 3-7723-8612-1
--------------------------------------------------------------------------------------------


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.sase.de/pipermail/openbios/attachments/19980224/6ce54ce8/attachment.htm


More information about the openbios mailing list