Prev: 60729 Up: Map Next: 60937
60754: Display Playing Instructions
Used by the routine at InitialiseGame.
DisplayInstructions 60754 EXX Switch to the shadow registers.
60755 LD DE,16384 DE'=16384 (screen buffer location).
60758 EXX Switch back to the normal registers.
Prints the "HOW TO PLAY WHEELIE" banner.
60759 LD HL,61044 HL=Messaging_HowToPlay.
60762 LD B,32 B=32 (length of banner).
60764 CALL Print_Loop Call Print_Loop.
Prints the "PRESS ANY KEY FOR NEXT PAGE" footer messaging.
60767 LD A,159 A=159 (INK: WHITE, PAPER: MAGENTA FLASH: ON).
60769 LD HL,61076 HL=Messaging_PressAnyKey.
60772 CALL PrintFooterColourString Call PrintFooterColourString.
Display the instructions for page one.
instruction-01
Set the attributes.
60775 LD HL,22592 HL=22592 (attribute buffer location).
60778 LD B,160 B=160 (counter).
Instructions_Page1_CyanLoop 60780 LD (HL),40 Write 40 (INK: BLACK, PAPER: CYAN ) to *HL.
60782 INC HL Increment HL by one.
60783 DJNZ Instructions_Page1_CyanLoop Decrease counter by one and loop back to Instructions_Page1_CyanLoop until counter is zero.
60785 LD B,192 B=192 (counter).
Instructions_Page1_YellowLoop 60787 LD (HL),48 Write 48 (INK: BLACK, PAPER: YELLOW ) to *HL.
60789 INC HL Increment HL by one.
60790 DJNZ Instructions_Page1_YellowLoop Decrease counter by one and loop back to Instructions_Page1_YellowLoop until counter is zero.
60792 LD B,224 B=224 (counter).
Instructions_Page1_GreenLoop 60794 LD (HL),32 Write 32 (INK: BLACK, PAPER: GREEN ) to *HL.
60796 INC HL Increment HL by one.
60797 DJNZ Instructions_Page1_GreenLoop Decrease counter by one and loop back to Instructions_Page1_GreenLoop until counter is zero.
60799 LD B,96 B=96 (counter).
Instructions_Page1_Cyan2Loop 60801 LD (HL),40 Write 40 (INK: BLACK, PAPER: CYAN ) to *HL.
60803 INC HL Increment HL by one.
60804 DJNZ Instructions_Page1_Cyan2Loop Decrease counter by one and loop back to Instructions_Page1_Cyan2Loop until counter is zero.
Now display the text for page one on the screen.
60806 LD HL,61440 HL=Messaging_InstructionsPage1.
60809 CALL PrintInstructions Call PrintInstructions.
60812 PUSH HL Store the current position in the instructions for the next page later.
60813 CALL PauseLong Debounce using PauseLong.
Instructions_InputLoop_Page1 60816 CALL KeyboardInput Call KeyboardInput.
60819 AND A Jump to Instructions_InputLoop_Page1 until any key is pressed.
60820 JR Z,Instructions_InputLoop_Page1
Display the instructions for page two.
instruction-02
Set the attributes.
60822 LD HL,22592 HL=22592 (attribute buffer location).
60825 LD (HL),15 Write 15 (INK: WHITE, PAPER: BLUE ) to *HL.
60827 LD DE,22593 DE=22593 (attribute buffer location).
60830 LD BC,671 BC=671.
60833 LDIR Copy INK: WHITE, PAPER: BLUE to the screen buffer 671 times.
Now display the text for page two on the screen.
60835 POP HL Restore the position of the instructions pointer from the stack.
60836 CALL PrintInstructions Call PrintInstructions.
60839 PUSH HL Store the current position in the instructions for the next page later.
60840 CALL PauseLong Debounce using PauseLong.
Instructions_InputLoop_Page2 60843 CALL KeyboardInput Call KeyboardInput.
60846 AND A Jump to Instructions_InputLoop_Page2 until any key is pressed.
60847 JR Z,Instructions_InputLoop_Page2
Display the instructions for page three.
instruction-03
Set the attributes.
60849 LD HL,22880 HL=22880 (attribute buffer location).
60852 LD B,128 B=128 (counter).
Instructions_Page3_CyanLoop 60854 LD (HL),40 Write 40 (INK: BLACK, PAPER: CYAN ) to *HL.
60856 INC HL Increment HL by one.
60857 DJNZ Instructions_Page3_CyanLoop Decrease counter by one and loop back to Instructions_Page3_CyanLoop until counter is zero.
60859 LD B,160 B=160 (counter).
Instructions_Page3_GreenLoop 60861 LD (HL),32 Write 32 (INK: BLACK, PAPER: GREEN ) to *HL.
60863 INC HL Increment HL by one.
60864 DJNZ Instructions_Page3_GreenLoop Decrease counter by one and loop back to Instructions_Page3_GreenLoop until counter is zero.
60866 LD B,96 B=96 (counter).
Instructions_Page3_YellowLoop 60868 LD (HL),48 Write 48 (INK: BLACK, PAPER: YELLOW ) to *HL.
60870 INC HL Increment HL by one.
60871 DJNZ Instructions_Page3_YellowLoop Decrease counter by one and loop back to Instructions_Page3_YellowLoop until counter is zero.
Colour the "keys" guide.
60873 LD HL,22624 HL=22624 (attribute buffer location).
60876 LD DE,55 DE=0055.
60879 LD C,4 C=4 (counter; rows of "keys").
HighlightKeys_RowLoop 60881 LD B,9 B=9 (counter; nine columns to colour).
HighlightKeys_LineLoop 60883 LD (HL),27 Write 27 (INK: MAGENTA, PAPER: MAGENTA ) to *HL.
60885 INC HL Increment HL by one.
60886 DJNZ HighlightKeys_LineLoop Decrease counter by one and loop back to HighlightKeys_LineLoop until counter is zero.
60888 ADD HL,DE Add DE to HL to move us down one whole row (32) and back to the beginning of where we need to colour in (32-9=23 ~ 32+23=55).
60889 DEC C Decrease C by one.
60890 JR NZ,HighlightKeys_RowLoop Jump to HighlightKeys_RowLoop until C is zero.
Fill in the gap on the bottom row.
60892 LD L,36 Move the screen buffer pointer.
60894 LD (HL),9 Write 9 (INK: BLUE, PAPER: BLUE ) to *HL.
Now display the text for page three on the screen.
60896 POP HL Restore the position of the instructions pointer from the stack.
60897 CALL PrintInstructions Call PrintInstructions.
60900 PUSH HL Store the current position in the instructions for the next page later.
60901 CALL PauseLong Debounce using PauseLong.
Instructions_InputLoop_Page3 60904 CALL KeyboardInput Call KeyboardInput.
60907 AND A Jump to Instructions_InputLoop_Page3 until any key is pressed.
60908 JR Z,Instructions_InputLoop_Page3
Display the instructions for page four.
instruction-04
Set the attributes.
60910 LD HL,22592 HL=22592 (attribute buffer location).
60913 LD (HL),48 Write 48 (INK: BLACK, PAPER: YELLOW ) to *HL.
60915 LD DE,22593 DE=22593 (attribute buffer location).
60918 LD BC,671 BC=671.
60921 LDIR Copy INK: BLACK, PAPER: YELLOW to the screen buffer 671 times.
Now display the text for page four on the screen.
60923 POP HL Restore the position of the instructions pointer from the stack.
60924 CALL PrintInstructions Call PrintInstructions.
60927 CALL PauseLong Debounce using PauseLong.
Instructions_InputLoop_Page4 60930 CALL KeyboardInput Call KeyboardInput.
60933 AND A Jump to Instructions_InputLoop_Page4 until any key is pressed.
60934 JR Z,Instructions_InputLoop_Page4
60936 RET Return.
Prev: 60729 Up: Map Next: 60937