Routines

24477: Play tune


Used by routine at 62910

24477 213B5C LD HL,23611
24480 CBAE RES 5,(HL)
24482 2140DC LD HL,56384 The opening tune data starts at 56385

This entry point is used by the routine at 23907 with HL=56363:
24485 F3 DI Disable interrupts
24486 23 INC HL Point to next tune datum
24487 7E LD A,(HL) Pick it up
24488 3C INC A Is it an end-of-section marker?
24489 2005 JR NZ,24496 Jump if not
24491 23 INC HL
24492 7E LD A,(HL)
24493 23 INC HL
24494 66 LD H,(HL)
24495 6F LD L,A Now HL points to the first datum in the next section
24496 7E LD A,(HL) A=tune datum
24497 A7 AND A Have we reached the end of the tune?
24498 CAD9F2 JP Z,62169 Jump if so
24501 E5 PUSH HL
24502 0F RRCA
24503 47 LD B,A
24504 3008 JR NC,24514
24506 160F LD D,15
24508 1D DEC E
24509 20FD JR NZ,24508
24511 15 DEC D
24512 20FA JR NZ,24508
24514 E607 AND 7
24516 4F LD C,A
24517 87 ADD A,A
24518 C6F0 ADD A,240
24520 6F LD L,A
24521 265F LD H,95 HL now points to an entry in the table at 24560
24523 78 LD A,B
24524 0F RRCA
24525 0F RRCA
24526 0F RRCA
24527 E60F AND 15
24529 47 LD B,A
24530 5E LD E,(HL)
24531 2C INC L
24532 7E LD A,(HL)
24533 210000 LD HL,0
24536 19 ADD HL,DE
24537 10FD DJNZ 24536
24539 CB85 RES 0,L
24541 5F LD E,A
24542 79 LD A,C
24543 D3FE OUT (254),A
24545 EE10 XOR 16
24547 4F LD C,A
24548 43 LD B,E
24549 10FE DJNZ 24549
24551 2B DEC HL
24552 2D DEC L
24553 7C LD A,H
24554 B5 OR L
24555 20F1 JR NZ,24542
24557 E1 POP HL
24558 18B6 JR 24486

Here are the data tables used by this routine:
Section Data End Next section
56385 59 113 51 183 57 27 91 123 251 255 110 220 56430
56430 49 113 51 119 119 115 255 60 197 50492
50492 241 128 59 113 51 255 60 198 50748
50748 183 57 27 91 123 255 60 199 51004
51004 251 191 59 121 123 255 60 200 51260
51260 119 247 134 0

Section Data End Next section
56364 55 55 55 119 59 127 59 119 55 121 57 121 55 117 51 177 55 255 92 220 56416
56416 55 55 119 59 119 127 127 59 119 55 121 57 255 121 220 56441
56441 49 66 53 183 183 0

0 1 2 3 4 5 6 7
24560 47 196 53 174 60 154 63 145 71 129 80 114 90 101 95 96