home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / dse-src6.dms / in.adf / DMZ.LZH / PRG12.1 < prev    next >
Encoding:
Text File  |  1999-10-02  |  1.5 KB  |  63 lines

  1. ALLOCMEM:    EQU    -198
  2. FREEMEM:    EQU    -210
  3. MEMF_CHIP:    EQU    $10002
  4.  
  5. BEGIN:        MOVEM.L    D0-D7/A0-A6,-(SP)
  6.  
  7.         MOVE.L    $4.W,A6
  8.         MOVE.L    #SAMPLESIZE,D0
  9.         MOVE.L    #MEMF_CHIP,D1
  10.         JSR    ALLOCMEM(A6)        ; Allokera för ljud
  11.  
  12.         MOVE.L    D0,AUDPTR
  13.         BEQ.L    ALLOCERROR        ; Error?
  14.  
  15.         MOVE.L    D0,A0
  16.         LEA.L    AUD0(PC),A1
  17.         MOVE.W    #SAMPLESIZE-1,D7
  18. MOVETOCHIP:    MOVE.B    (A1)+,(A0)+        ; Flytta till ChipMem
  19.         DBF    D7,MOVETOCHIP
  20.  
  21.         MOVE.W    #$000F,$DFF096        ; Stäng av ljud DMA
  22.         MOVE.W    #$8011,$DFF09E        ; Modulera kanal 1
  23.         MOVE.L    D0,$DFF0A0        ; AUD0LOC
  24.         ADD.L    #AUD0SIZE,D0
  25.         MOVE.L    D0,$DFF0B0        ; AUD1LOC
  26.         MOVE.W    #AUD0SIZE/2,$DFF0A4    ; AUD0LEN
  27.         MOVE.W    #AUD1SIZE/2,$DFF0B4    ; AUD1LEN
  28.         MOVE.W    #65535,$DFF0A6        ; AUD0PER
  29.         MOVE.W    #64,$DFF0A8        ; AUD0VOL
  30.         MOVE.W    #64,$DFF0B8        ; AUD1VOL
  31.         MOVE.W    #$8203,$DFF096        ; Sätt på ljud DMA
  32.  
  33. MAIN:        BTST    #6,$BFE001        ; Vänster musknapp?
  34.         BNE.S    MAIN
  35.  
  36. EXIT:        MOVE.W    #$0003,$DFF096        ; Stäng av ljud DMA
  37.         MOVE.W    #$0011,$DFF09E        ; Återställ ADKCON
  38.         MOVE.L    AUDPTR(PC),A1
  39.         MOVE.L    #SAMPLESIZE,D0
  40.         JSR    FREEMEM(A6)        ; Deallokera
  41. ALLOCERROR:    MOVEM.L    (SP)+,D0-D7/A0-A6
  42.         RTS
  43.  
  44.  
  45. AUDPTR:        DC.L    0
  46.  
  47. AUD0:        DC.W    0,300,5,290,11,280,16,270
  48.         DC.W    21,260,27,250,32,240,37,230
  49.         DC.W    43,220,48,210,53,200,59,190
  50.         DC.W    64,180,59,190,53,200,48,210
  51.         DC.W    43,220,37,230,32,240,27,250
  52.         DC.W    21,260,16,270,11,280,5,290
  53. AUD0END:
  54. AUD0SIZE:    EQU    AUD0END-AUD0
  55.  
  56. AUD1:        DC.B    0,25,49,71,90,105,117,125
  57.         DC.B    127,125,117,105,90,71,49,25
  58.         DC.B    0,-25,-49,-71,-90,-105,-117,-125
  59.         DC.B    -127,-125,-117,-105,-90,-71,-49,-25
  60. AUD1END:
  61. AUD1SIZE:    EQU    AUD1END-AUD1
  62. SAMPLESIZE:    EQU    AUD1END-AUD0
  63.