Routines |
Prev: CD6F | Up: Map | Next: CDD1 |
|
|||||
|
|||||
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 |