Jump to content

Enable48BitLBA | Break the 137Gb barrier!


Recommended Posts

I think it would be useful if someone could create a table (or a nice list) for the first page of this thread that shows all the known versions of ESDI_506.PDR, which OS they're for, and what the patched version number is (if it exists) with a link to download the patch.

Link to comment
Share on other sites


the 48bit HD technology is incompatible with Win95, FOOL! (no wonder why I'm getting a lot of those BSODs and other oddities when using very large HDs under Win95)

it's just like mixing apples and oranges which does NOT make any sense!

Windows 95 or 98 or Me or XP has the only one interface that take care about 28-bit or 48-bit LBA - and it is ESDI_506.PDR or other 3rd party ATA driver. Windows, at least 98 and Me, uses 32-bit "LBA" internally the same way for ATA or SCSI devices.

Therefore it make sense to me that in KB246818 are mentioned "Hard disks and other media that are larger than 32 gigabytes (GB) in size". 32 GiB = 67108864 (64 M) sectors, i.e. the maximum length of the sector number is 26 bits. It is very hard to gues why just 26-bit "LBA" should be the barrier. Sure, there must be some reason why Microsoft wrote this article - but what?

I just added 130 GB disk to my Virtual PC 2004 Windows 95 OSR2.1 and everything seems to be OK so far. Virtual PC emulates i440BX chipset with PIIX4 ATA controller and Windows 95 uses the original 4.00.1111 so far, in case of any problem I will replace it by 4.00.1119 version and repeat. Now I'm filling this disk with data, it requires some time. Here are some screenshots - sorry, they are in Czech language, I forgot to obtain the English version from MSDN at the right time.

The disk was partitioned using Windows Me and formatted in Windows 95.

post-52191-1153945357_thumb.pngpost-52191-1153945382_thumb.png

post-52191-1153945406_thumb.pngpost-52191-1153945418_thumb.png

Petr

Edited by Petr
Link to comment
Share on other sites

I just got an email response from someone from the 48bitLba.com site and this is what the person told me about Win95 & 48bit LBA:

Because Windows 95 operating system is not designed to support it. Simple as that.
I apologize for being a hothead this morning; my custom made PC just couldnt handle Win95 properly causing a lot of frustrations for me and decided to put back WinXP on there.

how 'bout adding 48bit LBA support on version 4.10.2226 of the esdi_506.pdr file of Win98se from Q252187. The 48bitlba.exe pack MDGx created has patched 4.10.2225 file. running the 48bitlba.exe patch under a Win98se PC that already has esdi_506.pdr 4.10.2226 file will be overwritten by the 4.10.2225 48bit-LBA version and Win98se users will lose the benefits of the fixes from Q252187; yes I know esdi_506.pdr version 4.10.2226 is NOT for every Win98 SE computer out there but at least there should be some consideration for adding 48bit LBA support on version 4.10.2226 of the esdi_506.pdr file.

BTW - Q252187 esdi_506.pdr 4.10.2226 hotfix listed at MDGx's site:

http://www.mdgx.com/files/Q252187.EXE

If you could give me a link to 4.10.1119 then I'll try to fix it...

the one I have from my Win95b distro is 4.10.1111

The driver structure changed greatly between 95 and 98 (and again with ME), so this is going to take moar time to implement... but I will do it :)

Any test results yet?

if you insist on patching Win95 OSR2's esdi_506.pdr file, LLXX, Petr has obtained the Q175629 esdi_506.pdr 4.00.1119 (NOT 4.10.1119; look at the Win95 version numbering very carefully) hotfix. will be mentioned on MDGx's site soon.

Edited by erpdude8
Link to comment
Share on other sites

A few Windows 95 screenshots:

Disk filled by 86 GiB files:

post-52191-1153952533_thumb.pngpost-52191-1153952545_thumb.png

It can be seen that the pie diagram does not show the used space. The same result with 16 GB disk. Not tested what is the size limit for correct behavior.

And here is virtual memory setting - the bug (negative free space) described in KB272620 can be corrected by simple resource editing - by replacing %d by %lu and everything looks well now:

post-52191-1153952620_thumb.png

Here I have found one bug:

post-52191-1153952592_thumb.png

The total space occupied by all files (or by selected files) wraps around 4 GB. (corrected in Windows 98)

So far no problem.

Mr. Loew's diskdvr tool shows that ESDI_506.PDR is really used:

X:\DATA\137G>diskdvr
ID PORT DRIVER .INF FILE DESCRIPTION

07: ESDI_506.pdr MSHDC.INF sekundární řadič IDE (dvojitß FIFO)
06: ESDI_506.pdr MSHDC.INF primární řadič IDE (dvojitß FIFO)

Petr

Link to comment
Share on other sites

I have installed Windows 95 FPP on Virtual PC 2004 and found no problem - although the CPU is Pentium D 2.8 GHz.
Virtualised hardware is slower than real hardware, so your virtual CPU is probably running at much less than 2GHz.
erpdude8, I don't know what kind of problems you have with your computer but I used Win95 until last year when I changed my display adapter and I had no drivers for Win95.

I had 2 Seagate HDDs 120GB (111 GB if 1KB=1024B) and never had any problems with them. There was only one partition on each drive, FAT32, created with Ranish Partition Manager and formatted from windows explorer (not FORMAT.COM).

The same drives were later used to create a disk array using onboard RAID controller. The virtual drive was 240 GB in size and was partitioned with RPM directly form windows and then formatted from windows explorer. One partition, FAT32, no problems.

Scandisk from MS-DOS worked but it was VERY slow. Scandisk form windows didn't - "Not enough memory". Norton Disk Doctor was fast and worked fine (execept on a DriveSpace compressed volume I had, where it reported some non-existent errors).

Interesting. By using the onboard RAID controller I'm assuming that ESDI_506.PDR was *not* used, but either way, this counters "Hard disks and other media that are larger than 32 gigabytes (GB) in size are not supported in any version of Windows 95".
how 'bout adding 48bit LBA support on version 4.10.2226 of the esdi_506.pdr file of Win98se from Q252187.
I'll release that soon. It's quite a bit different from the other 4.10.222* series so it'll take more time.

I haven't begun to do anything with the Win95 drivers yet. We need to determine if disks over 32Gb are supported first.

Edited by LLXX
Link to comment
Share on other sites

The author of these 2 unofficial patches:

http://www.msfn.org/board/?showtopic=77218

http://www.msfn.org/board/?showtopic=58780

sent me this note [he prefers to remain anonymous]:

I briefly looked at LLXX's patch. It is a very nice piece of work. Please tell LLXX: Keep up the good work! Many people will be grateful for such patches!

However, this current version may cause data corruption on _some_ drives w/ 48-bit LBA!!! So be extremely careful!!! I do not know enough about ESDI_506.PDR to tell which drives. I assume most drives will be fine. I wrote a patch for ESDI_506.PDR many months ago and briefly, but 100% sucessfully tested it out with shuffling, copying, and comparing many different 2 GByte files across the full capacity of a 160-GByte hard drive. I have been way too busy since then to do any further testing. I have to do further testing, for example, on drives > 160 GByte (which I do not have) to be comfortable with releasing the patch. However, I know from that patch development that more code needs to be patched in LLXX's version.

I am currently on business for several weeks and have no access to a Win98SE machine. However, I will definitely send you more information on the issues with LLXX's patch. It will be a while after I return, and have a chance to look at LLXX's patch again.

HTH

Link to comment
Share on other sites

However, I know from that patch development that more code needs to be patched in LLXX's version.

He could have elaborated just a little a bit at this point IMO by saying where he believes a problem could occur with LLXX patch or what the other code, he thinks needs to be also patched, does.

Link to comment
Share on other sites

However, I know from that patch development that more code needs to be patched in LLXX's version.
He could have elaborated just a little a bit at this point IMO by saying where he believes a problem could occur with LLXX patch or what the other code, he thinks needs to be also patched, does.
I can't tell for sure, but just by looking at his notes, I'd say he probably needs more testing and more time to figure out which code needs added, patched, etc... [?]

Anyway, I know he'll send me more details when he has time.

HTH

Link to comment
Share on other sites

The only (slight) problem I can think of is not delaying enough between register writes in the new registers initialiser. This may result in data corruption on systems with overclocked PCI buses.

I have the following commands implemented:

48-bit Address feature set

25 READ DMA EXT * replaces C8

24 READ SECTOR(S) EXT * replaces 20

42 READ VERIFY SECTOR(S) EXT * replaces 40

35 WRITE DMA EXT * replaces CA

34 WRITE SECTOR(S) EXT * replaces 30

These are the commands found in the original file:
08 device reset

10 recalibrate

20 read sectors

30 write sectors

40 read verify sectors

91 initialise device parameters

A0 packet

A1 identify packet device

C8 read dma

CA write dma

DA get media status

DE media lock

DF media unlock

E0 standby immediate

E6 sleep

EC identify device

ED eject

EF set features

I don't think I forgot any of them...

Anyway, release of 4.10.2226 will be suspended until further notice.

Edited by LLXX
Link to comment
Share on other sites

[...]

But you were using RAID controllers. Can you use your HDs WITHOUT RAID controllers under Win95? that's the big question!

Also can you use your big HDs without even using ANY Ultra ATA PCI adapters that have their own 48bit LBA BIOSes & drivers.

[...]

Yes I can, and I did use one of those two HDs until I bought the other one. It was connected to the IDE controller as primary master. RAID controller was disabled. No driver other than the default one was installed.

I only mentioned the RAID controller because the two HDs made a 240 GB (>127GB) virtual drive and I wanted to tell you about Scandisk and drives that large.

Link to comment
Share on other sites

[...]

But you were using RAID controllers. Can you use your HDs WITHOUT RAID controllers under Win95? that's the big question!

Also can you use your big HDs without even using ANY Ultra ATA PCI adapters that have their own 48bit LBA BIOSes & drivers.

[...]

Yes I can, and I did use one of those two HDs until I bought the other one. It was connected to the IDE controller as primary master. RAID controller was disabled. No driver other than the default one was installed.

I only mentioned the RAID controller because the two HDs made a 240 GB (>127GB) virtual drive and I wanted to tell you about Scandisk and drives that large.

But, did you fill up more than 32Gb of that drive? The >32Gb problem may be just as the >128Gb one, i.e. it doesn't show up until you actually fill the drive past the limit.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...