![]() |
Routines |
| Prev: 40987 | Up: Map | Next: 41030 |
|
Used by the routine at Poem_1_Reference.
Prints a number of messages on the screen. Each message is held as an X position, a Y position, an attribute byte and the text (see Poem_1_Copy), and is printed by PrintStringColour.
|
||||||||||
| Poem_Start | 41012 | LD B,4 | Set the message counter in B to 4. | |||||||
|
This entry point is used by the routine at GameComplete.
Print each message in turn.
|
||||||||||
| Poem_Loop | 41014 | EX DE,HL | Fetch the X position into L and the Y position into H of the message, leaving DE pointing at the attribute byte. | |||||||
| 41015 | LD E,(HL) | |||||||||
| 41016 | INC HL | |||||||||
| 41017 | LD D,(HL) | |||||||||
| 41018 | INC HL | |||||||||
| 41019 | EX DE,HL | |||||||||
| 41020 | PUSH BC | Stash the message counter on the stack. | ||||||||
| 41021 | CALL PrintStringColour | Print the message. | ||||||||
| 41024 | EXX | Switch to the shadow registers. | ||||||||
| 41025 | INC DE | Move onto the next message. | ||||||||
| 41026 | POP BC | Restore the message counter from the stack. | ||||||||
| 41027 | DJNZ Poem_Loop | Decrease the message counter by one and loop back to Poem_Loop until all of the messages have been printed. | ||||||||
| 41029 | RET | Return. | ||||||||
| Prev: 40987 | Up: Map | Next: 41030 |