INT 33 - MS MOUSE - GET VERSION STRING AX = 006Dh 'm' Return: ES:DI -> Microsoft version number of resident driver (see #03187) Notes: also supported by Logitech, Mouse Systems, Kraft, and Genius mouse drivers the Mouse Systems 7.01 and Genius Mouse 9.06 drivers report their Microsoft version as 7.00 even though they do not support any of the functions from 0025h through 002Dh supported by the MS 7.00 driver (the Genius Mouse driver supports function 0026h, but it differs from the Microsoft function) the TRUEDOX 4.01 driver reports its version as 6.26 through this call, but as 6.24 through AX=0024h There seems to be no reliable method to distinguish MS MOUSE before 3.00 from mouse drivers of other vendors. Some releases of the MS MOUSE 6.00 erroneously return 6.01 instead of their true version number. In this case, a DI value of 01ABh can be used to still detect a 6.00 driver. For returned versions 6.02+, INT 33/AX=0024h should be used to retrieve more accurate version data. True MS MOUSE drivers can also be identified by magic numbers in their copyright message, stored in the driver's segment (ES). These can be found by scanning the first 2 Kb of the mouse driver's segment for a string like: [new since 7.00+] "** This is Copyright 1983[-19xx] Microsoft ***" with the magic number stored one byte after the signature string. SeeAlso: AX=0024h,AX=004Dh,AX=006Ah,AX=266Ch Format of Microsoft version number: Offset Size Description (Table 03187) 00h BYTE major version 01h BYTE minor version (BCD(Binary Coded Decimal) A method of data storage where two decimal digits are stored in each byte, one in the upper four bits and the other in the lower four bits. Since only the values 0 through 9 are used in each half of a byte, BCD values can be read as decimal numbers on a hexadecimal display of memory or a file.) (Table 04087) Values for Microsoft MOUSE copyright string magic numbers: 5564h version 3.00..6.00 (for reported versions up to 5.03, and 6.00) 557Ch version 6.01Z..6.24 (for reported versions 6.01..6.24) E806h version 6.25 (for reported version 6.25) EB02h version 6.26..7.04 (for reported version 6.26..7.04) 0800h Integrated driver 1.0+ (for reported version 9.x+) Note: Versions above 7.04 (except for integrated mouse drivers) have a magic number representing their version number, e.g. 0507h for version 7.05