![]() |
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 |