Mail Archives: djgpp/2013/09/03/18:15:13
On Mon, 02 Sep 2013 05:43:28 -0400, RoBoard Lab <robotics AT dmp DOT com DOT tw>
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
- Raw text -