Some senseless babbling from Mike Fritz to Mike Ruskai
on 10 May 98 18:15:00 about 6.4 gig EIDE...
MR> MF> I've thought of that. Since my BIOS is dated December `95, then
he
MR> MF> LBA must be some earlier form of it. Perhaps it doesn't actually
MR> MF> "show" what it translated the drive to. So I may just as well be
MR> MF> setup for less than 1024 cyls, but I can't see it. But why is it
that
MR> MF> if I have my OS/2 bootable partition past 2 gigs, it won't boot?
MR>
MR> That suggest that you have only two levels (for lack of a better
MR> word) of translation, which cuts the number of cylinders that the
MR> BIOS sees to one quarter the physical value. That would make the
MR> 2GB mark right around 1040 cylinders, so that you'd be able to make
MR> your boot partition up to slightly less than 2GB.
MF> While booting, my 506 OS/2 drivers show 16 heads, 782 cyls, -1 heads.
MF> I don't know how you figure that my 2gig mark at 1040, but for my
MF> setup, things are working out just fine for me, now. So I'm not
MF> worried at all, just curious, just wait until I upgrade to a Pentium
MF> class computer. This question may be off topic, but while we're on
MF> the subject: I heard that if I upgrade my computer, my new motherboard
MF> may use a different translation, which mean I'll have to reformat my
MF> drive, is this so?
If you change translation, you will have to repartition the drive. But
translation is standard - you just keep doubling the number of heads until
the cylinder value is low enough (up to 256 heads). The BIOS will let you
choose how many times to do that, so you can keep your data as is.
Since you seem to be in the dark a bit about translation, I'll give you
some general info.
There are several things which determine how much space a hard drive has.
Starting from the bottom up, it's bytes per sector, sectors per track,
cylinders (same as track), and heads.
All IDE drives made today (and all SCSI drives I know of) use 512 byte
sectors. The IDE drives seem to all have 63 sectors per track these days,
and 16 heads. What differs is the number of cylinders (which varies due to
track spacing and the number of platters). As an example, we'll use the
drives that used to be king of the hill 5 years ago - 515MB drives, sold as
540MB by the drive makers (they define MB as one million bytes, while
everyone else in computers defines it as 20 bytes).
When you multiply all these values together, you arrive at the number of
bytes.
So, for the 515MB drive, we have:
512 bytes per sector
63 sectors per track
16 heads
1048 cylinders
512*63*16*1048 = 540,868,608 bytes = 528,192 kilobytes = 515.8 megabytes
The problem is that the PC's BIOS only maintains 10 bits to address the
cylinder when seeking the sector in question. That leaves room for only
1024 cylinders. To change this would invalidate every operating system for
the PC that uses the BIOS for disk I/O.
IDE also has a limitation of 16 heads. Then WD came out with EIDE (known
by various other names as well), which supported more heads, to allow
translation.
In the case of the 515MB drive, doubling the heads to 32 allows you to
halve the cylinders to 524, which the BIOS can address. The translating
BIOS fudges the calls that the BIOS makes, converting the fake
head/cylinder combination into the actual head/cylinder combination.
Without any translation, the maximum BIOS-addressable space is 504MB.
Now, let's consider a 1.5GB drive (sold as 1.6GB), which has 3148 cylinders
(everything else is the same).
Doubling the heads and halving the cylinders still leaves 1574 cylinders.
Since their are 32 artificial heads, however, we can create a
BIOS-addressable partition of 1GB. To make the whole driver
BIOS-addressable, we have to double the heads again to 64, which leaves the
cylinders at 787.
Now, the reason I speculated that you had two-level translation is because
when you double the heads twice to 64, you have a maximum BIOS-addressable
disk size of 512(bytes/sector)*63(sec/track)*64(heads)*1024(cyl), which
comes out to a bit less than 2GB.
So, if you couldn't boot on a partition 2GB or larger, the most likely
reason is that you had two-level translation.
See, if you do two-level translation on a 6GB drive (sold as 6.4GB), you
end up with over 3000 virtual cylinders (out of somewhere around 12,500).
The meaning of 782 on your bootup screen depends on which column it's in.
If I recall correctly, it shows all possible modes that the drive can have,
as well as the one it is in.
Even if you did have maximum translation on (four levels, all the way to
256 heads), any FAT partitions would be restricted to 2GB in size,
regardless of placement.
I don't know how 12GB+ drives function. There must be either an additional
translation parameter, or mandatory multiple partitions (OS/2 can work
without any translation on any drive, provided it has a boot partition
within 1024 cylinders).
Mike Ruskai SA/AG #1106
thanny@home.com
... Microsoft Windows... DOS with a mouse pointer.
--- Renegade v05-11 Exp
---------------
* Origin: The Licking Factory, OS/2 in NJ! (732)815-3146 (1:107/634)
|