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 >
Assembly Source File  |  1990-01-13  |  3KB  |  133 lines

  1. ; This is the module that needs to be assembled and linked with a C application
  2. ; that uses the dissidents' samp.library
  3. ;
  4. ; All values passed to the samp.library routines MUST be 32 bit quantities!
  5.  
  6.         SECTION    SampInt,CODE
  7.  
  8.         XREF        _SAMPBase    ;C application opens samp.library and stores
  9.                                     ;the base at this variable
  10.  
  11.         INCLUDE    "SAMP.i"        ;needs the assembly INCLUDE file
  12.  
  13.     XDEF    _OpenSampRead,__OpenSampRead
  14. _OpenSampRead:
  15.         movea.l    _SAMPBase,a6
  16. __OpenSampRead:
  17.         move.l    4(sp),d1
  18.       movea.l  8(sp),a0
  19.         jsr        _LVOOpenSampRead(a6)
  20.         move.l    d1,_SAMPError
  21.         rts
  22.  
  23.     XDEF    _CloseSamp,__CloseSamp
  24. _CloseSamp:
  25.         movea.l    _SAMPBase,a6
  26. __CloseSamp:
  27.         jmp        _LVOCloseSamp(a6)
  28.  
  29.     XDEF    _ReadWaves,__ReadWaves
  30. _ReadWaves:
  31.         movea.l    _SAMPBase,a6
  32. __ReadWaves:
  33.         movem.l    d6/d7/a2/a3,-(sp)
  34.         movem.l    20(sp),d6/d7/a2/a3
  35.         jsr        _LVOReadWaves(a6)
  36.         move.l    d1,_SAMPError
  37.         movem.l    (sp)+,d6/d7/a2/a3
  38.         rts
  39.  
  40.     XDEF    _LoadPlaymap,__LoadPlaymap
  41. _LoadPlaymap:
  42.         movea.l    _SAMPBase,a6
  43. __LoadPlaymap:
  44.         movem.l    d6/d7,-(sp)
  45.         movem.l    12(sp),d0/d1
  46.         movem.l    20(sp),d6/d7
  47.         movea.l    28(sp),a0
  48.         jsr        _LVOLoadPlaymap(a6)
  49.         movem.l    (sp)+,d6/d7
  50.         rts
  51.  
  52.     XDEF    _MixPlaymap,__MixPlaymap
  53. _MixPlaymap:
  54.         movea.l    _SAMPBase,a6
  55. __MixPlaymap:
  56.         movem.l    d6/d7,-(sp)
  57.         movem.l    12(sp),d0/d1
  58.         movem.l    20(sp),d6/d7
  59.         movea.l    28(sp),a0
  60.         jsr        _LVOMixPlaymap(a6)
  61.         movem.l    (sp)+,d6/d7
  62.         rts
  63.  
  64.     XDEF    _MakeTransTable,__MakeTransTable
  65. _MakeTransTable:
  66.         movea.l    _SAMPBase,a6
  67. __MakeTransTable:
  68.         movem.l    d5/d6/d7/a2,-(sp)
  69.         movem.l    20(sp),d5/d6/d7/a2
  70.         jsr        _LVOMakeTransTable(a6)
  71.         movem.l    (sp)+,d5/d6/d7/a2
  72.         rts
  73.  
  74.     XDEF    _OpenSampWrite,__OpenSampWrite
  75. _OpenSampWrite:
  76.         movea.l    _SAMPBase,a6
  77. __OpenSampWrite:
  78.         move.l    4(sp),d1
  79.         jsr        _LVOOpenSampWrite(a6)
  80.         move.l    d1,_SAMPError
  81.         rts
  82.  
  83.     XDEF    _WriteMHDR,__WriteMHDR
  84. _WriteMHDR:
  85.         movea.l    _SAMPBase,a6
  86. __WriteMHDR:
  87.         move.l    4(sp),d0
  88.         movea.l    8(sp),a0
  89.         jmp        _LVOWriteMHDR(a6)
  90.  
  91.     XDEF    _WriteSampChunk,__WriteSampChunk
  92. _WriteSampChunk:
  93.         movea.l    _SAMPBase,a6
  94. __WriteSampChunk:
  95.         movem.l    4(sp),d0/d1/a0
  96.         jmp        _LVOWriteSampChunk(a6)
  97.  
  98.     XDEF    _WriteSampData,__WriteSampData
  99. _WriteSampData:
  100.         movea.l    _SAMPBase,a6
  101. __WriteSampData:
  102.         move.l    d3,-(sp)
  103.         movem.l    8(sp),d3/a0
  104.         jsr        _LVOWriteSampData(a6)
  105.         move.l    (sp)+,d3
  106.         rts
  107.  
  108.     XDEF    _WriteNames,__WriteNames
  109. _WriteNames:
  110.         movea.l    _SAMPBase,a6
  111. __WriteNames:
  112.         movem.l    4(sp),d0/a0
  113.         jmp        _LVOWriteNames(a6)
  114.  
  115.     XDEF    _WriteWaves,__WriteWaves
  116. _WriteWaves:
  117.         movea.l    _SAMPBase,a6
  118. __WriteWaves:
  119.         movem.l    4(sp),d0/d1/a0/a1
  120.         jmp        _LVOWriteWaves(a6)
  121.  
  122.     XDEF    _SAMPErrorMsg,__SAMPErrorMsg
  123. _SAMPErrorMsg:
  124.         movea.l    _SAMPBase,a6
  125. __SAMPErrorMsg:
  126.         move.l    4(sp),d1
  127.         jmp        _LVOSAMPErrorMsg(a6)
  128.  
  129.         SECTION    SampDat,DATA
  130.  
  131.     XDEF    _SAMPError
  132. _SAMPError    dc.l    0
  133.