как запустить DOSBox в командной строке, не открывая его в новом окне

как запустить DOSBox в командной строке, не открывая его в новом окне

как запустить DOSBoxс помощью командной строки Windows по умолчанию (не открывая ее в новом окне), редактирование исходного кода DOSBoxявляется решением, но я хочу узнать, нет ли другого решения, прежде чем пересобирать DOSBox.

еще

есть ли еще какое-либо приложение, которое может запустить 16-битное приложение командной строки в CMD.

Я пытался DOSBox.exe -nonconsole, но это не то, что я ищу. Пытался, ScummVMно D-Boxбезрезультатно.

решение1

Не знаю, подойдет ли вам ответ. По крайней мере, я обнаружил, что можно запустить DOSBox, выполнить команды и выйти из него. Это позволяет мне запускать автоматизированные тесты на DOSBox через Travis CI. Однако окно все равно будет, и оно не передает код выхода вызывающей стороне.

Команда будет выглядеть следующим образом:

dosbox exit -c [your_command_here] >>log.txt" -noconsole -exit

Чтобы это работало, необходимо, чтобы файл был вызван exitв текущем каталоге (потому что exitон запускается последним и ожидается, что это будет внешняя команда).

Я использую log.txtпрограмму Dos для получения обратной связи.

Насколько мне известно, DOSBox невозможно запустить без окна. Было бы неплохо, если бы он возвращал код выхода своей командной оболочки. Думаю, это должно быть легко реализовать, но для этого потребуется изменить исходный код.

Я пока не могу поставить плюс, но я думаю, что это полезный вопрос, поскольку DOSBox можно использовать для тестирования в 16-битной среде. В этом смысле вопрос, на самом деле, подходит для StackOverlow.

решение2

ДОСЭМУможет сделать это в его так называемомтупой режим, например

dosemu -dumb DIR

Обратите внимание, что теперь есть также нестабильнаяДОСЕМУ 2. Мне не ясно, продолжение это или разветвление.

решение3

Для этого можно использовать NTVDMx64.http://www.columbia.edu/~em36/ntvdmx64.html

NTVDM — это подсистема NT Virtual DOS Machine, которая была частью 32-разрядных версий Windows. Она могла запускать 16-разрядные программы MS-DOS, используя режим V86 ЦП. Однако этот режим не может быть использован, когда ЦП работает в 64-разрядном режиме. Но, к счастью, у Microsoft была версия NTVDM, которая использовала эмулятор вместо режима V86. Эта версия была утекла в сеть, и по ссылке выше есть информация о том, как ее использовать.

Связанный контент