![]() |
Routines |
| Prev: A01B | Up: Map | Next: A046 |
|
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 | A034 | LD B,$04 | Set the message counter in B to 04. | |||||||
|
This entry point is used by the routine at GameComplete.
Print each message in turn.
|
||||||||||
| Poem_Loop | A036 | 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. | |||||||
| A037 | LD E,(HL) | |||||||||
| A038 | INC HL | |||||||||
| A039 | LD D,(HL) | |||||||||
| A03A | INC HL | |||||||||
| A03B | EX DE,HL | |||||||||
| A03C | PUSH BC | Stash the message counter on the stack. | ||||||||
| A03D | CALL PrintStringColour | Print the message. | ||||||||
| A040 | EXX | Switch to the shadow registers. | ||||||||
| A041 | INC DE | Move onto the next message. | ||||||||
| A042 | POP BC | Restore the message counter from the stack. | ||||||||
| A043 | DJNZ Poem_Loop | Decrease the message counter by one and loop back to Poem_Loop until all of the messages have been printed. | ||||||||
| A045 | RET | Return. | ||||||||
| Prev: A01B | Up: Map | Next: A046 |