MS-DOS Player for Windows





MS-DOS Player is a MS-DOS emulator running on Windows (32/64-bit) command prompt. Its 16-bit MS-DOS compatible commands can be executed on Win32/x64 environments.

It basically inherits the environment variables from the host Windows, and a target command can access the host's file path directly. As such, you can execute 16bit MS-DOS compatible commands on your 64bit Windows in the same sence as you did on 32bit Windows, and you do not need to copy any files to/from a virtual machine (VMware, Virtual PC, XP mode, or others).

Note: This emulator DOES NOT support Win16 execution files. It aims to support character user interface utilities, for example file converters, compilers, assemblers, debuggers, and text editors. For now, doesn't support graphic/sound hardwares nor is intended to support game softwares.

Most Recent Changes (translated)

I modified the I386 core of NP21 / W by referring to testi386.exe of QEMU. It is a binary of ia32_x86 version, and the same result as the actual machine can be obtained.
The specific changes are as follows.

  • The DAA / DAS / AAA / AAS / AAM / AAD instructions have been modified based on the DOSBox implementation.

  • Corrected the processing when shifting 16 bits or more with the SHLD / SHRD instruction.

  • Corrected the values of C1, C2, C3 flags for NaN and INF in the FCOM / FCOMI / FXAM instruction.

  • Fixed to clear C1 with FDECSTP / FINCSTP instruction.

  • Fixed FLD instructions to set and clear C1 with or without stack overflow.

  • Fixed to reflect the data16 prefix in the FSTENV / FLDENV / FSAVE / FLDENV instruction.

In addition, with ia32_x64 version, an exception will occur in the floating point test. It seems that the processing is not equivalent between x86 build and x64 build, it is necessary to investigate.

  • Fixed an issue where standard I / O handles could not be closed properly. For example, the problem that the output cannot be output to a file with the SYMDEB> command has been solved.


  • Whether to display control characters as symbols for each of INT10h, INT 21h AH = 02h / 06h / 40h, INT 29h,
    Treated as a control character or separated processing.
    Also, fixed the scan code when pressing keys other than letters while holding down Ctrl or Alt.

  • Fixed the process of reverting the code page when exiting not working properly.
    Also, the process to determine that it was started from the command prompt or Power Shell has been fixed.

  • Supported INT 16h, AH = 51h.

  • Added service to get the shift status of the AX keyboard, which was called by the Windows 3.1 installer.


View more here...