Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!dali.cs.montana.edu!ogicse!zephyr.ens.tek.com!vice!bobb From: bobb@vice.ICO.TEK.COM (Bob Beauchaine) Newsgroups: comp.lang.pascal Subject: Re: How to detect MS Mouse driver Message-ID: <6405@vice.ICO.TEK.COM> Date: 29 Nov 90 23:10:11 GMT References: <25098@adm.brl.mil> <1990Nov29.141927.243@maytag.waterloo.edu> Organization: Tektronix Inc., Beaverton, Or. Lines: 23 In article <1990Nov29.141927.243@maytag.waterloo.edu> dmurdoch@watstat.waterloo.edu (Duncan Murdoch) writes: >The test that Turbopower uses for the presence of an INT 33 ISR is just to >look at the vector: if it's not nil, they assume it's valid. > The other possibility is that the INT 33 vector points to a vector in low memory that is nothing but an IRET. Just checking for a nil vector won't guarantee that a mouse driver is/is not present. Something like this will check both: const IRET = $CF; var mouse_vec : pointer absolute $0000:0033; mouse_present : boolean; mousepresent := not((longint(mouse_vec) = 0) or (word(mouse_vec^) = iret)); Bob Beauchaine bobb@vice.ICO.TEK.COM