As an aside, the only code I know that uses Paula's attached mode (where one channel can modulate the volume or pitch of another) is the sound effect used in X-Copy.
It sounds like this: https://youtu.be/2OG2tPx5gnU?t=22
and the code that generates that sound is this:
PLAY_SAMPLE ; a6=_custom, d0=zero for high-pitch sound, nonzero for low-pitch sound move.w #$F00,d1 ; high pitch: period=$d00-$f00 if d0 == 0 tst.b d0 beq.s .high move.w #$7700,d1 ; low pitch: period=$7500-$7700 if d0 != 0 .high lea MODULO,a0 move.w #$200-1,d0 .down move.w d1,(a0)+ subq.w #1,d1 dbra d0,.down move.w #$200-1,d0 .up addq.w #1,d1 move.w d1,(a0)+ dbra d0,.up ; set up channel 2; whatever words this plays will ; be written to the period register of channel 3 move.w adkconr(a6),-(sp) ; save ADKCON state for later move.w #ADKF_SETCLR!ADKF_USE2P3,adkcon(a6) move.l #MODULO,aud2+ac_ptr(a6) move.w #$400,aud2+ac_len(a6) move.w #0,aud2+ac_vol(a6) ; no volume (no actual sound wanted!) move.w #$90,aud2+ac_per(a6) ; change period every $90 ticks lea SAMPLE,a0 ; set up channel 3 to play a simple square wave move.l #$7f7f8080,(a0) ; square wave: 127 127 -128 -128 ... move.l a0,aud3+ac_ptr(a6) move.w #2,aud3+ac_len(a6) move.w #DMAF_SETCLR!DMAF_AUD2|DMAF_AUD3,dmacon(a6) ; turn on sound DMA moveq #$40,d2 ; start with volume = 64 .vol move.w d2,aud3+ac_vol(a6) ; write channel 3 volume move.w #$600-1,d1 ; wait a bit 1$ move.b vhposr(a6),d0 2$ cmp.b vhposr(a6),d0 beq.s 2$ dbra d1,1$ subq #8,d2 ; repeat to fade bpl.s .vol moveq #0,d0 ; stop sound move.w d0,aud2+ac_len(a6) move.w d0,aud3+ac_vol(a6) move.w d0,aud3+ac_len(a6) move.w #DMAF_AUD2!DMAF_AUD3,dmacon(a6) move.w (sp)+,d0 ; restore ADKCON btst #ADKB_USE2P3,d0 bne.s .keepon move.w #ADKF_USE2P3,adkcon(a6) .keepon rts section 2,bss,chip SAMPLE ds.w 2 MODULO ds.w $400
As an aside, the only code I know that uses Paula's attached mode (where one channel can modulate the volume or pitch of another) is the sound effect used in X-Copy.
It sounds like this: https://youtu.be/2OG2tPx5gnU?t=22
and the code that generates that sound is this: