Prev: 42629 Up: Map Next: 42678
42647: Check Player Score Against High Score
Used by the routine at Check_HighScore.
Is_HighScore 42647 LD A,0 Write 0 to 42679.
42649 LD (42679),A
42652 PUSH DE Stash the high score and player score positions on the stack.
42653 PUSH HL
42654 LD B,3 Set the counter to 3 for the three score digits.
Is_HighScore_Loop 42656 LD A,(DE) Fetch the score digit.
42657 CP (HL) Compare the score digit against the high score.
42658 JR C,Is_HighScore_Return If the the high score is higher, jump to Is_HighScore_Return.
42660 JR NZ,Is_HighScore_Skip If the high score is lower skip ahead to Is_HighScore_Skip.
42662 LD A,(42679) Increase 42679 by one.
42665 INC A
42666 LD (42679),A
Is_HighScore_Skip 42669 DEC DE Move onto the next digits for both the player score and high score.
42670 DEC HL
42671 DJNZ Is_HighScore_Loop Decrease counter by one and loop back to Is_HighScore_Loop until counter is zero.
42673 SCF Sets then clears the carry flag.
42674 CCF
Is_HighScore_Return 42675 POP HL Restore high score and player score positions from the stack.
42676 POP DE
42677 RET Return.
Prev: 42629 Up: Map Next: 42678