X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: "Rod Pemberton" Newsgroups: comp.os.msdos.djgpp Subject: Re: DJGPP cross compilers for open-source hardware Date: Tue, 03 Sep 2013 18:08:27 -0400 Organization: Aioe.org NNTP Server Lines: 59 Message-ID: References: NNTP-Posting-Host: CNsg4fVcCsvs3UaOgZtQCw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Complaints-To: abuse AT aioe DOT org User-Agent: Opera Mail/12.16 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Bytes: 3322 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com On Mon, 02 Sep 2013 05:43:28 -0400, RoBoard Lab wrote: > 2013/8/31 01:34, Rod Pemberton: >> Are you saying DOSLFN won't solve the DOS 8.3 filename issue in DOSBOX? >> >> DOSLFN >> [link] >> >> It would be interesting to know whether DOSLFN works or not for DOSBOX. >> > > DOSLFN (and other LFN drivers) doesn't work for DOSBOX. It is a limit > from the implementation of DOSBOX's MOUNT instruction and seems not easy > to solve [link]). :) > Odi's LFN tools also fail. They complain about ambiguous FCBs. Well, I'm not sure if anyone else thought the following to be strange, but, it seemed strange to me that a DPMI host would work with DOSBOS while a LFN TSR wouldn't work with DOSBOX. A DPMI host is complex, uses privileged instructions, switches processor modes, and some have paging (CWSDPMI). A simple LFN program only modifies directory entries. From what I can tell (DOSBOX on Linux) DOSLFN works, i.e., it installs, uninstalls, LFN functions are present and callable. However, may of them fail to work correctly. I think this is because DOSBOX doesn't correctly implement or emulate DOS calls that would allow LFNs to work properly, or DOSBOX is intentionally blocking something. I.e., LFNs in DOSBOX don't work even if though the DOSLFN program seems to be working correctly. It seems DOSBOX is forcing the MOUNTed filesystem to be FAT16 with 8.3 names, even if it's a FAT32 filesystem with LFNs and SFNs mounted as VFAT in Linux, and even if it's an ext4 filesystem in Linux with long file names. If a file has only an LFN name, e.g., long filename from ext4 Linux filesystem, DOSBOX truncates it. If there are duplicate names, DOSBOX is creating it's own Windows like SFN, but is using a different algorithm than Windows 98/SE/ME. I have a few programs which use LFNs and test them. But, I might create a couple more to see what else I can determine. This is an as I feel like it issue. It could be the functionality is there, but not in the normal DOS sense. E.g., Windows 98 had a couple additional functions that supported LFNs. Or, an alternative method might be providable, think about the obsolete "umsdos" method for Linux, i.e., a different TSR and method might be able to provide LFN support for DOSBOX. Of course, since DOSBOX wouldn't natively support that, you'd need Linux and DOS utilities to get LFNs from the host OS and store them. Rod Pemberton