Routines |
Prev: 42629 | Up: Map | Next: 42678 |
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 |