![]() |
Routines |
| Prev: 35425 | Up: Map | Next: 35633 |
|
Used by the routine at Handler_SubGame.
|
|||||
|
|||||
| HighScoreTable | 35460 | LD B,4 | B=4. | ||
| 35462 | LD IX,36360 | IX=Messaging_HighScores. | |||
| HighScoreTable_0 | 35466 | LD HL,(61426) | HL=*Pointer_ActivePlayer. | ||
| 35469 | LD DE,12 | HL+=0012. | |||
| 35472 | ADD HL,DE | ||||
| 35473 | LD A,(HL) | Jump to HighScoreTable_2 if *HL is higher than *IX+10. | |||
| 35474 | CP (IX+10) | ||||
| 35477 | JR NC,HighScoreTable_2 | ||||
| HighScoreTable_1 | 35479 | LD DE,11 | IX+=0011. | ||
| 35482 | ADD IX,DE | ||||
| 35484 | DJNZ HighScoreTable_0 | Decrease counter by one and loop back to HighScoreTable_0 until counter is zero. | |||
| 35486 | LD HL,61435 | HL=GameState_2. | |||
| 35489 | RES 6,(HL) | Reset bit 6 of *HL. | |||
| 35491 | RET | Return. | |||
| HighScoreTable_2 | 35492 | JR NZ,HighScoreTable_3 | Jump to HighScoreTable_3 if is not zero. | ||
| 35494 | DEC HL | Decrease HL by one. | |||
| 35495 | LD A,(HL) | Jump to HighScoreTable_1 if *HL is lower than *IX+9. | |||
| 35496 | CP (IX+9) | ||||
| 35499 | JR C,HighScoreTable_1 | ||||
| 35501 | JR NZ,HighScoreTable_3 | Jump to HighScoreTable_3 if *HL is not equal to *IX+9. | |||
| 35503 | DEC HL | Decrease HL by one. | |||
| 35504 | LD A,(HL) | Jump to HighScoreTable_1 if *HL is lower than *IX+8. | |||
| 35505 | CP (IX+8) | ||||
| 35508 | JR C,HighScoreTable_1 | ||||
| 35510 | JR Z,HighScoreTable_1 | Jump to HighScoreTable_1 if *HL is equal to *IX+8. | |||
| HighScoreTable_3 | 35512 | DEC B | Decrease B by one. | ||
| 35513 | JR Z,HighScoreTable_5 | Jump to HighScoreTable_5 if B is zero. | |||
| 35515 | LD A,0 | A=0. | |||
| HighScoreTable_4 | 35517 | ADD A,11 | A+=11. | ||
| 35519 | DJNZ HighScoreTable_4 | Decrease counter by one and loop back to HighScoreTable_4 until counter is zero. | |||
| 35521 | LD C,A | C=A. | |||
| 35522 | LD HL,36392 | HL=36392. | |||
| 35525 | LD DE,36403 | DE=36403. | |||
| 35528 | LDDR | LDDR. | |||
| HighScoreTable_5 | 35530 | PUSH IX | DE=IX (using the stack). | ||
| 35532 | POP DE | ||||
| 35533 | LD HL,(61426) | HL=*Pointer_ActivePlayer. | |||
| 35536 | LD BC,8 | BC=0008. | |||
| 35539 | LDIR | LDIR. | |||
| 35541 | INC HL | Increment HL by two. | |||
| 35542 | INC HL | ||||
| 35543 | LD BC,3 | BC=0003. | |||
| 35546 | LDIR | LDIR. | |||
| 35548 | LD HL,61435 | HL=GameState_2. | |||
| 35551 | SET 6,(HL) | Set bit 6 of *HL. | |||
|
This entry point is used by the routine at Handler_SubGame.
|
|||||
| HighScoreTable_6 | 35553 | CALL ClearMenuScreenAreas | Call ClearMenuScreenAreas. | ||
|
Prints "FAMOUS TRASHMEN".
|
|||||
| 35556 | LD HL,36345 | HL=Messaging_FamousTrashmen. | |||
| 35559 | LD DE,20553 | DE=20553 (screen buffer location). | |||
| 35562 | CALL Print_String | Call Print_String. | |||
| 35565 | LD HL,20585 | HL=20585 (screen buffer location). | |||
| 35568 | LD B,15 | Underline the header with 15 character blocks of 255. | |||
| 35570 | CALL Underline | ||||
| 35573 | LD B,4 | B=4. | |||
|
Cycle through each high score and print the details.
|
|||||
| 35575 | LD HL,36360 | HL=Messaging_HighScores. | |||
| 35578 | LD DE,20617 | DE=20617 (screen buffer location). | |||
| PrintHighScore_Loop | 35581 | PUSH BC | Stash BC, HL and DE on the stack. | ||
| 35582 | PUSH HL | ||||
| 35583 | PUSH DE | ||||
| 35584 | CALL Print_String | Call Print_String. | |||
| 35587 | INC DE | Increment DE by two. | |||
| 35588 | INC DE | ||||
| 35589 | INC HL | Increment HL by two. | |||
| 35590 | INC HL | ||||
| 35591 | LD BC,515 | BC=0515. | |||
| 35594 | CALL PrintNumbers | Call PrintNumbers. | |||
| 35597 | POP DE | Restore DE from the stack. | |||
| 35598 | LD HL,32 | DE+=0032. | |||
| 35601 | ADD HL,DE | ||||
| 35602 | EX DE,HL | ||||
| 35603 | POP HL | Restore HL from the stack. | |||
| 35604 | LD BC,11 | HL+=0011. | |||
| 35607 | ADD HL,BC | ||||
| 35608 | POP BC | Restore BC from the stack. | |||
| 35609 | DJNZ PrintHighScore_Loop | Decrease counter by one and loop back to PrintHighScore_Loop until counter is zero. | |||
| 35611 | LD B,100 | Call 32853 with a count of 100. | |||
| 35613 | CALL 32853 | ||||
| 35616 | CALL PauseCheck | Call PauseCheck. | |||
| HighScoreTable_7 | 35619 | LD B,1 | Call 32853 with a count of 1. | ||
| 35621 | CALL 32853 | ||||
| 35624 | CALL Handler_Controls | Call Handler_Controls. | |||
| 35627 | LD A,E | Jump to HighScoreTable_7 if E is not equal to 32. | |||
| 35628 | CP 32 | ||||
| 35630 | JR NZ,HighScoreTable_7 | ||||
| 35632 | RET | Return. | |||
| Prev: 35425 | Up: Map | Next: 35633 |