Prev: C4B2 Up: Map Next: C821
C4D1: Routine at C4D1
Used by the routine at ScriptInterpreter.
C4D1 LD A,($A033)
C4D4 BIT 7,A
C4D6 JP NZ,$C583
C4D9 CALL $A2B1
C4DC PUSH HL
C4DD POP IX
C4DF CALL $A2BD
C4E2 CALL $C493
C4E5 CALL $C4B2
C4E8 XOR A
C4E9 LD ($A00B),A
C4EC LD A,($A01D)
C4EF AND $0C
C4F1 JR Z,$C53A
C4F3 LD A,($A00F)
C4F6 CP $05
C4F8 JR NZ,$C502
C4FA LD A,($A034)
C4FD CP $FE
C4FF JP NZ,$CB41
C502 LD A,($A010)
C505 CP $05
C507 JR NZ,$C511
C509 LD A,($A035)
C50C CP $FE
C50E JP NZ,$CB41
C511 LD A,($A00F)
C514 AND A
C515 JR Z,$C531
C517 LD A,($A034)
C51A CP $FF
C51C JR NZ,$C531
C51E LD B,$FF
C520 INC B
C521 CALL $C463
C524 RET Z
C525 LD ($A034),A
C528 PUSH BC
C529 CALL $C55A
C52C POP BC
C52D JR NZ,$C53A
C52F JR $C520
C531 CALL $C542
C534 JR Z,$C53A
C536 CALL $C560
C539 RET Z
C53A LD A,$01
C53C LD ($A00B),A
C53F JP $C929
C542 LD A,($A010)
C545 AND A
C546 RET Z
C547 LD A,($A035)
C54A CP $FF
C54C JR NZ,$C558
C54E LD A,($A01D)
C551 AND $02
C553 JR NZ,$C558
C555 OR $01
C557 RET
C558 XOR A
C559 RET
C55A CALL $C542
C55D JP Z,$C929
C560 LD B,$FF
C562 INC B
C563 CALL $C45E
C566 JR Z,$C570
C568 LD ($A035),A
C56B CALL $C929
C56E JR Z,$C562
C570 RET
C571 LD A,(IX+$00)
C574 AND $0F
C576 LD ($A00F),A
C579 RET
C57A LD A,(IX+$01)
C57D AND $0F
C57F LD ($A010),A
C582 RET
C583 AND $7F
C585 LD E,A
C586 LD D,$00
C588 LD HL,$9FAB
C58B ADD HL,DE
C58C ADD HL,DE
C58D LD E,(HL)
C58E INC HL
C58F LD D,(HL)
C590 EX DE,HL
This entry point is used by the routine at ScriptInterpreter.
C591 PUSH HL
C592 POP IX
C594 CALL $C571
C597 CALL $C57A
C59A XOR A
C59B LD ($A00B),A
C59E LD A,($A00F)
C5A1 LD HL,$A010
C5A4 OR (HL)
C5A5 JR Z,$C5F4
C5A7 LD A,($A00F)
C5AA CP $05
C5AC JR Z,$C5B2
C5AE CP $06
C5B0 JR NZ,$C5BA
C5B2 LD A,($A034)
C5B5 CP $FE
C5B7 JP NZ,$CB41
C5BA LD A,($A010)
C5BD CP $05
C5BF JR Z,$C5C5
C5C1 CP $06
C5C3 JR NZ,$C5CD
C5C5 LD A,($A035)
C5C8 CP $FE
C5CA JP NZ,$CB41
C5CD LD A,($A00F)
C5D0 AND A
C5D1 JR Z,$C5EB
C5D3 LD A,($A034)
C5D6 CP $FF
C5D8 JR NZ,$C5EB
C5DA LD B,$00
C5DC CALL $C463
C5DF RET Z
C5E0 LD ($A034),A
C5E3 CALL $C60D
C5E6 JR NZ,$C5F4
C5E8 INC B
C5E9 JR $C5DC
C5EB CALL $C5FC
C5EE JR Z,$C5F4
C5F0 CALL $C613
C5F3 RET Z
C5F4 LD A,$01
C5F6 LD ($A00B),A
C5F9 JP $C989
C5FC LD A,($A010)
C5FF AND A
C600 RET Z
C601 LD A,($A035)
C604 CP $FF
C606 JR NZ,$C60B
C608 OR $01
C60A RET
C60B XOR A
C60C RET
C60D CALL $C5FC
C610 JP Z,$C989
C613 PUSH BC
C614 LD B,$00
C616 CALL $C45E
C619 JR Z,$C626
C61B LD ($A035),A
C61E CALL $C989
C621 JR NZ,$C626
C623 INC B
C624 JR $C616
C626 POP BC
C627 RET
This entry point is used by the routine at C989.
C628 LD A,(IY+$00)
C62B AND $0F
C62D JR NZ,$C635
C62F OR $01
C631 RET
C632 JP $DC15
C635 CP $05
C637 JR C,$C660
C639 CP $07
C63B JR NC,$C682
C63D LD A,($A034)
C640 CP $FE
C642 JR NZ,$C654
C644 LD HL,($A02F)
C647 LD A,(IY+$00)
C64A AND $0F
C64C CP $05
C64E JR NZ,$C65A
C650 BIT 7,L
C652 JR Z,$C62F
C654 XOR A
C655 LD ($A021),A
C658 JR $C632
C65A BIT 7,L
C65C JR NZ,$C62F
C65E JR $C654
C660 CP $03
C662 JR NC,$C670
C664 LD A,($A034)
C667 CALL FetchLocationDataPointer
C66A BIT 7,(IX+$00)
C66E JR Z,$C654
C670 BIT 0,(IY+$00)
C674 JR Z,$C62F
C676 LD A,($A034)
C679 CALL $D471
C67C CP $FF
C67E JR Z,$C654
C680 JR $C62F
C682 LD A,($A034)
C685 LD ($CB7A),A
C688 LD C,A
C689 LD A,(IY+$00)
C68C CALL $C7A6
C68F JR Z,$C654
C691 BIT 4,(IY+$00)
C695 JR Z,$C62F
C697 LD A,(IY+$02)
C69A LD L,(IY+$03)
C69D LD H,(IY+$04)
C6A0 BIT 6,(IY+$00)
C6A4 JR Z,$C6AF
C6A6 LD A,(IY+$04)
C6A9 LD L,(IY+$05)
C6AC LD H,(IY+$06)
C6AF RRCA
C6B0 RRCA
C6B1 RRCA
C6B2 RRCA
C6B3 LD B,A
C6B4 CALL $C74E
C6B7 RET NZ
C6B8 LD A,$01
C6BA LD ($A021),A
C6BD RET
This entry point is used by the routine at C989.
C6BE LD A,(IY+$01)
C6C1 AND $0F
C6C3 JR NZ,$C6CB
C6C5 OR $01
C6C7 RET
C6C8 JP $DC15
C6CB CP $05
C6CD JR C,$C6F5
C6CF CP $07
C6D1 JR NC,$C719
C6D3 LD A,($A035)
C6D6 CP $FE
C6D8 JP NZ,$C654
C6DB LD HL,($A031)
C6DE LD A,(IY+$01)
C6E1 AND $0F
C6E3 CP $05
C6E5 JR NZ,$C6EE
C6E7 BIT 7,L
C6E9 JR Z,$C6C5
C6EB JP $C654
C6EE BIT 7,L
C6F0 JR NZ,$C6C5
C6F2 JP $C654
C6F5 CP $03
C6F7 JR NC,$C706
C6F9 LD A,($A035)
C6FC CALL FetchLocationDataPointer
C6FF BIT 7,(IX+$00)
C703 JP Z,$C654
C706 BIT 0,(IY+$01)
C70A JR Z,$C6C5
C70C LD A,($A035)
C70F CALL $D471
C712 CP $FF
C714 JP Z,$C654
C717 JR $C6C5
C719 LD A,($A035)
C71C LD ($CB7A),A
C71F LD C,A
C720 LD A,(IY+$01)
C723 CALL $C7A6
C726 RET Z
C727 BIT 4,(IY+$00)
C72B JP Z,$C62F
C72E LD A,(IY+$02)
C731 LD L,(IY+$05)
C734 LD H,(IY+$06)
C737 BIT 6,(IY+$00)
C73B JR Z,$C746
C73D LD A,(IY+$04)
C740 LD L,(IY+$07)
C743 LD H,(IY+$08)
C746 LD B,A
C747 CALL $C74E
C74A RET NZ
C74B JP $C6B8
C74E LD A,C
C74F CALL $D237
C752 LD C,(IX+$05)
C755 LD A,B
C756 RRCA
C757 RRCA
C758 AND $03
C75A LD D,L
C75B CALL $C763
C75E RET Z
C75F LD A,B
C760 AND $03
C762 LD D,H
C763 JR NZ,$C76D
C765 LD A,D
C766 AND C
C767 CP D
C768 JP Z,$C62F
C76B JR $C792
C76D CP $01
C76F JR NZ,$C77B
C771 LD A,D
C772 AND A
C773 JR Z,$C768
C775 AND C
C776 JR Z,$C795
C778 JP $C62F
C77B CP $02
C77D JR NZ,$C788
C77F LD A,D
C780 AND C
C781 JP Z,$C62F
C784 OR $80
C786 JR $C797
C788 LD A,D
C789 AND C
C78A CP D
C78B JP NZ,$C62F
C78E OR $80
C790 JR $C797
C792 XOR $FF
C794 AND D
C795 AND $7F
C797 LD ($CB79),A
C79A LD A,($A00B)
C79D AND A
C79E JP Z,$C62F
C7A1 LD HL,$CB7B
C7A4 XOR A
C7A5 RET
C7A6 AND $0F
C7A8 CP $07
C7AA JP Z,$C62F
C7AD CP $08
C7AF JR NZ,$C7BB
C7B1 LD A,C
C7B2 CALL $C821
C7B5 JP Z,$C632
C7B8 JP $C62F
C7BB CP $09
C7BD JR NZ,$C7E4
C7BF LD A,C
C7C0 CALL $C821
C7C3 JP Z,$C632
C7C6 LD A,C
C7C7 CALL $C8A7
C7CA JP NZ,$C632
C7CD LD A,C
C7CE CALL $C8BE
C7D1 JP NZ,$C632
C7D4 LD B,C
C7D5 LD A,($A036)
C7D8 CALL $C8C6
C7DB JP Z,$C632
C7DE LD A,C
C7DF CALL $C8AF
C7E2 JR $C768
C7E4 CP $0A
C7E6 JR NZ,$C7F9
C7E8 LD A,C
C7E9 CALL $C821
C7EC JP Z,$C632
C7EF LD A,C
C7F0 CALL $D275
C7F3 JP NC,$C632
C7F6 JP $C62F
C7F9 CP $0B
C7FB JR NZ,$C80A
C7FD LD A,C
C7FE CALL $C821
C801 JP Z,$C632
C804 LD A,C
C805 CALL $C8A7
C808 JR $C7B5
C80A CP $0C
C80C JR NZ,$C814
C80E LD A,C
C80F CALL $C8BE
C812 JR $C7B5
C814 LD A,C
C815 CALL $C821
C818 JP Z,$C632
C81B LD A,C
C81C CALL $C8BE
C81F JR $C7B5
Prev: C4B2 Up: Map Next: C821