|
From: tom e. <te...@dr...> - 2004-08-13 16:11:08
|
Hello Luchezar, >> There you have it folks. A dumb bug in a Borland product that by purest >> happenstance fails under FreeDOS and not MS-DOS. I don't have any idea >> how to gracefully fix the problem other than to have FreeDOS change its >> serial number. And it shouldn't have to do that. Another one who whishes to congratulate Michael for finding this bug, and thanks. > --- cvs/kernel/kernel/inthndlr.c 2004-07-25 20:12:50.000000000 +0200 > +++ src/kernel/kernel/inthndlr.c 2004-08-13 12:05:56.000000000 +0200 > @@ -698,10 +698,8 @@ > case 0x30: > lr.AL = os_setver_major; > lr.AH = os_setver_minor; > - lr.BH = OEM_ID; > - lr.CH = REVISION_MAJOR; /* JPP */ > - lr.CL = REVISION_MINOR; > - lr.BL = REVISION_SEQ; > + lr.BX = (OEM_ID << 8) | REVISION_SEQ; > + lr.CX = 0; /* serial number must be 0 or buggy 32RTM thrashes > stack! */ and that's a patch I can peer review, understand it's implications, and merged into my boring rock solid (as stone) kernel branch ;) tom |