Re All:
As for the code page issue in post #10, it has been verified that it is caused by some item in the registry being modified, as follows:
"CodePage"=dword:000001b5
The 1b5 there is the hexadecimal notation for 437 (OEM United States).
As for the problem mentioned in post #9 where executing mem in cmd shows blank lines, the specific behavior is as follows:
If you enter the command line window by running CMD or by clicking the Command Prompt in the menu, then directly execute mem or some other older 16-bit DOS program, it will immediately switch the chcp code page to 437. This switching action clears the screen, then shows 11 blank lines. But if you directly execute mem>mem.txt, the switching action still occurs, only the number of blank lines displayed becomes 1, while mem.txt shows 11 lines of text.
Invalid keyboard code specified
655360 bytes total conventional memory
655360 bytes available to MS-DOS
633664 largest executable program size
1048576 bytes total contiguous extended memory
0 bytes available contiguous extended memory
941056 bytes available XMS memory
MS-DOS resident in High Memory Area
Therefore the following guesses can be made:
1. Those 11 blank lines in the former case are exactly the contents of mem.txt.
2. The Invalid sentence on the first line of mem.txt indicates that the program uses a Keyboard Code incompatible with the current Windows, and according to testing, no 16-bit DOS program has yet been found that can solve this compatibility problem.
3. The forced Code Page switch may originate from this invalid Keyboard Code.
4. And since after the code page switch the program output still cannot be displayed normally, that means the program output is still not compatible with this code page, while DEBUG can make adjustments.
5. According to the hint from Wengier in
http://www.cn-dos.net/forum/viewthread.php?tid=1019, after switching the command line window to full screen and then executing programs like mem, the problem pointed out in guess 4 will not appear, so this kind of switching should have performed a corresponding adjustment action just like the piece of code in debug.
[
Last edited by willsort on 2005-10-15 at 12:32 ]