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: 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: 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 Content-Type: text/plain; charset=ISO-8859-1 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 Precedence: bulk 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 > 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.