Routines |
Prev: 9F91 | Up: Map | Next: A18C |
Used by the routine at HandlerPoems.
|
||||||||||||||||||||||||
DisplayPoem | A01B | LD A,(IX+$0B) | Fetch the current number of amulet pieces which need to be collected. | |||||||||||||||||||||
Convert "number of pieces to collect" into "number of pieces collected".
|
||||||||||||||||||||||||
A01E | LD BC,$0400 | BC=0400 counter = 04 (total number of pieces) and initialise C to 00. | ||||||||||||||||||||||
Poem_CollectCollected_Loop | A021 | 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. | |||||||||||||||||||||
A022 | JR NC,Poem_CollectCollected_Skip | |||||||||||||||||||||||
A024 | INC C | Increment C by one. | ||||||||||||||||||||||
Poem_CollectCollected_Skip | A025 | DJNZ Poem_CollectCollected_Loop | Decrease counter by one and loop back to Poem_CollectCollected_Loop until counter is zero. | |||||||||||||||||||||
A027 | LD A,C | A=C (the number of amulet pieces collected). | ||||||||||||||||||||||
Check if poem "1" should be displayed.
|
||||||||||||||||||||||||
A028 | DEC A | Decrease A by one and jump to Poem_1_Reference if A is now zero. | ||||||||||||||||||||||
A029 | JR Z,Poem_1_Reference | |||||||||||||||||||||||
Check if poem "2" should be displayed.
|
||||||||||||||||||||||||
A02B | DEC A | Decrease A by one and jump to Poem_2_Reference if A is now zero. | ||||||||||||||||||||||
A02C | JR Z,Poem_2_Reference | |||||||||||||||||||||||
Check if poem "3" should be displayed.
|
||||||||||||||||||||||||
A02E | DEC A | Decrease A by one and jump to Poem_3_Reference if A is now zero. | ||||||||||||||||||||||
A02F | JR Z,Poem_3_Reference | |||||||||||||||||||||||
Handles pointing to poem "4".
|
||||||||||||||||||||||||
A031 | LD DE,$A13B | DE=Poem_4_Copy. | ||||||||||||||||||||||
Each poem is four lines of prose.
|
||||||||||||||||||||||||
Poem_Start | A034 | LD B,$04 | B=04. | |||||||||||||||||||||
This entry point is used by the routine at GameComplete.
|
||||||||||||||||||||||||
Poem_Loop | A036 | EX DE,HL | ||||||||||||||||||||||
A037 | LD E,(HL) | |||||||||||||||||||||||
A038 | INC HL | |||||||||||||||||||||||
A039 | LD D,(HL) | |||||||||||||||||||||||
A03A | INC HL | |||||||||||||||||||||||
A03B | EX DE,HL | |||||||||||||||||||||||
A03C | PUSH BC | Stash BC on the stack. | ||||||||||||||||||||||
A03D | CALL PrintStringColour | Call PrintStringColour. | ||||||||||||||||||||||
A040 | EXX | Switch to the shadow registers. | ||||||||||||||||||||||
A041 | INC DE | Increment DE by one. | ||||||||||||||||||||||
A042 | POP BC | Restore BC from the stack. | ||||||||||||||||||||||
A043 | DJNZ Poem_Loop | Decrease counter by one and loop back to Poem_Loop until counter is zero. | ||||||||||||||||||||||
A045 | RET | Return. | ||||||||||||||||||||||
Handles pointing to poem "1".
|
||||||||||||||||||||||||
Poem_1_Reference | A046 | LD DE,$A055 | DE=Poem_1_Copy. | |||||||||||||||||||||
A049 | JR Poem_Start | Jump to Poem_Start. | ||||||||||||||||||||||
Handles pointing to poem "2".
|
||||||||||||||||||||||||
Poem_2_Reference | A04B | LD DE,$A0A7 | DE=Poem_2_Copy. | |||||||||||||||||||||
A04E | JR Poem_Start | Jump to Poem_Start. | ||||||||||||||||||||||
Handles pointing to poem "3".
|
||||||||||||||||||||||||
Poem_3_Reference | A050 | LD DE,$A0F4 | DE=Poem_3_Copy. | |||||||||||||||||||||
A053 | JR Poem_Start | Jump to Poem_Start. | ||||||||||||||||||||||
Poem 1.
|
||||||||||||||||||||||||
Poem_1_Copy | A055 | DEFB $20,$80 | X / Y position. | |||||||||||||||||||||
A057 | DEFB $47 | Attribute. | ||||||||||||||||||||||
A058 | DEFM "ONE PIECE IS ALL THAT YO","U"+$80 | "ONE PIECE IS ALL THAT YOU". | ||||||||||||||||||||||
A071 | DEFB $58,$90 | X / Y position. | ||||||||||||||||||||||
A073 | DEFB $47 | Attribute. | ||||||||||||||||||||||
A074 | DEFM "HAVE FOUN","D"+$80 | "HAVE FOUND". | ||||||||||||||||||||||
A07E | DEFB $28,$A0 | X / Y position. | ||||||||||||||||||||||
A080 | DEFB $45 | Attribute. | ||||||||||||||||||||||
A081 | DEFM "COLLECT THREE MORE AN","D"+$80 | "COLLECT THREE MORE AND". | ||||||||||||||||||||||
A097 | DEFB $48,$B0 | X / Y position. | ||||||||||||||||||||||
A099 | DEFB $45 | Attribute. | ||||||||||||||||||||||
A09A | DEFM "OUTWARD BOUN","D"+$80 | "OUTWARD BOUND". | ||||||||||||||||||||||
Poem 2.
|
||||||||||||||||||||||||
Poem_2_Copy | A0A7 | DEFB $18,$80 | X / Y position. | |||||||||||||||||||||
A0A9 | DEFB $47 | Attribute. | ||||||||||||||||||||||
A0AA | DEFM "TWO PIECES FOUND ARE YOUR","S"+$80 | "TWO PIECES FOUND ARE YOURS". | ||||||||||||||||||||||
A0C4 | DEFB $60,$90 | X / Y position. | ||||||||||||||||||||||
A0C6 | DEFB $47 | Attribute. | ||||||||||||||||||||||
A0C7 | DEFM "TO KEE","P"+$80 | "TO KEEP". | ||||||||||||||||||||||
A0CE | DEFB $20,$A0 | X / Y position. | ||||||||||||||||||||||
A0D0 | DEFB $45 | Attribute. | ||||||||||||||||||||||
A0D1 | DEFM "THIS SCORE AGAIN IS WHA","T"+$80 | "THIS SCORE AGAIN IS WHAT". | ||||||||||||||||||||||
A0E9 | DEFB $60,$B0 | X / Y position. | ||||||||||||||||||||||
A0EB | DEFB $45 | Attribute. | ||||||||||||||||||||||
A0EC | DEFM "YOU SEE","K"+$80 | "YOU SEEK". | ||||||||||||||||||||||
Poem 3.
|
||||||||||||||||||||||||
Poem_3_Copy | A0F4 | DEFB $38,$80 | X / Y position. | |||||||||||||||||||||
A0F6 | DEFB $47 | Attribute. | ||||||||||||||||||||||
A0F7 | DEFM "ONE PIECE MORE MUS","T"+$80 | "ONE PIECE MORE MUST". | ||||||||||||||||||||||
A10A | DEFB $60,$90 | X / Y position. | ||||||||||||||||||||||
A10C | DEFB $47 | Attribute. | ||||||||||||||||||||||
A10D | DEFM "YOU AMAS","S"+$80 | "YOU AMASS". | ||||||||||||||||||||||
A116 | DEFB $28,$A0 | X / Y position. | ||||||||||||||||||||||
A118 | DEFB $45 | Attribute. | ||||||||||||||||||||||
A119 | DEFM "AND FIND THE KEEPER YO","U"+$80 | "AND FIND THE KEEPER YOU". | ||||||||||||||||||||||
A130 | DEFB $60,$B0 | X / Y position. | ||||||||||||||||||||||
A132 | DEFB $45 | Attribute. | ||||||||||||||||||||||
A133 | DEFM "MAY PAS","S"+$80 | "MAY PASS". | ||||||||||||||||||||||
Poem 4.
|
||||||||||||||||||||||||
Poem_4_Copy | A13B | DEFB $18,$80 | X / Y position. | |||||||||||||||||||||
A13D | DEFB $47 | Attribute. | ||||||||||||||||||||||
A13E | DEFM "FOUR PIECES FOUND HAVE NO","W"+$80 | "FOUR PIECES FOUND HAVE NOW". | ||||||||||||||||||||||
A158 | DEFB $58,$90 | X / Y position. | ||||||||||||||||||||||
A15A | DEFB $47 | Attribute. | ||||||||||||||||||||||
A15B | DEFM "MADE WHOL","E"+$80 | "MADE WHOLE". | ||||||||||||||||||||||
A165 | DEFB $20,$A0 | X / Y position. | ||||||||||||||||||||||
A167 | DEFB $45 | Attribute. | ||||||||||||||||||||||
A168 | DEFM "TO FIND THE CAVE MUST B","E"+$80 | "TO FIND THE CAVE MUST BE". | ||||||||||||||||||||||
A180 | DEFB $58,$B0 | X / Y position. | ||||||||||||||||||||||
A182 | DEFB $45 | Attribute. | ||||||||||||||||||||||
A183 | DEFM "YOUR GOA","L"+$80 | "YOUR GOAL". |
Prev: 9F91 | Up: Map | Next: A18C |