[AD] [DOS] Win2k mouse bug

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


I may look a little maniac about Win2k ;-) but some time ago Vincent and I
came across the following problem: the mouse doesn't work under Win2k.

There are three mouse drivers in the DOS port:
- the 'mickeys' driver that uses relative position data supplied by int33h
(default),
- the 'int33' driver that uses absolute position data supplied by int33h,
- the 'polling' driver that periodically polls (!) the mouse via int33h.

The two first drivers uses a real-mode callback (RMCB) function registered
through int33h, whereas the third driver doesn't.
Now it's a well known fact that RMCBs are broken under Windows NT4.
Therefore, if Windows NT is detected, Allegro simply refuses to use the two
first drivers and switches to the third one. But Vincent found that this
third driver doesn't work on his Win2k box. And as Win2k is reported as
Windows NT by Allegro, we are deadlocked.

But hope can sometimes come from unexpected place ;-) since the RMCB bug is
fixed in Win2k; so the first driver does work under Win2k.

Therefore the solution would be to use the 'mickeys' driver under Win2k and
the 'polling' driver under WinNT4. Unfortunately, although the guys from
comp.os.msdos.djgpp have been trying to find it for more than one year,
there is currently *no* way of telling Win2k from WinNT4 in a DOS program.

So we're apparently stuck.
Any suggestion ?

--
Eric Botcazou
ebotcazou@xxxxxxxxxx



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/