delorie.com/archives/browse.cgi   search  
Mail Archives: opendos/1997/02/13/20:29:59

Date: Thu, 13 Feb 1997 18:58:51 -0600 (CST)
From: "Colin W. Glenn" <cwg01 AT gnofn DOT org>
Reply-To: "Colin W. Glenn" <cwg01 AT gnofn DOT org>
To: "'OpenDOS newsgroup'" <opendos AT mail DOT tacoma DOT net>
Subject: Re: * [opendos] [OpenDOS] All of them nice ideas
In-Reply-To: <330449B5.78E9@blackmagic.tait.co.nz>
Message-ID: <Pine.GSO.3.95.970213182217.16043K-100000@sparkie.gnofn.org>
MIME-Version: 1.0
Sender: owner-opendos AT mail DOT tacoma DOT net

On Fri, 14 Feb 1997, Bill Currie wrote:
> mharris AT blackwidow DOT saultc DOT on DOT ca wrote:
> > On Wed, 12 Feb 1997, yeep wrote:
> > > > > > I read (in the mailing list) that a harddisk can only supprt 4
> > > > > > But is this a hardware limit or a software limit?
> > > > > Hardware.
> > > > SOFTWARE!  MBR Limitation!
> > > Allright...who's right?
> > The BIOS firmware.  The point being that it isn't the OS that
> IMHO, its mostly software and a little hareware.  Hardware dut to the
> sector size (however, there is room in most MBR's for 8-16 partitions).
> Software due to the MBR and all (?) OS's only checking for 4.

This is also serious legacy, tamper with this critical part of the system
and everything after that is null and void.  This is probably one of the
first standards which developed when they decided to add hard disk support
for the _original_ IBM.  And back then, they couldn't even imagine the
wealth of programs and hardware they would spawn with their concept.

I do see a method of tampering with this and preserving the status quo, a
secondary partition envelope which exists on the _second_ sector of the
hard drive.  We may still have only 4 partitions visible to the OS, but
the program which knows it's there could rearrange the real partitions to
whichever ones you want active.  (break out dos programmer's reference,
4th edition, page 216, I quote table 8.1, Hard Disk Partition TE Layout)

byte	field	sample
offset	length	value		meaning (abv)

00h	byte	80h		boot indicator  00=no boot 80h=bootable
01h	byte	01h		starting head
02h	byte	01h		starting sector (bit 0-5)
				(bit 6-7 are bit 8-9 for cylinder)
03h	byte	00h		starting cylinder (low 8)
04h	byte	04h		System ID  (won't detail this)
05h	byte	04h		ending head
06h	byte	51h (11)	ending sector (bit 0-5)
				(bit 6-7 are bit 8-9 for cylinder)
07h	byte	E9h		ending cylinder (low 8)
08h	Dword	00000011h	First partition sector
0Ch	Dword	0000A2A1h	sectors in partition

(end quote)

As you can see, they already envisioned large disks, they just didn't
realize how big they would become.  If you were to max out the fields,
we're talking about a disk having up to 256 heads, 1024 cylinders, with 64
sectors per track.  Where's my calculator!  (actually 63 sectors per
track, that number's zero based, you can't have 0 per track).

8,455,695,864 bytes, someone check my figures.

What I'm pointing out here is that there is no reason for the partitions
to be one against the other in this scheme, you can have gaps, which means
if you have the above sized disk, you could chop it into 16 sections each
about 500 megabytes in size.  You could only have four visible at any time
(as near as I can see), though chopping it up like this would drive FDISK
crazy, though why you'd run FDISK after making this arrangement is beyond
me.





- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019