VOGONS


First post, by basti007

User metadata
Rank Newbie
Rank
Newbie

If i have a "umlaut" in a filename (like Ü, Ä or Ö) the file isn't recognized by DosBOX. Instead, the umlaut is shown as ASCII 220 (a small block at the bottom) (like GL_CK instead of GLÜCK).

The problem: A lot of german games uses umlauts. Like Bazooka Sue: As soon as the program wants to access a certain file (in this case, it's a files called GLÜCK.EXT) it crashes immediately with the error, that the file isn't found.

How come around this problem?

Thanks,
Basti

Reply 2 of 8, by basti007

User metadata
Rank Newbie
Rank
Newbie

In what shall i rename the files if Bazooka Sue is searching for

GLÜCK.WAV
LÖWE.WAV
TÜR.WAV
BRÜCKE.WAV
BÜCHER.WAV

etc etc...?

Is there a way to rename the files so that the umlauts are shown correctly and can be found by the games?

I already tried to hex-edit some of the Bazooka Sue code, which causes the game to crash because of an invalid checksum.

Reply 3 of 8, by The Avatar

User metadata
Rank Newbie
Rank
Newbie

Dificult Question. You should try to rename, like the TÜR.wav to TUR.wav. If the game try to search the files, ask the creator of the DOSBOX. And, eh, don't try to hex-edit anything, you can give goodbye to your computer sometimes. 😀

Of your friend,
The Avatar

Reply 5 of 8, by basti007

User metadata
Rank Newbie
Rank
Newbie

Ascii Oct are:

Ä 142
Ö 153
Ü 154

(the small letters would be:

ä 132
ö 148
ü 129

- but would not so important in dos)

[in normal dos i could create them with pressing ALT + corresponding numbers]

more infos here: http://www.asciitable.com/

Reply 6 of 8, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

this is the routine that makes file_names for the functions inside dosbox
(e.g. the openfile commands from dos)

	while (name[r]!=0 && (r<DOS_PATHLENGTH)) {
Bit8u c=name[r++];
if ((c>='a') && (c<='z')) {upname[w++]=c-32;continue;}
if ((c>='A') && (c<='Z')) {upname[w++]=c;continue;}
if ((c>='0') && (c<='9')) {upname[w++]=c;continue;}
switch (c) {
case '/':
upname[w++]='\\';
break;
case ' ':
break;
case '\\': case '$': case '#': case '@': case '(': case ')':
case '!': case '%': case '{': case '}': case '`': case '~':
case '_': case '-': case '.': case '*': case '?': case '&':
case '\'': case '+': case '^':
upname[w++]=c;
break;
default:
DOS_SetError(DOSERR_PATH_NOT_FOUND);return false;
break;
}

You see that the characters you discuss aren't present

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

Reply 7 of 8, by basti007

User metadata
Rank Newbie
Rank
Newbie

well, i'm not a programmer, so i can't make much out of these routines 😉 - so i guess, at the moment, there is no way around that Ü.Ö.Ä - issue? Too bad, becuase all of the games work fine - as long as they don't require that certain files. 🙁

Reply 8 of 8, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

what basicly is written there:
if character doesn't exist in that table
so not a normal character like abcdefghi.... or a number or one of the special characters listed in
that case '\\': case '$' : .....................

then dosbox reports "path_not _found /illegal character in name". and the game can't open the file.

So there is no way around it unless Somebody adds those characters you describe in this table.

To do this: I would need the ascii values and some example games to try it on.

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