When you have problems with MS-DOS programs:
Test the NTVDM (Windows Virtual DOS Machine) subsystem:1. Start / Run / Command.com / OK.
2. If a C:\Windows\System32\Command.com session does NOT open, the NTVDM is misconfigured. Check the Config.nt and Autoexec.nt files in the %SystemRoot%\System32 folder for non-standard entries:
Config.nt --------- REM Windows MS-DOS Startup File REM REM CONFIG.SYS vs CONFIG.NT REM CONFIG.SYS is not used to initialize the MS-DOS environment. REM CONFIG.NT is used to initialize the MS-DOS environment unless a REM different startup file is specified in an application's PIF. REM REM ECHOCONFIG REM By default, no information is displayed when the MS-DOS environment REM is initialized. To display CONFIG.NT/AUTOEXEC.NT information, add REM the command echoconfig to CONFIG.NT or other startup file. REM REM NTCMDPROMPT REM When you return to the command prompt from a TSR or while running an REM MS-DOS-based application, Windows runs COMMAND.COM. This allows the REM TSR to remain active. To run CMD.EXE, the Windows command prompt, REM rather than COMMAND.COM, add the command ntcmdprompt to CONFIG.NT or REM other startup file. REM REM DOSONLY REM By default, you can start any type of application when running REM COMMAND.COM. If you start an application other than an MS-DOS-based REM application, any running TSR may be disrupted. To ensure that only REM MS-DOS-based applications can be started, add the command dosonly to REM CONFIG.NT or other startup file. REM REM EMM REM You can use EMM command line to configure EMM(Expanded Memory Manager). REM The syntax is: REM REM EMM = \[A=AltRegSets\] \[B=BaseSegment\] \[RAM\] REM REM AltRegSets REM specifies the total Alternative Mapping Register Sets you REM want the system to support. 1 <= AltRegSets <= 255. The REM default value is 8. REM BaseSegment REM specifies the starting segment address in the Dos conventional REM memory you want the system to allocate for EMM page frames. REM The value must be given in Hexdecimal. REM 0x1000 <= BaseSegment <= 0x4000. The value is rounded down to REM 16KB boundary. The default value is 0x4000 REM RAM REM specifies that the system should only allocate 64Kb address REM space from the Upper Memory Block(UMB) area for EMM page frames REM and leave the rests(if available) to be used by DOS to support REM loadhigh and devicehigh commands. The system, by default, would REM allocate all possible and available UMB for page frames. REM REM The EMM size is determined by pif file(either the one associated REM with your application or _default.pif). If the size from PIF file REM is zero, EMM will be disabled and the EMM line will be ignored. REM dos=high, umb device=%SystemRoot%\system32\himem.sys files=40 Autoexec.nt ----------- @echo off REM AUTOEXEC.BAT is not used to initialize the MS-DOS environment. REM AUTOEXEC.NT is used to initialize the MS-DOS environment unless a REM different startup file is specified in an application's PIF. REM Install CD ROM extensions lh %SystemRoot%\system32\mscdexnt.exe REM Install network redirector (load before dosx.exe) lh %SystemRoot%\system32\redir REM Install DPMI support lh %SystemRoot%\system32\dosx REM The following line enables Sound Blaster 2.0 support on NTVDM. REM The command for setting the BLASTER environment is as follows: REM SET BLASTER=A220 I5 D1 P330 REM where: REM A specifies the sound blaster's base I/O port REM I specifies the interrupt request line REM D specifies the 8-bit DMA channel REM P specifies the MPU-401 base I/O port REM T specifies the type of sound blaster card REM 1 - Sound Blaster 1.5 REM 2 - Sound Blaster Pro I REM 3 - Sound Blaster 2.0 REM 4 - Sound Blaster Pro II REM 6 - SOund Blaster 16/AWE 32/32/64 REM REM The default value is A220 I5 D1 T3 and P330. If any of the switches is REM left unspecified, the default value will be used. (NOTE, since all the REM ports are virtualized, the information provided here does not have to REM match the real hardware setting.) NTVDM supports Sound Blaster 2.0 only. REM The T switch must be set to 3, if specified. SET BLASTER=A220 I5 D1 P330 T3 REM To disable the sound blaster 2.0 support on NTVDM, specify an invalid REM SB base I/O port address. For example: REM SET BLASTER=A0 lh %SystemRoot%\System32\Nw16 (only if CSNW is installed) lh %SystemRoot%\System32\Vwipxspx (only if CSNW is installed)NOTE: Use REM to ignore any other entries for troubleshooting.
NOTE: You can copy these files from %SystemRoot%\Repair or expand the autoexec.nt_ and Config.nt_ files from the I386 folder of the Windows XP CD-ROM.
3.Press CTRL+SHIFT+ESC to start Task Manager and close all running programs.
4. Make sure that no other instance of NTVDM is running.
5. Use MSConfig to temporarily disable all programs in the Startup groups, the registry Run and RunOnce keys, and the "run=" and "load=" lines in the Win.ini file.
6. Make sure that the following files exist in the %SystemRoot%\System32 folder, that they have dates consistent with the initial install or your last service pack (Expand from the media):
command.com Ntio.sys Ntdos.sys Ntvdm.exe Ntvdmd.dll Redir.exeAny environment variables required must be located in the registry at HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment.
Any device drivers used in the NTVDM session should have been installed by Windows and recorded at:
MS-DOS Program-Specific Issues01. All MS-DOS program functions except task-switching functions are supported.
02. The MS-DOS program may not use block mode drivers, APIs that deal with block devices, and SETDPB.
03. Interrupt 10 function 1A returns 0; all other functions are passed to read-only memory (ROM).
04. Interrupt 13 calls that deal with prohibited disk access are not supported.
05. Interrupt 18 (ROM BASIC) generates a message that says that ROM BASIC is not supported.
06. Interrupt 19 does not restart the computer, but cleanly closes the current NTVDM.
07. Interrupt 2F, which deals with the DOSKEY program callouts (AX = 4800), is not supported.
08. Microsoft CD-ROM Extensions (MSCDEX) functions 2, 3, 4, 5, 8, E, and F are not supported.
09. Programs that require unrestricted access to hardware are not supported.
10. If the program uses custom versions of Autoexec.nt and Config.nt, these should NOT be stored in the %SystemRoot%\System32 folder. These are referenced by using the Advanced button on the Program tab of the shortcut, program, or .pif Properties.
11. Make sure that all the tabs in the Properties dialog are properly set per the author's specifications.