VOGONS


First post, by X_Tra

User metadata
Rank Newbie
Rank
Newbie

Hello!
I've discovered that Dosbox 0.63 has some problems with long filenames (i.e. not in 8.3 DOS format).
I'm from Russia, my system is WinXP RUS, I have 2 physical harddisks, and they are splitted into 5 logical volumes in FAT32 filesystem. I'm not sure, but I suppose that all filenames are encoded in Unicode (especially those in Russian language).
Now imagine I have a folder with two files (ISO-images) of similar filenames (first 15 symbols of the filenames are exact), for example:

[LONG_FILENAME] filename1.iso
[LONG_FILENAME] filename2.iso

The first filename is >64 symbols, the second is <64 symbols (not like in example). ISO-images are valid (i.e. not corrupted and can be mounted). Now I want to IMGMOUNT them in Dosbox as X: (not simultaneously, of course). I mount my harddrive as C:, set current dir to that folder, then type DIR and get list of two filenames. Because first 15 symbols of filenames are exact, in DOS format they are available for Dosbox as:

[LONG_~1.ISO
[LONG_~2.ISO

Well, I type

IMGMOUNT X [LONG_~1.ISO -t iso
IMGMOUNT X [LONG_~2.ISO -t iso

But Dosbox says, that both files are not found. I tried many times, but no result - same error...
Well, I rename both files (prefix removed):

filename1.iso
filename2.iso

The first filename is still >64 symbols, the second is <64 symbols

IMGMOUNT X FILENA~1.ISO -t iso
IMGMOUNT X FILENA~2.ISO -t iso

Now the second file successfully mounted (X:\DIR works), but IMGMOUNT says that it was wrong syntax on the first command...
Well, OK, I rename the first file so it is <64 symbols now. After this first command successfully mounts ISO-image as X:

This situation is very strange, I think it is a combination of ISO filename length limitations, wrong parsing some symbols in Dosbox, and my hdd filesystem...

P.S. If I type filenames in quoted format (not 8.3), then removing prefix from the first attempt to the second is not needed: on first attempt I get results like in the second attempt, i.e.:

IMGMOUNT X "C:\Path_to_file\[LONG_FILENAME] filename1.iso" -t iso
IMGMOUNT X "C:\Path_to_file\[LONG_FILENAME] filename2.iso" -t iso

mounts second image, and says about wrong command syntax for the first one. After decreasing first filename length to fit in 64 symbols everything works fine...

This message is supported by X_Tra Systems

Reply 1 of 2, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

my first response would be that an [ inside a filename inside dosbox is tricky. I'm not sure we tolerate it. (which would result in a file_not_found (our standard error if a file contains an "unwanted" character))

can't you just mount them on your host system through dosbox ? or is that linux only at the moment ....
i can do
imgmount X /tmp/whatever.iso -t iso inside dosbox
(note that /tmp/whatever.iso is a path on my real drive not inside dosbox) The next version probably supports this in win32 as well.

But to say short I think the nameparser of dosbox doesn't like the names and returns a file_not_found error.

Water flows down the stream
How to ask questions the smart way!

Reply 2 of 2, by X_Tra

User metadata
Rank Newbie
Rank
Newbie

About IMGMOUNTing by specifying full real path (quoted) to ISO-image without mounting real path as virtual in Dosbox: it works fine, i.e. if I type:

IMGMOUNT X "C:\bla bla\blablabla\long filename.iso" -t iso

without mounting C:\ as C inside Dosbox, it works. ...But if ISO-filename is >64 symbols, Dosbox always says about wrong command syntax (it doesn't say file_not_found).
And if ISO-filename is <64 symbols, then it crashes if filename contains [ or ] symbols, and mounts image in any other cases...

Why [ character is tricky/"unwanted"? 😕 And what about ] character and 64 symbols limitation? Can this be avoided?

This message is supported by X_Tra Systems