Routines |
Prev: E47A | Up: Map | Next: E581 |
Used by the routine at InitialiseGame.
|
||||
Handler_Lifts2 | E4F1 | LD IX,($5BE4) | IX=*ReferenceLifts. | |
Are we done?
|
||||
Handler_Lifts2_Loop | E4F5 | LD A,(IX+$00) | Return if the terminator character has been received instead of a co-ordinate (FF). | |
E4F8 | CP $FF | |||
E4FA | RET Z | |||
E4FB | LD A,(IX+$05) | Jump to Handler_Lifts2_3 if *IX+05 is equal to 00. | ||
E4FE | CP $00 | |||
E500 | JR Z,Handler_Lifts2_3 | |||
E502 | LD C,(IX+$00) | C=*IX+00. | ||
E505 | LD B,(IX+$01) | B=*IX+01. | ||
E508 | LD A,(IX+$03) | Jump to Handler_Lifts2_5 if *IX+03 is equal to 03. | ||
E50B | CP $03 | |||
E50D | JR Z,Handler_Lifts2_5 | |||
E50F | CP $02 | Jump to Handler_Lifts2_4 if *IX+03 is equal to 02. | ||
E511 | JR Z,Handler_Lifts2_4 | |||
E513 | CP $01 | Jump to Handler_Lifts2_6 if *IX+03 is equal to 01. | ||
E515 | JR Z,Handler_Lifts2_6 | |||
E517 | DEC B | Decrease B by one. | ||
E518 | CALL $0DD9 | Call CL_SET. | ||
Handler_Lifts2_0 | E51B | LD D,$04 | D=04. | |
Handler_Lifts2_1 | E51D | LD B,(IX+$07) | B=*IX+07. | |
E520 | LD A,$FF | A=FF. | ||
E522 | LD HL,($5C84) | HL=*DF_CC. | ||
E525 | INC H | Increment H by one. | ||
E526 | LD ($5C84),HL | Write HL to *DF_CC. | ||
E529 | DEC H | Decrease H by one. | ||
Handler_Lifts2_2 | E52A | LD (HL),A | Write A to *HL. | |
E52B | INC HL | Increment HL by one. | ||
E52C | DJNZ Handler_Lifts2_2 | Decrease counter by one and loop back to Handler_Lifts2_2 until counter is zero. | ||
E52E | DEC D | Decrease D by one. | ||
E52F | JR NZ,Handler_Lifts2_1 | Jump to Handler_Lifts2_1 until D is zero. | ||
Handler_Lifts2_3 | E531 | LD DE,$0010 | IX+=0010. | |
E534 | ADD IX,DE | |||
E536 | JR Handler_Lifts2_Loop | Jump to Handler_Lifts2_Loop. | ||
Handler_Lifts2_4 | E538 | CALL $0DD9 | Call CL_SET. | |
E53B | LD HL,($5C84) | HL=*DF_CC. | ||
E53E | INC H | Increment H by four. | ||
E53F | INC H | |||
E540 | INC H | |||
E541 | INC H | |||
E542 | LD ($5C84),HL | Write HL to *DF_CC. | ||
E545 | JR Handler_Lifts2_0 | Jump to Handler_Lifts2_0. | ||
Handler_Lifts2_5 | E547 | CALL $0DD9 | Call CL_SET. | |
E54A | LD HL,($5C84) | HL=*DF_CC. | ||
E54D | INC H | Increment H by two. | ||
E54E | INC H | |||
E54F | LD ($5C84),HL | Write HL to *DF_CC. | ||
E552 | JR Handler_Lifts2_0 | Jump to Handler_Lifts2_0. | ||
Handler_Lifts2_6 | E554 | PUSH BC | Stash BC on the stack. | |
E555 | CALL $0DD9 | Call CL_SET. | ||
E558 | LD HL,($5C84) | HL=*DF_CC. | ||
E55B | LD A,H | H+=06. | ||
E55C | ADD A,$06 | |||
E55E | LD H,A | |||
E55F | LD ($5C84),HL | Write HL to *DF_CC. | ||
E562 | LD D,$02 | D=02. | ||
Handler_Lifts2_7 | E564 | LD HL,($5C84) | HL=*DF_CC. | |
E567 | INC H | Increment H by one. | ||
E568 | LD ($5C84),HL | Write HL to *DF_CC. | ||
E56B | DEC H | Decrease H by one. | ||
E56C | LD A,$FF | A=FF. | ||
E56E | LD B,(IX+$07) | B=*IX+07. | ||
Handler_Lifts2_8 | E571 | LD (HL),A | Write A to *HL. | |
E572 | INC HL | Increment HL by one. | ||
E573 | DJNZ Handler_Lifts2_8 | Decrease counter by one and loop back to Handler_Lifts2_8 until counter is zero. | ||
E575 | DEC D | Decrease D by one. | ||
E576 | JR NZ,Handler_Lifts2_7 | Jump to Handler_Lifts2_7 until D is zero. | ||
E578 | POP BC | Restore BC from the stack. | ||
E579 | DEC B | Decrease B by one. | ||
E57A | CALL $0DD9 | Call CL_SET. | ||
E57D | LD D,$02 | D=02. | ||
E57F | JR Handler_Lifts2_1 | Jump to Handler_Lifts2_1. |
Prev: E47A | Up: Map | Next: E581 |