Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
The sound effect thread
#1
Hello everyone,

I thought this would be a nifty place to pop some routines to make sound effects without resorting to asm.

Code:
sub soundBwop()

    dim x, y as uByte

    do until x = 255

        out 254, (y * 8)

        let y = x

        do until y > 239

            let y = y + 16

        loop

        let x = x + 1

    loop

end sub

Which makes a nice 'bwop' sound. it'll also change your border colour, so add the border value to the out statement to stop it changing colour. For example, for the a blue border:
Code:
out 254, (y * 8) + 1

You can play around with this, such as changing the 16 for an 8, or making y count down so the loop duration gets longer each time.

Steve
Reply
#2
A "classic" one made with beeps (will disrupt your interruptions a bit):

Code:
SUB explosion
    BEEP 0.01,24
    BEEP 0.01,0
    BEEP 0.01,-2
    BEEP 0.01,-3
    BEEP 0.01,-5
END SUB

explosion()
Reply
#3
I use this white noise one all the time...


Code:
SUB noise ()
asm

noise:    ld e,250          ; repeat 250 times.
        ld hl,0            ; start pointer in ROM.
noise2:    push de
        ld b,32          ; length of step.
noise0:     push bc
        ld a,(hl)       ; next "random" number.
        inc hl          ; pointer.
        and 248          ; we want a black border.
        out (254),a        ; write to speaker.
        ld a,e           ; as e gets smaller...
        cpl                ; ...we increase the delay.
noise1:    dec a              ; decrement loop counter.
        jr nz,noise1       ; delay loop.
        pop bc
        djnz noise0       ; next step.
        pop de
        ld a,e
        sub 24          ; size of step.
        cp 30             ; end of range.
        ret z
        ret c
        ld e,a
        cpl
noise3:    ld b,40            ; silent period.
noise4:    djnz noise4
        dec a
        jr nz,noise3
        jr noise2

ret       
end asm
END SUB
Reply
#4
Fantastic effect!

Steve
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)