; This is the module that needs to be assembled and linked with a C application ; that uses the dissidents' samp.library ; ; All values passed to the samp.library routines MUST be 32 bit quantities! SECTION SampInt,CODE XREF _SAMPBase ;C application opens samp.library and stores ;the base at this variable INCLUDE "SAMP.i" ;needs the assembly INCLUDE file XDEF _OpenSampRead,__OpenSampRead _OpenSampRead: movea.l _SAMPBase,a6 __OpenSampRead: move.l 4(sp),d1 movea.l 8(sp),a0 jsr _LVOOpenSampRead(a6) move.l d1,_SAMPError rts XDEF _CloseSamp,__CloseSamp _CloseSamp: movea.l _SAMPBase,a6 __CloseSamp: jmp _LVOCloseSamp(a6) XDEF _ReadWaves,__ReadWaves _ReadWaves: movea.l _SAMPBase,a6 __ReadWaves: movem.l d6/d7/a2/a3,-(sp) movem.l 20(sp),d6/d7/a2/a3 jsr _LVOReadWaves(a6) move.l d1,_SAMPError movem.l (sp)+,d6/d7/a2/a3 rts XDEF _LoadPlaymap,__LoadPlaymap _LoadPlaymap: movea.l _SAMPBase,a6 __LoadPlaymap: movem.l d6/d7,-(sp) movem.l 12(sp),d0/d1 movem.l 20(sp),d6/d7 movea.l 28(sp),a0 jsr _LVOLoadPlaymap(a6) movem.l (sp)+,d6/d7 rts XDEF _MixPlaymap,__MixPlaymap _MixPlaymap: movea.l _SAMPBase,a6 __MixPlaymap: movem.l d6/d7,-(sp) movem.l 12(sp),d0/d1 movem.l 20(sp),d6/d7 movea.l 28(sp),a0 jsr _LVOMixPlaymap(a6) movem.l (sp)+,d6/d7 rts XDEF _MakeTransTable,__MakeTransTable _MakeTransTable: movea.l _SAMPBase,a6 __MakeTransTable: movem.l d5/d6/d7/a2,-(sp) movem.l 20(sp),d5/d6/d7/a2 jsr _LVOMakeTransTable(a6) movem.l (sp)+,d5/d6/d7/a2 rts XDEF _OpenSampWrite,__OpenSampWrite _OpenSampWrite: movea.l _SAMPBase,a6 __OpenSampWrite: move.l 4(sp),d1 jsr _LVOOpenSampWrite(a6) move.l d1,_SAMPError rts XDEF _WriteMHDR,__WriteMHDR _WriteMHDR: movea.l _SAMPBase,a6 __WriteMHDR: move.l 4(sp),d0 movea.l 8(sp),a0 jmp _LVOWriteMHDR(a6) XDEF _WriteSampChunk,__WriteSampChunk _WriteSampChunk: movea.l _SAMPBase,a6 __WriteSampChunk: movem.l 4(sp),d0/d1/a0 jmp _LVOWriteSampChunk(a6) XDEF _WriteSampData,__WriteSampData _WriteSampData: movea.l _SAMPBase,a6 __WriteSampData: move.l d3,-(sp) movem.l 8(sp),d3/a0 jsr _LVOWriteSampData(a6) move.l (sp)+,d3 rts XDEF _WriteNames,__WriteNames _WriteNames: movea.l _SAMPBase,a6 __WriteNames: movem.l 4(sp),d0/a0 jmp _LVOWriteNames(a6) XDEF _WriteWaves,__WriteWaves _WriteWaves: movea.l _SAMPBase,a6 __WriteWaves: movem.l 4(sp),d0/d1/a0/a1 jmp _LVOWriteWaves(a6) XDEF _SAMPErrorMsg,__SAMPErrorMsg _SAMPErrorMsg: movea.l _SAMPBase,a6 __SAMPErrorMsg: move.l 4(sp),d1 jmp _LVOSAMPErrorMsg(a6) SECTION SampDat,DATA XDEF _SAMPError _SAMPError dc.l 0