Prev: A4BC Up: Map Next: A55D
A4CD: Compare Location Data
Used by the routine at ProcessDisplayPointer.
CompareLocationData A4CD PUSH DE
A4CE PUSH HL
A4CF PUSH IY
A4D1 LD DE,$0006
A4D4 ADD HL,DE
A4D5 ADD IY,DE
A4D7 CALL CompareLocationData_3
A4DA JR NZ,CompareLocationData_2
A4DC POP IY
A4DE POP HL
A4DF POP DE
This entry point is used by the routines at ProcessLocationDisplay, ProcessObjectEntry and ProcessObjectEntryAlternate.
CompareLocationData_0 A4E0 PUSH DE
A4E1 PUSH HL
A4E2 PUSH IY
A4E4 CALL CompareLocationData_3
A4E7 JR NZ,CompareLocationData_2
A4E9 LD A,$01
A4EB LD ($A02E),A
A4EE CALL CompareLocationData_3
A4F1 JR NZ,CompareLocationData_1
A4F3 CALL CompareLocationData_3
A4F6 LD A,$00
A4F8 JR Z,CompareLocationData_2
CompareLocationData_1 A4FA POP IY
A4FC POP HL
A4FD PUSH HL
A4FE PUSH IY
A500 LD DE,$0004
A503 ADD IY,DE
A505 INC HL
A506 INC HL
A507 CALL CompareLocationData_3
A50A JR NZ,CompareLocationData_2
A50C LD DE,$FFFC
A50F ADD IY,DE
A511 CALL CompareLocationData_3
A514 LD A,$01
CompareLocationData_2 A516 POP IY
A518 POP HL
A519 POP DE
A51A RET
CompareLocationData_3 A51B PUSH HL
A51C LD A,(HL)
A51D INC HL
A51E OR (HL)
A51F JR Z,CompareLocationData_4
A521 LD A,(IY+$01)
A524 XOR (HL)
A525 AND $0F
A527 JR NZ,CompareLocationData_4
A529 DEC HL
A52A LD A,(HL)
A52B CP (IY+$00)
CompareLocationData_4 A52E POP HL
A52F INC HL
A530 INC HL
A531 INC IY
A533 INC IY
A535 RET
A536 PUSH HL
A537 LD HL,($A03B)
CompareLocationData_5 A53A CALL GetKeypress
A53D BIT 7,A
A53F JR NZ,CompareLocationData_7
A541 LD A,$00
CompareLocationData_6 A543 DEC A
A544 PUSH HL
A545 POP HL
A546 JR NZ,CompareLocationData_6
A548 DEC HL
A549 LD A,H
A54A OR L
A54B JR NZ,CompareLocationData_5
A54D POP HL
A54E PUSH HL
A54F CALL $D9B7
A552 XOR A
CompareLocationData_7 A553 AND $7F
A555 LD HL,$0BB8
A558 LD ($A03B),HL
A55B POP HL
A55C RET
Prev: A4BC Up: Map Next: A55D