Prev: 54423 Up: Map Next: 54985
54591: Routine at 54591
Used by the routine PLAY_GAME.
L54591 54591 LD A,(59679)
54594 AND A
54595 RET Z
54596 LD A,(59650) Load A with player Y coord
54599 DEC A
54600 CP 15
54602 JP C,L54591_0
54605 LD (59650),A Store player Y coord
54608 RET
L54591_0 54609 LD A,(59649) Load A with PLAYER_X_COORD
54612 DEC A
54613 CP 14
54615 JP C,L54591_1
54618 LD (59649),A Store PLAYER_X_COORD
54621 RET
L54591_1 54622 LD A,(59684)
54625 DEC A
54626 LD (59684),A
54629 RET NZ
54630 INC A
54631 LD (59684),A
54634 LD A,(59679)
54637 CP 9
54639 JP NC,L54591_2
54642 DEC A
54643 LD (59665),A
54646 LD HL,32322 Point HL at first frame of Chronos's eyes
54649 JP L54591_5
L54591_2 54652 CP 9
54654 JP Z,L54591_6
54657 CP 15
54659 JP NC,L54591_4
54662 LD DE,78
54665 LD HL,32244
54668 SUB 9
L54591_3 54670 ADD HL,DE
54671 DEC A
54672 JP NZ,L54591_3
54675 LD A,7
54677 LD (59665),A
54680 JP L54591_5
L54591_4 54683 LD B,A
54684 LD A,22
54686 SUB B
54687 LD (59665),A
54690 LD HL,32634
L54591_5 54693 LD A,(59674)
54696 RRA
54697 JP C,L54591_14
54700 LD A,(59679)
54703 INC A
54704 LD (59679),A
54707 CP 23
54709 JP NZ,L54591_14
54712 DEC A
54713 LD (59679),A
54716 LD A,(59685)
54719 DEC A
54720 LD (59685),A
54723 RET NZ
54724 LD SP,(59662) Restore SP from SP_STORAGE
54728 JP PLAY_GAME_0
L54591_6 54731 LD HL,22919 Prepare to copy from attribute space
54734 LD DE,22920 Prepare to copy to attribute space
54737 LD (HL),65
54739 LD A,6
L54591_7 54741 LDI
54743 INC (HL)
54744 DEC A
54745 JR NZ,L54591_7
54747 LD BC,7
54750 LDIR Copy 7 bytes from HL to DE
54752 LD A,6
L54591_8 54754 LDI
54756 DEC (HL)
54757 DEC A
54758 JR NZ,L54591_8
54760 LD HL,63711
54763 LD DE,12
54766 LD B,8
54768 XOR A Clear carry flag, set A to zero
L54591_9 54769 LD C,20
L54591_10 54771 RLD
54773 DEC HL
54774 DEC C
54775 JP NZ,L54591_10
54778 XOR A Clear carry flag, set A to zero
54779 SBC HL,DE
54781 DJNZ L54591_9
54783 LD A,(59674)
54786 RRA
54787 JP C,L54591_13
54790 LD HL,(59680) Get the stored address of the end of game text
54793 LD A,(HL) Get a character from the end of game text
54794 INC HL
54795 LD (59680),HL Store the address of the next character of the end of game text
54798 CP 35
54800 JP Z,L54591_12
54803 LD C,A
54804 LD B,0
54806 SLA C
54808 RL B
54810 SLA C
54812 RL B
54814 SLA C
54816 RL B
54818 LD HL,15360 Point HL into screen space... maybe
54821 ADD HL,BC
54822 LD DE,63487
54825 EX DE,HL
54826 LD B,8
L54591_11 54828 PUSH BC
54829 LD A,(DE)
54830 INC DE
54831 LD B,A
54832 SRL A
54834 OR B
54835 LD (HL),A
54836 LD BC,32
54839 ADD HL,BC
54840 POP BC
54841 DJNZ L54591_11
54843 JP L54591_13
L54591_12 54846 LD A,(59679)
54849 INC A
54850 LD (59679),A
L54591_13 54853 LD HL,32322 Point HL at first frame of Chronos's eyes
54856 LD A,7
54858 LD (59665),A
L54591_14 54861 LD DE,62067
54864 LD B,13 Prepare to loop 13 times
L54591_15 54866 PUSH BC
54867 LDI
54869 LDI
54871 LDI
54873 LDI
54875 LDI
54877 LDI
54879 LD BC,26
54882 EX DE,HL
54883 ADD HL,BC
54884 EX DE,HL
54885 POP BC
54886 DJNZ L54591_15 Loop 13 times
54888 LD HL,61938
54891 LD BC,32712
54894 LD DE,32740
54897 LD A,28
L54591_16 54899 PUSH AF
54900 LD A,(BC)
54901 INC BC
54902 LD (HL),A
54903 PUSH BC
54904 LD BC,7
54907 ADD HL,BC
54908 POP BC
54909 LD A,(DE)
54910 INC DE
54911 LD (HL),A
54912 PUSH DE
54913 LD DE,25
54916 ADD HL,DE
54917 POP DE
54918 POP AF
54919 DEC A
54920 JP NZ,L54591_16
54923 LD A,(59665)
54926 AND 7
54928 CP 7
54930 JP NZ,L54591_17
54933 DEC A
L54591_17 54934 ADD A,64
54936 LD HL,22733
54939 LD DE,22734
54942 LD BC,7
54945 LD (HL),A
54946 LDIR
54948 LD HL,22765
54951 LD DE,22766
54954 LD BC,7
54957 LD (HL),A
54958 LDIR
54960 LD HL,22797
54963 LD DE,22798
54966 LD BC,7
54969 LD (HL),A
54970 LDIR
54972 LD HL,22829
54975 LD DE,22830
54978 LD BC,7
54981 LD (HL),A
54982 LDIR
54984 RET
Prev: 54423 Up: Map Next: 54985