Prev: CD6F Up: Map Next: CDD1
CD86: Display Introduction Screen
Used by the routines at GameEntryPoint, StartGame and DemoMode.
title-screen-animation
DisplayIntroductionScreen CD86 LD A,$04 Write 04 to *PlayerLives.
CD88 LD ($5BF1),A
CD8B LD A,($5BEA) Call SetDefaultKeyboardInputs if no control method has been set yet (as-in, game has just been loaded).
CD8E CP $00
CD90 CALL Z,SetDefaultKeyboardInputs
CD93 LD A,$03 Set the border to MAGENTA using BORDER.
CD95 CALL $229B
CD98 LD A,$03 Write MAGENTA to *Active_BorderColour.
CD9A LD ($5BD0),A
CD9D LD DE,$4000 DE=4000.
CDA0 LD BC,$1B00 BC=1B00.
CDA3 LD HL,$6978 HL=IntroductionScreen.
CDA6 LDIR Copy the introduction screen to the screen buffer.
Use FRAMES as a counter.
CDA8 LD BC,$0000 Reset *FRAMES to 0000.
CDAB LD ($5C78),BC
IntroductionScreen_Loop CDAF LD BC,($5C78) BC=*FRAMES.
CDB3 LD A,B Call DemoMode if the timer held by FRAMES is up.
CDB4 CP $04
CDB6 CALL Z,DemoMode
CDB9 CALL AnimateTitleScreen Call AnimateTitleScreen.
Don't bother checking the Kempston joystick port if we don't have to.
CDBC LD A,($5BEA) Skip down to IntroductionScreen_KeyboardCheck if *ControlMethod is not set to Kempston joystick (0C).
CDBF CP $0C
CDC1 JR NZ,IntroductionScreen_KeyboardCheck
Handle checking input from the Kempston joystick.
CDC3 IN A,($1F) Read from the Kempston joystick port.
CDC5 CP $10 Jump to TitleScreen if fire has been pressed.
CDC7 JR Z,TitleScreen
Even if the Kempston joystick is selected, we still check the keyboard here.
IntroductionScreen_KeyboardCheck CDC9 CALL $028E Call KEY_SCAN.
CDCC LD A,E Loop back round to IntroductionScreen_Loop if no keys have been pressed (E is equal to FF).
CDCD CP $FF
CDCF JR Z,IntroductionScreen_Loop
Continue on to TitleScreen.
Prev: CD6F Up: Map Next: CDD1