Prev: 56540 Up: Map Next: 56687
56658: Sound: Tile Movement
Used by the routines at MoveTile_Right, MoveTile_Left, MoveTile_Down and MoveTile_Up.
Input
B Loop counter
Sound_TileMovement 56658 LD HL,59233 HL=Tile_SpacesToMove.
56661 LD A,20 Load the base pitch value (20) into A.
56663 SUB (HL) Subtract the number of tile slots moved from the base pitch.
56664 LD C,B C=B.
56665 SLA C Multiply C by 4.
56667 SLA C
56669 ADD A,C C+=A.
56670 LD C,A
56671 LD A,5 A=5.
Sound_TileMovement_0 56673 LD B,C B=C.
56674 SLA B Shift B left (with carry).
Sound_TileMovement_1 56676 DJNZ Sound_TileMovement_1 Decrease counter by one and loop back to Sound_TileMovement_1 until counter is zero.
56678 XOR %00010000 Flip bit 4.
56680 OUT (254),A Send to the speaker.
56682 DEC C Decrease C by one.
56683 JP NZ,Sound_TileMovement_0 Jump to Sound_TileMovement_0 if C is not zero.
56686 RET Return.
Prev: 56540 Up: Map Next: 56687