Prev: 40987 Up: Map Next: 41030
41012: 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 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