DoCollision
Kevin,
From looking at your code, it appears that you are calling this from
C, if so:
1. The MOVEM at the start of the routine changed the stack pointer, and
would have to be accounted for in retrieving the values from the stack.
2. #1 implies that you should have done the LINK before the MOVEM, if you
had done that, the first value passed on the stack would have been at an offset
of 8.
3. Since you don't use the local stack frame, you could get rid of the LINK
and UNLK instructions.
4. Since the system expects registers d0,d1,a0,a1 to get trashed, and you
don't need a local stack frame, there is no need to do the save and restores to
the stack using MOVEM.
5. So, if you remove both the local stack frame and the register save/
restore, you can get the first value passed on the stack at an offset of 4(a7).
Good luck, hope this helps get you started.
<Glenn