Prev: 24935 Up: Map Next: 25033
24989: Reset score, update high score
Check _CURRENT_SCORE and copy it into _HIGH_SCORE if it's greater. Zero _CURRENT_SCORE ready for next game and print the high score, including label, regardless of whether it got incremented.
Used by the routine at start.
reset_score_update_high 24989 LD DE,(_CURRENT_SCORE) Current score in DE
24993 LD HL,(_HIGH_SCORE) High score in HL
24996 OR A Clear flags
24997 SBC HL,DE Subtract current from high
24999 JR NC,reset_score_update_high_0 No carry means current less than high
25001 LD (_HIGH_SCORE),DE Carry, so copy current into high
reset_score_update_high_0 25005 LD HL,0 Zero score ready for next game
25008 LD (_CURRENT_SCORE),HL
This entry point is used by the routine at draw_lives_remaining.
print_high_score 25011 CALL print_string_at_caller Print string which follows this instruction
25014 DEFB 21,0 Print HIGH top right
25016 DEFM "HIGH ",0
25022 LD BC,26 cy=0, cx=26
25025 LD HL,(_HIGH_SCORE) Pick up high score number
25028 LD A,5 Length of 5 chars
25030 JP print_score Print it
Prev: 24935 Up: Map Next: 25033