Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

the DOS code segment hunt, results/questions (Miscellaneous)

posted by Ninho(R) E-mail, 14.12.2009, 20:37
(edited by Ninho on 14.12.2009, 22:48)

Back to tuning the algorithms after 2 days absorbed in (mostly) unrelated activities.

Spent several hours asserting and validating methods for reliably finding the DOS kernel's CS. The hunt was made a tad more difficult (hence exciting ;-) ) for I had in the case of DOS 7 to test all the combinations of DOS=HIGH/LOW, XMS loaded/not loaded...

Well , here come the results, in increasing order of satisfaction. Comments welcome :

1: :-( the method I suggested earlier, viz eight far pointers @ DOSDATA:F7A ?
Nope, bad pick! The segment part of these pointers is correct ONLY if an XMS manager is loaded. Otherwise they are unused (bypassed) and DOS doesn't care to update the segment thereof, fair enough. The offsets are correct still so I may want to use the internal int27 one in checking the "magic test" instruction.

2: :-| DOSDATA:90h. There are 15 far pointers who seem to point to DOSCODE always. I could use that, the infortune is I cannot find reference data about them. They don't seem to appear in Ralf's list. Geoff probably knows better, are you listening Geoff ?

3: WRING! see update below : DOS CS is kept near the start of IO.SYS data area @ 0070:0003. This location is apparently properly updated by DOS each time it moves its code during initialisation. It works also in DOS 8 (CS=FFFF)

[update] Is was too good to be true. I had yet to check DOS 7.0/Win 95 A... Ooops! Method 3 fails there...

OK, that leaves us with method 2. I have not seen a configuration of 95/95B/98SE where the fifteen FAR pointers starting @offset (90h) in DOS data segment did not point to the DOS CODE. Please speak up, whoever finds otherwise!

More suggestions ?


That's all folks !

---
Ninho

 

Complete thread:

Back to the forum
Board view  Mix view
15112 Postings in 1359 Threads, 247 registered users, 11 users online (0 registered, 11 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum