25 lines
856 B
Text
25 lines
856 B
Text
lea sample(pc),a0
|
|
move.l a0,$dff0a0 ; AUD0LCH and AUD0LCL
|
|
move.w #32,$dff0a4 ; AUD0LEN = number of sample words
|
|
move.w #48,$dff0a8 ; AUD0VOL
|
|
moveq #9,d2 ; number of notes -1
|
|
lea notes(pc),a0
|
|
move.w #$8203,$dff096 ; enable DMA for AUD0
|
|
loop: move.w (a0)+,$dff0a6
|
|
moveq #50,d1 ; delay 50 frames
|
|
waitv1: tst.b $dff006 ; VPOSHR
|
|
bne waitv1
|
|
waitv2: tst.b $dff006
|
|
beq waitv2
|
|
dbf d1,waitv1
|
|
dbf d2,loop
|
|
move.w #1,$dff096 ; turn DMA off again
|
|
rts
|
|
|
|
notes: dc.w 212,189,168,159,141,126,112,106,106,106
|
|
|
|
; a simple triangular waveform
|
|
sample: dc.b 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120
|
|
dc.b 128, 120, 112, 104, 96, 88, 80, 72, 64, 56, 48, 40, 32, 24, 16, 8
|
|
dc.b 0,-8,-16,-24,-32,-40,-48,-56,-64,-72,-80,-88,-96,-104,-112,-120
|
|
dc.b -127,-120,-112,-140,-96,-88,-80,-72,-64,-56,-48,-40,-32,-24,-16,-8
|