Prev: A01B Up: Map Next: A046
A034: Print Messages
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.
Input
B The number of messages to print
DE The address of the first message
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