|  | 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 |