Prev: D37F Up: Map Next: D473
D424: Play sound channels
Used by the routine at 9470.
D424 LD B,$03 Set B the number of channels to play
D426 LD IX,$D5CA Set IX to address for channel #1 sound data
D42A LD D,$00 Set sound register for fine pitch on channel #1
D42C LD A,$01 Set channel volume #1
D42E LD ($D5EF),A
D431 PUSH BC Save BC and DE
D432 PUSH DE
D433 CALL $D473 Configure next tone/noise data for current channel
D436 POP DE
D437 PUSH DE
D438 LD A,(IX+$00) Jump to next channel if this channel is disabled
D43B CP $FF
D43D JP Z,$D460
D440 LD A,(IX+$06) Jump forward if noise sound
D443 CP $00
D445 JP NZ,$D458
play note
D448 LD E,(IX+$04) Send command for fine pitch
D44B CALL $D4F1
D44E INC D Increase register number
D44F LD E,(IX+$05) Send command for coarse pitch
D452 CALL $D4F1
D455 JP $D460 Jump forward and play next channel
play noise
D458 LD E,(IX+$04) Send command for noise pitch
D45B LD D,$06
D45D CALL $D4F1
play next channel
D460 LD BC,$0008 Point IX to the next channel data buffer
D463 ADD IX,BC
D465 POP DE Restore DE and BC
D466 POP BC
D467 INC D Increment register for next channel
D468 INC D
D469 LD A,($D5EF) Increment volume channel
D46C INC A
D46D LD ($D5EF),A
D470 DJNZ $D431 Jump back and play next channel
D472 RET
Prev: D37F Up: Map Next: D473