VOGONS


First post, by nightson

User metadata
Rank Newbie
Rank
Newbie

Hi. I think this is an old issue. I ran into it years ago with an older version of DOSBox. I tested it again today on DOSBox 0.74 and DOSBox ECE r4176 and found out that the problem still remains.

So here is the issue. After you choose Chinese as the language in the setup and finish installing the game, the game will run SETUP.EXE from C:\WESTWOOD\MALCOLM. That's when the issue starts. Chinese texts in the setup menu won't display, leaving just blank menu items on the screen. If you try to run the game, all Chinese subtitles and menu texts won't display as well. However, If you change the game language to other languages in the game menu, all texts all display properly in the chosen language. The interesting thing is, if you mount the game directory as the C drive in DOSBox (in my case mount C D:\DOS\WESTWOOD\MALCOLM), the Chinese texts will display properly :

The attachment install_021.png is no longer available
The attachment 2019-02-07_124240.jpg is no longer available

I thought it was a bug with the Chinese version of the game at the start. But the texts are displaying properly on my Win98 machine:

The attachment QQ图片20190207123551.jpg is no longer available
The attachment IMG_20190207_121131.jpg is no longer available
The attachment IMG_20190207_121150.jpg is no longer available

Any idea what caused this?

Thanks in advance!

Last edited by nightson on 2019-02-09, 13:01. Edited 1 time in total.

Reply 1 of 9, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Sounds like a path problem where the game can't find a file containing the Chinese characters. Are you changing the default directory to the install directory before running the setup?

C:
CD \WESTWOOD\MALCOLM
SETUP

If you know what file contains the characters, maybe try copying that to the root of the emulated C drive, because the way you describe the problem suggests the game is looking for the file in the root, or maybe relative to the root. The log messages in a debug build of DOSBox should make clear what directory specifications the game is using when accessing files.

Reply 2 of 9, by nightson

User metadata
Rank Newbie
Rank
Newbie
ripsaw8080 wrote:
Sounds like a path problem where the game can't find a file containing the Chinese characters. Are you changing the default dire […]
Show full quote

Sounds like a path problem where the game can't find a file containing the Chinese characters. Are you changing the default directory to the install directory before running the setup?

C:
CD \WESTWOOD\MALCOLM
SETUP

If you know what file contains the characters, maybe try copying that to the root of the emulated C drive, because the way you describe the problem suggests the game is looking for the file in the root, or maybe relative to the root. The log messages in a debug build of DOSBox should make clear what directory specifications the game is using when accessing files.

After some testing it turns out that the game is looking for MALCOLM.PAK.

But I didn't change the default install directory. The fact that it works on a real machine but not in DOSBox seems to suggest it might be some bug, or at least different behaviors in DOSBox?

Reply 3 of 9, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author
nightson wrote:

But I didn't change the default install directory.

I didn't say you changed the default install directory, I said "change the default directory to the install directory", which is the "CD" command in my example. Some prefer to use the term "working directory" instead of "default directory".

Reply 4 of 9, by nightson

User metadata
Rank Newbie
Rank
Newbie

Ah sorry I totally misread your reply ( Was playing Overwatch 😜 ) .

No, I didn't do anything before running the setup. The game installer automatically calls setup.exe after installation is complete. I just tested it out, changed the working directory to the install directory and then ran setup.exe but got the same result. It seems that the only solution is copying MALCOLM.PAK to the root. Why it works on a real machine is beyond me.

Reply 5 of 9, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Hmm, maybe that means an incorrect path was written into the setup files on the C drive. Do you see any setup files with a path in them that is "C:\" ?

Reply 6 of 9, by nightson

User metadata
Rank Newbie
Rank
Newbie
ripsaw8080 wrote:

Hmm, maybe that means an incorrect path was written into the setup files on the C drive. Do you see any setup files with a path in them that is "C:\" ?

Can't find any 🙁

Reply 7 of 9, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The problem with the setup and game programs is that they use the CDS -- an internal DOS table that DOSBox does not emulate -- to determine the current directory of the C: drive.

It puzzles me that the programs go through such trouble with the CDS, because there is a DOS function to get the current directory (INT 21/47), and they could simply use a filespec of "MALCOLM.PAK" to open the font file in the current directory.

The attached workaround program sets the current directory of the C: drive in the CDS to "." so that the programs end up using a filespec of ".\MALCOLM.PAK" instead of "\MALCOLM.PAK" for the font file.

Reply 8 of 9, by nightson

User metadata
Rank Newbie
Rank
Newbie
ripsaw8080 wrote:

The problem with the setup and game programs is that they use the CDS -- an internal DOS table that DOSBox does not emulate -- to determine the current directory of the C: drive.

It puzzles me that the programs go through such trouble with the CDS, because there is a DOS function to get the current directory (INT 21/47), and they could simply use a filespec of "MALCOLM.PAK" to open the font file in the current directory.

The attached workaround program sets the current directory of the C: drive in the CDS to "." so that the programs end up using a filespec of ".\MALCOLM.PAK" instead of "\MALCOLM.PAK" for the font file.

Thank you Sir! The workaround works great!

May I ask why CDS isn't emulated in DOSBox? Is it so obscure that no game or program used it?

Reply 9 of 9, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author
nightson wrote:

May I ask why CDS isn't emulated in DOSBox? Is it so obscure that no game or program used it?

I don't know of any other case where the CDS is used, so I can understand why no effort was made to emulate it. As I mentioned before, there is a DOS function to get the current directory, and that is what games and apps usually use. I can only speculate as to why the programmers for the game's Chinese version didn't simply use the DOS function, but the fact that they didn't really need to get the current directory anyway suggests a lack of familiarity with DOS.