Hi Aitor,

> Eric Auer escribió:
> > PS: If MS DOS allows you to access a drive which is bigger than
> > the reachable range of your BIOS then MS DOS has a bug. It should
> > ONLY allow you to access drive letters (partitions) on your harddisk
> > which are ENTIRELY inside the reachable-by-BIOS range (usually at
> > least 504 MB even for old BIOSes).
> 
> Why? If it behaves nicely with data stored beyond BIOS range then it 
> seems it's doing well...

I once (ages ago when I was using MS DOS) lost a FAT because
the access did just wrap around from the last to the first
cylinder. So access beyond the officially available range
must ONLY be activated if the user KNOWS that the BIOS has a
bug in REPORTING the size but supports ACCESSING data even
beyond the supported size...

My point is: There ARE BIOSes which actually support access to
1024 cylinders or to 2^28 LBA sectors or even 2^32 LBA sectors
but which have a BUG which prevents them from reporting that.
For SUCH BIOSes it would be very nice to have a SYS CONFIG option
which allows bypassing of the limits!

In particular, loading UDMA2 from DOS can be used to access 2^32
LBA sectors EVEN if the BIOS supports less than that! So the SYS
CONFIG option that I suggest would allow DOS to accept partitions
which overlap the BIOS-accessible range as long as the USER makes
sure to load UDMA2 before crossing the range (e.g. load UDAM2 from
C: which is entirely in range before accessing D: which reaches
beyond the BIOS-accessible range). Note that FreeDOS cannot detect
partitions whose partition information is out of range itself (i.e.
which are ext. partitions which START beyond the range) because
the partition table scan is only done at boot time.

So the logics would be: The bypass-limits option disables the CHS
max cylinder number check completely, and allows LBA partition
ENDs to be beyond the BIOS-reported LBA size of the disk. It would
be a question of testing whether there are BIOSes which actually
SUPPORT access beyond the reported LBA size even without the need
to load UDMA2. I think many BIOSes WILL support such acces for up
to 2^28 (2^24?) sectors, yet another thing which could make the
bypass-limits option more effective.

What I have in mind are in particular BIOSes for which you have
to force fixed CHS geometries because they would crash in their
CHS setup for LBA disks bigger than 32 GB. For those, you know
that the LBA size is bigger, but the BIOS must not know it, so the
BIOS must believe that the disk is smaller. DOS itself will later
use LBA instead of CHS anyway, so bypass-limits would be a very
nice solution for such BIOSes.

What I have in mind for the bypass-CHS-limits part of the story
are BIOSes for which you have to pick one of a fixed set of geometries
due to CMOS setup limitations, while you can actually use up to 1024
cylinders under that geometry without problems.

Eric



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to