Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Debug v1.19 (Announce)

posted by ecm Homepage E-mail, Düsseldorf, Germany, 18.10.2010, 19:39

From the other thread:
> It's probably worth to be noted that it was this example which made me
> aware that DEBUG v1.18 wasn't able to reset its breakpoints when a mode
> switch occured in the debuggee ( fixed in v1.19 ).
>
> Another note: the bugfix for v1.19 includes a temporary mode switch inside
> the debugger under certain conditions. Debug uses DPMI raw-mode switches
> for this. It has turned out that this approach won't work with CWSDPMI v5.
> HDPMI, Windows 9x/ME and Windows XP are ok. DosEmu is untested yet.

Interesting. But note that this is not strictly required if the current mode is PM (with breakpoints that were set in RM), and that it doesn't handle cases correctly where a selector's descriptor has changed while running. That can be addressed by storing linear addresses and using scratchsel to store/restore the breakpoints.

Your comment regarding interrupt 20h usage for MZ programs is, AFAIK, wrong. For interrupt 20h, MS-DOS will assume in some (but not all) places that the terminating process's address is the current cs (ie. that executed the int 20h opcode). (Not all DOS share this feature.) DOS doesn't really track what kind of executable format a program was loaded from. This means you can correctly terminate MZ programs with interrupt 20h, but only if you fixed up cs in such a way that it is equal to your PSP. (This IIRC applies to Int21.00 too, but not to Int27 or Int21.31.) Just sayin'

---
l

 

Complete thread:

Back to the forum
Board view  Mix view
22762 Postings in 2122 Threads, 402 registered users (0 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum