en:docs:dos:api:int21:30

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:docs:dos:api:int21:30 [2020/12/09 04:17] – created prokusheven:docs:dos:api:int21:30 [2024/05/02 04:46] (current) prokushev
Line 36: Line 36:
 ===== Notes ===== ===== Notes =====
  
-Notes:  the OS/2 v1.x Compatibility Box returns major version 0Ah (10) +the OS/2 v1.x Compatibility Box returns major version 0Ah (10) 
-        the OS/2 v2.x Compatibility Box returns major version 14h (20) + 
-        OS/2 Warp 3.0 Virtual DOS Machines report v20.30; Warp 4 VDMs report +the OS/2 v2.x Compatibility Box returns major version 14h (20) 
-          v20.40. + 
-        the Windows NT DOS box returns version 5.00, subject to SETVER +OS/2 Warp 3.0 Virtual DOS Machines report v20.30; Warp 4 VDMs report v20.40. 
-        DOS 4.01 and 4.02 identify themselves as version 4.00; use + 
-          INT 21/AH=87h to distinguish between the original European MS-DOS 4.0 +the Windows NT DOS box returns version 5.00, subject to SETVER 
-          and the later PC-DOS 4.0x and MS-DOS 4.0x + 
-        IBM DOS 6.1 reports its version as 6.00; use the OEM number to +DOS 4.01 and 4.02 identify themselves as version 4.00; use INT 21/AH=87h to distinguish between the original European MS-DOS 4.0 and the later PC-DOS 4.0x and MS-DOS 4.0x 
-          distinguish between MS-DOS 6.00 and IBM DOS 6.1 (there was never an + 
-          IBM DOS 6.0) +IBM DOS 6.1 reports its version as 6.00; use the OEM number to distinguish between MS-DOS 6.00 and IBM DOS 6.1 (there was never an IBM DOS 6.0) 
-        IBM's PC DOS 7 and Y2K updates report themselves as IBM 7.0 to be + 
-          distinguished from the MS-DOS 7.0 portion of Windows 95. +IBM's PC DOS 7 and Y2K updates report themselves as IBM 7.0 to be distinguished from the MS-DOS 7.0 portion of Windows 95. 
-        MS-DOS 6.21 reports its version as 6.20; version 6.22 returns the + 
-          correct value +MS-DOS 6.21 reports its version as 6.20; version 6.22 returns the correct value 
-        Windows95 returns version 7.00 (the underlying MS-DOS), as did the + 
-          "Chicago" beta (reported in _Microsoft_Systems_Journal_,August 1994); +Windows95 returns version 7.00 (the underlying MS-DOS), as did the "Chicago" beta (reported in _Microsoft_Systems_Journal_,August 1994); Windows95 OSR2 and OSR2.5 (OPK3) return MS version 7.10 
-          Windows95 OSR2 and OSR2.5 (OPK3) return MS version 7.10 + 
-        DR DOS 5.0 and 6.0 report version 3.31; Novell DOS 7 reports IBM v6.00, +DR DOS 5.0 and 6.0 report version 3.31; Novell DOS 7 reports IBM v6.00, which some software displays as IBM DOS v6.10 (because of the version mismatch in true IBM DOS, as mentioned above).  The Novell DOS 7 SETVER.EXE has an undocumented option /G x.y which sets the "global" DOS version returned by this function for all executables not given a specific version number in SETVER to major version x and minor version y. 
-          which some software displays as IBM DOS v6.10 (because of the version + 
-          mismatch in true IBM DOS, as mentioned above).  The Novell DOS 7 +Heiko Goeman's Advanced WinDOS 2.10/2.11/2.21 returns "IBM" DOS 5.00 (subject to SETVER) and serial number 0. 
-          SETVER.EXE has an undocumented option /G x.y which sets the "global" + 
-          DOS version returned by this function for all executables not given +All versions of CCI Multiuser DOS up to "CCI Multiuser DOS 7.22 Gold" as of 1997-02-10 report DOS 3.31. 
-          a specific version number in SETVER to major version x and minor + 
-          version y. +DR DOS 3.31, 3.32, 3.33, 3.34, 3.35, 3.40, 3.41, 5.0, 6.0 and DR PalmDOS/NetWare PalmDOS 1.0 report version 3.31; DR DOS "Panther" BETA 1 and "StarTrek" report as 5.0. Novell DOS 7, OpenDOS 7.01, DR-OpenDOS 7.02, DR-DOS 7.02, DR-DOS 7.03 all report themselves as IBM 6.00, which some software displays as IBM DOS 6.10 (because of the version mismatch in true IBM DOS, as mentioned above). Use INT 21/AX=4452h to distinguish the DR-DOS family from PC DOS. 
-        Heiko Goeman's Advanced WinDOS 2.10/2.11/2.21 returns "IBM" DOS 5.00 + 
-          (subject to SETVER) and serial number 0. +The Novell DOS 7 and OpenDOS 7.01 SETVER.EXE has an undocumented option /G x.y which sets the "global" DOS version returned by this function for all executables not given a specific version number in SETVER to major version x >= 5 and minor version y = 0..254, y = 255 is used to disable the BDOS version check at INT 21/AX=4452h. 
-        All versions of CCI Multiuser DOS up to "CCI Multiuser DOS 7.22 Gold" + 
-          as of 1997-02-10 report DOS 3.31. +A slightly modified option has been documented for DR-OpenDOS 7.02+: in /X mode it now allows for x >= 1, while y >= 100 requires /X mode, and y >= 128 is used to control advanced version control means now (see below). 
-        DR DOS 3.31, 3.32, 3.33, 3.34, 3.35, 3.40, 3.41, 5.0, 6.0 and + 
-          DR PalmDOS/NetWare PalmDOS 1.0 report version 3.31; +DR-DOS 7.02+ IBMDOS.COM (since 1998-01-10) now recognizes optional paths to filenames stored in the SETVER list. Previously such entries were never found. This allows for a three staged model for SETVERed versions: highest priority = entry with path is matching. middle priority = entry without path is matching. lowest priority = use global version (SETVER /G). 
-          DR DOS "Panther" BETA 1 and "StarTrek" report as 5.0. + 
-          Novell DOS 7, OpenDOS 7.01, DR-OpenDOS 7.02, DR-DOS 7.02, DR-DOS 7.03 +The DR-DOS 7.02+ SETVER 1.01+ (1998-01-12) has also been enhanced to allow DOS *and* BDOS version faking (see INT 21/AX=4452h): In /X mode, setting a sub-version of y = 128..255 will be reported as 0..127 DOS sub-version, sub-versions of y = 100..127 will instead be used to report this value as BDOS version (64h..7Fh) via INT 21/AX=4452h, and the DOS revision stored in PCM_HEADER in the IBMDOS.COM file will be used to report the DOS sub-version (usually this holds 0, but it can be patched to other values, see INT 21/AX=4452h !!!). Note, that DR-DOS SHARE 2.05+ (1998-01-05) has relaxed version checking, and will install on any DOS revision 0..127, as long as run on a DR-DOS 72h+ kernel (formerly it was bound to a revision byte of 0 only). 
-          all report themselves as IBM 6.00, which some software displays as + 
-          IBM DOS 6.10 (because of the version mismatch in true IBM DOS, +Under Novell DOS 7+, the SETVERing also affects the version number WORD stored at offset +40h in each program's PSP (see #01378). This holds true even for special sub-versions of 100..255 (see INT 21/AX=4452h). 
-          as mentioned above). Use INT 21/AX=4452h to distinguish the DR-DOS + 
-          family from PC DOS. +generic MS-DOS 3.30, Compaq MS-DOS 3.31, and others identify themselves as PC-DOS by returning OEM number 00h 
-        The Novell DOS 7 and OpenDOS 7.01 SETVER.EXE has an undocumented + 
-          option /G x.y which sets the "global" DOS version returned by this +the version returned under DOS 4.0x may be modified by entries in the special program list (see #01662 at AH=52h); the version returned under DOS 5+ may be modified by SETVER--use AX=3306h to get the true version number 
-          function for all executables not given a specific version number in +
-          SETVER to major version x >= 5 and minor version y = 0..254, +
-          y = 255 is used to disable the BDOS version check at INT 21/AX=4452h. +
-        A slightly modified option has been documented for DR-OpenDOS 7.02+: +
-          in /X mode it now allows for x >= 1, while y >= 100 requires /X mode, +
-          and y >= 128 is used to control advanced version control means now +
-          (see below). +
-        DR-DOS 7.02+ IBMDOS.COM (since 1998-01-10) now recognizes optional +
-          paths to filenames stored in the SETVER list. Previously such entries +
-          were never found. This allows for a three staged model for SETVERed +
-          versions: +
-          highest priority = entry with path is matching. +
-          middle priority = entry without path is matching. +
-          lowest priority = use global version (SETVER /G). +
-        The DR-DOS 7.02+ SETVER 1.01+ (1998-01-12) has also been enhanced to +
-          allow DOS *and* BDOS version faking (see INT 21/AX=4452h): In /X mode, +
-          setting a sub-version of y = 128..255 will be reported as 0..127 DOS +
-          sub-version, sub-versions of y = 100..127 will instead be used to +
-          report this value as BDOS version (64h..7Fh) via INT 21/AX=4452h, and +
-          the DOS revision stored in PCM_HEADER in the IBMDOS.COM file will +
-          be used to report the DOS sub-version (usually this holds 0, but it +
-          can be patched to other values, see INT 21/AX=4452h !!!). +
-          Note, that DR-DOS SHARE 2.05+ (1998-01-05) has relaxed version +
-          checking, and will install on any DOS revision 0..127, as long as +
-          run on a DR-DOS 72h+ kernel (formerly it was bound to a revision +
-          byte of 0 only). +
-        Under Novell DOS 7+, the SETVERing also affects the version number +
-          WORD stored at offset +40h in each program's PSP (see #01378). +
-          This holds true even for special sub-versions of 100..255 +
-          (see INT 21/AX=4452h). +
-        generic MS-DOS 3.30, Compaq MS-DOS 3.31, and others identify themselves +
-          as PC-DOS by returning OEM number 00h +
-        the version returned under DOS 4.0x may be modified by entries in +
-          the special program list (see #01662 at AH=52h); the version returned +
-          under DOS 5+ may be modified by SETVER--use AX=3306h to get the true +
-          version number+
  
-(Table 01394) 
 Values for DOS OEM number: Values for DOS OEM number:
- 00h *  IBM + 
-      (Novell DOS, Caldera OpenDOS, DR-OpenDOS, and DR-DOS 7.02+ report IBM +00h IBM | 
-          as their OEM) +| ::: | (Novell DOS, Caldera OpenDOS, DR-OpenDOS, and DR-DOS 7.02+ report IBM as their OEM) | 
- 01h *  Compaq +01h Compaq | 
- 02h *  MS Packaged Product +02h MS Packaged Product | 
- 04h *  AT&T +04h AT&| 
- 05h *  ZDS (Zenith Electronics, Zenith Electronics) +05h ZDS (Zenith Electronics, Zenith Electronics) Note:   Zenith DOS 3.30 supports >32MB hard disks; this OEM ID can be used to detect that support | 
-        Note:   Zenith DOS 3.30 supports >32MB hard disks; this OEM ID can be +06h Hewlett-Packard | 
-                  used to detect that support +07h Zenith Data Systems (ZDS, Groupe Bull), for DOS 5.0+ | 
- 06h *  Hewlett-Packard +08h Tandon | 
- 07h *  Zenith Data Systems (ZDS, Groupe Bull), for DOS 5.0+ +09h AST (AST Europe Ltd.) | 
- 08h *  Tandon +0Ah Asem | 
- 09h *  AST (AST Europe Ltd.) +0Bh Hantarex | 
- 0Ah *  Asem +0Ch SystemsLine | 
- 0Bh *  Hantarex +0Dh Packard-Bell | 
- 0Ch *  SystemsLine +0Eh Intercomp | 
- 0Dh *  Packard-Bell +0Fh Unibit | 
- 0Eh *  Intercomp +10h Unidata | 
- 0Fh *  Unibit +16h DEC | 
- 10h *  Unidata +17h Olivetti DOS | 
- 16h *  DEC +23h Olivetti (may have been a typo, since 23 = 17h) | 
- 17h *  Olivetti DOS +28h Texas Instruments | 
- 23h *  Olivetti (may have been a typo, since 23 = 17h) +29h Toshiba | 
- 28h *  Texas Instruments +33h Novell (Windows/386 device IDs only) | 
- 29h *  Toshiba +34h MS Multimedia Systems (Windows/386 device IDs only) | 
- 33h -  Novell (Windows/386 device IDs only) +35h MS Multimedia Systems (Windows/386 device IDs only) | 
- 34h *  MS Multimedia Systems (Windows/386 device IDs only) +4Dh Hewlett-Packard (HP) | 
- 35h *  MS Multimedia Systems (Windows/386 device IDs only) +5Eh RxDOS (Api Software & Mike Podanoffsky)  http://www.freedos.org/ | 
- 4Dh *  Hewlett-Packard (HP) +66h PhysTechSoft (PTS-DOS)  http://www.phystechsoft.com/ probably Paragon Technology Systems Corporation PTS-DOS as well | 
- 5Eh -  RxDOS (Api Software & Mike Podanoffsky)  http://www.freedos.org/ +99h General Software's Embedded DOS | 
- 66h -  PhysTechSoft (PTS-DOS)  http://www.phystechsoft.com/ +CDh Paragon Technology Systems Corporation ("Source DOS" S/DOS 1.0+) (see also INT 21/AH=20h"S/DOS"| 
-        probably Paragon Technology Systems Corporation PTS-DOS as well +EDh reserved for future OpenDOS/DR-DOS based projects  http://www.drdos.org | 
- 99h -  General Software's Embedded DOS +EEh |   DR DOS | 
- CDh -  Paragon Technology Systems Corporation ("Source DOS" S/DOS 1.0+) +EFh |   Novell DOS Note:   released versions of Novell DOS 7 use OEM ID 00h instead | 
-        (see also INT 21/AH=20h"S/DOS"+FDh |   FreeDOS  http://www.freedos.org/ | 
- EDh -  reserved for future OpenDOS/DR-DOS based projects  http://www.drdos.org +FFh Microsoft, Phoenix (listed as "undefined" by Microsoft) 
- EEh    DR DOS + 
- EFh    Novell DOS +Notes:  '*' indicates an OEM release of MS-DOS, while '-' indicates an OEM number used by a non-Microsoft DOS
-        Note:   released versions of Novell DOS 7 use OEM ID 00h instead +
- FDh    FreeDOS  http://www.freedos.org/ +
- FFh *  Microsoft, Phoenix (listed as "undefined" by Microsoft) +
-Notes:  '*' indicates an OEM release of MS-DOS, while '-' indicates an OEM +
-          number used by a non-Microsoft DOS +
-        known OEM releases of MS-DOS: +
-            AT&T DOS 3.10 (uses DOS 2.x cluster sizes and FAT structures) +
-            Commodore DOS 3 +
-            Compaq DOS 3.31 (>32MB partitions similar to MS-DOS 4+) +
-            Computerland DOS 3.10 (mix of DOS 2.x and 3.x disk mechanisms) +
-            Eagle MS-DOS 1.25 (DOS 1.x with some hard disk support and built-in +
-                  ANSI.SYS functionality) +
-            Epson Equity III DOS 3.10 (different clustering) +
-            Leading Edge +
-            NEC DOS 3.3 +
-            Olivetti DOS 2.11 +
-            Phoenix DOS 3.3, 4.01 +
-            Sanyo DOS 3.2 +
-            Tandy +
-            Toshiba DOS +
-            Unisys +
-            Wyse MS-DOS 3 +
-            Zenith DOS 2.x (uses Zenith disk mechanism, extra drives at G:) +
-            Zenith DOS 3.x (can be configured for Zenith or MS-DOS mechanism) +
-            Zenith DOS 3.3 PLUS (>32MB partitions similar to MS-DOS 4+)+
  
 ===== See also ===== ===== See also =====
  
- AX=3000h/BX=3000h,AX=3306h,AX=4452h,AH=87h,INT 15/AX=4900h+AX=[[en:docs:dos:api:int21:33:06|3306h]],INT 15/AX=4900h
  AH=20h"S/DOS",INT 2F/AX=122Fh,INT 2F/AX=4010h,INT 2F/AX=4A33h  AH=20h"S/DOS",INT 2F/AX=122Fh,INT 2F/AX=4010h,INT 2F/AX=4A33h
  INT 2F/AX=E002h  INT 2F/AX=E002h