VOGONS


First post, by stanwebber

User metadata
Rank Member
Rank
Member

https://tldp.org/HOWTO/Large-Disk-HOWTO-4.html

bios development seemed to be consolidated to only a handful of companies. does this list represent the historic convention of workarounds to the problem? or was it the wild west with strategies placing arbitrary limits all over the place and in-between?

i'm curious to know the limit on a pentium p54c laptop with a phoenix bios from probably around 1994-95. it had a factory option for a 810mb hdd (which i have) so it's doing some sort of translation. the bios doesn't explicitly have a hdd autodetect option, but with no cmos battery the laptop complains and reverts to cmos defaults, but the hdd selection comes up custom defined type with the correct c/h/s (almost always). the bios accepts and detects the cyl count well past 1024 so the translation trickery is happening under the hood

i replaced the 810mb hdd (also had sub-512mb hdds) with a cf adapter and obtained 5 1gb cards of 2 different geometries. all work as expected, but i don't have any other cards under 16gb to test where the cutoff point is.

Reply 1 of 5, by Chkcpu

User metadata
Rank Oldbie
Rank
Oldbie

Hi stanwebber,

I would say that this “History of BIOS and IDE limits” catalog is quite comprehensive and found across the board.
I did a similar write-up back in 1999, concentrating on the translating BIOS issue from around 1994-1998.
http://www.steunebrink.info/bioslim.htm

On the AMI and Award BIOS, the LBA assisted translation was introduced in July 1994. I believe the Phoenix BIOS was even a bit earlier, but this was probably only the bit-shifting translation at first.
Anyway, your laptop with a 94/95 Phoenix BIOS clearly has translation support and doesn’t suffer from the 504MB limit.

With translation support your laptop should support up to 8GB IDE drives, the limit of the traditional Interrupt 13h interface. But as you can glean from my article, there were still 2GB and 4GB limits in those days. My article gives some hints on how to detect the CHS boundary conditions of these limits.

To break the 8GB barrier, BIOSes with the Int 13h extensions started to appear in mid-1997. So, your 94/95 BIOS is too old to have these extensions and is limited to 8GB (or less).

Cheers, Jan

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 2 of 5, by chinny22

User metadata
Rank l33t++
Rank
l33t++

For the most part it'll be correct but edge cases do exist.

As an example, this motherboard.
https://theretroweb.com/motherboards/s/micron … lus-09-00229-xx
The onboard VLB IDE can detect 8GB drive but will hang at boot. 6GB works fine.

You also limits that a bios update increases but the motherboard manufacture never releases the update for their specific board. typically OEM companies like Dell, HP etc.
For cases like this, you do have sites like this where the community releases an update
http://wims.rainbow-software.org/nicks/

As Chkcpu said, for your laptop in question your probably looking around 8GB max

Reply 3 of 5, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie

It's worth mentioning that the Award 32GB limit is an exceptionally bad one on that list, since you can't get around it using overlay software alone, by just putting a smaller geometry into the BIOS. You either need a host protected area or capacity limit jumper (which accomplishes the same thing). Or a BIOS update, of course. Usually, when there is a BIOS size limit, you can just use a geometry under the limit and either ignore the extra space, or use overlay software.

Reply 4 of 5, by myne

User metadata
Rank Oldbie
Rank
Oldbie

What are the limitations preventing carefully extracting "the best" code Eg lba48 from a late bios, and grafting it in to an older one?

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 5 of 5, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie

It's possible that it might be easier in Pentium-era and later BIOSes that have a much more structured layout, however, at least for AMI "Color" era: things relevant to disk support are spread throughout the 64K BIOS and there are many things affected: not just the Int13h read/write handler but the Setup program, conventions for how the drive settings are stored in CMOS, any POST tests that try to seek the HDD to the last cylinder and back, and so on. The Int13h handler that has the most changes is squeezed with other code/data just before and just after it, so it isn't room to grow in-place. You'd have to find some unused part of the BIOS and jump there to accommodate the additional code. The memory addresses of the different parts that need changed and of possible "spare" space to add extra code could shift around for every chipset and BIOS version. Trying to debug during development would be difficult as well. Essentially you would be trying to add new functionality to a giant assembly language program without the benefit of the source code, assembler, linker, or debugger.