Routines |
Prev: 60729 | Up: Map | Next: 60937 |
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.
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.
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.
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.
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 |