Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

Enable48BitLBA | Break the 137Gb barrier!

- - - - -

  • Please log in to reply
442 replies to this topic

#1
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
  • Joined 04-December 05
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/...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.

Attached Files


Edited by LLXX, 04 August 2006 - 03:29 AM.



How to remove advertisement from MSFN

#2
wizardofwindows

wizardofwindows

    Wizard of Windows

  • Member
  • PipPipPip
  • 443 posts
  • Joined 17-June 05
:thumbup excellent

#3
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • Joined 22-November 04
  • OS:none specified
  • Country: Country Flag
Congratulations.
Sounds like a major breakthrough for Win98 OSes.

#4
T D

T D

    Go MSFN!

  • Member
  • PipPipPipPipPip
  • 940 posts
  • Joined 05-April 06
Can't wait for 48-bit LBA on 98Se!

#5
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
  • Joined 04-December 05
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... :(

#6
erpdude8

erpdude8

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,143 posts
  • Joined 24-November 04
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.

#7
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
  • Joined 04-December 05
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)")

#8
eidenk

eidenk

    MSFN Addict

  • Member
  • PipPipPipPipPipPipPip
  • 1,527 posts
  • Joined 28-March 05
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.micro...com/kb/q243450/
http://www.microsoft...ide/Default.asp

Edited by eidenk, 14 July 2006 - 06:16 PM.

Asus A8V Deluxe - Athlon 64 FX-55 2.6Ghz - 1GB DDRAM 400 - Windows ME (IE 5.5 SP2 Shell) + KernelEx 4.0 and Revolutions Pack 10

#9
Lunac

Lunac

    Junior

  • Member
  • Pip
  • 94 posts
  • Joined 09-July 05
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, 14 July 2006 - 06:42 PM.


#10
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
  • Joined 04-December 05

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.

#11
erpdude8

erpdude8

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,143 posts
  • Joined 24-November 04

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.micro...com/kb/q243450/
http://www.microsoft...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.

#12
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
  • Joined 04-December 05
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.

#13
Acheron

Acheron

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 988 posts
  • Joined 28-June 04
  • OS:XP Pro x86
  • Country: Country Flag

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.
Say no to bloatware. Download Nero Lite!

#14
erpdude8

erpdude8

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,143 posts
  • Joined 24-November 04

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.micro....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.

#15
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
  • Joined 04-December 05

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 **


#16
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • Joined 22-November 04
  • OS:none specified
  • Country: Country Flag
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.micro....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.micro....com/?id=243450
Direct download [158 KB, English]:
http://download.micr.../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.micro....com/?id=193473
Direct download [167 KB, English]:
http://www.mdgx.com/files/Q193473.EXE

HTH

#17
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • Joined 22-November 04
  • OS:none specified
  • Country: Country Flag
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/...showtopic=46752

Thanks.

#18
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
  • Joined 04-December 05
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.

#19
Acheron

Acheron

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 988 posts
  • Joined 28-June 04
  • OS:XP Pro x86
  • Country: Country Flag
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?
Say no to bloatware. Download Nero Lite!

#20
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
  • Joined 04-December 05

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).

#21
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • Joined 22-November 04
  • OS:none specified
  • Country: Country Flag
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.ha...xvi32/xvi32.htm
I also took the liberty and added the links to your 2 forums into the README.TXT:

Enable48BitLBA MSFN forum:
http://www.msfn.org/...showtopic=78592
Reference:
http://www.msfn.org/...showtopic=46752

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/...showtopic=46581

* Unofficial Windows 98 SE > 137 GB Hard Disk IDE Driver ESDI_506.PDR 4.10.2227 Fix:
http://www.msfn.org/...showtopic=78592
Direct download [80 KB, English]:
http://www.mdgx.com/files/48BITLBA.EXE

Keep up the good work.

#22
n7Epsilon

n7Epsilon

    Currently Learning: C#, JavaScript, PHP

  • Member
  • PipPip
  • 156 posts
  • Joined 11-February 05
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):

Attached Files



#23
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
  • Joined 04-December 05

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.ha...xvi32/xvi32.htm
I also took the liberty and added the links to your 2 forums into the README.TXT:

Enable48BitLBA MSFN forum:
http://www.msfn.org/...showtopic=78592
Reference:
http://www.msfn.org/...showtopic=46752

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/...showtopic=46581

* Unofficial Windows 98 SE > 137 GB Hard Disk IDE Driver ESDI_506.PDR 4.10.2227 Fix:
http://www.msfn.org/...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

#24
Acheron

Acheron

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 988 posts
  • Joined 28-June 04
  • OS:XP Pro x86
  • Country: Country Flag

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.ha...xvi32/xvi32.htm
I also took the liberty and added the links to your 2 forums into the README.TXT:

Enable48BitLBA MSFN forum:
http://www.msfn.org/...showtopic=78592
Reference:
http://www.msfn.org/...showtopic=46752

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/...showtopic=46581

* Unofficial Windows 98 SE > 137 GB Hard Disk IDE Driver ESDI_506.PDR 4.10.2227 Fix:
http://www.msfn.org/...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 :)
Say no to bloatware. Download Nero Lite!

#25
LLXX

LLXX

    MSFN Junkie

  • Banned
  • PipPipPipPipPipPipPipPipPip
  • 3,399 posts
  • Joined 04-December 05

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 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users