Prev: 661D Up: Map Next: 6826
6633: Routine at 6633
6633 LD A,(IX+$0B)
6636 LD (IX+$00),A
6639 CALL StoreEntity Call StoreEntity.
663C LD D,(IX+$05)
663F LD E,(IX+$04)
6642 LD A,(IX+$08)
6645 BIT 7,(IX+$0A)
6649 JR NZ,$664C
664B RRA
664C RRA
664D AND %00001111 Keep only bits 0-3.
664F LD L,A Create an offset in HL.
6650 LD H,$00
6652 BIT 7,(IX+$08)
6656 JR NZ,$661D
6658 ADD HL,DE
This entry point is used by the routine at 661D.
6659 LD (IX+$05),H
665C LD (IX+$04),L
665F SRL H
6661 RR L
6663 PUSH HL
6664 LD D,(IX+$07)
6667 LD E,(IX+$06)
666A LD A,(IX+$09)
666D BIT 7,(IX+$0A)
6671 JR NZ,$6674
6673 RRA
6674 RRA
6675 AND %00001111 Keep only bits 0-3.
6677 LD L,A Create an offset in HL.
6678 LD H,$00
667A BIT 7,(IX+$09)
667E JR NZ,$6628
6680 ADD HL,DE
This entry point is used by the routine at 661D.
6681 LD (IX+$07),H
6684 LD (IX+$06),L
6687 SRL H
6689 RR L
668B LD DE,($5E08) DE=5E08.
668F XOR A
6690 EX AF,AF'
6691 SBC HL,DE
6693 JR NC,$669C
6695 CALL $6BF6 Call 6BF6.
6698 EX AF,AF'
6699 LD A,$01
669B EX AF,AF'
669C EX (SP),HL
669D LD DE,($5E05) DE=PlayerMapPosition.
66A1 AND A
66A2 SBC HL,DE
66A4 JR NC,$66AD
66A6 CALL $6BF6 Call 6BF6.
66A9 EX AF,AF'
66AA OR %00000010 Set bit 1.
66AC EX AF,AF'
66AD POP DE
66AE EX AF,AF'
66AF LD C,A
66B0 LD A,H
66B1 OR D
66B2 JP NZ,$6741
66B5 LD A,L
66B6 CP $58
66B8 JP NC,$6741
66BB LD A,E
66BC CP $58
66BE JP NC,$6741
66C1 BIT 0,C
66C3 JR NZ,$66C7
66C5 NEG
66C7 ADD A,$68
66C9 LD (IX+$02),A
66CC BIT 1,C
66CE LD A,L
66CF JR Z,$66D3
66D1 NEG
66D3 ADD A,$98
66D5 LD (IX+$01),A
66D8 PUSH BC
66D9 LD A,(IX+$09)
66DC LD E,A
66DD RLCA
66DE LD C,(IX+$08)
66E1 LD B,C
66E2 RLC C
66E4 XOR C
66E5 AND $01
66E7 SLA C
66E9 OR C
66EA AND $03
66EC SLA A
66EE SLA A
66F0 LD C,A
66F1 LD A,B
66F2 RRA
66F3 RRA
66F4 AND $07
66F6 LD B,A
66F7 LD A,E
66F8 RLA
66F9 AND $38
66FB OR B
66FC LD E,A
66FD LD D,$00
66FF LD HL,$683B HL=683B.
6702 ADD HL,DE
6703 LD A,(HL)
6704 CP $FF
6706 JR Z,$671D
6708 BIT 2,C
670A JR Z,$6712
670C NEG
670E INC C
670F INC C
6710 INC C
6711 INC C
6712 ADD A,C
6713 AND $0F
6715 ADD A,$10
6717 LD (IX+$0B),A
671A LD (IX+$00),A
671D LD C,(IX+$03)
6720 LD A,($5E43) A=Flag_DayNight.
6723 PUSH BC
6724 LD B,$00
6726 ADD A,C
6727 LD C,A
6728 LD HL,$6837 HL=6837.
672B ADD HL,BC
672C LD A,(HL)
672D LD (IX+$03),A
6730 CALL ActorEraseMovedSprite
6733 CALL ColouriseSprite
6736 POP BC
6737 LD (IX+$03),C
673A POP BC
673B SET 0,(IX+$0A)
673F JR $6750
6741 BIT 0,(IX+$0A)
6745 JR Z,$6750
6747 RES 0,(IX+$0A)
674B PUSH BC
674C CALL ActorEraseDestroyed
674F POP BC
6750 BIT 1,C
6752 LD A,(IX+$08)
6755 JR NZ,$6799
6757 BIT 7,A
6759 JR Z,$6786
675B AND $1F
675D BIT 7,(IX+$0A)
6761 JR NZ,$6791
6763 CP $1F
6765 JR NC,$676A
6767 INC (IX+$08)
676A BIT 0,C
676C LD A,(IX+$09)
676F JR NZ,$67B2
6771 BIT 7,A
6773 JR Z,$67A7
6775 AND $1F
6777 BIT 7,(IX+$0A)
677B JR NZ,$6795
677D CP $1F
677F JR NC,$67BE
6781 INC (IX+$09)
6784 JR $67BE
6786 DEC (IX+$08)
6789 JR NZ,$676A
678B SET 7,(IX+$08)
678F JR $676A
6791 CP $15
6793 JR $6765
6795 CP $15
6797 JR $677F
6799 BIT 7,A
679B JR Z,$675D
679D AND $1F
679F JR NZ,$6786
67A1 LD (IX+$08),$00
67A5 JR $676A
67A7 DEC (IX+$09)
67AA JR NZ,$67BE
67AC SET 7,(IX+$09)
67B0 JR $67BE
67B2 BIT 7,A
67B4 JR Z,$6777
67B6 AND $1F
67B8 JR NZ,$67A7
67BA LD (IX+$09),$00
67BE LD (IX+$00),$02
67C2 BIT 0,(IX+$0A)
67C6 RET Z
67C7 LD HL,$5E50
67CA LD B,$07
67CC BIT 6,(HL)
67CE JR NZ,$6807
67D0 INC HL
67D1 LD A,(HL)
67D2 SUB (IX+$01)
67D5 JP P,$67DA
67D8 NEG
67DA CP $0A
67DC JR NC,$6808
67DE INC HL
67DF LD A,(HL)
67E0 SUB (IX+$02)
67E3 JP P,$67E8
67E6 NEG
67E8 CP $0A
67EA JR NC,$6809
67EC LD A,R
67EE AND $0F
67F0 OR $80
67F2 LD B,A
67F3 LD A,(IX+$09)
67F6 XOR B
67F7 LD (IX+$09),A
67FA LD A,(IX+$08)
67FD XOR $80
67FF LD (IX+$08),A
6802 CALL $6106 Call 6106.
6805 JR $681A Jump to 681A.
6807 INC HL
6808 INC HL
6809 INC HL
680A DJNZ $67CC
680C LD A,R
680E AND $7F
6810 JR NZ,$681A
6812 LD A,(IX+$08)
6815 XOR $0F
6817 LD (IX+$08),A
681A LD A,(IX+$01)
681D SUB $98
681F JP P,$6824
6822 NEG
6824 CP $0C
Prev: 661D Up: Map Next: 6826