Routines |
Prev: 43571 | Up: Map | Next: 43689 |
Used by the routines at GameEntryPoint and Handler_Fired.
|
||||
Print_HighScoreTable | 43625 | CALL BlankMiddleScreenBuffer | Call BlankMiddleScreenBuffer. | |
43628 | CALL BlankMiddleAttributeBuffer | Call BlankMiddleAttributeBuffer. | ||
Print "TRASHMAN OF THE YEAR NOMINATIONS".
|
||||
43631 | LD DE,18464 | DE=18464 (screen buffer location). | ||
43634 | LD HL,44551 | HL=Messaging_Nominations. | ||
43637 | CALL PrintString | Call PrintString. | ||
43640 | LD HL,18496 | HL=18496 (screen buffer location). | ||
43643 | LD B,32 | B=32. | ||
43645 | CALL Concealer | Call Concealer. | ||
43648 | LD DE,18533 | DE=18533 (screen buffer location). | ||
43651 | LD HL,45123 | HL=Table_HighScore. | ||
The game holds four high scores.
|
||||
43654 | LD B,4 | B=4 (counter). | ||
Print_HighScoreTable_Loop | 43656 | PUSH BC | Stash the counter held in BC on the stack. | |
Print the players name for this position.
|
||||
43657 | CALL PrintString | Call PrintString. | ||
Score are held backwards, so add three to point to the last digit.
|
||||
43660 | LD BC,3 | BC=0003. | ||
43663 | ADD HL,BC | HL+=BC. | ||
Store the pointer for easily moving onto the next entry.
|
||||
43664 | PUSH HL | Stash HL on the stack. | ||
43665 | EX DE,HL | Exchange the DE register with the shadow HL register. | ||
43666 | ADD HL,BC | HL+=BC. | ||
43667 | EX DE,HL | Exchange the DE register with the shadow HL register. | ||
Scores are held using three bytes.
|
||||
43668 | LD B,3 | B=3 (counter). | ||
43670 | CALL PrintNumbers | Call PrintNumbers. | ||
Print the "pts" suffix.
|
||||
43673 | LD HL,44584 | HL=Messaging_Pts. | ||
43676 | CALL PrintString | Call PrintString. | ||
Update the screen buffer address for the next entry.
|
||||
43679 | LD A,E | E+=10. | ||
43680 | ADD A,10 | |||
43682 | LD E,A | |||
Restore the stashed pointer, and move onto the next entry.
|
||||
43683 | POP HL | Restore HL from the stack. | ||
43684 | INC HL | Increment HL by one. | ||
Fetch the counter, and loop until all the positions have been displayed.
|
||||
43685 | POP BC | Restore the counter to BC from the stack. | ||
43686 | DJNZ Print_HighScoreTable_Loop | Decrease counter by one and loop back to Print_HighScoreTable_Loop until counter is zero. | ||
43688 | RET | Return. |
Prev: 43571 | Up: Map | Next: 43689 |