home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 200-299 / ff253.lzh / MuchMore / src / MMInput.asm < prev    next >
Assembly Source File  |  1989-10-19  |  1KB  |  50 lines

  1. ;-------------------------------------------------------------------------
  2. ;MuchMore's InputHandler
  3. ;© 1989 by Fridtjof Siebert
  4. ;compiles with a68k
  5. ;-------------------------------------------------------------------------
  6.  
  7.   XDEF MMInputHandler ; Then Handler Procedure
  8.   XDEF WakeUpSignal   ; Signal to be send to awake MuchMore (byte)
  9.   XDEF SigTask        ; TaskPtr to MuchMore's main task
  10.   XDEF Sleeping       ; true while waiting for alt-ESC
  11.  
  12. ie_nextevent = 0;
  13. ie_class     = 4;
  14. ie_subclass  = 5;
  15. ie_code      = 6;
  16. ie_qualifier = 8;
  17.  
  18. Signal = -30-294;
  19.  
  20. SigTask:      dc.l 0;
  21. WakeUpSignal: dc.b 0;
  22. Sleeping:     dc.b 0;
  23.  
  24.  
  25. MMInputHandler:
  26.  
  27.         move.l  A0,-(A7);  presave eventlist;
  28.         tst.b   Sleeping;
  29.         beq.s   rts;
  30. loop:   cmp.b   #$10,ie_qualifier+1(A0); test if lAlt is set end rest is clear
  31.         bne     next;
  32.         cmp.w   #$45,ie_code(A0); test ESC
  33.         bne.s   next;
  34.         clr.w   ie_code(A0);
  35.         move.l  $4,A6;
  36.         move.l  SigTask,A1;
  37.         moveq   #0,D0;
  38.         move.b  WakeUpSignal,D1;
  39.         bset    D1,D0;
  40.         jsr     Signal(A6);
  41.         sf      Sleeping;
  42.         bra.s   rts;
  43. next:   move.l  ie_nextevent(A0),A0;
  44.         move.l  A0,D0;
  45.         bne.s   loop;
  46. rts:    move.l  (A7)+,D0;
  47.         rts;
  48.  
  49.         end;
  50.