Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

DOS kernel debugging (Announce)

posted by Japheth Homepage, Germany (South), 30.04.2025, 08:20
(edited by Japheth on 30.04.2025, 14:33)

> This is the first I hear of it.

So the answer is "No". In the meantime I tested MS-DOS 7.1, EDR-DOS and FreeDOS, and it's true, just MS-DOS knows the signature. Fortunately, it's no problem with both EDR-DOS and FreeDOS, since they change int vectors 0,1 and 3 at the very same occasion, so one can set a write watchpoint at address 0000:0000 to catch it - while MS-DOS first changes vectors int 1 & 3, then, significantly later, int 0. And setting a watchpoint at address 0000:0004 simply "doesn't work" :-D.

EDIT: MS-DOS 6.22 regretably doesn't know the "JP" signature, so it's probably safe to assume that it's a v7.1 (or v7.x) feature only. It can be patched, though: search for hex string "BF 04 00 BB" in file IO.SYS and change the next 6 occurances of AB -> 90 (STOSW -> NOP).

> 1 does it. This command traces the kernel until it gets to an
> instruction that's about to write to the IVT entries for int 1, 2, or 3.
> This is usually a mov or stosw. Crucially, this
> returns control to the debugger terminal before executing the
> instruction that would write to the IVT.

Very sophisticated! A "simple solution" is still preferable, however.

---
MS-DOS forever!

 

Complete thread:

Back to the forum
Board view  Mix view
22552 Postings in 2097 Threads, 401 registered users, 50 users online (1 registered, 49 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum