timo@gssc.UUCP (Timo Wilson) (04/10/91)
I am currently involved in writing a small OS/2 bound application that must determine if it is running on a MicroChannel or ISA bus. The application does have one segment that has IOPL privilages. I can determine this under DOS using INT 15, Ah=0xC0, but can't use it in OS/2. Has anyone else done anything like this in OS/2? Thanks in advance for any help offered. -timo timo@gss.com
gerry@dialogic.com (Gerry Lachac) (04/12/91)
In article <6634@gssc.UUCP> timo@gssc.UUCP (Timo Wilson) writes: >I am currently involved in writing a small OS/2 bound application that must >determine if it is running on a MicroChannel or ISA bus. The application >does have one segment that has IOPL privilages. I can determine this under >DOS using INT 15, Ah=0xC0, but can't use it in OS/2. Has anyone else done >anything like this in OS/2? > Good luck :-) Seriously, I had to do this for a project I was working on and I have three possible methods for you: 1 - Use DosDevConfig() and grab the model and sub-model bytes. Then compare these to the IBM published bytes for the PS/2's. Of course when they come out with a new PS/2 you have a problem. 2 - Try using an ABIOS call. If it works, you are on a PS/2, if not, an AT class machine. 3 - If you have a known piece of hardware in the machine, with a known POS ID, you can look at all the PS/2 slots and verify that the board is in the machine. I have personally used methods 1 and 3. Number 2 was suggested to me by someone, but I have never tried it. -gerry -- uunet!dialogic!gerry | "Even a dead plant turns | Dialogic Corporation OR | over a new leaf | 300 Littleton Rd gerry@dialogic.UUCP | when the wind blows." | Parsippany, NJ 07054 | | (201)334-8450
jjr@sgtech.UUCP (John Radigan) (04/12/91)
From article <6634@gssc.UUCP>, by timo@gssc.UUCP (Timo Wilson): > I am currently involved in writing a small OS/2 bound application that must > determine if it is running on a MicroChannel or ISA bus. The application > does have one segment that has IOPL privilages. I can determine this under > DOS using INT 15, Ah=0xC0, but can't use it in OS/2. Has anyone else done > anything like this in OS/2? > > Thanks in advance for any help offered. > > -timo > timo@gss.com I saw a device driver that did this by issuing an ABIOS call. I guess ABIOS is only implemented on IBM PS/2 MCA machines. This driver assumed that if the ABIOS call returned an error of some sort, that ABIOS was not present, and it must be running on a non-MCA box. I don't have the code around to get any more details. I would imagine you could make this call from an IOPL code segment. Hope this helps. -- John Radigan, Star Gate Technologies, Inc., Solon, Ohio Email: jjr@sgtech.uucp Telephone: (216) 349-1860 x666