>Why DiskSpace(Sys(5),2) works correctly and DiskSpace(Sys(5),1) returns 0 on Win 95 (Fat16)?
>I'm using VFP 7...
My guess is thagt you have a volume whose size is >2^31-1; a volume of 2GB (2^31) or larger computes out to an integer larger that the INTEGER data type; Win95 has always had a problem with miscast returns from certain API calls (NT family OSes will correctly cast these values as Reals or Doubles as necessary; Win95 is not cooperative in this issue.
You can always call the underlying API functions to retrieve these values; I believe that there are a number of downloads available that serve as wrappers on the GetDiskFreeSpaceEx() API (assuming that you have Win95 OSR2 or later, original retail Win95 and original Win95 with SP1, aka Win95a, do not support GetDiskFreeSpaceEx(), but you can use the returns from GetDiskFreeSpace() to compute these values based on sector and cluster size and the total number of clusters as returned by GetDiskFreeSpace() for FAT16, but will more than likely have fits working with large network volumes) which returns these values as ULARGE (64 bit unsigned integers) which, while not native to VFP, can be recast as Reals or Doubles and returned to VFP.