Prev: 51978 Up: Map Next: 52032
52002: Add Points To Score
Used by the routines at GameEntryPoint and 46884.
Input
HL Pointer to address of points to add to score
An example of HL is Time_Remaining which would add the time remaining to the score when the level is complete.
AddPointsToScore 52002 LD IX,52118 IX=ActivePlayer_Score.
Handle the "tens" units.
52006 LD A,(IX+0) A=*IX+0.
52009 ADD A,(HL) Add *HL to score byte #1 with BCD conversion.
52010 DAA
52011 LD (IX+0),A Write A to *IX+0.
Move onto the next score digit.
52014 INC HL Increment HL by one.
Handle the "thousands" units.
52015 LD A,(IX+1) A=*IX+1.
52018 ADC A,(HL) Add (with carry) *HL to score byte #2 with BCD conversion.
52019 DAA
Handle the "hundreds of thousands" units.
52020 LD (IX+1),A Write A to *IX+1.
The final digit always has a base of 0.
52023 LD A,0 Add (with carry) 0 to *IX+2 to score byte #3.
52025 ADC A,(IX+2)
52028 LD (IX+2),A Write A to *IX+2.
52031 RET Return.
Prev: 51978 Up: Map Next: 52032