← B306 Draw the lives indicator Map B37A → Add the pending score to the displayed score
B351: Draw the score and high-score readouts
Draws the two score readouts on the top status line. Once the live score overtakes the high score, which the overtake flag records, both read the live figure.
draw_score_readout B351 LD HL,loading_screen Print the 8-digit live score double-height at the top-left status cell.
B354 LD DE,score_display
B357 LD C,$47
B359 CALL print_string_2x
B35C LD HL,highscore_entries+$7 Set bit 7 on the high score's 8th digit so the double-height print treats the top high-score entry as an 8-digit terminated string.
B35F PUSH HL
B360 SET 7,(HL)
B362 LD HL,score_readout Default the high-score slot to the top entry's figure.
B365 LD DE,highscore_entries
B368 LD C,$47
B36A LD A,(highscore_passed) Has the live score overtaken the high score?
B36D OR A
B36E JR Z,draw_score_readout_print
B370 LD DE,score_display If so, show the live score in the high-score slot instead.
draw_score_readout_print B373 CALL print_string_2x Print the chosen 8-digit figure double-height.
B376 POP HL Clear the temporary terminator on the high score's 8th digit.
B377 RES 7,(HL)
B379 RET
← B306 Draw the lives indicator Map B37A → Add the pending score to the displayed score
Fork me on GitHub