[comp.sys.amiga] Manx 3.40a ReportMouse bug.

kim@amdahl.UUCP (03/28/87)

[ Warning:  Foo(tm) is a Trademark of Fubar Co ... registration pending! ]

This was recently posted on our internal Amiga conference by
Rene Vega.  I've also emailed it to Jim at Manx (yo, Jim, we
going to have 3.40b by August?)

/kim


vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

Found Bug in MANX 3.4a

I figured out why my program crashed the Amiga when compiled on MANX
version 3.4a.

It was (naturally) a MANX bug in their ReportMouse() interface routine.
Here's the fix:

;
;   This replaces the broken Intuition 1.2 routine supplied by MANX.
;   In the 3.4 version, someone coded the parameter move as:
;         movem.l  4(sp),d0/a0
;   which is reversed from the required order. Note also that movem
;   cannot be used to move a0/d0 because in control mode, movem just
;   doesn't work that way.
;
          public  _IntuitionBase
          public  _ReportMouse


;          void ReportMouse(window, boolean)
;                           A0      D0

_ReportMouse
          move.l   4(sp),a0
          move.l   8(sp),d0
          move.l   _IntuitionBase,a6
          jmp      -234(a6)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


-- 
UUCP:  kim@amdahl.amdahl.com
  or:  {sun,decwrl,hplabs,pyramid,ihnp4,seismo,oliveb,cbosgd}!amdahl!kim
DDD:   408-746-8462
USPS:  Amdahl Corp.  M/S 249,  1250 E. Arques Av,  Sunnyvale, CA 94086
CIS:   76535,25

[  Any thoughts or opinions which may or may not have been expressed  ]
[  herein are my own.  They are not necessarily those of my employer. ]