DOSBox: debug.exe reads file - processes commands incorrectly

ε祈祈猫儿з 提交于 2019-11-29 18:16:35
Michael Petch

I can reproduce the behavior you are seeing in this scenario:

  • DOSBox 0.74 on Windows and Linux
  • DEBUG.EXE from Windows XP copied to DOSBox
  • DEBUG.EXE from various versions of MS-DOS will cause problem including unexpected hangs. See this Stackoverflow question for another related problem.

I found a version of DEBUG.COM from FreeDOS that works as expected. I have made DEBUG.COM available for download from my website. Alternatively you can download the ZIP File from Softpedia and extract DEBUG.COM.

When I run DEBUG.COM I get this:

S:\>debug.com <hello.asm
-a 100
0BFB:0100 jmp 145
0BFB:0102 db 'Hello, World!', 0D, 0A, 'Press any key to continue . . .$'
0BFB:0131
-a 145
0BFB:0145 mov ah, 09
0BFB:0147 mov dx, 102
0BFB:014A int 21
0BFB:014C mov ah, 08
0BFB:014E int 21
0BFB:0150 int 20
0BFB:0152
-rcx
CX 0000
:100
-n hello.com
-w
Writing 00100 bytes
-q

S:\>hello
Hello, World!

Had same problem in DosBox 0.74 with DEBUG.EXE script redirection. Discovered that it could be fixed by changing the end-of-line characters in the script file from [CR][LF] to just [CR] when redirecting into DEBUG.EXE.

Pasting your file into the Scite editor and viewing the line-end characters showed this:

a 100{CR][LF] jmp 145[CR][LF].... et cetera

I used an option in Scite to change the EOL characters to [CR] alone, getting

a 100{CR] jmp 145[CR].... et cetera

saved the file, and was able to redirect it into DEBUG.EXE with no problem. Not sure why [CR][LF] causes the issue with DEBUG.EXE, but hope this helps.

DEBUG.COM handles either EOL sequence with no glitch, so makes sense to use it instead, especially with its extended features. But one can use DEBUG.EXE it seems, with this fix, FWIW. The Scite editor is a neat tool.

    1

    I found the same problem running a script file for Debug within Dosbox. but I found another editor: Notepad2. runs great and small and changes color to highlight assembler words. Had to use debug ver 1.25 though.

      0

      Than you Michael Petch. I was trying everything to get the output of FreeDos clone of MS-DEBUG to save into a text file. But it was not the path, the speed, or the memory allotment that was blocking the redirection of output. It was indeed the line feed and cursor return combination. I quickly wrote a program to take out cursor return and leave line feed. It now redirects! I can also take out the line feed and leave the cursor returns, and DEBUG redirects to file as well. The small glitch is I have to access Windows outside the or close the DosBox window, for the outputted DEBUG code to become visible in a directory listing.

      This is how I redirect DEBUG output to a file:

      DEBUG < game.dbg > game.lst

        Your Answer

        By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

        Not the answer you're looking for? Browse other questions tagged or ask your own question.

        易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
        该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!