Routines |
Prev: F648 | Up: Map | Next: F68F |
Used by the routines at SoundHandler_CollectedKey, SoundHandler_CaughtByPirate, SoundHandler_BombExplosion, SoundHandler_TouchedAnimal and F888.
|
||||||||||
PlayWave2 | F66C | PUSH BC | Stash the delay counter on the stack twice. | |||||||
F66D | PUSH BC | |||||||||
F66E | CALL Delay_Loop | Call Delay_Loop. | ||||||||
F671 | LD BC,$FFFE | Send *Active_BorderColour to the speaker port. | ||||||||
F674 | LD A,($5BD0) | |||||||||
F677 | OUT (C),A | |||||||||
F679 | POP BC | Restore the delay counter from the stack. | ||||||||
F67A | CALL Delay_Loop | Call Delay_Loop. | ||||||||
F67D | LD BC,$FFFE | BC=FFFE (C points to the speaker port). | ||||||||
F680 | LD A,($5BD0) | A=*Active_BorderColour. | ||||||||
F683 | OR %00010000 | Turn on the speaker (set bit 4). | ||||||||
F685 | OUT (C),A | Send A to the speaker port. | ||||||||
F687 | POP BC | Restore the delay counter from the stack. | ||||||||
F688 | INC BC | Increment the delay counter by one. | ||||||||
F689 | DEC DE | Decrease the duration counter by one. | ||||||||
F68A | LD A,E | Keep looping back to PlayWave2 until the duration counter is zero. | ||||||||
F68B | OR D | |||||||||
F68C | JR NZ,PlayWave2 | |||||||||
F68E | RET | Return. |
Prev: F648 | Up: Map | Next: F68F |