![]() |
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 |