Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Phil Gardner's Wrapper.sys & MS-DOS7 bug (Miscellaneous)

posted by cm(R) Homepage E-mail, Düsseldorf, Germany, 19.11.2009, 18:52

> Further I believe it takes a little more thinking than just copying Geoff
> Chappels code into Phil Gardner's, there are strategic decisions to be
> made. We probably don't want to allow the infernal couple (int 21/4B & int
> 21/31) record the interruptions our TSR hooked, rather ISTM we should
> somehow patch 21/31 so it does not attempt to do said recording (instead
> DOS will record the changes when wrapper.sys itself gives back control).
> IOW it could pay to patch DOS itself rather than try to adapt wrapper.sys.
> Just rambling ;=)

You'd either have to actually patch DOS (i.e. modify its code), or hook Int21 and take over anything DOS does when terminating a PSP TSR. Both requires knowledge about DOS's internal operation, although I'd prefer the second method because that depends less on DOS's code.

If you adapt either of these methods or the one presented by Geoff Chappel, please replace his version check by something dependable (such as exact kernel code pieces if you're going to patch code anyway). Other DOS versions report "true version" (Int21.3306) 7.00+ now too (because many programs depend on that to check for other things such as FAT32 support) but they probably don't support the TSR list pointer in the DOS data segment. The presented CRT's initialization code depends on this pointer (with a fixed offset) if the reported true version is 7.00 or higher.



Complete thread:

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