Log in

View Full Version : MSDOS 7 and 48 BIT LBA


FFFFFF
December 9th, 2005, 10:44
possible off topic but that is a possible good challenge :

i search to run on MS DOS7 ( or Win98 safe mode ) with large drives > 137 Go

i think that is possible because i have found a clone DOS : FreeDOS running fine , but FreeDOS is not compatible with WIN98

sure that is an old OS ... i am stupid to use this but why not ?

thanks for infos

6 * F

** i have read many litterature on 48-BITLBA .... !!

LLXX
December 9th, 2005, 19:30
MS-DOS 7 kernal should work fine with drives up to 2 Tera since it supports FAT32 and internally uses 32-bit Linear Sector Numbers. It does not directly access the hardware, it does so through BIOS calls. If extended Int13 which uses 48bitLBA is supported by the BIOS then DOS 7 will work with it.

Win98 uses ESDI_506.PDR to access the hardware directly. The original file uses the standard 28-bit LBA command set, resulting in any attempts to read/write over that limit wrapping around to the beginning of the disk and inflicting serious corruption in the superblock and FAT. Reversing and patching it to issue the new 48-bit commands and padding the internal 32-bit LSNs with 2 extra nulls shouldn't be too difficult.

I'd also like to mention that there is a commercial patch of that file by someone of the name Loew; it can be located by Googling "loew lba"

The free demo version patches in an artificial 145Gb limit, but I'm sure that that can be easily overcome seeing the intent of this forum

Woodmann
December 9th, 2005, 19:46
http://hometown.aol.com/rloew1/Programs/Patch137.htm ("http://hometown.aol.com/rloew1/Programs/Patch137.htm")

I am not so sure that this will be as easy as a simple patch.
I would think a dual boot setup might be better.

Why do you need DOS 7 ??

Woodmann

LLXX
December 10th, 2005, 03:41
Very detailed information on the patching is here:
http://www.msfn.org/board/?showtopic=46752

I myself still use DOS 7 for when it's easier to do it at the command line without the Windows OS running, e.g. swapping a modified or debug version of a kernel32.dll into the system.

Woodmann
December 10th, 2005, 17:10

FFFFFF
December 10th, 2005, 19:16
i think that the solution is to make a little TSR driver loaded in config.sys
with this functionnality :

install add-on driver for create INT13 new entries for > 28 bits sectors number

1 - if < 28 bits nothing

2 - if > 28 bits ( 48BITLBA ) use new commands

sure i am capable to make this but in how many days , i am not very good !!

all the best

Pierre

SiGiNT
December 10th, 2005, 20:06
Welcome to the Forum 6*F - I think I already know you.

SiGiNT

LLXX
December 11th, 2005, 02:54
Quote:
[Originally Posted by FFFFFF]i think that the solution is to make a little TSR driver loaded in config.sys
with this functionnality :

install add-on driver for create INT13 new entries for > 28 bits sectors number

1 - if < 28 bits nothing

2 - if > 28 bits ( 48BITLBA ) use new commands

sure i am capable to make this but in how many days , i am not very good !!

all the best

Pierre
Does your BIOS already have the Int13x functions? If so, DOS 7 will use it, and it will natively support drives up to 2 Tera. The Int13x functions all use a 48bit LBA, but DOS 7 internally uses 32-bit sector numbering (and FAT32 filesystem) so it will just pad the high 2 bytes of the 48bit LBA with 0.

It is strange that Win98se does not natively support > 128Gb without modifying the ESDI_506.pdr, but instead DOS 7 is able to.

FFFFFF
December 11th, 2005, 03:40
I think that the problem is noticed only now because the "' large " discs have arrived in our countries with very interessants prices but only for a few months !!

------------------------------------------------------------------

on my country a 300 Go prices is < 150 Euros , very accessible

--> full of gasoline for my car 80 liters almost 100 euros <--

------------------------------------------------------------------

the symptoms for me are :

with the 300 go with > 200 Go used by a computer with new asrock card i have no problem with WINXP ( IDE or PCI add-on cards SIL0680A , IT8212 or HPT374 )

i restart on the same computer with WIN98 dir /s no problem but without WIN98 or DOS mode the command dir /s send error : sectors not founds
with the same computer with FreeDOS not this problem

with the cmd dir /s that is very easy for me to see the obvious errors

Pierre