Prev: 59505 Up: Map Next: 59616
59537: Display Start Screen
Used by the routine at InitialiseGame.
start-screen
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