Prev: 56265 Up: Map Next: 56418
56358: Handler: Event Timer
Used by the routines at Dispatch_Handlers and Handler_Combination.
Counts *EventTimer down and fires *PendingEvent through Dispatch_Events.
Handler_EventTimer 56358 LD A,(25759) Return if *EventTimer is zero.
56361 OR A
56362 RET Z Decrease *EventTimer by one.
56363 DEC A
56364 LD (25759),A
56367 OR A Return if the timer is still running.
56368 RET NZ Jump to Dispatch_Events with *PendingEvent.
56369 LD A,(25760)
56372 JP Dispatch_Events
This entry point is used by the routines at Handler_MovingObjects and Handler_Enemies.
Reverse an object's horizontal/vertical direction.
Reverse_Direction 56375 LD A,(IX+9) Negate *IX+9 and *IX+8.
56378 DEC A
56379 XOR 255
56381 LD (IX+9),A
56384 LD A,(IX+8)
56387 DEC A Return if the vertical delta is now zero.
56388 XOR 255
56390 LD (IX+8),A Toggle bit 7 of *IX+7.
56393 RET Z
56394 LD A,128
56396 XOR (IX+7) Return.
56399 LD (IX+7),A
56402 RET
This entry point is used by the routine at Handler_Enemies.
Pause when leaving a non-zero room.
Pause_LeavingRoom 56403 PUSH AF Stash AF on the stack.
56404 LD A,(25762) Jump to Pause_LeavingRoom_Done if *CurrentRoom is zero.
56407 OR A
56408 JR Z,Pause_LeavingRoom_Done
56410 LD BC,1000 Call JumpTable_Delay with a pause of 1000.
56413 CALL JumpTable_Delay
Pause_LeavingRoom_Done 56416 POP AF Restore AF from the stack.
56417 RET Return.
Prev: 56265 Up: Map Next: 56418