![]() |
Routines |
| Prev: 52654 | Up: Map | Next: 52754 |
|
Used by the routine at 51943.
|
||||
| Scoring | 52675 | LD IX,53605 | Calls Scoring_Prep three times with IX containing; | |
| 52679 | CALL Scoring_Prep | |||
| 52682 | LD IX,53619 | |||
| 52686 | CALL Scoring_Prep | |||
| 52689 | LD IX,53633 | |||
| 52693 | CALL Scoring_Prep | |||
| 52696 | CALL Draw_Score | Call Draw_Score. | ||
| 52699 | RET | Return. | ||
|
Passes the higher and lower score values to Scoring_Apply for the current door.
|
||||
| Scoring_Prep | 52700 | LD HL,52615 | References Scoredigit05. | |
| 52703 | LD B,(IX+6) | Retrieves IX+$06, stores it in B then reset it to zero. | ||
| 52706 | LD (IX+6),0 | |||
| 52710 | CALL Scoring_Apply | Call Scoring_Apply. | ||
| 52713 | LD HL,52616 | References Scoredigit04. | ||
| 52716 | LD B,(IX+7) | Retrieves IX+$07, stores it in B then reset it to zero. | ||
| 52719 | LD (IX+7),0 | |||
| 52723 | CALL Scoring_Apply | Call Scoring_Apply. | ||
| 52726 | RET | Return. | ||
|
Applies the door scores into the player score.
|
||||
| Scoring_Apply | 52727 | LD A,(HL) | Pass the current score digit to Scoring_Base_10 and overwrite the digit with the result. | |
| 52728 | CALL Scoring_Base_10 | |||
| 52731 | LD (HL),A | |||
| 52732 | LD E,5 | Sets a counter to 5 (5 more digits in the score). | ||
| Scoring_Apply_Loop | 52734 | INC HL | Move onto the next scoring digit. | |
| 52735 | LD A,(HL) | Pass the current score digit to Scoring_Base_10 and overwrite the digit with the result. | ||
| 52736 | CALL Scoring_Base_10 | |||
| 52739 | LD (HL),A | |||
| 52740 | DEC E | Loop back to Scoring_Apply_Loop until the counter is zero (and all scoring digits are accounted for). | ||
| 52741 | JR NZ,Scoring_Apply_Loop | |||
| 52743 | RET | Return. | ||
|
Ensures the current scoring digit remains 0-9 (if $0A then it's reset and the carry digit is forwarded on).
|
||||
| Scoring_Base_10 | 52744 | ADD A,B | Adds current score digit with passed score. | |
| 52745 | LD B,0 | Reset passed score to zero. | ||
| 52747 | CP 10 | Return if result is less than $0A (base 10). | ||
| 52749 | RET C | |||
| 52750 | SUB 10 | Subtract $0A to keep this digit in base 10 (e.g. "11" becomes "1", "12" becomes "2", and so on). | ||
| 52752 | INC B | Add one onto the passed score (which carries onto the next digit as it goes lowest to highest) and return. | ||
| 52753 | RET | |||
| Prev: 52654 | Up: Map | Next: 52754 |