Prev: B76C Up: Map Next: B7C6
B78C: Show Hall Of Fame
Used by the routine at HandlerHallOfFame.
Draws the hall of fame: the heading, the eight places of the table, and the score and the three letters of the name for each of them.
Before After
hall-of-fame-before hall-of-fame-after
HallOfFame B78C XOR A Clear the large window to black using ClearLargeWindowWithAttributes.
B78D CALL ClearLargeWindowWithAttributes Clear the large window.
B790 LD DE,$B7FC Point DE' at HallOfFame_Attributes.
B793 EXX Switch that address into DE'.
B794 LD HL,$B805 Point HL at HallOfFame_Coordinates.
B797 LD DE,$B817 Point DE at HallOfFame_Heading.
B79A LD B,$09 There are nine lines of text.
B79C CALL PrintTextList Print the heading and the places using PrintTextList.
B79F LD BC,$0308 There are eight rows of scores...
B7A2 LD DE,$B7C6 ...in the table of the high scores.
B7A5 LD HL,$3048 Point HL at the coordinates of the first row.
HallOfFame_Loop B7A8 PUSH BC Save the counter...
B7A9 PUSH HL ...and the coordinates.
B7AA CALL ScreenAddress Find the screen address using ScreenAddress.
B7AD CALL PrintSmallNumber Print the score using PrintSmallNumber.
B7B0 LD B,$03 There are three letters in a name.
B7B2 INC L Move on three characters to the right.
B7B3 INC L
B7B4 INC L
HallOfFame_Initials B7B5 LD A,(DE) Fetch a letter of the name...
B7B6 INC DE ...and move on to the next one.
B7B7 CALL PrintScreen Print it using PrintScreen.
B7BA DJNZ HallOfFame_Initials Loop back until all three letters have been printed.
B7BC POP HL Restore the coordinates.
B7BD LD A,H Fetch the Y coordinate...
B7BE ADD A,$10 ...move down by 10 pixels...
B7C0 LD H,A ...and keep it.
B7C1 POP BC Restore the counter.
B7C2 DEC C Count down the rows.
B7C3 JR NZ,HallOfFame_Loop Loop back until all eight rows have been printed.
B7C5 RET Return.
View the equivalent code in;
Prev: B76C Up: Map Next: B7C6