Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!lll-lcc!ames!amdahl!kim From: kim@amdahl.UUCP Newsgroups: comp.sys.amiga Subject: Manx 3.40a ReportMouse bug. Message-ID: <6028@amdahl.UUCP> Date: Fri, 27-Mar-87 16:20:14 EST Article-I.D.: amdahl.6028 Posted: Fri Mar 27 16:20:14 1987 Date-Received: Sat, 28-Mar-87 15:31:52 EST Organization: Amdahl Corporation, Sunnyvale, CA 94086 Lines: 53 Keywords: manx compiler bug reportmouse [ 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. ]