>> at case 0x30 (on line 722) in KERNEL\KERNEL\INTHNDLR.C, it looks like
>> lr.CX is set to zero when it should be set to 0x0101. It does say that
>> 32RTM does not like non-zero values. Why?
...
Can we use DX instead? That would solve our problem?

Listen, I see NO problem at all here. Version numbers with 0 are PERFECT.

Int 21.30 MUST NOT modify DX, simple.

IF you do not want FreeCOM to display "0.0.35" for the kernel version
THEN you could suggest two modifications to FreeCOM:
- it could display "FreeDOS kernel version 35"
  or it could display (hardcoded "20") "FreeDOS kernel version 2035"
- if could use int 21.330f, "get DOS-C release string pointer", to
  show a message like
  "FreeDOS kernel version 1.1.35w (Build 2035w-UNSTABLE, Jul 23 2005)"

I think the latter could be a pretty nice feature for FreeCOM VER /R :-)

Hm, sorry, ax=33ff int 21, not 330f. See also RBIL:
Or better do not. We moved the function after the last update of RBIL.
So see the kernel sources:
VOID ASMCFUNC int21_syscall(iregs FAR * irp)
...
  switch (irp->AH)
...
    case 0x33:
      switch (irp->AL)
...
          /* set FreeDOS returned version for int 21.30 from BX */
        case 0xfc:             /* 0xfc ... 0xff are FreeDOS extensions */
          os_setver_major = irp->BL;
          os_setver_minor = irp->BH;
          break;
...
          /* Get DOS-C release string pointer                     */
        case 0xff:
          irp->DX = FP_SEG(os_release);
          irp->AX = FP_OFF(os_release);
      }
      break;
...



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to