Jump to content

137GB limit - ESDI_506.PDR and other limits


Recommended Posts

Not to mention Mr. Loew is in direct violation of MS copyrights + trademark agreements, because if Mr. Loew would have read the EULA/License, the mandatory document to be read upon installation of every MS OS and software package, he would have noticed that:

Limitations on Reverse Engineering, Decompilation and Disassembly.

You may not reverse engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.

which means that anybody who wants to modify any MS file in any way must contact them first to obtain their written permission, and which afterwards must be posted/bundled by the respective person(s)/business(es) together with the modified file(s)/software so everybody can read it and understand that MS formally approved of this modified software/file(s)/etc.

This fragment is quoted directly from LICENSE.TXT, the text file installed by MS Windows 98 SE setup into %windir% [usually C:\WINDOWS].

Note that all Windows OS releases install this file or similar.

Link to comment
Share on other sites


Is this a multichoice question cause I got the answers, I choose A: uninformed abd B: Bragging, it appears that Mr. Loew has only posted two posts, the first one was on this thread: http://www.msfn.org/board/index.php?showtopic=30809 and the second one was here in this thread, and guess what the posts were about...

Mr. Loew, no offense but this thread was made so that people who enjoy windows 98se can have a chance to let it keep on living, to make it better and more stable... in short this thread and forum for that matter is made for people who want to either contribute to make windows better and more custimizable, or to help others with problems they might be having with their windows, not to brag or to flame...

This forum is made for people who want to help others and for those who need help, not for people who want to help themselves...

P.S.

Sorry if I sound a bit rude or conceited people... (I only have two posts myself)

Link to comment
Share on other sites

Dear Petr,

Some of the information you posted is not public knowledge and would require substantial reverse engineering of the ESDI_506.PDR file to identify. You said you are not a serious coder, which is why I questioned your sources. Neither the major hard drive manufacturers nor the driver writers at VIA seem aware of some of your info so testing actual hard drives is unlikely to produce the results you posted.

Anyone who is able to solve the 137GB limit on their own is free to do so. But as you yourself stated, they should not look at my code. This includes information posted by anyone who has. I have already found postings elsewhere by people attempting to reverse engineer my demo copy to distribute warez copies.

The Phoenix BIOS, as well as my Patch, come under the interoperability exemption to the D.M.C.A. but reverse engineering my code would not since it would add no new interoperability.

Rudolph R. Loew

http://rloew1.no-ip.com

P.S.

As for the A, B and C comments by other posters. The answer is C.

I know the intent of this forum, so A is not true. Otherwise I woud have done B.

The other posting was in response to a list of existing approaches that only covered a limited number of chipsets. I offered the only solution that covered all of them.

If anybody objects to "Commercial" code, they can write their own, independently of course. My Patch is not suited for any of the Open Source Business models.

Edited by rloew
Link to comment
Share on other sites

rloew

P.S.

As for the A, B and C comments by other posters. The answer is C.

I know the intent of this forum, so A is not true. Otherwise I woud have done B.

Logged & noted, with respect, rloew.

Part of keeping Win 9x alive is compatability with new hardware & software. This forum, it seems, will leave no stone unturned in that regard.

There are many ways to build a house;

the 'other' poster :hello:

Link to comment
Share on other sites

The 137 Gig limit is only a partition size limit.

In case of disk driver like ESDI_506.pdr, it is not partition size limit but physical disk size limit. Standard ESDI_506.PDR does not use 48-LBA addressing scheme and therefore is not able to address any sector on the HDD above 137GB barrier.

It is not related to partitions in any way, no doubt.

Maybe I will find some time this weekend and try put 160G disk into W98SE box and try all possible combinations of drivers, partitions and tools to bring some more light into the darkness of contradictory statements regarding various tools.

Petr

Link to comment
Share on other sites

Petr:

oops, forgot about those extra address bits. It is improtant if we'er gonna keep up then. Could you install XP on a large drive in FAT32 just so you could acsses most of it. What would happen. Could that be done as a 'workaround' for now?

nitebat

Link to comment
Share on other sites

The 137 Gig limit is only a partition size limit. I tend to use multiple partitions (for (limited) data safety) myself. Admittedly, some people need huge partitions (scientists, video editing). It is a limited audience. But part of keeping Win 9x alive is compatability with new hardware & software. This forum, it seems, will leave no stone unturned in that regard.

Dear Nitebat,

I would like to see a SCANDISK and DEFRAG that can handle large partitions too. My patch allows Windows to use all of a large hard drive but it does not patch programs that choke on large partitions. Windows itself can handle at least 400GB partitions. So can DOS. You can SCANDISK large partitions in DOS, as long as you have BIOS support, but I have not seen any DEFRAG for DOS or Windows that will work. The shareware ones are just wrappers for Microsoft's DEFRAG. Commercial ones probably would not support large partitions either since large hard drives are not officially supported in Windows 9x/ME. I don't like XP or even ME so I go out of my way to support 9x and even DOS. Unfortunately, trying to fix SCANDISK has proven to be a lot more difficult than solving the 137GB limit. As for scientists and video editors, I think they may find the 4GB file limit more limiting than the 137GB partition limit. I hit that limit in a mathematical program I was working on. I think archiving would be most likely reason for large partitions.

Rudolph R. Loew

http://rloew1.no-ip.com

P.S.

I've noticed that some people on these forums say that they can use large hard drives without dealing with the 137GB limit. Windows in many cases will say everything is fine. It is only when they have loaded up their drive with a lot of data, and have the most to lose, that all of a sudden their directories turn to gibberish. I have seen a lot of postings in other forums where people have suddenly found their systems to be seriously corrupted. Using small partitions will not solve this problem. Information and other resources on 137GB issues can be found at:

http://www.48bitlba.com

Edited by rloew
Link to comment
Share on other sites

Maybe I will find some time this weekend and try put 160G disk into W98SE box and try all possible combinations of drivers, partitions and tools to bring some more light into the darkness of contradictory statements regarding various tools.

Dear Petr,

While you are trying your combinations you may want to add the following:

BIOSes with and without 48-Bit LBA Support

and

Different brands of hard drives (Seagates are particularly interesting)

Rudolph R. Loew

Link to comment
Share on other sites

Dear Rudolph,

Some of the information you posted is not public knowledge and would require substantial reverse engineering of the ESDI_506.PDR file to identify. You said you are not a serious coder, which is why I questioned your sources.
Yes, it is hard to describe myself. I never wrote any bigger piece of code, but the first device drivers I wrote were for CP-M/80 operating system, I built my own original RTC board for the first personal computers including the fully functional AT-like BIOS, I have extended EGA BIOSes with VGA functions, I disassembled and understood the first Phoenix BIOSes in 1987 and always my work was oriented in this direction - low level and hardware. My 34GB+ and 64GB+ solution for Award BIOSes described in detail here: http://www.ryston.cz/petr/bios/ was the first in the world. I decided to put it freely on my website and after that several other peoples used this idea - and I was glad that many people in the world were able to use their larger disks with older computers. It was always my hobby only. I have written also several linux (2.2) disk controller drivers for VLB disk controllers listed at http://www.ryston.cz/petr/vlb/ - it took much time but I was not satisfied with the result. I also solved all problems with booting W98 from extended partitions: http://groups.yahoo.com/group/xosl/message/2864

Almost 20 years ago I've bought Sourcer + BIOS preprocesor + Windows Source later (version 7 at present) written by Clive Turvey and I use it to understand how the low level things works. And do you remember Quaid Analyzer, that was able to trace the boot process?

It was always hard for me to explain why I'm not able to write simple program if I'm able to do some complex things and even you got confusec - so I tried to describe it more in detail here.

Neither the major hard drive manufacturers nor the driver writers at VIA seem aware of some of your info so testing actual hard drives is unlikely to produce the results you posted.
Interesting. What information do you mean? I've never tested any VIA driver or 137GB+ HDD.
Anyone who is able to solve the 137GB limit on their own is free to do so. But as you yourself stated, they should not look at my code. This includes information posted by anyone who has. I have already found postings elsewhere by people attempting to reverse engineer my demo copy to distribute warez copies.
Gape, me and other contributors to the SE SP project strictly insist on not using any "warez" code and any tries from new people were immediately refused and deleted.
The Phoenix BIOS, as well as my Patch, come under the interoperability exemption to the D.M.C.A. but reverse engineering my code would not since it would add no new interoperability.
FYI, Phoenix BIOS is 15 years older than D.M.C.A. but this is not important here.

I was always glad to see people that extend the functionality and interoperability where big companies fail (Microsoft, Phoenix...) and it's just their decision whether they will provide results of their work free or for money.

(OT: I'd recommend you to add a CC payment method, to pay $15 to Western Union to send you $10 does not sound very reasonable.)

Petr

Link to comment
Share on other sites

While you are trying your combinations you may want to add the following:

BIOSes with and without 48-Bit LBA Support

Yes, I suppose to test it. I have several boxes with Intel chipsets available, 430HX, 430TX, 440BX, 815E, 845PE and also several add-on cards.
and

Different brands of hard drives (Seagates are particularly interesting)

I have only WDC drives available now.
Rudolph R. Loew

It would take much time anyway. I have to find some easy way how to test what sector was *really* read/written because of possible sector wrapping or shifting.

Petr

Link to comment
Share on other sites

Dear Petr,

I saw your solutions to the Award 32GB and 64GB problems. Having a Tyan S1590 motherboard, I encountered the 32GB problem until they updated it. They stopped supporting it in 1999, before the 137GB limit was overcome. I developed a fix for the 137GB limit but have only tested it in the S1590 BIOS.

Most of my experience is on the Amiga computers which I still use for some projects. There the biggest limit was 4GB.

Your original post suggested switching modes at sector 0xFFFFF00 which I used in some versions of my Patch. The ATA-7 specs are a bit ambiguous on that point. None of the hard drives I have tested require switching at that sector. VIA chose an even higher switchover point which makes their driver faulty.

I haven't seen "warez" people posting in this forum but one I know of is a member and was browsing this topic earlier this morning.

Credit card payments add cost which would raise the price. Paypal does not allow separate charges for cash and credit. Western Union is a last resort. So far only person paid me through Western Union. He lived in Poland and wanted the Patch immediately.

Rudolph R. Loew

Link to comment
Share on other sites

Your original post suggested switching modes at sector 0xFFFFF00 which I used in some versions of my Patch. The ATA-7 specs are a bit ambiguous on that point. None of the hard drives I have tested require switching at that sector. VIA chose an even higher switchover point which makes their driver faulty.

I suggested switching modes at this sector because it seems to be the highest sector number safe enough.

ATA-7 spec besides other things defines:

1) Words (61:60) shall contain the value one greater than the total number of user-addressable sectors in 28-bit addressing and shall not exceed 0FFFFFFFh. The content of words (61:60) shall be greater than or equal to one and less than or equal to 268,435,455.

and even more clear statement:

That is, if the device contains greater than the capacity addressable with 28-bit commands,words (61:60) shall describe the maximum capacity that can be addressed by 28-bit commands.

My understanding is so that not more than 0FFFFFFFh sectors should be addressed using 28-bit LBA addressing.

I remember memory addressing in PC/AT, where the address FFFF:10 (seg:offs) may be either physical address 000000 (wrapped) or 100000 (linear) depending on the gate A20 state. So to avoid possible wrapping on the 28-bit LBA boundary I'd suggest to choose the swithching point below 0xFFFFF00.

In fact, the switching point can be even lower, it has just to be above the biggest size of HDDs not supporting 48-bit LBA, i.e. above 120 GB. I think it is not necessary to use higher sector number than 0xFFFFF00 in 28-bit LBA mode and therefore it is also not necessary to test the behavior of specific disks. Even if all drives tested would be able to use 0xFFFFFFF sector number, I would't recommend to use it because nobody can be sure that it really works for all drives in the world.

ATA-7 also specifies that:

4) The contents of words (61:60) and (103:100) shall not be used to determine if 48-bit addressing is supported. IDENTIFY DEVICE bit 10 word 83 indicates support for 48-bit addressing.

but I believe it is reasonable risk not to test it.

From the description in chapter 4.14 the 28-bit LBA support seems to be obligatory so it seems not necessary to address >137GB disks using 48-bit LBA only.

But I remember so many incompatibilites between disks and controllers that nobody can be sure that the solution is final and will work forever..... Even original ESDI_506.PDR contains a list of models that need special handling.

Petr

Link to comment
Share on other sites

Most of my experience is on the Amiga computers which I still use for some projects. There the biggest limit was 4GB

ahhhh my poor old 2.5" 100MB (I think thats how big it is) in my "miggy"... wonder if it still works.

You've just reminded me to get the old-reliable out of the cupboard (short of space to have it setup and out all the time) and fire it up again - I'd use it now if i had a lan card for it - heard they're working on a new version of one of the browser's - not sure which one it was.

ooops... really sorry to disgress (an old passion for Amigas). I meant to just ask could/can the 4GB limit be overcome? I have the catweasel thingy (not sure of its name now) that has a few connections on it.

Regards,

N.

Link to comment
Share on other sites

Dear Petr,

I agree that 0xFFFFF00 is a safe limit. I've even used 0xF000000 in some applications, which is still more than a 120GB Hard Drive.

The ambiguity is in paragraph 4.2.2 which limits the requested LBA number to less than words (61:60) rather than the last sector accessed. One hard disk manufacturer used this interpretation, the others don't even meet this requirement.

ATA-7 also specifies that:

4) The contents of words (61:60) and (103:100) shall not be used to determine if 48-bit addressing is supported. IDENTIFY DEVICE bit 10 word 83 indicates support for 48-bit addressing.

but I believe it is reasonable risk not to test it.

Using a switching threshold does not require reading either (61:60) or (103:100) so that paragraph is not applicable. Only if there were hard drives with

0xFFFFF00 < Sectors < 0x10000000 would this be necessary.

ooops... really sorry to disgress (an old passion for Amigas). I meant to just ask could/can the 4GB limit be overcome? I have the catweasel thingy (not sure of its name now) that has a few connections on it.

Dear it_ybd,

There are two approaches to overcoming the 4GB limit. I wrote one that patches the drivers and works with AmigaOS 1.3, 2.0, 3.0 and 3.1 and the X-Surf Card. The Amiga community developed a number of extensions to the driver interface standard. One of these is the Trackdisk64 protocol that provides 64 Bit Byte offsets. Support for larger hard drives was integrated into the AmigaOS 3.5 and above. Many of the files are on Aminet but I am not sure if enough of them are there for a complete solution.

Rudolph R. Loew

http://rloew1.no-ip.com

Edited by rloew
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...