delorie.com/archives/browse.cgi   search  
Mail Archives: opendos/1997/02/05/00:34:32

From: mharris AT blackwidow DOT saultc DOT on DOT ca
Date: Tue, 4 Feb 1997 22:37:42 -0500 (EST)
Reply-To: mharris AT blackwidow DOT saultc DOT on DOT ca
To: "Colin W. Glenn" <cwg01 AT gnofn DOT org>
cc: OpenDOS Mailing List <opendos AT mail DOT tacoma DOT net>
Subject: Re: [opendos] OpenDOS + Win95 w/FAT32?
In-Reply-To: <Pine.GSO.3.95.970202233936.27290A-100000@sparkie.gnofn.org>
Message-ID: <Pine.LNX.3.95.970204215208.166p-101000@capslock.com>
Organization: Total disorganization.
MIME-Version: 1.0
Sender: owner-opendos AT mail DOT tacoma DOT net

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime AT docserver DOT cac DOT washington DOT edu for more info.

---1463811840-2048056209-855113862=:166
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Sun, 2 Feb 1997, Colin W. Glenn wrote:

> On Sun, 2 Feb 1997, Jim Lefavour wrote:
> > > Warning! 8.3 programs will only see first occurance of file!
> > > 
> > Therein lies one problem with the lookup table approach - I have seen 
> > several packages using long "Linux" filenames in TGZ files, which use 
> > filenames that have large similar portions, viz.
> 
> > open_file.c open_file.h open_file_mic.c open_file_mic.h
> 
> Well, a tar program I'm using right now does a neat job of this, they'd be
> named:
> 
> > open_fil.c open_fi~.h open_fi'.c open_fi`.h

I think the linux/dosemu method is better since the filenaming
conventions are consistent and very reliable. 

> We could have it implement an approach like this when presenting LFN's to
> a 8.3 program, or we could also have an option TSR which will intercept
> the dir call and present YOU with the LFN's, which one(s) do you want the
> program to see and how?

You're assuming that the program that is running is interactive.
What if I want to run a program unattended in a batch file?  The
TSR pops up and nobody's home.

What if I'm running a 16 node BBS and not at home?  YIKES! 
What if I'm in Mode-X graphics, or in a VESA 16M color video mode
and running a full speed interactive routine (like a game) and I
wan't to open a game file to read in sprites or sound effects.
What happens then?  The game stops dead, and the tsr pops up in
an obscure video mode?  Even if it were possible for a TSR to
know about all video cards and all possible video modes (and
future modes as well), it would NOT know if stopping the program
would screw it up of not.  It would have to be one smart, big
TSR!  And VERY annoying as well!

> > c:\thisone\level.help\open_file.help
> > c:\thisone\level.help.source\open_file.help.txi
> 
> Hmmm, either option A, or TSR, or name compression, ie:

TSR is out of the question.  Technically impossible.  The
solution must work in ALL cases and not require the user to fix
things interactively.

> > c:\thisone\levelhel\open_fil.hel
> > c:\thisone\levelhel.sou\open_fil.txi

Ok, lets assume that there are also ALLREADY files called
open_fil.hel and open_fil.txi in addition to the long filenames
listed above, then what?  Picking arbitrary filenames with some
kind of AI algorithm is not going to work most of the time
because the names will still be weird looking.  Since the
filenames are going to be strange to begin with, it would be most
beneficial to have an algorithm that was both fast, consistent,
and reliable.  Taking a long filename, and mangling this into
the 8.3 filename seems a logical way to go in this case.  

A damned good way to do this is... you guessed it, the way that
DOSemu does.  This is by mangling the names ala the Mach FS.
I've browsed the source code for this and it is VERY small and
seems to be very reliable code.  If you care to investigate for
yourself, you can download the DOSemu source code and look in the
directory:

dosemu/src/dosext/mfs/

The file "mangle.c" contains the meat and potatoes of doing the
filename translations and is VERY informative.  I've included it
as a zip file for those who are interested but don't want to
download the 1.2 megs of DOSemu.  It's only 7k.

> There's bound to be a dozen ways to skin this cat.

Naw, only one that I can see.  :o)
 

Mike A. Harris        |             http://blackwidow.saultc.on.ca/~mharris
Computer Consultant   |    My webpage has moved and my address has changed.
My dynamic address: http://blackwidow.saultc.on.ca/~mharris/ip-address.html
mailto:mharris AT blackwidow DOT saultc DOT on DOT ca

WABI: A commercial Windows emulator for Linux. http://www.caldera.com

---1463811840-2048056209-855113862=:166
Content-Type: APPLICATION/ZIP; name="mangle.zip"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine DOT LNX DOT 3 DOT 95 DOT 970204223742 DOT 166q AT capslock DOT com>
Content-Description: 

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
---1463811840-2048056209-855113862=:166--

- Raw text -


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