Prev: 40849 Up: Map Next: 41356
40987: Display Poem
Used by the routine at HandlerPoems.
Input
IX Actor Entity
DisplayPoem 40987 LD A,(IX+11) Fetch the current number of amulet pieces which need to be collected.
Convert "number of pieces to collect" into "number of pieces collected".
40990 LD BC,1024 BC=1024 counter = 4 (total number of pieces) and initialise C to 0.
Poem_CollectCollected_Loop 40993 RRCA The number of amulet pieces which need to be collected is held in bits, so rotate A and if there are no bits to carry over then jump to Poem_CollectCollected_Skip.
40994 JR NC,Poem_CollectCollected_Skip
40996 INC C Increment C by one.
Poem_CollectCollected_Skip 40997 DJNZ Poem_CollectCollected_Loop Decrease counter by one and loop back to Poem_CollectCollected_Loop until counter is zero.
40999 LD A,C A=C (the number of amulet pieces collected).
Check if poem "1" should be displayed.
41000 DEC A Decrease A by one and jump to Poem_1_Reference if A is now zero.
41001 JR Z,Poem_1_Reference
Check if poem "2" should be displayed.
41003 DEC A Decrease A by one and jump to Poem_2_Reference if A is now zero.
41004 JR Z,Poem_2_Reference
Check if poem "3" should be displayed.
41006 DEC A Decrease A by one and jump to Poem_3_Reference if A is now zero.
41007 JR Z,Poem_3_Reference
Handles pointing to poem "4".
41009 LD DE,41275 DE=Poem_4_Copy.
Each poem is four lines of prose.
Poem_Start 41012 LD B,4 B=4.
This entry point is used by the routine at GameComplete.
Poem_Loop 41014 EX DE,HL
41015 LD E,(HL)
41016 INC HL
41017 LD D,(HL)
41018 INC HL
41019 EX DE,HL
41020 PUSH BC Stash BC on the stack.
41021 CALL PrintStringColour Call PrintStringColour.
41024 EXX Switch to the shadow registers.
41025 INC DE Increment DE by one.
41026 POP BC Restore BC from the stack.
41027 DJNZ Poem_Loop Decrease counter by one and loop back to Poem_Loop until counter is zero.
41029 RET Return.
Handles pointing to poem "1".
Poem_1_Reference 41030 LD DE,41045 DE=Poem_1_Copy.
41033 JR Poem_Start Jump to Poem_Start.
Handles pointing to poem "2".
Poem_2_Reference 41035 LD DE,41127 DE=Poem_2_Copy.
41038 JR Poem_Start Jump to Poem_Start.
Handles pointing to poem "3".
Poem_3_Reference 41040 LD DE,41204 DE=Poem_3_Copy.
41043 JR Poem_Start Jump to Poem_Start.
Poem 1.
X Position Y Position Attribute Text
4 16 71 ONE PIECE IS ALL THAT YOU
11 18 71 HAVE FOUND
5 20 69 COLLECT THREE MORE AND
9 22 69 OUTWARD BOUND
Poem_1_Copy 41045 DEFB 32,128 X / Y position.
41047 DEFB 71 Attribute.
41048 DEFM "ONE PIECE IS ALL THAT YO","U"+128 "ONE PIECE IS ALL THAT YOU".
41073 DEFB 88,144 X / Y position.
41075 DEFB 71 Attribute.
41076 DEFM "HAVE FOUN","D"+128 "HAVE FOUND".
41086 DEFB 40,160 X / Y position.
41088 DEFB 69 Attribute.
41089 DEFM "COLLECT THREE MORE AN","D"+128 "COLLECT THREE MORE AND".
41111 DEFB 72,176 X / Y position.
41113 DEFB 69 Attribute.
41114 DEFM "OUTWARD BOUN","D"+128 "OUTWARD BOUND".
Poem 2.
X Position Y Position Attribute Text
3 16 71 TWO PIECES FOUND ARE YOURS
12 18 71 TO KEEP
4 20 69 THIS SCORE AGAIN IS WHAT
12 22 69 YOU SEEK
Poem_2_Copy 41127 DEFB 24,128 X / Y position.
41129 DEFB 71 Attribute.
41130 DEFM "TWO PIECES FOUND ARE YOUR","S"+128 "TWO PIECES FOUND ARE YOURS".
41156 DEFB 96,144 X / Y position.
41158 DEFB 71 Attribute.
41159 DEFM "TO KEE","P"+128 "TO KEEP".
41166 DEFB 32,160 X / Y position.
41168 DEFB 69 Attribute.
41169 DEFM "THIS SCORE AGAIN IS WHA","T"+128 "THIS SCORE AGAIN IS WHAT".
41193 DEFB 96,176 X / Y position.
41195 DEFB 69 Attribute.
41196 DEFM "YOU SEE","K"+128 "YOU SEEK".
Poem 3.
X Position Y Position Attribute Text
7 16 71 ONE PIECE MORE MUST
12 18 71 YOU AMASS
5 20 69 AND FIND THE KEEPER YOU
12 22 69 MAY PASS
Poem_3_Copy 41204 DEFB 56,128 X / Y position.
41206 DEFB 71 Attribute.
41207 DEFM "ONE PIECE MORE MUS","T"+128 "ONE PIECE MORE MUST".
41226 DEFB 96,144 X / Y position.
41228 DEFB 71 Attribute.
41229 DEFM "YOU AMAS","S"+128 "YOU AMASS".
41238 DEFB 40,160 X / Y position.
41240 DEFB 69 Attribute.
41241 DEFM "AND FIND THE KEEPER YO","U"+128 "AND FIND THE KEEPER YOU".
41264 DEFB 96,176 X / Y position.
41266 DEFB 69 Attribute.
41267 DEFM "MAY PAS","S"+128 "MAY PASS".
Poem 4.
X Position Y Position Attribute Text
3 16 71 FOUR PIECES FOUND HAVE NOW
11 18 71 MADE WHOLE
4 20 69 TO FIND THE CAVE MUST BE
11 22 69 YOUR GOAL
Poem_4_Copy 41275 DEFB 24,128 X / Y position.
41277 DEFB 71 Attribute.
41278 DEFM "FOUR PIECES FOUND HAVE NO","W"+128 "FOUR PIECES FOUND HAVE NOW".
41304 DEFB 88,144 X / Y position.
41306 DEFB 71 Attribute.
41307 DEFM "MADE WHOL","E"+128 "MADE WHOLE".
41317 DEFB 32,160 X / Y position.
41319 DEFB 69 Attribute.
41320 DEFM "TO FIND THE CAVE MUST B","E"+128 "TO FIND THE CAVE MUST BE".
41344 DEFB 88,176 X / Y position.
41346 DEFB 69 Attribute.
41347 DEFM "YOUR GOA","L"+128 "YOUR GOAL".
Prev: 40849 Up: Map Next: 41356