coleman@sask.UUCP (Geoff Coleman @ College of Engineering) (07/20/87)
This weekend I was reading the Technical Reference Manual (Volume 2) for DEC's VaxMate (no I didn't buy one of these boxes I just borrowed the manuals). On page 16-3 They say that for function 30H of interrupt 21H the OEM version number of MS-DOS is returned in register BH. They say that DEC's number is 16H and that for an IBM-PC is 00H. Does anyone out there no if this is a standard return for MS-DOS and if so is there a list of the numbers corresponding to different machines available? If people would like to try this on their own machines and mail me the results I would be happy to compile the results and post it to the net. -- Geoff Coleman | BITNET: Coleman@sask College of Engineering | UUCP: {utcsri,ihnp4}!sask!skul!geoff University of Saskatchewan | Compserve: 76515,1513 just a number Saskatoon, Saskatchewan | voice: (306) 966-5415
jmoore@pc.ecn.purdue.edu (James D Moore) (07/22/87)
I am not sure about dec but I have been looking at this during the last couple of days. According to a couple of books I have the interup 21H and function 30H will return in AL the "major version number" and in AH the "minor version number" (note that .1 is represented as AH). The notable exception is that if AL contains a 0 it indicates a version of dos prior to the 2.0 DOS. I am not sure if the minor version of dos is returned in this last case or not. There is one note that states that BX and CX are destroyed by this interupt and are returned with a value of 0. Since I have been writing a small program that will check this I can testify that the above works. I am running MSDOS 3.10 and have checked my code on my IBM-XT at work running PC-DOS 3.20. Two good sources for the above I have found to be Peter Nortons "Programmers guide to the IBM PC" (excelent book and well written like all of his stuff) and Robert Jourdain "Programmer's Problem Solver for the IBM PC,XT & AT" (This book takes a different aproach and gives code in upper level languages then in intermediate level and then in low level code.) I strongly reccomend the above to all users taht want to learn about the internals. Jim Moore (jmoore@gb.ecn.purdue.edu)