From c3f95ea6f06edcdf69fe6e3a6e16aa12003357ba Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 18 May 2022 01:19:40 -0400 Subject: [PATCH] polly: more sound effects --- music/polly/repo2.s | 110 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 109 insertions(+), 1 deletion(-) diff --git a/music/polly/repo2.s b/music/polly/repo2.s index aa819126..6a1e6a9b 100644 --- a/music/polly/repo2.s +++ b/music/polly/repo2.s @@ -54,11 +54,19 @@ check6: cmp #'6'+$80 bne check7 -; jsr drum4 + jsr siren jmp repo2 check7: + cmp #'7'+$80 + bne check8 + jsr siren2 + jmp repo2 + +check8: + + done: @@ -402,4 +410,104 @@ dcd_inner: rts + ;================= + ; +siren: + ; x=0 to 255 + ; delay=14+34*X + + ldx #0 +siren_xloop: + bit $C030 ; 4 + + txa ; 2 + tay ; 2 +siren_yloop: + ; need to delay 25 cycles + + lsr $0 ; 5 + lsr $0 ; 5 + lsr $0 ; 5 + lsr $0 ; 5 + lsr $0 ; 5 + + + dey ; 2 + bne siren_yloop ; 3 + + ; need to delay 9 cycles + lda $0 ; 3 + lda $0 ; 3 + lda $0 ; 3 + + + inx ; 2 + bne siren_xloop ; 3 + + + rts + + + ;================= + ; +siren2: + ; x=0 to 255 + + ; click + delay=14+34*X + ; cilck + delay=14+34*(255-X) + + ldx #0 +siren2_xloop: + bit $C030 ; 4 + + txa ; 2 + tay ; 2 +siren2_yloop: + ; need to delay 25 cycles + + lsr $0 ; 5 + lsr $0 ; 5 + lsr $0 ; 5 + lsr $0 ; 5 + lsr $0 ; 5 + + + dey ; 2 + bne siren2_yloop ; 3 + + ; need to delay 14 cycles + lda $0 ; 3 + lda $0 ; 3 + lda $0 ; 3 + lda $0 ; 3 + lda $0 ; 3 + nop ; 2 + + ; down + + bit $C030 ; 4 + + txa ; 2 + eor #$ff ; 2 + sec ; 2 + adc #$FF ; 2 + tay ; 2 +siren2_yloop2: + ; need to delay 25 cycles + + lsr $0 ; 5 + lsr $0 ; 5 + lsr $0 ; 5 + lsr $0 ; 5 + lsr $0 ; 5 + + + dey ; 2 + bne siren2_yloop2 ; 3 + + inx ; 2 + bne siren2_xloop ; 3 + + + rts