![]() |
Routines |
Prev: C4D1 | Up: Map | Next: C863 |
C821 | PUSH IX | Stash IX and BC on the stack. | ||
C823 | PUSH BC | |||
C824 | CALL FetchObjectDataPointer | Call FetchObjectDataPointer. | ||
C827 | LD B,A | B=A. | ||
C828 | LD A,($A036) | A=*CurrentCharacter_ID. | ||
C82B | CALL $C863 | Call C863. | ||
C82E | CP B | Jump to C85D if A is equal to B. | ||
C82F | JR Z,$C85D | |||
C831 | BIT 7,(IX+$05) | Jump to C85A if bit 7 of *IX+05 is not set. | ||
C835 | JR Z,$C85A | |||
C837 | LD C,A | C=A. | ||
C838 | LD A,B | A=B. | ||
C839 | LD B,C | B=C. | ||
C83A | CALL $C863 | Call C863. | ||
C83D | LD C,A | C=A. | ||
C83E | LD A,($A036) | A=*CurrentCharacter_ID. | ||
C841 | CP C | Jump to C85D if A is equal to C. | ||
C842 | JR Z,$C85D | |||
C844 | LD A,C | A=C. | ||
C845 | CP B | Jump to C85A if A is not equal to B. | ||
C846 | JR NZ,$C85A | |||
C848 | INC A | Increment A by one. | ||
C849 | JR NZ,$C85D | Jump to C85D if A is not equal to B. | ||
C84B | LD B,(IX+$00) | B=*IX+00. | ||
C84E | LD A,($A00A) | Jump to C85D if *A00A is equal to *IX+0F. | ||
C851 | CP (IX+$0F) | |||
C854 | JR Z,$C85D | |||
C856 | INC IX | Increment IX by one. | ||
C858 | DJNZ $C851 | Decrease counter by one and loop back to C851 until counter is zero. | ||
C85A | XOR A | A=00. | ||
C85B | JR $C85F | Jump to C85F. | ||
C85D | OR %00000001 | Set bit 0. | ||
C85F | POP BC | Restore BC and IX from the stack. | ||
C860 | POP IX | |||
C862 | RET | Return. |
Prev: C4D1 | Up: Map | Next: C863 |