Prev: AC7F Up: Map Next: AE3C
ADBA: Routine at ADBA
Used by the routines at Handler_Move_Characters and AE5D.
ADBA LD A,(IY+$0F) A=current room ID (*IY+0F).
ADBD CP (IY+$5A)
ADC0 JR NZ,$ADC7
ADC2 LD (IY-$14),$01 Write 01 to *IY-14.
ADC6 RET Return.
ADC7 LD D,$FF D=FF.
ADC9 CALL $AC69 Call AC69.
ADCC LD A,(IY+$0F) A=current room ID (*IY+0F).
ADCF CALL $AE30 Call AE30.
ADD2 OR A
ADD3 JR Z,$AE18
ADD5 LD A,(HL)
ADD6 CP $FF
ADD8 JR Z,$AE26
ADDA CALL $AE30 Call AE30.
ADDD CP $01
ADDF JR Z,$ADEA
ADE1 LD A,(HL)
ADE2 CP (IY+$5A)
ADE5 JR NZ,$AE20
ADE7 XOR A
ADE8 JR $AE18 Jump to AE18.
ADEA LD A,(HL)
ADEB CP (IY+$6E)
ADEE JR Z,$AE20
ADF0 EXX
ADF1 ADD A,A
ADF2 LD D,$00 Create an offset in DE.
ADF4 LD E,A
ADF5 LD HL,$AD78 HL=AD78+DE.
ADF8 ADD HL,DE
ADF9 LD C,(HL)
ADFA INC HL
ADFB LD B,(HL)
ADFC LD A,(IY+$5A)
ADFF ADD A,A
AE00 LD E,A
AE01 LD HL,$AD78
AE04 ADD HL,DE
AE05 LD A,C
AE06 SUB (HL)
AE07 JR NC,$AE0B
AE09 NEG
AE0B LD C,A
AE0C LD A,B
AE0D INC HL
AE0E SUB (HL)
AE0F JR NC,$AE13
AE11 NEG
AE13 ADD A,C
AE14 EXX
AE15 CP D
AE16 JR NC,$AE20
AE18 LD D,A
AE19 LD B,(HL)
AE1A INC HL
AE1B LD C,(HL)
AE1C INC HL
AE1D LD E,(HL)
AE1E JR $AE22
AE20 INC HL
AE21 INC HL
AE22 INC HL
AE23 JP $ADD5
AE26 LD (IY+$64),C
AE29 LD (IY+$69),B
AE2C LD (IY+$73),E
AE2F RET
AE30 EXX
AE31 LD HL,$AE3C
AE34 ADD A,L
AE35 JR NC,$AE38
AE37 INC H
AE38 LD L,A
AE39 LD A,(HL)
AE3A EXX
AE3B RET
Prev: AC7F Up: Map Next: AE3C