Date: Thu, 13 Feb 1997 18:58:51 -0600 (CST) From: "Colin W. Glenn" Reply-To: "Colin W. Glenn" To: "'OpenDOS newsgroup'" Subject: Re: * [opendos] [OpenDOS] All of them nice ideas In-Reply-To: <330449B5.78E9@blackmagic.tait.co.nz> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-opendos AT mail DOT tacoma DOT net Precedence: bulk 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.