
  ;----------------------------------------------------;
  ;BASIC-Extension Zzz                       SMmagic'88;
  ;----------------------------------------------------;
  ;Syntax: Zzz WINDOW(7),OnOff                         ;
  ;OnOff  paire ou 0  :    La souris est désactivée    ;
  ;OnOff  odd     (1) :    La souris est normale       ;
  ;----------------------------------------------------;
ZZZ:     MOVEM.L D0-A6,-(SP) ;Réserve registre
         MOVE.L 4,A6         ;Lit l'adresse de base de Exec
         LEA INTNAME,A1      ;Adresse des noms de biblio.
         MOVEQ #0,D0         ;La version est la même
         JSR -552(A6)        ;OpenLibrary
         TST.L D0            ;Non, que se passe-t-il?
         BEQ.S ENDE          ;Non? alors fin
         MOVE.L D0,A6        ;IntuitionBase chargé
         MOVE.L 64(SP),A0    ;Lecture de  WindowBase
         MOVE.L 68(SP),D0    ;Lecture OnOff-Flag
         BTST #0,D0          ;Test du bit 0
         BEQ.S SLEEP         ;Nombre paire? Bonne nuit
         JSR -60(A6)         ;ClearPointer appelé
         BRA.S EXIT          ;et fin
SLEEP:   LEA MOUSE,A1         ;Adresse des données du pointeur
         MOVEQ #22,D0        ;Hauteur en d0
         MOVEQ #16,D1        ;Largeur en d1
         MOVEQ #0,D2         ;Suppression du décalage horiz.
         MOVE.L D2,D3        ;Suppression du décalage vert.
         JSR -270(A6)        ;SetPointer appellé
EXIT:    MOVE.L A6,A1        ;IntuitionBase dans a1
         MOVE.L 4,A6         ;ExecBase
         JSR -414(A6)        ;Appel de CloseLibrary
ENDE:    MOVEM.L (SP)+,D0-A6 ;Registre de la pile
         RTS                 ;Retour au programme BASIC
INTNAME: DC.B "intuition.library",0 ;Library-Name
MOUSE:   DC.L 0,$3000300,$7A007A0,$1FF01FF0,$3FF03FF0
         DC.L $30F83FF8,$3DFC3FFC,$7BFC7FFC,$30FE3FFE
         DC.L $3F863FFE,$1FEF1FFF,$3FDE3FFE,$1F861FFE
         DC.L $FFC0FFC,$3F803F8,$E000E0,$3800380,$7E007E0
         DC.L $3400340,0,$600060,$700070,$200020,0
         END                 ;Fin des données
