PDA

View Full Version : The 2Gb FAT16 limit- any workarounds?



Robin S_
20-06-2006, 12:06 AM
Are there any practical workarounds to the 2GB limit when using FAT16? AFAIK the answer is 'no', so that it is not feasible to use anything bigger than a 6GB drive with a FAT16 setup without having a string of 2GB partitions. However, some of the erudites out there may know of a trick or two.

Erayd
20-06-2006, 03:12 AM
What is the end you are trying to achieve? Is there a reason you are using FAT16? If you're using MS-DOS, can you use a FAT32 filesystem driver? This would get around the need for using FAT16 on anything other than the OS drive, i.e. a 2GB partition for the OS (FAT16) and the rest of the drive as FAT32.

Robin S_
20-06-2006, 12:35 PM
It is for a computer where there are some DOS applications (including some utilities) that are still used but where the owner wants to install a 10 or 20MB drive for more capacity. My understanding is that the DOS progs are unlikely to run under FAT32.

Graham L
20-06-2006, 02:32 PM
I'd be a bit cautious about using any DOS disk editors (NU, etc) or similar utilities on bigger disk partitions, but most things will work OK, if they'll run under the particular OS. The original idea of an operating system (even DOS ;) ) was to hide the horrible details of disk file systems from user applications. The subsidiary OS functions like confusing the user, and making the files wide open to the Internet came later, added by marketing experts.

I'd just try it. ;) Format the new disk as FAT32, then try running the DOS programmes. If any have problems, you can go to the smaller partitions, or the user can forgo those utilities. ;)

Terry Porritt
20-06-2006, 04:27 PM
Any DOS program will run on FAT32, I would be very surprised if any didn't.

As an extreme example, One of the very few games I have is Hitchhikers Guide to the Galaxy, the files are dated 1984, you can't get very much older than that, yet it will run on FAT32, not only that, but it runs under XP too :)

Morgenmuffel
20-06-2006, 05:41 PM
I'm guessing the machine in question is probably also fairly old so this may not work,
A friend with a similar problem with some old DOS only software that was needed, got around it by using DOSBOX, in fact i have also used dobox to get some old dos games running on my win2k box

Robin S_
20-06-2006, 08:28 PM
Thanks for the info, folks. Obviously some testing is needed.

Terry Porritt
20-06-2006, 08:55 PM
Dos programs are best run from pure dos rather from dos within windows.

Depending upon what the utilies do, as indicated by Graham there could be some problems, but most likely associated with partition size rather than whether the file system is FAT16 or 32.

I have a disk utility called Coretest which dates back to dos 6.22 era and FAT 16. It runs ok, but cannot report a disk size greater than 2GB.

I have Semware text editor version1, a pre-release edition, going back to 1991 or 1992, that would be roundabout dos 3 era, I still use this for certain things and it works ok on FAT32 Win 98 dos 7 and in XP.

Robin S_
21-06-2006, 12:02 AM
Thanks again, Terry. I must have done too much of my reading about this on the M$ site instead of places (such as here) where one gets 'untinted' facts.

Graham L
21-06-2006, 02:19 PM
My reservation was basically that some utilities (e.g. NU --- Norton''s Utility) can be used to modify system tables like directories on disks ... If they work within "known" limits when they were written, they might do severe damage to disk file systems outside those limits.

The problems of 2GB or (2 G"anything") come from the use of 32 bit integers, with a range of -2^32-1 .. +2^32-1 .

As I said, if the programme works in later OSs (and failure is more likely to be direct hardware access, rather than file access) it shouldn't have trouble with file access.

Games, especially, were written for maximum speed. This could be gained by directly accessing the registers of game ports, printers, keyboards, mice, etc, rather than using the OS routines. (A clue is when setup routines ask for port addresses. If it's talking through the OS, it doesn't need to know). After Windows NT, when MS OSs started to have some small pretensions to security, such direct access became officially forbidden. Of course, since the pretensions were small, there are often ways around such things.

I have a number of programmes which directly access serial or parallel ports. They are much easier to use in DOS. ;)