home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 303.lha / AssemTools / Include / voice.i < prev   
Text File  |  1980-12-03  |  716b  |  48 lines

  1.  
  2. VOICE    equ    $dff0a0
  3. AUD_LC    equ    $00
  4. AUD_LEN    equ    $04
  5. AUD_PER    equ    $06
  6. AUD_VOL    equ    $08
  7.  
  8.  
  9. _VoiceBase dc.l    _vPlay
  10.  
  11.  
  12. ; Play(voice,frq,vol);
  13.  
  14.  
  15. _vPlay    push    a0/d0-d1    ;d0=voice, d1=freq, d2=volume
  16.     move.w    d0,-(sp)
  17.     tst.w    d1
  18.     beq    _vPlay1
  19.     lea    VOICE,a0
  20.     asl.w    #4,d0
  21.     lea    0(a0,d0.w),a0
  22.     move.l    waveform(pc),AUD_LC(a0)
  23.     move.w    #WAVEFORM/2,AUD_LEN(a0)
  24.     move.w    d2,AUD_VOL(a0)
  25.     move.w    d1,AUD_PER(a0)
  26.     move.w    (sp)+,d0
  27.     move.w    #$8200,d1
  28.     bset    d0,d1
  29.     move.w    d1,$dff096    ;DMA & AUDIO ON
  30.     pull    a0/d0-d1
  31.     rts
  32. _vPlay1    move.w    (sp)+,d0
  33.     moveq    #$0000,d1
  34.     bset    d0,d1
  35.     move.w    d1,$dff096    ;DMA & AUDIO OFF
  36.     pull    a0/d0-d1
  37.     rts
  38.  
  39. _vResetVoices
  40.     move.w    #$020f,$dff096    ;DMA & ALL AUDIO OFF
  41.     rts
  42.  
  43.  
  44. _LVOPlay equ    0
  45. _LVOResetVoices equ _vResetVoices-_vPlay
  46.  
  47.  
  48.