![]() |
Routines |
| Prev: AF36 | Up: Map | Next: B00B |
|
|
||||
| Populate_Score_Buffer | AFDA | LD DE,$B024 | Point to Score_Buffer. | |
| Score_Buffer_Loop | AFDD | LD A,(HL) | Stores the contents of HL in the accumulator. | |
| AFDE | RRCA | Move bits 4 and 5 into bits 0 and 1. | ||
| AFDF | RRCA | |||
| AFE0 | RRCA | |||
| AFE1 | RRCA | |||
| AFE2 | CALL Convert_ASCII | Call Convert_ASCII. | ||
| AFE5 | LD A,(HL) | Stores the contents of HL in the accumulator. | ||
| AFE6 | CALL Convert_ASCII | Call Convert_ASCII. | ||
| AFE9 | DEC HL | Decrease HL by one. | ||
| AFEA | DJNZ Score_Buffer_Loop | Decrease counter by one and loop back to Score_Buffer_Loop until counter is zero. | ||
| AFEC | RET | Return. | ||
|
Writes "00" to the end of the score.
|
||||
| Write_00 | AFED | LD A,$30 | A="0" (ASCII zero for display). | |
| AFEF | LD (DE),A | Write "0" to DE, increment DE by 1, write "0" to DE, increment DE by 1. | ||
| AFF0 | INC DE | |||
| AFF1 | LD (DE),A | |||
| AFF2 | INC DE | |||
|
This entry point is used by the routines at Game_Over and Start_1UP_Game.
|
||||
| Zero_To_Space | AFF3 | XOR A | Writes 00 to DE (used as a terminator). | |
| AFF4 | LD (DE),A | |||
| AFF5 | LD HL,$B024 | Point to Score_Buffer. | ||
| AFF8 | LD B,$07 | Set a counter of 07. | ||
| Zero | AFFA | LD A,(HL) | Fetch the score character. | |
| AFFB | CP $30 | If it is not ASCII "0" then return. | ||
| AFFD | RET NZ | |||
| AFFE | LD (HL),$20 | Overwrite the character with 20 (ASCII space for display). | ||
| B000 | INC HL | Move onto next character. | ||
| Zero_Loop | B001 | DJNZ Zero | Decrease counter by one and loop back to Zero until counter is zero. | |
| B003 | RET | Return. | ||
|
Convert a single number into ASCII ready for printing to the screen.
|
||||
| Convert_ASCII | B004 | AND $0F | Store the ASCII representation of the number at DE (it adds ASCII "0") so for example 1 ends up being 1 + 30 = 31 (e.g. "1" in ASCII). | |
| B006 | ADD A,$30 | |||
| B008 | LD (DE),A | |||
| B009 | INC DE | Then increase DE by one for the next digit. | ||
| B00A | RET | Return. | ||
| Prev: AF36 | Up: Map | Next: B00B |