X-Apparently-From: Message-ID: <011201c042dd$32e09ac0$3d1e0404@dbcooper> From: "Patrick Moran" To: References: <67BAFB085CD7D21190B80090273F74A45B7D0B AT emwatent02 DOT meters DOT com DOT au> Subject: Re: 1024 cylinder limit; anti-bloat (was DRDOS FDISK) Date: Mon, 30 Oct 2000 17:44:53 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.3018.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.3018.1300 Reply-To: opendos AT delorie DOT com Hi Joe, ----- Original Message ----- From: "Da Silva, Joe" To: Sent: Sunday, October 29, 2000 11:40 PM Subject: RE: 1024 cylinder limit; anti-bloat (was DRDOS FDISK) > [da Silva, Joe] > > Actually, it's not the drive that lies to the BIOS (well, it does > that too, > but that's a different story), it's the BIOS that lies to the O/S. > For recent > BIOSes, when you select either Extended (IIRC) CHS, or LBA settings, > what you are saying is for the BIOS to translate O/S (Int 13) CHS > parameters to/from either the Extended CHS or LBA parameters of the > drive. For older BIOSes, you need to load a sort of patch to the > BIOS, > in the MBR, using Disk Manager or equivalent. This allows the O/S to > break the 504M limit (to 8G), while still operating within the Int > 13 limit > of 1024 cylinders. I don't know for sure, but I think the current > versions > of Disk Manager also add Extended-Int13 services to the BIOS to > break > the 8G limit (for suitable O/S only, eg. M$DOS 7.10). I don't remember the exact details and would have to dig out those old IBM manuals that has all the BIOS info, but the BIOS is where the 1024 cylider limit is. When IBM wrote the BIOS they only allowed 10 bits for the number of cylinders. They only had so many bits for the number of sectors and only had so many for the number of heads. nerwer BIOSes have a work around for these linits. I have no idea why IBM would want to save a couple of bytes in the BIOS to force these limits. I just don't think thay had any idea of just how big hard drives could get. After all in 1980 when they were writing the BIOS, HDD were mostly 5MB-10MB. But I would have thought the would have used two full bytes for the number of cylinders and one full byte for the number of heads and another byte for the number of sectors, even though this would be physically impossible. But they only save two bytes of code they way they did it. They had 32KB to work with and did not use it all anyway. (Actually they had 64kb to work with but chose to use 32kb for BIOS and 8kb for BASIC in ROM. They srill had 24kb to work with if they really needed to.) IBM had the whole area from F0000-FFFFF reserved. Someplace I have the whole map of what IBM had selected for the upper memory usage. A0000-AFFFF was reserved, and B0000-BFFFF was reserved for video. (MDA and CGA.) later VGA used the A0000-AFFFF which had already been reserved. C0000-EFFFF was to be used by peripheral cards and open for useage. > As for using M$DOS 3.3 to avoid bloat, I would recommend instead, > DR-DOS 6. This gives you partitions of up to 2G (instead of just > 32M), > has reasonable memory support (note - it's EMM386 has very *good* > compatibility with app's :-), yet has nice, compact executables. I would highly recommend it for small systems with limited resources. DRDOS 5.0 would be well suited for 286 and 8088/86 systems. Some 286 systems could use expanded memory and 5.0 had a memory manger for them as well. Pat _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com