Prev: C064 Up: Map Next: C0AB
C077: Sounds: Play Queue
Used by the routine at StartGame.
Sounds_PlayQueue C077 LD IY,($B793) IY=*B793.
C07B LD A,($5C78) A=*FRAMES.
C07E LD ($B7E7),A Write A to *B7E7.
C081 EI Enable interrupts.
C082 IM 1 Interrupt mode 1.
C084 LD A,($5CDD) Call 974A if *5CDD is not zero.
C087 AND A
C088 CALL NZ,$974A
C08B LD IX,$C0B8 IX=Sounds_Queue.
C08F LD B,$05 B=05 (counter).
Sounds_PlayQueue_Loop C091 PUSH BC Stash BC on the stack.
C092 LD A,(IX+$00) Call Sounds_PlaySound if *IX+00 is not zero.
C095 AND A
C096 CALL NZ,Sounds_PlaySound
C099 LD BC,$0007 BC=0007.
C09C ADD IX,BC IX+=BC.
C09E POP BC Restore BC from the stack.
C09F DJNZ Sounds_PlayQueue_Loop Decrease counter by one and loop back to Sounds_PlayQueue_Loop until counter is zero.
C0A1 LD A,($5C78) B=*FRAMES.
C0A4 LD B,A
C0A5 LD A,($B7E7) A=*B7E7.
C0A8 CP B Compare A with B.
C0A9 DI Disable interrupts.
C0AA RET Return.
Prev: C064 Up: Map Next: C0AB