>> 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