home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d3xx
/
d307
/
samp.lha
/
Samp
/
SAMPInterface.asm
< prev
next >
Wrap
Assembly Source File
|
1990-01-13
|
3KB
|
133 lines
; 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