[comp.sys.atari.st.tech] Mouse vectors etc.

ge@wn3.sci.kun.nl (Ge' Weijers) (11/07/90)

I'm trying to connect a serial PC mouse to the Atari ST. I've figured out
how to read data from the serial port, and how to translate and inject
packets into the mouse vector.

My question is: at what time in the OS startup is the mouse vector changed? 
I've got a driver that works when started from the desktop, but
not when started from the AUTO folder. Which is weird, as I only call
the routine pointed to by the mouse packet field of the result of
Kbdvbase().

I must be one of the few ST users with a 3-button mouse :-).

Ge' Weijers
--
Ge' Weijers                                    Internet/UUCP: ge@cs.kun.nl
Faculty of Mathematics and Computer Science,   (uunet.uu.net!cs.kun.nl!ge)
University of Nijmegen, Toernooiveld 1         
6525 ED Nijmegen, the Netherlands              tel. +3180652483 (UTC-2)

csbrod@medusa.informatik.uni-erlangen.de (Claus Brod ) (11/09/90)

ge@wn3.sci.kun.nl (Ge' Weijers) writes:

>My question is: at what time in the OS startup is the mouse vector changed? 
>I've got a driver that works when started from the desktop, but
>not when started from the AUTO folder. Which is weird, as I only call
>the routine pointed to by the mouse packet field of the result of
>Kbdvbase().

Must be when the AES come up. The ROM jumps over exec_os, then does
some Dgetpath and Dsetpath calls to get its view on paths right,
and at some time opens a physical workstation which is when the
mouse vectors are probably being initialized. You will have to
implement some technique for checking whether your program starts
in the AUTO folder, make it resident and sit there and wait for the
AES to come up. I'm not sure that there is any decent and documented
method for doing things like this. Moving your routines to a DA
might solve your problems.


----------------------------------------------------------------------
Claus Brod, Am Felsenkeller 2,			Things. Take. Time.
D-8772 Marktheidenfeld, West Germany		(Piet Hein)
csbrod@medusa.informatik.uni-erlangen.de
----------------------------------------------------------------------

ge@wn3.sci.kun.nl (Ge' Weijers) (11/13/90)

csbrod@medusa.informatik.uni-erlangen.de (Claus Brod ) writes:

>Must be when the AES come up. The ROM jumps over exec_os, then does
>some Dgetpath and Dsetpath calls to get its view on paths right,
>and at some time opens a physical workstation which is when the
>mouse vectors are probably being initialized. You will have to
>implement some technique for checking whether your program starts
>in the AUTO folder, make it resident and sit there and wait for the
>AES to come up. I'm not sure that there is any decent and documented
>method for doing things like this. Moving your routines to a DA
>might solve your problems.

(Thanks for answering whilst working on your thesis)

That was my thought. The thing actually works up to the point the desktop
finishes writing the folder windows, and then the mouse freezes. I have
not yet disabled the normal mouse, and that continues to work.
I guess I have to do some debugging, tracing the contents of vectors etc..
(Yes, I have killed the Rsconf() call so the control panel does not reset
the serial port.)

Ge' Weijers
--
Ge' Weijers                                    Internet/UUCP: ge@cs.kun.nl
Faculty of Mathematics and Computer Science,   (uunet.uu.net!cs.kun.nl!ge)
University of Nijmegen, Toernooiveld 1         
6525 ED Nijmegen, the Netherlands              tel. +3180652483 (UTC-2)