Mail Archives: opendos/2000/10/30/23:05:47
Hi Joe,
----- Original Message -----
From: "Da Silva, Joe" <Joe DOT daSilva AT emailmetering DOT com>
To: <opendos AT delorie DOT com>
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
- Raw text -