There are no differences, except to the version number.
The drivers are a various package distributed with DOS, Windows, and some compiler utilities. It is possible to use later ones, and even earlier ones.
You can see from this table, that the versions have been generally updated through time. Value in (brackets) are reported from the emulation, value in sq brackets [] are period OEM versions supplied with cdrom etc.
====
The major version (2, 3) are some standard supported. More features were added to 3, which is why EMSMAGIC patches the NT version of himem.sys. The minor features are bug fixes. PC-DOS 5.0 and Windows 3.00 have version 2.77, but in updates to this (and also in MS-DOS 5.00a), this was updated to 2.78.
The version numbers are intended also to see if the program should update your version. So if it were doing its job properly, it would not point your himem line to 2.77 if you already have 3.10.
It is for this reason that Windows 9x has a subversion of .95. It's a higher number than even 3.15 (the PC-DOS 7 version). Windows 9x emulates mouse 8.3, so you would not install 8.2, but can install 9.0.
You find other versions of himem.sys etc in other software, the programming languages supply versions of these.
HIMEM EMM386 RAMDRV SMARTDRV MOUSE MSCDEX
WINNT (2.77) (8.00) (2.21)
MS-DOS 5.00 2.78 4.33 3.06 3.13 8.20 [2.21]
Windows 3.11 3.07 4.44 3.06 4.00 8.20 [2.21]
MS-DOS 6.00 3.07 4.45 3.06 4.10 8.20 2.22
PC-DOS 6.10 3.09 4.45 3.06 4.10 8.20
PC-DOS 6.30 3.09 4.48 3.06 5.00 9.01 2.23
MS-DOS 6.20 3.10 4.48 3.07 5.00 8.20 2.23
Win/W 3.11 3.10 4.49 3.07 5.00 8.20 2.23
MS-DOS 6.22 3.10 4.49 3.07 5.01 8.20 2.23
PC-DOS 7.00 3.15 4.50 3.10 5.10 8.20 2.25
Windows 95 3.95 4.95 3.06 5.00 (8.30) 2.25
Windows 98 3.95 4.95 3.06 5.02 (8.30) 2.25
Windows ME (3.99) 4.95 3.06 5.02 (8.30) 2.25
PC-DOS 7.10 3.15 2.25
There are three different versions of IBM mouse 8.20, the remaining mouse.com are identical to the retail versions.
You can use these utilities with any version of DOS. For example, the Win98SE versions run as stated under PC-DOS 5 or MS-DOS 5. The requirement is 3.3 or later.
The differences appear to be bug-fixes and optimising. Windows NT for example, uses an emulated version of (8.00) here.
MSDRIVERS
From a very early stage, I figured that the files liste above were not 'part' of DOS or Windows, but rather different drivers distributed with whatever the package was going out the door.
In the days of the 286, HIMEM and EMM286 were often distributed with the card, and often specific to it. In a similar way, MOUSE, MSCDEX, came with these devices. SMARTDRV and RAMDRIVE were more software drivers, but were dos-
independent.
HIMEM supports quite a number of machines, as can be seen in the help on the subject. It has a DOS-side that supports a growing portion of XMS 2,x and 3,x interfaces, and a HW-side that supports a range of previous machines. Faults and implementations on either side could give rise to a new version, although the major versions supported a more extensive interface.
EMM386 supports a different range of interrupts etc, that Lotus, Intel and Microsoft agreed on. Like HIMEM, there are programs that support this, and it involves a bit of poking around in RAM.
Windows only uses HIMEM.SYS 2.77 on the DOS side, and VMM.vxd looks after memory on the windows side. In effect, Windows grabs all of the DOS memory, and VMM is responsible for allocating XMS bits to windows. This is the same version number reported under Windows 9x, NT and OS/2.
Reading the documentation on EMM support given by the likes of EMSMAGIC and VEMM.SYS, these programs exist because EMM was not carried through, but preserved for backwards compatibility. EMSMAGIC even goes as far as to extend the XMS support in Windows past 2,77, to allow such DOS programs that need it to run.
ADITIONAL TOOLS
I am not so much a programmer, but a 'power-user' and OS/collector. As part of the fun, it is possible to see that there is in the retail box, not just DOS, but a range of drivers and utilities (licenced from third-parties), as a bundle. The same retail upgrade DOS, for example is packaged as 'DOS and additional tools'.
The price paid per OEM copy depends on how many 'additional tools' are included. IBM negotiated a deal with one of their OEMs to supply DOS without QBASIC/EDIT at a reduced rate. On the same basis, IBM did not buy Microsoft's additional tools.
Because the drivers and additional tools serve as marker files, it gives a bit of insight into what is on the distribution. For example, the MSD 2.0x files were released when IBM had access to the code. 2.00 is in Windows, 2.01 is in DOS 6, both MS-DOS and the oldest PC-DOS 6.00 beta. 2.1x did not appear until after IBM had no access to the new code, ie D 6.22 and W 3.11. Likewise, we see that PC-DOS 6.30 of 1993-12-31 has the retail 9.01 mouse driver, but an OEM version a month later reverts to IBM's 8.20 version.
Other versions of these drivers appear in different retail packages, along with boxed hardware. Mouse 8.20 contains something like a dozen extra files, including panels for controling mouse.ini under DOS and Windows 3.1. These are not in the OS versions.