On Fri, 13 Aug 2004, Luchezar Georgiev wrote:

> Sure. But since it's easier to make the kernel return a serial mumber of 0
> as MS-DOS does than to patch each and every copy of 32RTM.EXE, I changed
> our function 30h to return 0 in CX. I tested this change and now 32RTM
> works without -X as Michael wrote indeed! So I uploaded a new unstable
> kernel binary at http://linux.tu-varna.acad.bg/~lig/freedos/kernel/ along
> with a comulative patch (CVSPATCH.TXT) for the unstable branch consisting
> of the Eduardo's NLS patch and the following patch. Thus, regrettably
> we're back to version 0.0.35 now (as reported by the FreeCOM's VER /R ;-)

whatever, now we have 2035, 2.0.35, 1.1.35, and 0.0.35 all as version
numbers ;) Just have to send Ralf Brown another email as my previous
mod to interrupt.f will be obsolete.

Anyway most references other than RBIL tell that the serial number isn't
used as such.
www.htl-steyr.ac.at/~morg/ pcinfo/hardware/interrupts/inte2zlc.htm
tells us that
" - the OEM serial number is a rarity, though some older OEM DOS
    versions implemented this feature".
Most likely 32RTM wouldn't run on those older OEM DOS versions either
then.

> --- 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! */
>
>         if (ReturnAnyDosVersionExpected)
>         {
>

This patch won't apply without manual tweaks Lucho, please fix your
email client. Lines were wrapped and indentation also messed up (hard
tabs?). There's also a pointless "optimization", that the compiler can do
for us as well.

So here's my version:

--- inthndlr.c  25 Jul 2004 08:04:54 -0000      1.89
+++ inthndlr.c  15 Aug 2004 08:15:32 -0000
@@ -704,9 +704,9 @@
       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.CX = 0; /* do not set this to a serial number!
+                    32RTM won't like non-zero values   */

       if (ReturnAnyDosVersionExpected)
       {


Bart


-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to