The arguments go on the stack in reverse order, D0/D1/A0/A1 can be used as scratch registers, all other registers must be preserved, and any return value should be passed in D0, so the stubs look like this:
_P61_Init movem.l (4, sp), a0-a1
movem.l d2-d7/a2-a6, -(sp)
moveq #0, d0
bsr P61_Init
movem.l (sp)+, d2-d7/a2-a6
rts
P61_Init ...
_P61_End movem.l a3/a6, -(sp)
lea $dff000, a6
bsr P61_End
movem.l (sp)+, a3/a6
rts
P61_End ...