* SSLINK.ASM SoundScape library link routines. * (c) 1986 Todor Fay * XREF _SoundScapeBase XDEF _AllocNode XDEF _FastAlloc XDEF _FreeNode XDEF _FreeList XDEF _FreeTree XDEF _ReleaseMem XDEF _WriteList XDEF _ReadList XDEF _AddMidiPort XDEF _OpenMidiPort XDEF _CloseMidiPort XDEF _EditMidiPort XDEF _OutMidiPort XDEF _Send XDEF _OpenLink XDEF _CloseLink XDEF _GetHelp XDEF _RemoveMidiPort XDEF _FunctionCall XDEF _ReadFileName XDEF _WriteFileName XDEF _FindMidiPort XDEF _MidiPortName XDEF _MidiPortBase _LVOmusalloc EQU -36 _LVOmusfastalloc EQU -42 _LVOmusfree EQU -48 _LVOmusfreelist EQU -54 _LVOmusfreetree EQU -60 _LVOreleasemem EQU -66 _LVOwritelist EQU -72 _LVOreadlist EQU -78 _LVOaddport EQU -84 _LVOopenport EQU -90 _LVOcloseport EQU -96 _LVOeditport EQU -102 _LVOoutport EQU -108 _LVOsendpackets EQU -114 _LVOopenlink EQU -120 _LVOcloselink EQU -126 _LVOgethelp EQU -132 _LVOremoveport EQU -138 _LVOfunctcall EQU -144 _LVOreadname EQU -150 _LVOwritename EQU -156 _LVOfindport EQU -162 _LVOportname EQU -168 _LVOportbase EQU -174 _MidiPortBase LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L _SoundScapeBase,A6 JSR _LVOportbase(A6) MOVE.L (SP)+,A6 UNLK A6 RTS _AllocNode LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L _SoundScapeBase,A6 JSR _LVOmusalloc(A6) MOVE.L (SP)+,A6 UNLK A6 RTS _FastAlloc LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L _SoundScapeBase,A6 JSR _LVOmusfastalloc(A6) MOVE.L (SP)+,A6 UNLK A6 RTS _FreeNode LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L _SoundScapeBase,A6 JSR _LVOmusfree(A6) MOVE.L (SP)+,A6 UNLK A6 RTS _FreeList LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L _SoundScapeBase,A6 JSR _LVOmusfreelist(A6) MOVE.L (SP)+,A6 UNLK A6 RTS _FreeTree LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L _SoundScapeBase,A6 JSR _LVOmusfreetree(A6) MOVE.L (SP)+,A6 UNLK A6 RTS _ReleaseMem LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L _SoundScapeBase,A6 JSR _LVOreleasemem(A6) MOVE.L (SP)+,A6 UNLK A6 RTS _WriteList LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L D1,-(SP) MOVE.L 12(A6),D1 MOVE.L _SoundScapeBase,A6 JSR _LVOwritelist(A6) MOVE.L (SP)+,D1 MOVE.L (SP)+,A6 UNLK A6 RTS _ReadList LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L D1,-(SP) MOVE.L 12(A6),D1 MOVE.L _SoundScapeBase,A6 JSR _LVOreadlist(A6) MOVE.L (SP)+,D1 MOVE.L (SP)+,A6 UNLK A6 RTS _AddMidiPort LINK A6,#0000 MOVEM.L D1-D7/A6,-(SP) MOVE.L 8(A6),D7 MOVE.L 12(A6),D6 MOVE.L 16(A6),D5 MOVE.L 20(A6),D4 MOVE.L 24(A6),D3 MOVE.L 28(A6),D2 MOVE.L 32(A6),D1 MOVE.L 36(A6),D0 MOVE.L _SoundScapeBase,A6 JSR _LVOaddport(A6) MOVEM.L (SP)+,D1-D7/A6 UNLK A6 RTS _OpenMidiPort LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L D1,-(SP) MOVE.L 12(A6),D1 MOVE.L _SoundScapeBase,A6 JSR _LVOopenport(A6) MOVE.L (SP)+,D1 MOVE.L (SP)+,A6 UNLK A6 RTS _CloseMidiPort LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L D1,-(SP) MOVE.L 12(A6),D1 MOVE.L _SoundScapeBase,A6 JSR _LVOcloseport(A6) MOVE.L (SP)+,D1 MOVE.L (SP)+,A6 UNLK A6 RTS _EditMidiPort LINK A6,#0000 MOVE.L 8(A6),D0 MOVEM.L D1-D3/A6,-(SP) MOVE.L 12(A6),D1 MOVE.L 16(A6),D2 MOVE.L 20(A6),D3 MOVE.L _SoundScapeBase,A6 JSR _LVOeditport(A6) MOVEM.L (SP)+,D1-D3/A6 UNLK A6 RTS _OutMidiPort LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L D1,-(SP) MOVE.L 12(A6),D1 MOVE.L _SoundScapeBase,A6 JSR _LVOoutport(A6) MOVE.L (SP)+,D1 MOVE.L (SP)+,A6 UNLK A6 RTS _Send LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L D1,-(SP) MOVE.L 12(A6),D1 MOVE.L _SoundScapeBase,A6 JSR _LVOsendpackets(A6) MOVE.L (SP)+,D1 MOVE.L (SP)+,A6 UNLK A6 RTS _OpenLink LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L D1,-(SP) MOVE.L 12(A6),D1 MOVE.L _SoundScapeBase,A6 JSR _LVOopenlink(A6) MOVE.L (SP)+,D1 MOVE.L (SP)+,A6 UNLK A6 RTS _CloseLink LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L D1,-(SP) MOVE.L 12(A6),D1 MOVE.L _SoundScapeBase,A6 JSR _LVOcloselink(A6) MOVE.L (SP)+,D1 MOVE.L (SP)+,A6 UNLK A6 RTS _GetHelp LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L _SoundScapeBase,A6 JSR _LVOgethelp(A6) MOVE.L (SP)+,A6 UNLK A6 RTS _FindMidiPort LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L _SoundScapeBase,A6 JSR _LVOfindport(A6) MOVE.L (SP)+,A6 UNLK A6 RTS _MidiPortName LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L _SoundScapeBase,A6 JSR _LVOportname(A6) MOVE.L (SP)+,A6 UNLK A6 RTS _RemoveMidiPort LINK A6,#0000 MOVE.L 8(A6),D0 MOVE.L A6,-(SP) MOVE.L _SoundScapeBase,A6 JSR _LVOremoveport(A6) MOVE.L (SP)+,A6 UNLK A6 RTS _FunctionCall LINK A6,#0000 MOVEM.L D1-D7/A6,-(SP) MOVE.L 8(A6),D0 MOVE.L 12(A6),D1 MOVE.L 16(A6),D2 MOVE.L 20(A6),D3 MOVE.L 24(A6),D4 MOVE.L 28(A6),D5 MOVE.L 32(A6),D6 MOVE.L 36(A6),D7 MOVE.L _SoundScapeBase,A6 JSR _LVOfunctcall(A6) MOVEM.L (SP)+,D1-D7/A6 UNLK A6 RTS _ReadFileName LINK A6,#0000 MOVEM.L D1-D2/A6,-(SP) MOVE.L 8(A6),D0 MOVE.L 12(A6),D1 MOVE.L 16(A6),D2 MOVE.L _SoundScapeBase,A6 JSR _LVOreadname(A6) MOVEM.L (SP)+,D1-D2/A6 UNLK A6 RTS _WriteFileName LINK A6,#0000 MOVEM.L D1-D2/A6,-(SP) MOVE.L 8(A6),D0 MOVE.L 12(A6),D1 MOVE.L 16(A6),D2 MOVE.L _SoundScapeBase,A6 JSR _LVOwritename(A6) MOVEM.L (SP)+,D1-D2/A6 UNLK A6 RTS END