• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
LLXX

Enable48BitLBA | Break the 137Gb barrier!

443 posts in this topic

Version 1.1 is now available.

2006-07-13 15:19 Finished driver analysis, initial announcement

2006-07-14 10:43 Working on inserting new code

2006-07-15 09:56 First successful build :)

2006-07-15 22:03 Major change of plan

2006-07-20 18:10 Version 1.0 released

2006-07-21 04:51 Begin work on WinME version

2006-07-21 05:50 Finish WinME version

2006-07-21 06:22 Begin work on 4.10.2225

2006-07-21 06:37 Version 1.1 (4.10.2225) released

2006-07-22 07:34 Win98FE version (4.10.2001) released

2006-07-23 08:51 Win98FE version (4.10.2186) released

2006-07-29 20:05 Win98SE version (4.10.2226) released - only for replacing an existing v4.10.2226 file

2006-08-02 17:57 Win95 OSR2+ version (4.00.1111) released

2006-08-04 20:27 Win95 OSR2+ version (4.00.1119) released

For those that don't know, this is an attempt to implement 48-bit LBA support into Windows 98se's default IDE driver, enabling the use of hard drives in excess of 128Gb. This is not just another variant of Loew's "High Capacity Disk Patch" because

1] It's completely free (and of course, has no guarantee)

2] Addressing to 2048Gb is possible (limit of FAT32)

3] A large portion of driver code has been rewritten and optimised

4] LBA-48 commands implemented in separate routines instead of "patched into" existing 28-bit's code

5] Slightly increased performance over Loew's patch due to [4]

If Enable48BitLBA has worked for you, please post a link to a validation image containing the following:

1. Properties page of a drive filled past 137Gb

2. Information dialog, the results of a successful scandisk on the drive

3. System Properties -> Device Manager -> (your IDE controller) Properties -> Driver -> Driver File Details (must show ESDI_506.PDR being used)

Also specify your hardware (in particular, mobo chipset and HDD specs).

This will help to confirm that it works.

Reference: http://www.msfn.org/board/index.php?showtopic=46752

However, this current version may cause data corruption on _some_ drives w/ 48-bit LBA!!! So be extremely careful!!!
I am not responsible for any damage caused by the use of these drivers.

4102222F.ZIP

4903000F.ZIP

4102225F.ZIP

4102001F.ZIP

4102186F.ZIP

4102226F.ZIP

4001111F.ZIP

4001119F.ZIP

Edited by LLXX
0

Share this post


Link to post
Share on other sites

Congratulations.

Sounds like a major breakthrough for Win98 OSes.

0

Share this post


Link to post
Share on other sites

Can't wait for 48-bit LBA on 98Se!

0

Share this post


Link to post
Share on other sites

Having a little bit of a technical difficulty... the driver won't assemble! I'm getting "Out of Memory" errors from ML.

Might have to move the release date forward a bit... :(

0

Share this post


Link to post
Share on other sites

take your time LLXX. remember that you have to create a 48-bit LBA driver NOT just for Win98se, but also for Win98 FE and WinME. you cant just create a driver just for Win98se and ignore the other versions of Windows.

0

Share this post


Link to post
Share on other sites

I've solved the memory problem and it's assembling fine now...

Now I'll just need to figure out what link options were used so I can the exact binary as M$ original one (with unmodified source), then I'll start inserting the new code :)

@erpdude8 : Are there vast differences between the three versions you've mentioned? I'm only working on the one from 98se (file version 4.10.2222 - "ESDI_506 Virtual Device (Version 4.0)")

0

Share this post


Link to post
Share on other sites

Keep in mind that the current esdi_506.pdr for 98SE is version 4.10.0.2225. When using Norton File Compare there is 7747 differences against version 4.10.0.2222.

22191 differences between 4.10.0.2222 and 4.90.0.3000 (Win ME)

22357 differences between 4.10.0.2225 and 4.90.0.3000 (Win ME)

See below for the Windows 98 Large IDE Update which contains the current files for both 98 SE (4.10.0.2225) and FE (4.10.0.2186).

http://support.microsoft.com/kb/q243450/

http://www.microsoft.com/windows98/downloa...ide/Default.asp

Edited by eidenk
0

Share this post


Link to post
Share on other sites

My esdi_506.pdr is 4.10.2225, also my Kernel32.dll is 4.10.2225. Running Win98SE of course. LLXX good luck with the build.

Edited by Lunac
0

Share this post


Link to post
Share on other sites
This problem only occurs on computers that use a Phoenix BIOS and use the Phoenix BitShift translation algorithm to report the geometry of large IDE hard disks (larger than 32 GB). Your computer is not vulnerable if the BIOS uses logical block addressing (LBA) Assist translation instead of the Phoenix BitShift translation
"vulnerable"... lol. All drives must support LBA according to the ATAPI-4 Standard, so this is a moot point. The driver automatically selects LBA mode when available.
- All devices shall support LBA translation.

- If the device’s capacity is greater than or equal to one sector and less than or equal to

16,514,064 sectors the device shall support CHS translation.

- If the device’s capacity is greater than 16,514,064 sectors, then the device may support CHS

translation.

- If a device supports CHS translation, then, following a power-on or hardware reset, the CHS

translation enabled by the device shall be known as the default translation.

- If a device supports CHS translation, then a device may allow a host to use the INITIALIZE

DEVICE PARAMETERS command to select other CHS translations.

- If a device supports CHS translation, then IDENTIFY DEVICE words 1,3, and 6 shall describe

the default translation, and words 53-58 shall describe the current translation.

If a device conforms to an earlier Standard (in which case LBA support is Optional), its capacity is unlikely to exceed 32Gb in any case. I doubt there were 32Gb IDE devices being produced in 1996.

Because of this, I doubt there will be any problems encountered in using the 4.10.2222 version of ESDI_506.PDR as a base. In any case, applying the patch to a newer version should prove just as easy.

I've chosen to abandon reassembling the driver completely, as it seems to have been built with a strange Linker that is apparently not available outside of Micro$oft. Instead, it will be more similar to a complex version of the Loew patch.

0

Share this post


Link to post
Share on other sites
Keep in mind that the current esdi_506.pdr for 98SE is version 4.10.0.2225. When using Norton File Compare there is 7747 differences against version 4.10.0.2222.

22191 differences between 4.10.0.2222 and 4.90.0.3000 (Win ME)

22357 differences between 4.10.0.2225 and 4.90.0.3000 (Win ME)

See below for the Windows 98 Large IDE Update which contains the current files for both 98 SE (4.10.0.2225) and FE (4.10.0.2186).

http://support.microsoft.com/kb/q243450/

http://www.microsoft.com/windows98/downloa...ide/Default.asp

Let's not forget, there was also a version 4.10.2226 of esdi_506.pdr for Win98se [Q252187]. this hotfix was built for certain IBM laptops only that came bundled with pre-installed 98 SE. this version may cause startup problems (like hanging at startup before Win98se loads) on non-IBM machines.

0

Share this post


Link to post
Share on other sites

Does anyone know what 4.10.2223 and 4.10.2224 were for?

Anyway, I'm planning to release a fixed 4.10.2222 and do other versions when necessary.

0

Share this post


Link to post
Share on other sites
Does anyone know what 4.10.2223 and 4.10.2224 were for?

Anyway, I'm planning to release a fixed 4.10.2222 and do other versions when necessary.

Good point to first release a standard patch for Windows 98SE. The best would be to test on a clean Windows 98SE machine with harddiscs larger than 137 GB.

However we must not forget to test also HDD's smaller than 137 GB!

Especially HDD's <8GB and <32GB HDD's should get tested, since these use different specifications.

0

Share this post


Link to post
Share on other sites
Does anyone know what 4.10.2223 and 4.10.2224 were for?

Anyway, I'm planning to release a fixed 4.10.2222 and do other versions when necessary.

Esdi_506.pdr version 4.10.2223 is mentioned in MS article 239694:

http://support.microsoft.com/kb/239694/

not sure about v4.10.2224 of esdi_506.pdr

Good point to first release a standard patch for Windows 98SE. The best would be to test on a clean Windows 98SE machine with harddiscs larger than 137 GB.

However we must not forget to test also HDD's smaller than 137 GB!

Especially HDD's <8GB and <32GB HDD's should get tested, since these use different specifications.

good points hp38guser made of testing the patch on HDDs of all sizes.

0

Share this post


Link to post
Share on other sites
However we must not forget to test also HDD's smaller than 137 GB!

Especially HDD's <8GB and <32GB HDD's should get tested, since these use different specifications.

If I was following the original plan of fully rebuilding the driver, that would definitely be done before release. However, as the new plan of action I'm taking is not going to affect the existing code at all except for one change, I'm quite certain it will work fine at smaller sizes. Testing the new code, however, is a totally different problem.

Here's the only change to the existing code that I'll make:

LCOD:C000062E mov	 eax, [ebx+10h] ; get LBA
LCOD:C0000631 mov ecx, [esi+0BBh]
LCOD:C0000637 test byte ptr [ecx+203h], 4; LBA disabled?
LCOD:C000063E jz short use_CHS
LCOD:C0000640 test eax, 0F0000000h; >128Gb?
LCOD:C0000645 jnz short use_CHS ; ** this jump will go to the new code appended to end of section **

0

Share this post


Link to post
Share on other sites

Windows 98 SE ESDI_506.PDR versions:

* Microsoft Windows 98 SE Computer Hangs with Removable Device in Docking Station ESDI_506.PDR 4.10.2226 Fix:

http://support.microsoft.com/?id=252187

Direct download [154 KB, English]:

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

Install this ESDI_506.PDR Fix ONLY on IBM portables with removable disks!

Install ESDI_506.PDR 4.10.2225 Fix below on ALL other PCs/portables!

* Microsoft Windows 98/98 SE ScanDisk Errors With (E)IDE Hard Disks > 32 GB ESDI_506.PDR (4.10.2186 for Win98/98 SP1 + 4.10.2225 for Win98 SE) Fix:

http://support.microsoft.com/?id=243450

Direct download [158 KB, English]:

http://download.microsoft.com/download/win.../243450USA8.EXE

Install this ESDI_506.PDR Fix on ALL PCs/portables EXCEPT IBM portables with removable disks!

Install ESDI_506.PDR 4.10.2226 Fix above ONLY on IBM portables with removable disks!

Windows 98 FE (First Edition) ESDI_506.PDR version:

* Microsoft Windows 98 IBM ThinkPad Laptops ACPI Standby Error With IDE DMA Hard Disk ESDI_506.PDR 4.10.2001 + IOS.VXD 4.10.2001 Fix:

http://support.microsoft.com/?id=193473

Direct download [167 KB, English]:

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

HTH

0

Share this post


Link to post
Share on other sites

LLXX:

Please tell Gape to make this thread a sticky after you post the driver, and also to merge the old one with this one [if possible], and then close your old one:

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

Thanks.

0

Share this post


Link to post
Share on other sites

Version 1.0 is now available.

I repeat once again, I am NOT responsible for any loss of data caused by this driver.

We do not have any hard drives supporting 48-bit LBA, so I am unable to test the extended commands.

There should be no problems with drives less than 128Gb. It's just the new code that needs testing.

0

Share this post


Link to post
Share on other sites

I have two HDD's in my system. One 40GB and a 250GB Maxtor Diamond Max 10 ATA HDD. It's special for it's ATAPI-6 (133 MB/s) Interface. most HDD's use ATAPi-5 (100 MB/s).

I'll try to backup all stuff necessary to the 40GB HDD and DVD's. Than I'll be able to do some Windows 98 tests with the 250 GB HDD.

However I'm not sure about my mainboard. It's a VIA KT333 mainboard. Does this motherboard automaticly enable 48-bit lba support or only after I install the VIA ide drivers in Windows 98?

0

Share this post


Link to post
Share on other sites
However I'm not sure about my mainboard. It's a VIA KT333 mainboard. Does this motherboard automaticly enable 48-bit lba support or only after I install the VIA ide drivers in Windows 98?
The point is to use my fixed driver, not VIA's own drivers. Nothing needs to be "enabled". The driver will automatically switch to using extended commands when reading past the limit (see doc for more info).
0

Share this post


Link to post
Share on other sites

Congratulations + thanks for the driver. :thumbup

Mr. R. Loew is not going to be happy his $10 "shareware" driver now has better freeware competition. :D

I can't test it either, all my drives are < or = to 120 GB.

Question:

Which ESDI_506.PDR version did you use, 4.10.2225 or 4.10.2226 ?

Best to use 4.10.2225 because this is the most compatible and up to date.

Suggestion:

No matter which version you used, file version should be changed to reflect the update and to install properly over any other older version that might exist in %windir%\system\iosubsys .

Your new driver should have 4.10.2227 [1 notch above the newest one by M$].

FYI:

I have created an iexpress installer with backup [original file (if any) renamed to ESDI_506.ORI], uninstall + restore [original file (if any) restored from ESDI_506.ORI back to ESDI_506.PDR] Control Panel Add/Remove Programs capabilities.

I took the liberty and changed file version to 4.10.2227 using XVI32 [freeware hex editor]:

http://www.chmaas.handshake.de/delphi/free...xvi32/xvi32.htm

I also took the liberty and added the links to your 2 forums into the README.TXT:

README.TXT opens for reading whenever one installs the driver.

Posted here:

http://www.mdgx.com/web.htm#9SU

and here:

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

* Unofficial Windows 98 SE > 137 GB Hard Disk IDE Driver ESDI_506.PDR 4.10.2227 Fix:

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

Direct download [80 KB, English]:

http://www.mdgx.com/files/48BITLBA.EXE

Keep up the good work.

0

Share this post


Link to post
Share on other sites

Could you please make one for Windows Millenium ? Please please... ? :angel, I have a 160 GB hard drive but don't have 98SE only Millenium...

Here's my ESDI_506.PDR (attached):

ESDI_506.zip

0

Share this post


Link to post
Share on other sites
Question:

Which ESDI_506.PDR version did you use, 4.10.2225 or 4.10.2226 ?

Best to use 4.10.2225 because this is the most compatible and up to date.

As stated above, this is based on 4.10.2222. If you think it's necessary, I'll patch the newer versions as well.
Suggestion:

No matter which version you used, file version should be changed to reflect the update and to install properly over any other older version that might exist in %windir%\system\iosubsys .

Your new driver should have 4.10.2227 [1 notch above the newest one by M$].

I don't know if you've noticed, but I already changed the version information slightly - it now reads "ESDI Virtual Device (Version 4.0b)" instead of just 4.0. However, according to your suggested versioning, I think the following may be appropriate:

4.10.2222 -> 4.10.2227

4.10.2223 -> 4.10.2228

4.10.2224 -> 4.10.2229

4.10.2225 -> 4.10.2230

4.10.2226 -> 4.10.2231

FYI:

I have created an iexpress installer with backup [original file (if any) renamed to ESDI_506.ORI], uninstall + restore [original file (if any) restored from ESDI_506.ORI back to ESDI_506.PDR] Control Panel Add/Remove Programs capabilities.

I took the liberty and changed file version to 4.10.2227 using XVI32 [freeware hex editor]:

http://www.chmaas.handshake.de/delphi/free...xvi32/xvi32.htm

I also took the liberty and added the links to your 2 forums into the README.TXT:

README.TXT opens for reading whenever one installs the driver.

Posted here:

http://www.mdgx.com/web.htm#9SU

and here:

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

* Unofficial Windows 98 SE > 137 GB Hard Disk IDE Driver ESDI_506.PDR 4.10.2227 Fix:

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

Direct download [80 KB, English]:

http://www.mdgx.com/files/48BITLBA.EXE

Keep up the good work.

Thanks, I'll do the patching and leave the packaging up to you :thumbup
0

Share this post


Link to post
Share on other sites
Congratulations + thanks for the driver. :thumbup

Mr. R. Loew is not going to be happy his $10 "shareware" driver now has better freeware competition. :D

I can't test it either, all my drives are < or = to 120 GB.

Question:

Which ESDI_506.PDR version did you use, 4.10.2225 or 4.10.2226 ?

Best to use 4.10.2225 because this is the most compatible and up to date.

Suggestion:

No matter which version you used, file version should be changed to reflect the update and to install properly over any other older version that might exist in %windir%\system\iosubsys .

Your new driver should have 4.10.2227 [1 notch above the newest one by M$].

FYI:

I have created an iexpress installer with backup [original file (if any) renamed to ESDI_506.ORI], uninstall + restore [original file (if any) restored from ESDI_506.ORI back to ESDI_506.PDR] Control Panel Add/Remove Programs capabilities.

I took the liberty and changed file version to 4.10.2227 using XVI32 [freeware hex editor]:

http://www.chmaas.handshake.de/delphi/free...xvi32/xvi32.htm

I also took the liberty and added the links to your 2 forums into the README.TXT:

README.TXT opens for reading whenever one installs the driver.

Posted here:

http://www.mdgx.com/web.htm#9SU

and here:

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

* Unofficial Windows 98 SE > 137 GB Hard Disk IDE Driver ESDI_506.PDR 4.10.2227 Fix:

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

Direct download [80 KB, English]:

http://www.mdgx.com/files/48BITLBA.EXE

Keep up the good work.

MDGX, for your information original ESDI_506.PDR 4.10.2222 was used. So numbering this LLXX patch 4.10.2227 would people think the ESDi_506.PDR 4.10.2225 and 4.10.2226 hotfixes are included.

However I have an idea how to create custom version numbering for special patches. Why just not increase 2nd digit?

With this method you also overwrite newer hotfix files. However in this case I think it's necessary, since it solves a very bad problem: file corruption.

For example LLXX patch for esdi_506.pdr 4.10.2222 would become 4.10.2232 and LLXX patch for esdi_506.pdr 4.10.2225 would become 4.10.2235. This clearly shows a difference between the official Microsoft hotfixes and LLXX patch.

Microsoft won't bring out any new patches anyway :)

0

Share this post


Link to post
Share on other sites
Could you please make one for Windows Millenium ? Please please... ? :angel, I have a 160 GB hard drive but don't have 98SE only Millenium...

Here's my ESDI_506.PDR (attached):

Windows ME was going to be next. It's coming :)
0

Share this post


Link to post
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.