Routines |
Prev: 47987 | Up: Map | Next: 48311 |
Used by the routine at 47987.
|
||||||||
Fetch the message string from *HL.
|
||||||||
Handler_BonusMessaging | 48278 | LD E,(HL) | E=*HL. | |||||
48279 | INC HL | Increment HL by one. | ||||||
48280 | LD D,(HL) | D=*HL. | ||||||
48281 | INC HL | Increment HL by one. | ||||||
48282 | LD (50058),HL | Write HL to *BonusMessaging. | ||||||
48285 | EX DE,HL | Exchange the DE register with the shadow HL register. | ||||||
This entry point is used by the routines at 46264, 47987, Handler_BittenByDog and Handler_HitByBike.
|
||||||||
Print_BonusMessaging | 48286 | LD DE,20672 | DE=20672 (screen buffer location). | |||||
48289 | LD A,0 | Write 0 to *50056. | ||||||
48291 | LD (50056),A | |||||||
48294 | CALL PrintString | Call PrintString. | ||||||
48297 | EX DE,HL | Switch the DE and HL registers back to normal. | ||||||
The messaging appears right at the bottom of the screen. This code blanks out the rest of the two lines to overwrite any existing messaging.
|
||||||||
Print_BonusMessaging_Blank | 48298 | LD B,8 | B=8 (eight lines in a character block). | |||||
48300 | PUSH HL | Remember where we are on the screen. | ||||||
Clearing the character block.
|
||||||||
Print_BonusMessaging_Loop | 48301 | LD (HL),0 | Write 0 to *HL. | |||||
48303 | INC H | Move down one line. | ||||||
48304 | DJNZ Print_BonusMessaging_Loop | Decrease counter by one and loop back to Print_BonusMessaging_Loop until counter is zero. | ||||||
48306 | POP HL | Restore the screen location where we started for this pass (the top of this character block). | ||||||
48307 | INC L | Move right one character block. | ||||||
Keep going until the end of the screen is reached.
|
||||||||
48308 | JR NZ,Print_BonusMessaging_Blank | Jump to Print_BonusMessaging_Blank if L is not zero. | ||||||
48310 | RET | Return. |
Prev: 47987 | Up: Map | Next: 48311 |