TIP: Click on subject to list as thread! ANSI
echo: os2
to: MIKE FRITZ
from: MIKE RUSKAI
date: 1998-05-12 15:47:00
subject: 6.4 gig EIDE

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)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.