SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? (Users)
> I'm not sure from first-hand experience, only crumbs of hints from
> third-party info.
>
> I don't think NTVDM implements 4 GB files for DOS. I think it was only
> FAT32 (as you mentioned, Win95 OSR2 or whatever) exclusively via
> int 21h,
> 716Ch. You might want to ask on news://comp.os.msdos.djgpp since I
> think there was some (??) support in /beta/ 2.04 and newer (e.g. /current/
> 2.05). Actually, I remember that their port (2.04 or newer) of *nix DF.EXE
> would only use FAT32 routines
> (int 21h,
> 7303h ?) if the DOS version reported was 7.
I'm not in NVDM, but regular DOS on bare metal booted off a USB memory stick. Yes, it's the DOS 7.1 IO.SYS / COMMAND.COM which does included FAT32. Same version included with Windows 98 (4.0.2222?). Seems to be hardcoded into the IO.SYS that all fileseeks are signed, even though file *sizes* of between 2 GiB and 4 GiB - 1 are reported correctly in dir listings (ie, aren't negative numbers). I didn't try DOS 6.2, but surely it will suffer from the same problem in seeking, since it officially only supports FAT16. Actually with 64-kb cluster sizes, one can have a FAT16 partition of almost 4 GiB (I think 65524 clusters).
Ironically, in NTVDM, unsigned fileseeks ARE supported. I could run Mik's DOS compiles of Mplayer.exe and seek just fine from 2 GiB to 4 GiB, but in pure DOS these files won't even open ("Can't find file." error). Other DOS programs seem to have no problems seeking in "unsigned" 32-bit mode as well.
>
> So even that I only barely understand, sorry. (There's also "signed int
> bugs" as I think Eric called it in the FreeDOS kernel that keep all files 2
> GB and less. Similarly, DJGPP makes some hardcoded assumptions about 2 GB
> address space, last I heard.
>
> 7-Zip works? Which version and compile? You mean M.K.'s build of 7z.exe
> 16.02 or whatever?
Yes, both Mik's 16.02 build from 2016, and also the 9.20 builds from 2009 create and seek with files from 2 GiB to 4 GiB, although the percentage numbers are messed up (negative percentages!), but large archives of > 2 GiB, are read very well indeed, and extracted to a FAT32 RAMDRIVE. I tested ZIP files up to 4095 MiB and they seek fine. All other 16-bit archivers fail (pkzip, RAR, ACE, ARJ, ESP ...), as well as Xtree Gold, Norton Utilities, etc. Mysteries of the deep... ?
Complete thread:
- SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? - Zyzzle, 20.10.2021, 05:00
- SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? - Rugxulo, 20.10.2021, 11:10
- SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? - Zyzzle, 20.10.2021, 14:37
- SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? - KormaX, 25.11.2021, 17:42
- SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? - Zyzzle, 20.10.2021, 14:37
- SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? - ecm, 20.10.2021, 12:50
- SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? - Zyzzle, 20.10.2021, 14:51
- SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? - Oso2k, 22.10.2021, 00:39
- SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? - Zyzzle, 22.10.2021, 02:45
- SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? - Oso2k, 22.10.2021, 00:39
- SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? - KormaX, 26.11.2021, 10:31
- SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? - Zyzzle, 20.10.2021, 14:51
- SEEKEXT and enabling unsigned 32-bit DOS int 0x21 fileseeks? - Rugxulo, 20.10.2021, 11:10