Prev: 58490 Up: Map Next: 58753
58609: Handler: Lifts 2
Used by the routine at InitialiseGame.
Handler_Lifts2 58609 LD IX,(23524) IX=*ReferenceLifts.
Are we done?
Handler_Lifts2_Loop 58613 LD A,(IX+0) Return if the terminator character has been received instead of a co-ordinate (255).
58616 CP 255
58618 RET Z
58619 LD A,(IX+5) Jump to Handler_Lifts2_3 if *IX+5 is equal to 0.
58622 CP 0
58624 JR Z,Handler_Lifts2_3
58626 LD C,(IX+0) C=*IX+0.
58629 LD B,(IX+1) B=*IX+1.
58632 LD A,(IX+3) Jump to Handler_Lifts2_5 if *IX+3 is equal to 3.
58635 CP 3
58637 JR Z,Handler_Lifts2_5
58639 CP 2 Jump to Handler_Lifts2_4 if *IX+3 is equal to 2.
58641 JR Z,Handler_Lifts2_4
58643 CP 1 Jump to Handler_Lifts2_6 if *IX+3 is equal to 1.
58645 JR Z,Handler_Lifts2_6
58647 DEC B Decrease B by one.
58648 CALL 3545 Call CL_SET.
Handler_Lifts2_0 58651 LD D,4 D=4.
Handler_Lifts2_1 58653 LD B,(IX+7) B=*IX+7.
58656 LD A,255 A=255.
58658 LD HL,(23684) HL=*DF_CC.
58661 INC H Increment H by one.
58662 LD (23684),HL Write HL to *DF_CC.
58665 DEC H Decrease H by one.
Handler_Lifts2_2 58666 LD (HL),A Write A to *HL.
58667 INC HL Increment HL by one.
58668 DJNZ Handler_Lifts2_2 Decrease counter by one and loop back to Handler_Lifts2_2 until counter is zero.
58670 DEC D Decrease D by one.
58671 JR NZ,Handler_Lifts2_1 Jump to Handler_Lifts2_1 until D is zero.
Handler_Lifts2_3 58673 LD DE,16 IX+=0016.
58676 ADD IX,DE
58678 JR Handler_Lifts2_Loop Jump to Handler_Lifts2_Loop.
Handler_Lifts2_4 58680 CALL 3545 Call CL_SET.
58683 LD HL,(23684) HL=*DF_CC.
58686 INC H Increment H by four.
58687 INC H
58688 INC H
58689 INC H
58690 LD (23684),HL Write HL to *DF_CC.
58693 JR Handler_Lifts2_0 Jump to Handler_Lifts2_0.
Handler_Lifts2_5 58695 CALL 3545 Call CL_SET.
58698 LD HL,(23684) HL=*DF_CC.
58701 INC H Increment H by two.
58702 INC H
58703 LD (23684),HL Write HL to *DF_CC.
58706 JR Handler_Lifts2_0 Jump to Handler_Lifts2_0.
Handler_Lifts2_6 58708 PUSH BC Stash BC on the stack.
58709 CALL 3545 Call CL_SET.
58712 LD HL,(23684) HL=*DF_CC.
58715 LD A,H H+=6.
58716 ADD A,6
58718 LD H,A
58719 LD (23684),HL Write HL to *DF_CC.
58722 LD D,2 D=2.
Handler_Lifts2_7 58724 LD HL,(23684) HL=*DF_CC.
58727 INC H Increment H by one.
58728 LD (23684),HL Write HL to *DF_CC.
58731 DEC H Decrease H by one.
58732 LD A,255 A=255.
58734 LD B,(IX+7) B=*IX+7.
Handler_Lifts2_8 58737 LD (HL),A Write A to *HL.
58738 INC HL Increment HL by one.
58739 DJNZ Handler_Lifts2_8 Decrease counter by one and loop back to Handler_Lifts2_8 until counter is zero.
58741 DEC D Decrease D by one.
58742 JR NZ,Handler_Lifts2_7 Jump to Handler_Lifts2_7 until D is zero.
58744 POP BC Restore BC from the stack.
58745 DEC B Decrease B by one.
58746 CALL 3545 Call CL_SET.
58749 LD D,2 D=2.
58751 JR Handler_Lifts2_1 Jump to Handler_Lifts2_1.
Prev: 58490 Up: Map Next: 58753