home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / PC_V11_B.LZH / DEMO_ASS / DEMO_ASS / SNDLIB.S < prev   
Text File  |  1992-10-15  |  3KB  |  190 lines

  1.     opt    l2
  2. ;for rev 5 14/07/92
  3.     XDEF    IsSndDrv            ;+
  4.     XDEF    SndLock,SndUnlock,SndCmd,SndSetBuffer,SndSetMode,SndSetTracks
  5.     XDEF    SndSetMonTracks,SndSetInterrupt,SndBufOper,SndDspTriState
  6.     XDEF    SndGpio,SndDevConnect,SndStatus,SndBufPtr
  7.  
  8.     output    .lib
  9.  
  10. SND_BASE    equ    $80
  11. LOCKSND    equ    0
  12. UNLOCKSND    equ    1
  13. SOUNDCMD    equ    2
  14. SETBUFFER    equ    3
  15. SETMODE        equ    4
  16. SETTRACKS    equ    5
  17. SETMONTRACKS    equ    6
  18. SETINTERRUPT    equ    7
  19. BUFFOPER    equ    8
  20. DSPTRISTATE    equ    9
  21. GPIO    equ    10
  22. DEVCONNECT    equ    11
  23. SNDSTATUS    equ    12
  24. BUFFPTR    equ    13
  25.  
  26. CALLDRVR    MACRO
  27.     move.w    \1+SND_BASE,-(sp)
  28.     trap    #14
  29.     ENDM
  30.  
  31.     TEXT
  32.  
  33. IsSndDrv:
  34.     bsr    SndLock
  35.     cmp.w    #LOCKSND+SND_BASE,d0
  36.     bne.s    .is
  37.     moveq    #0,d0
  38.     rts
  39. .is:    subq.w    #1,d0
  40.     bne.s    .good
  41.     bsr    SndUnlock
  42. .good:    moveq    #1,d0
  43.     rts
  44.  
  45. SndLock:
  46.     move.l    a2,-(sp)
  47.     CALLDRVR    #LOCKSND
  48.     addq.w    #2,sp
  49.     move.l    (sp)+,a2
  50.     rts
  51.  
  52. SndUnlock:
  53.     move.l    a2,-(sp)
  54.     CALLDRVR    #UNLOCKSND
  55.     addq.w    #2,sp
  56.     move.l    (sp)+,a2
  57.     rts
  58.  
  59. ;short    mode
  60. ;short    data
  61. SndCmd:
  62.     move.l    a2,-(sp)
  63.     move.w    d1,-(sp)
  64.     move.w    d0,-(sp)
  65.     CALLDRVR    #SOUNDCMD
  66.     addq.w    #6,sp
  67.     move.l    (sp)+,a2
  68.     rts
  69.  
  70. ;short    reg
  71. ;void    *begaddr
  72. ;void    *endaddr
  73. SndSetBuffer:
  74.     move.l    a2,-(sp)
  75.     move.l    a1,-(sp)
  76.     move.l    a0,-(sp)
  77.     move.w    d0,-(sp)
  78.     CALLDRVR    #SETBUFFER
  79.     lea    12(sp),sp
  80.     move.l    (sp)+,a2
  81.     rts
  82.  
  83. ;short    mode
  84. SndSetMode:
  85.     move.l    a2,-(sp)
  86.     move.w    d0,-(sp)
  87.     CALLDRVR    #SETMODE
  88.     addq.w    #4,sp
  89.     move.l    (sp)+,a2
  90.     rts
  91.  
  92. ;short    playtracks
  93. ;short    rectracks
  94. SndSetTracks:
  95.     move.l    a2,-(sp)
  96.     move.w    d1,-(sp)
  97.     move.w    d0,-(sp)
  98.     CALLDRVR    #SETTRACKS
  99.     addq.w    #6,sp
  100.     move.l    (sp)+,a2
  101.     rts
  102.  
  103. ;short    montrack
  104. SndSetMonTracks:
  105.     move.l    a2,-(sp)
  106.     move.w    d0,-(sp)
  107.     CALLDRVR    #SETMONTRACKS
  108.     addq.w    #4,sp
  109.     move.l    (sp)+,a2
  110.     rts
  111.  
  112. ;short    src_inter
  113. ;short    cause
  114. SndSetInterrupt:
  115.     move.l    a2,-(sp)
  116.     move.w    d1,-(sp)
  117.     move.w    d0,-(sp)
  118.     CALLDRVR    #SETINTERRUPT
  119.     addq.w    #6,sp
  120.     move.l    (sp)+,a2
  121.     rts
  122.  
  123. ;short    mode
  124. SndBufOper:
  125.     move.l    a2,-(sp)
  126.     move.w    d0,-(sp)
  127.     CALLDRVR    #BUFFOPER
  128.     addq.w    #4,sp
  129.     move.l    (sp)+,a2
  130.     rts
  131.  
  132. ;short    dspxmit
  133. ;short    dsprec
  134. SndDspTriState:
  135.     move.l    a2,-(sp)
  136.     move.w    d1,-(sp)
  137.     move.w    d0,-(sp)
  138.     CALLDRVR    #DSPTRISTATE
  139.     addq.w    #6,sp
  140.     move.l    (sp)+,a2
  141.     rts
  142.  
  143. ;short    mode
  144. ;short    data
  145. SndGpio:
  146.     move.l    a2,-(sp)
  147.     move.w    d1,-(sp)
  148.     move.w    d0,-(sp)
  149.     CALLDRVR    #GPIO
  150.     addq.w    #6,sp
  151.     move.l    (sp)+,a2
  152.     rts
  153.  
  154. ;short    src
  155. ;short    dst
  156. ;short    srcclk
  157. ;short    prescale
  158. ;short    protocol
  159. SndDevConnect:
  160.     move.l    a2,-(sp)
  161.     move.w    10(sp),-(sp)
  162.     move.w    10(sp),-(sp)
  163.     move.w    d2,-(sp)
  164.     move.w    d1,-(sp)
  165.     move.w    d0,-(sp)
  166.     CALLDRVR    #DEVCONNECT
  167.     lea    12(sp),sp
  168.     move.l    (sp)+,a2
  169.     rts
  170.  
  171. ;short    reset
  172. SndStatus:
  173.     move.l    a2,-(sp)
  174.     move.w    d0,-(sp)
  175.     CALLDRVR    #SNDSTATUS
  176.     addq.w    #4,sp
  177.     move.l    (sp)+,a2
  178.     rts
  179.  
  180. ;void    **ptr
  181. SndBufPtr:
  182.     move.l    a2,-(sp)
  183.     move.l    a0,-(sp)
  184.     CALLDRVR    #BUFFPTR
  185.     addq.w    #6,sp
  186.     move.l    (sp)+,a2
  187.     rts
  188.  
  189.  
  190.