Hello all,
I have a rather old program which first checks which version of DOS it runs on, so it won't make a mess (of other DOS environments) when it does its thing.
The thing is that I just discovered that INT 0x21, AH=0x30 returns AX=0x0005 for my XPsp3's cmd.exe console - which ofcourse clashes with (the programs origionally targetted) DOS 5.x.
I also tried INT 0x21, AX=0x3306, which returns BX=0x3205 and as such
doesn't look as much of an improvement. (though, is 0x3205 unique to XP ? RBIL doesn't mention it)
tl;dr:
Is there a call available with which I can distinguish between the above two (and hopefully between other DOS and Windows console verson too) ?
And yes, I tried to search RBIL first. :-)
...Is there a call available with which I can distinguish between the above
two
(and hopefully between other DOS and Windows console verson too) ?
what I remember and what still seem to work in (windoze10) DOS-box is the DOS cmd "ver". it reports DOS 5.0 for my DOS-box.
but I know it is version 8.2 (same as the DOS that came with windoze98SE).
so something got lost during the last three decades.
what I remember and what still seem to work in (windoze10) DOS-box is the
DOS cmd "ver". it reports DOS 5.0 for my DOS-box.
Heree XPsp3 reports "Microsoft Windows XP [Version 5.1.2600]", which is not what either 0x30 or 0x3306 returns. :-|
but I know it is version 8.2 (same as the DOS that came with windoze98SE). >> so something got lost during the last three decades.
About that, my "is 0x3205 unique to XP ?" remark prompted me to do some googeling in that direction, and I stumbled over this :
https://dos.fandom.com/wiki/MS-DOS_Version_History
[quote]
Version 5.50 (Windows NTVDM) - All Windows NT 32-bit versions ship with
files from DOS 5.0
[/quote]
That means that int 21h, ah=30h returns AL=05h for both DOS 5.x as well as the NT versions, even though they differ in certain aspects (int 21h,
AH=50h, offset 17h, CDS. The latter structure is smaller than the former one).
Unless I hear something better about version detection I'm going to work
with the assumption that that 3205h value from int 21h, AH=3306h is indicative for XPsp3, just as 0A05h is indicative for win96se.
Thanks for the response.
Hello all,
I have a rather old program which first checks which version of DOS it runs on, so it won't make a mess (of other DOS environments) when it does its thing.
The thing is that I just discovered that INT 0x21, AH=0x30 returns AX=0x0005 for my XPsp3's cmd.exe console - which ofcourse clashes with (the programs origionally targetted) DOS 5.x.
I also tried INT 0x21, AX=0x3306, which returns BX=0x3205 and as such doesn't look as much of an improvement. (though, is 0x3205 unique to XP ? RBIL doesn't mention it)
tl;dr:
Is there a call available with which I can distinguish between the above two (and hopefully between other DOS and Windows console verson too) ?
And yes, I tried to search RBIL first. :-)
Regards,
Rudy Wieser
MS-DOS true version number of 5.50 is unique to Windows NT's DOS VM,
In pure MS-DOS 5.00a, Int 21h AX=3306 returns BX=0005.
I just tried to remember where I found 6.22 and 8.2 versions reported.
now I checked properties on (DOS6.00) MSDOS.SYS and IO.SYS in windoze:
both show after the last modified date a time that tells 06:00:00.
I don't have other old DOS anymore (can't read my DOS 1.0 on 5 1/4)
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 65 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 02:51:15 |
| Calls: | 862 |
| Files: | 1,311 |
| D/L today: |
10 files (20,373K bytes) |
| Messages: | 264,422 |