delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2013/09/04/13:30:12

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
X-Received: by 10.66.220.163 with SMTP id px3mr1356310pac.38.1378314669495;
Wed, 04 Sep 2013 10:11:09 -0700 (PDT)
X-Received: by 10.50.44.67 with SMTP id c3mr217594igm.13.1378314669223; Wed,
04 Sep 2013 10:11:09 -0700 (PDT)
Newsgroups: comp.os.msdos.djgpp
Date: Wed, 4 Sep 2013 10:11:08 -0700 (PDT)
In-Reply-To: <op.w2uvsdk50e5s1z@->
Complaints-To: groups-abuse AT google DOT com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=65.13.115.246;
posting-account=p5rsXQoAAAB8KPnVlgg9E_vlm2dvVhfO
NNTP-Posting-Host: 65.13.115.246
References: <kvqdrb$1uei$1 AT adenine DOT netfront DOT net> <op.w2n1q4t80e5s1z@->
<l01mk0$20ca$1 AT adenine DOT netfront DOT net> <op.w2uvsdk50e5s1z@->
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5db79ba4-48a5-48a3-9fb0-c1ab19d22479@googlegroups.com>
Subject: Re: DJGPP cross compilers for open-source hardware
From: rugxulo AT gmail DOT com
Injection-Date: Wed, 04 Sep 2013 17:11:09 +0000
Bytes: 4936
Lines: 73
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

Hi,

On Tuesday, September 3, 2013 5:08:27 PM UTC-5, Rod Pemberton wrote:
> On Mon, 02 Sep 2013 05:43:28 -0400, RoBoard Lab <robotics@...>
> wrote:
> 
> > 2013/8/31 01:34, Rod Pemberton:
> 
> >> Are you saying DOSLFN won't solve the DOS 8.3 filename issue in
> >> DOSBOX? 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). :)
> 
> 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.

DOSBox is officially meant only for games. Everything else is
secondary to that, according to the developers (last I checked). Old
DOS games from the '80s and '90s rarely (if ever) used any LFNs, but
many did use DOS extenders, e.g. DOS/4GW, hence why that would be
more important to support, I suppose.

>  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.

You could try StarLFN, it has an optional method of using hidden
LONGNAME.DAT files (similar to 4DOS' DESCRIPT.ION) instead of direct
VFAT access. But I don't know how well that will actually work for
you.
 
> 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.

Some old apps only work with LFNs if MS-DOS version is reported as 7.
And yes, the whole LFN to SFN translation is different between Win9x
and WinNT. Also, real DOS assumes that trying to open "GNUmakefile"
will open "GNUMAKEF" instead, if found. IIRC, that was another
problem that plagued DOSBox, not even supporting that (just crashed).

The problem is that DOSBox is portable but DOSEMU is not. The latter
only runs on Linux x86, but the former runs almost anywhere. However,
with DOSBox you're stuck to a "fast" 486 DX2 with 16 MB RAM default
(max 64 MB). And of course DOSEMU isn't really blessed by most
distros, so most of them don't really support it (well, if at all).
So you may be forced to search some third-party repos (e.g. Fedora)
or check "multiverse" (Debian). And even then you have to watch out
for bugs (SELinux?) and "sysctl -c" a few things (or whatever).

You probably don't want to run an emulator if you can help it. Sure,
it's nice when it works, but it usually doesn't. Like I mentioned
before, if your cpu has VT-X (esp. newer), it should be easier with
VirtualBox. Otherwise you're stuck with slow emulation a la BOCHS
or DOSBox. In that case, if you don't need to cross compile, I'd just
say use RUFUS to install FreeDOS to a bootable USB jump drive.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019