![]() |
Routines |
| Prev: 59505 | Up: Map | Next: 59616 |
|
Used by the routine at InitialiseGame.
|
|||||
|
Colour the top two rows of the attribute buffer with magenta paper and white ink.
|
|||||
| DisplayStartScreen | 59537 | LD HL,22528 | HL=22528 (attribute buffer location). | ||
| 59540 | LD B,64 | B=64 (counter - two rows). | |||
| HeaderAttributes_Loop | 59542 | LD (HL),31 | Write 31 (INK: WHITE, PAPER: MAGENTA ) to *HL. | ||
| 59544 | INC L | Move to the next column. | |||
| 59545 | DJNZ HeaderAttributes_Loop | Decrease counter by one and loop back to HeaderAttributes_Loop until counter is zero. | |||
|
Colour the rest of the rows down to the footer with black paper and yellow ink.
|
|||||
| 59547 | LD D,H | DE=HL+1. | |||
| 59548 | LD E,L | ||||
| 59549 | INC E | ||||
| 59550 | LD BC,447 | BC=447. | |||
| 59553 | LD (HL),6 | Write 6 (INK: YELLOW, PAPER: BLACK ) to *HL. | |||
| 59555 | LDIR | Copy 6 from 22592 to 23040 447 times. | |||
|
Print the "WELCOME TO THE WORLD OF WHEELIE!" messaging.
|
|||||
| 59557 | EXX | Switch to the shadow registers. | |||
| 59558 | LD DE,16384 | DE'=16384 (screen buffer location). | |||
| 59561 | EXX | Switch back to the normal registers. | |||
| 59562 | LD HL,59505 | HL=Messaging_Welcome. | |||
| 59565 | LD B,32 | B=32 (length of Messaging_Welcome messaging). | |||
| 59567 | CALL Print_Loop | Call Print_Loop. | |||
|
This section of the routine handles the cute row of bike graphics in the top of the display.
|
|||||
| 59570 | LD B,16 | B=16 (number of bike UDGs to display). | |||
| HeaderBike_Loop | 59572 | EXX | Switch to the shadow registers. | ||
| 59573 | LD L,156 | L'=156. | |||
|
Print the left side of the bike graphic.
|
|||||
| 59575 | CALL PrintGraphic | Call PrintGraphic. | |||
| 59578 | EXX | Switch back to the normal registers. | |||
|
Print the right side of the bike graphic.
|
|||||
| 59579 | CALL PrintGraphic | Call PrintGraphic. | |||
| 59582 | DJNZ HeaderBike_Loop | Decrease counter by one and loop back to HeaderBike_Loop until counter is zero. | |||
|
The start screen messaging at Messaging_StartScreen is split into 4 blocks of text 64 characters long.
|
|||||
| 59584 | LD C,4 | C=4 (blocks of text). | |||
| 59586 | EXX | Switch to the shadow registers. | |||
| 59587 | LD DE,16480 | DE'=16480 (screen buffer location). | |||
| 59590 | EXX | Switch back to the normal registers. | |||
| 59591 | LD HL,43008 | HL=Messaging_StartScreen. | |||
|
This entry point is used by the routine at DisplayChangeControls.
|
|||||
| StartScreen_TextLoop | 59594 | LD B,64 | B=64 (length of messaging). | ||
| 59596 | CALL Print_Loop | Call Print_Loop. | |||
| 59599 | EXX | Switch to the shadow registers. | |||
| 59600 | LD A,E | Jump to StartScreen_SkipRow if E is not zero. | |||
| 59601 | AND A | ||||
| 59602 | JR NZ,StartScreen_SkipRow | ||||
| 59604 | LD D,72 | D=72. | |||
| StartScreen_SkipRow | 59606 | ADD A,32 | Add 32 to leave a blank row between the blocks of text. | ||
| 59608 | LD E,A | E=A. | |||
| 59609 | EXX | Switch back to the normal registers. | |||
| 59610 | DEC C | Decrease C by one. | |||
| 59611 | JR NZ,StartScreen_TextLoop | Jump to StartScreen_TextLoop until C is zero. | |||
| 59613 | JP PauseLong | Jump to PauseLong. | |||
| Prev: 59505 | Up: Map | Next: 59616 |