Prev: 25034 Up: Map Next: 25160
25105: Award extra life
Called when the score reaches 1000. Or actually 100, because the score is held as divided-by-10. Add the extra life, buzz the border colour and burble a bit. Exits by jumping to the routine which draws the extra life on screen.
Used by the routine at start.
check_for_extra_life 25105 LD A,(_EXTRA_LIFE_AWARDED) Check if extra life has been awarded. You only get the one extra per game.
25108 OR A
25109 RET NZ
25110 LD HL,(_CURRENT_SCORE) If this goes greater than 100 then an extra life is awarded.
25113 LD BC,100
25116 SBC HL,BC
25118 RET C
25119 LD A,1 Set flag, no more extra lives
25121 LD (_EXTRA_LIFE_AWARDED),A
25124 LD A,(_LIVES_REMAINING) Add extra life
25127 INC A
25128 LD (_LIVES_REMAINING),A
25131 LD B,8 8 burbler cycles
This entry point is used by the routine at 25155.
check_for_extra_life_0 25133 LD A,(_PORT254_SHADOW) Pick up port 254 shadow
25136 ADD A,8 Roll the border colour and put the shadow back
25138 AND 56
25140 LD (_PORT254_SHADOW),A
25143 CALL sound_burbler Sound burbler
25146 DEFB 12,40,18,30,24,20,48,10 Extra life sound
25154 DEFB 0
25155 DJNZ check_for_extra_life_0 Sound burbler return point
25157 JP draw_lives_remaining Exit via the routine which draws the extra life
Prev: 25034 Up: Map Next: 25160