     **********************************************************************
     *                                                                    *
     *                 Magic Mouse                                        *
     *                 -----------                                        *
     *                                                                    *
     * written by:     Emanuel Mcklin                                    *
     *                 Zschokkestrasse 7                                  *
     *                 CH-8037 Zrich                                     *
     *                 FREDDY@ezrz1.vmsmail.ethz.ch                       *
     *                                                                    *
     * written with:   Turboassembler 1.xx                                *
     *                                                                    *
     **********************************************************************


     Magic Mouse is a mouse accelerator. It contains the TSR (terminate and
     stay resident) MM_ACCEL.PRG and the configuration program MM_CONF.CPX.
     To install the accelerator you have to copy the first one into the
     auto folder the second one to the other cpx. In the case that you
     don't use the controlpanel, you can stop reading here, because the
     accelerator is activated only by the cpx. The two programs communicate
     via a cookie installed by the TSR (id "MMAC). The cookie points to the
     following structure:

     typedef struct
     {
         void *init_mmac;
         int koeffizient[6];
         byte mmac_on;
         byte doppel_on;
     } MMAC;

     - init_mmac is a pointer to the init routine. Only if this routine is
       called, the accelerator is installed. The reason is that mousevec is
       overwritten during the initialization of the AES. This routine can
       be called several times, this won't cause any problems. Naturally it
       would be possible to wait for the AES to install, but there is no
       really proper way to do this.
     - the following six values are the coefficients of a polynom of sixth
       degree, which determine the speed of the mouse pointer dependent on
       the speed of the movement of the real mouse. The first value is the
       coefficient of the sixth power, the last the coefficient of the
       linear expression.
     - with mmac_on the accelerator is turned off (=0) or on (!=0).
     - doppel_on: if this flag is set (!=0) a click with the right
       button simulates a double click with the left button. A practical
       function for lazy people (like me!).


     If you are interessted in the source code, please send me a formatted
     disc or an e-mail. You will then receive the newest version on the
     same way, you sent me the disc. Also bug reports and suggestions are
     welcome.
