![]() |
Routines |
Prev: 52591 | Up: Map | Next: 52689 |
|
|||||
|
|||||
DisplayIntroductionScreen | 52614 | LD A,4 | Write 4 to *PlayerLives. | ||
52616 | LD (23537),A | ||||
52619 | LD A,(23530) | Call SetDefaultKeyboardInputs if no control method has been set yet (as-in, game has just been loaded). | |||
52622 | CP 0 | ||||
52624 | CALL Z,SetDefaultKeyboardInputs | ||||
52627 | LD A,3 | Set the border to MAGENTA using BORDER. | |||
52629 | CALL 8859 | ||||
52632 | LD A,3 | Write MAGENTA to *Active_BorderColour. | |||
52634 | LD (23504),A | ||||
52637 | LD DE,16384 | DE=16384. | |||
52640 | LD BC,6912 | BC=6912. | |||
52643 | LD HL,27000 | HL=IntroductionScreen. | |||
52646 | LDIR | Copy the introduction screen to the screen buffer. | |||
Use FRAMES as a counter.
|
|||||
52648 | LD BC,0 | Reset *FRAMES to 0000. | |||
52651 | LD (23672),BC | ||||
IntroductionScreen_Loop | 52655 | LD BC,(23672) | BC=*FRAMES. | ||
52659 | LD A,B | Call DemoMode if the timer held by FRAMES is up. | |||
52660 | CP 4 | ||||
52662 | CALL Z,DemoMode | ||||
52665 | CALL AnimateTitleScreen | Call AnimateTitleScreen. | |||
Don't bother checking the Kempston joystick port if we don't have to.
|
|||||
52668 | LD A,(23530) | Skip down to IntroductionScreen_KeyboardCheck if *ControlMethod is not set to Kempston joystick (12). | |||
52671 | CP 12 | ||||
52673 | JR NZ,IntroductionScreen_KeyboardCheck | ||||
Handle checking input from the Kempston joystick.
|
|||||
52675 | IN A,(31) | Read from the Kempston joystick port. | |||
52677 | CP 16 | Jump to TitleScreen if fire has been pressed. | |||
52679 | JR Z,TitleScreen | ||||
Even if the Kempston joystick is selected, we still check the keyboard here.
|
|||||
IntroductionScreen_KeyboardCheck | 52681 | CALL 654 | Call KEY_SCAN. | ||
52684 | LD A,E | Loop back round to IntroductionScreen_Loop if no keys have been pressed (E is equal to 255). | |||
52685 | CP 255 | ||||
52687 | JR Z,IntroductionScreen_Loop | ||||
Continue on to TitleScreen.
|
Prev: 52591 | Up: Map | Next: 52689 |