Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

new HACKWRAP fix for MS-DOS7+, aka smashing the bug (Miscellaneous)

posted by Ninho E-mail, 17.12.2009, 16:35

> Since you're going to make DOS take the jump, why not just change the
> jump? The bit is redundant.

The more I think of it the more I'm happy with the dual bit option. They play a different role than each other and work together nicely.

The MAGIC_Bit which we patch inside of the DOS kernel signals that the bug fix has been applied; Ninho's flag bit in DOS Data is what is used to SWITCH the fix on and off as instructed per DEVICE=HACKWRAP.SYS directives.

Now examine all the combinations of MAGIC and SWITCH and what they signify to us when we are launching "DEVICE=HACKWRAP ON ".

CASE 00: MAGIC_Bit and Ninho_SWITCH BOTH zero : the DOS is still unpatched (buggy!), this must be the first instance of HACKWRAP, so patch-in the fix and switch Fixwrap on (Set bits to 11)

CASE 10: MAGIC is ON but SWITCHed OFF : the bug fix was applied, but the command bit os off. Maybe there has been a succession of HACKWRAP=ON/OFF invoocations, to be expected if e.g. you have a complex CONFIG.SYS with [MENU] and INCLDE=... directives.

This case may also happen on the first invocation of FIXWRAP, if the IO.SYS file had the MAGIC permanently patched in.

Action : switch Fixwrap ON again. (->11)

CASE 11: Both bits ON : Fixwrap already active, leave as is =11). Warn, no error.

CASE 01: DOS unpatched yet but Ninho's SWITCH bit was ON : is an ERROR. Other software has "owned" Ninho's bit, YELL! and quit. Better not declare war on an unidentified enemy. :-)


I think things are turning out quite nicely. We'll be taking off ASAP....

---
Ninho

 

Complete thread:

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