VOGONS


First post, by WilliamLeara

User metadata
Rank Newbie
Rank
Newbie

Using .74. Anyone else have this problem?

- run debug.exe
- a 100
- int 20
- g
--> hang

I was expecting "Program terminated normally"

Why won't INT 20 work?

Reply 1 of 3, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Works fine in a regular application.

Reply 2 of 3, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

INT 20 works if it's part of a program *loaded* into DEBUG.EXE, I think because the stack and/or termination address is then arranged correctly. When no program is loaded, DEBUG.EXE uses the CPM-style call address offset to figure its initial SP (should be FFEEh not 00FDh), and DOSBox doesn't currently handle the CPM address as DOS does. However, the initial SP is just an example of an environmental difference compared to real DOS; haven't determined that it is responsible for the hang.

Reply 3 of 3, by peterferrie

User metadata
Rank Oldbie
Rank
Oldbie

Int 20 expects CS=PSP segment
but that's not the case for the debug console if nothing is loaded.
Running with nothing loaded causes memory corruption (no MCB at PSP-1) and the int 22 resume handler isn't set, either.