Prev: 56005 Up: Map Next: 56100
56069: Handler: Pendulum
Used by the routine at Dispatch_Handlers.
Room 9 chooses a frame from the player column. Rooms 10 and 11 animate at Handler_Pendulum.
Return unless this is a pendulum room.
Handler_PendulumRooms 56069 LD A,(25762) Return if the room is 12 or higher.
56072 CP 12
56074 RET NC
56075 CP 9 Return if the room is lower than 9.
56077 RET C
Animate rooms 10 and 11.
56078 CP 10 Jump to Handler_Pendulum if the room is 10 or 11.
56080 JR NC,Handler_Pendulum
Choose a frame from the player column.
56082 LD A,(25764) Start from the player column minus 4.
56085 SUB 4
pendulum-e0 pendulum-e1
56087 LD B,224 Set the sprite ID to 224.
Step the sprite ID back for each six columns.
Handler_Pendulum_FrameLoop 56089 SUB 6 Subtract 6 until A is negative, decreasing the sprite ID by two each pass.
56091 BIT 7,A
56093 JR NZ,Handler_Pendulum_DrawPair
56095 DEC B
56096 DEC B
56097 JR Handler_Pendulum_FrameLoop
Use the same frame for both sprites.
Handler_Pendulum_DrawPair 56099 LD C,B Copy the sprite ID into C.
Continue on to Draw_Pendulum.
Prev: 56005 Up: Map Next: 56100