mse_off: pea mseoff_str move.w #0,-(sp) move.w #25,-(sp) trap #14 addq.l #8,sp rts mse_rel: pea relmse_str move.w #0,-(sp) move.w #25,-(sp) trap #14 addq.l #8,sp rts init_mse: move.w #34,-(sp) trap #14 addq.l #2,sp movea.l d0,a0 move.l 16(a0),gem_mse lea mse_handle,a1 move.l a1,16(a0) rts mse_handle: clr.w d0 move.b (a0)+,d0 andi.w #3,d0 move.w d0,mse_click move.b (a0)+,d0 move.w d0,mouse_dx move.b (a0)+,d0 move.w d0,mouse_dy rts mse_term: move.w #34,-(sp) trap #14 addq.l #2,sp movea.l d0,a0 movea.l gem_mse,a1 move.l a1,16(a0) rts .DATA mseoff_str: .DC.b $12 relmse_str: .DC.b $08 .BSS gem_mse: .DS.l 1 mse_click: .DS.w 1 mouse_dx: .DS.w 1 mouse_dy: .DS.w 1