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 |