First post, by tbwright
I have to run (maintain) old MSDOS programs on some 64-bit Windows-based computers, where all known MSDOS software runs correctly under Cmd.exe or Command.com on 32-bit Windows (anything, from 3.1 through Windows 8.1) , because all these user enterprises now require 64-bit to be the new standard (because of needed availability of hardware drivers and few 32-bit computers are being built or Windows-installed as such).
So under advice, DOSBOX was tried out and initially ran several simple programs.
It was then found that compilers would still work and programs would still work, after a work-around for "return" non-acceptance was discovered. But linked batch files would not complete and some other difficlties found
Yes, I know the initial intent was to run single games.
The detected problem, is with the carriage-return-line-feed pair used in most text responses or pause responses or 'get-next-character input parsing interactions, from Fortran or ASM or C++ compiled/assembled/linked production of an executable. All the programs used and controlled 256-colour text and all keystokes possible with 8 bit characters, i.e. using all shift and control combinations. Only one failed; the return.
Keyboards were all various 103-key keyboards (with right pad and numeric pads, which keys gave no problems). Hitting the Enter key produced a newline plus a re-read ad infinitum. The problem in only in DOSBOS emulation within Windows 7 no examples of 8 being used).
The workaround is to type Shift-enter, then Control-enter.
This works in all 3 compilers and 66 MSDOS executables tried.
There was NO problem with Batch text pauses which accepted the cr-lf pair.
The problem was found in
A) in ASM programs where Interrupt 16H (get/wait scan key code) is called.
B) "return" key entry to indicate end of text entry on a Fortran READ
C) response needed for Fortran "PAUSE" to complete and continue.
IS THERE A PATCH FOR THIS?
This experiments suggest the emulation is performing TWO interrupt simulation operations, since a PAIR of TWO different responses passes the character test!
DOSBOX is being used whenever 64-bit Windows has to be on the same computer, making the usual working 32-bit MSDOS emulation unavailable.
T.B. Wright