Prev: 52591 Up: Map Next: 52689
52614: Display Introduction Screen
Used by the routines at GameEntryPoint, StartGame and DemoMode.
title-screen-animation
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