![]() |
Routines |
| Prev: 62168 | Up: Map | Next: 62349 |
|
Used by the routine at Display_High_Score_Screen.
Draws one score entry on the high score screen. Given the screen position in DE and the name data in HL, prints the rank number from 50435, a closing parenthesis, the three-character name, then the full score digits via Print_BCD_Score. The alternate entry at Draw_Score_Entry_Compact uses tighter row spacing and a smaller column advance for the All Time Heroes table.
|
||||||||||
| Draw_Score_Entry | 62201 | LD B,1 | Set the rank digit count and row stride. | |||||||
| 62203 | LD C,6 | |||||||||
| 62205 | PUSH HL | Stash the name pointer and screen position on the stack. | ||||||||
| 62206 | PUSH DE | |||||||||
| 62207 | LD HL,50435 | Call Print_BCD_Score_Suppress_Loop using 50435. | ||||||||
| 62210 | CALL Print_BCD_Score_Suppress_Loop | |||||||||
| 62213 | POP DE | Restore the screen position and name pointer from the stack. | ||||||||
| 62214 | POP HL | |||||||||
| 62215 | LD A,22 | Position the cursor and print the closing parenthesis character. | ||||||||
| 62217 | CALL PrintDispatch | |||||||||
| 62220 | LD A,D | |||||||||
| 62221 | ADD A,12 | |||||||||
| 62223 | CALL PrintDispatch | |||||||||
| 62226 | LD A,E | |||||||||
| 62227 | CALL PrintDispatch | |||||||||
| 62230 | LD A,41 | |||||||||
| 62232 | CALL PrintDispatch | |||||||||
| 62235 | LD A,22 | Position the cursor for the score entry name. | ||||||||
| 62237 | CALL PrintDispatch | |||||||||
| 62240 | LD A,D | |||||||||
| 62241 | ADD A,19 | |||||||||
| 62243 | CALL PrintDispatch | |||||||||
| 62246 | LD A,E | |||||||||
| 62247 | CALL PrintDispatch | |||||||||
| 62250 | LD B,3 | Set the name character loop counter. | ||||||||
| Draw_Score_Entry_Name_Loop | 62252 | LD A,(HL) | Print the next character of the name. | |||||||
| 62253 | INC HL | |||||||||
| 62254 | CALL PrintDispatch | |||||||||
| 62257 | DJNZ Draw_Score_Entry_Name_Loop | Repeat for the three-character name. | ||||||||
| 62259 | PUSH DE | Save the screen position and advance the row for the score digits. | ||||||||
| 62260 | LD A,45 | |||||||||
| 62262 | ADD A,D | |||||||||
| 62263 | LD D,A | |||||||||
| 62264 | LD C,6 | |||||||||
| 62266 | CALL Print_BCD_Score | Print the score digits via Print_BCD_Score. | ||||||||
| 62269 | POP DE | Restore the position and advance the column for the next entry. | ||||||||
| 62270 | LD A,8 | |||||||||
| 62272 | ADD A,E | |||||||||
| 62273 | LD E,A | |||||||||
| 62274 | RET | Return. | ||||||||
|
This entry point is used by the routine at Display_High_Score_Screen.
Compact variant for the All Time Heroes table; uses a row stride of 4 and a column advance of 6 for tighter spacing.
|
||||||||||
| Draw_Score_Entry_Compact | 62275 | LD B,1 | Set the rank digit count and row stride. | |||||||
| 62277 | LD C,4 | |||||||||
| 62279 | PUSH HL | Stash the name pointer and screen position on the stack. | ||||||||
| 62280 | PUSH DE | |||||||||
| 62281 | LD HL,50435 | Call Print_BCD_Score_Suppress_Loop using 50435. | ||||||||
| 62284 | CALL Print_BCD_Score_Suppress_Loop | |||||||||
| 62287 | POP DE | Restore the screen position and name pointer from the stack. | ||||||||
| 62288 | POP HL | |||||||||
| 62289 | LD A,22 | Position the cursor and print the closing parenthesis character. | ||||||||
| 62291 | CALL PrintDispatch | |||||||||
| 62294 | LD A,D | |||||||||
| 62295 | ADD A,8 | |||||||||
| 62297 | CALL PrintDispatch | |||||||||
| 62300 | LD A,E | |||||||||
| 62301 | CALL PrintDispatch | |||||||||
| 62304 | LD A,41 | |||||||||
| 62306 | CALL PrintDispatch | |||||||||
| 62309 | LD A,22 | Position the cursor for the score entry name. | ||||||||
| 62311 | CALL PrintDispatch | |||||||||
| 62314 | LD A,D | |||||||||
| 62315 | ADD A,13 | |||||||||
| 62317 | CALL PrintDispatch | |||||||||
| 62320 | LD A,E | |||||||||
| 62321 | CALL PrintDispatch | |||||||||
| 62324 | LD B,3 | Set the name character loop counter. | ||||||||
| Draw_Score_Entry_Compact_Name_Loop | 62326 | LD A,(HL) | Print the next character of the name. | |||||||
| 62327 | INC HL | |||||||||
| 62328 | CALL PrintDispatch | |||||||||
| 62331 | DJNZ Draw_Score_Entry_Compact_Name_Loop | Repeat for the three-character name. | ||||||||
| 62333 | PUSH DE | Save the screen position and advance the row for the score digits. | ||||||||
| 62334 | LD A,31 | |||||||||
| 62336 | ADD A,D | |||||||||
| 62337 | LD D,A | |||||||||
| 62338 | LD C,4 | |||||||||
| 62340 | CALL Print_BCD_Score | Print the score digits via Print_BCD_Score. | ||||||||
| 62343 | POP DE | Restore the position and advance the column for the next entry. | ||||||||
| 62344 | LD A,6 | |||||||||
| 62346 | ADD A,E | |||||||||
| 62347 | LD E,A | |||||||||
| 62348 | RET | Return. | ||||||||
| Prev: 62168 | Up: Map | Next: 62349 |