Prev: FDD1 Up: Map Next: FEEA
FE00: Title Screen
Used by the routine at Init_Title_Screen.
On initialisation, HL=Copied_5B80. So this section is resetting various jump aliases and game status flags to default values.
TitleScreen FE00 LD DE,$5B80 DE=Print_TwoToneText_Alias.
FE03 LD BC,$0040 BC=40.
FE06 LDIR Copies 40 bytes of data from the address pointed to by HL to the address pointed to by DE.
FE08 LD A,$01 A=01.
FE0A NOP No-operation?
FE0B NOP
FE0C NOP
FE0D CALL TitleScreen_Draw_Bandit Call TitleScreen_Draw_Bandit.
Write "WEST BANK" to the screen.
FE10 LD HL,$FEEA Points to TitleScreen_GameName and sends it to Print_TwoToneText_Alias.
FE13 LD DE,$402B
FE16 LD BC,$0703
FE19 CALL Print_TwoToneText_Alias
Writes "0 PLAY" to the screen.
FE1C LD HL,$FEF4 Points to TitleScreen_Play and sends it to TitleScreen_Print.
FE1F LD DE,$40CB
FE22 CALL TitleScreen_Print
Writes "1 KEYS" to the screen.
FE25 LD HL,$FEFC Points to TitleScreen_Keys and sends it to TitleScreen_Print.
FE28 LD DE,$482B
FE2B CALL TitleScreen_Print
Writes "2 KEMPSTON" to the screen.
FE2E LD HL,$FF06 Points to TitleScreen_Joystick and sends it to TitleScreen_Print.
FE31 LD DE,$488B
FE34 CALL TitleScreen_Print
Writes "N LEVEL" to the screen.
FE37 LD HL,$FF11 Points to TitleScreen_Level and sends it to TitleScreen_Print.
FE3A LD DE,$48EB
FE3D CALL TitleScreen_Print
Writes "PROGRAM BY ALVARO MATEOS" to the screen.
FE40 LD HL,$FF19 Points to TitleScreen_Author and sends it to Print_TwoToneText_Alias.
FE43 LD DE,$5083
FE46 LD BC,$0705
FE49 CALL Print_TwoToneText_Alias
Writes "COPYRIGHT DINAMIC SOFTWARE 1985" to the screen.
FE4C LD HL,$FF34 Points to TitleScreen_Copyright and sends it to Print_TwoToneText_Alias.
FE4F LD DE,$50C0
FE52 LD BC,$0704
FE55 CALL Print_TwoToneText_Alias
Act on inputs.
TitleScreen_Input FE58 LD A,($5CB0) If Controller is zero (joystick) then DE=$0787 else DE=$8707. Then call the subroutine at TitleScreen_Flash_Text. The $07/ $87 correspond to white INK and white INK flashing for the selected control method.
Value Ink Paper Bright Flash
07 07 00 00 00
87 07 00 00 01
FE5B AND A
FE5C JR Z,TitleScreen_Select_Kempston
FE5E LD DE,$8707
FE61 JR TitleScreen_Call_Flash
TitleScreen_Select_Kempston FE63 LD DE,$0787
TitleScreen_Call_Flash FE66 CALL TitleScreen_Flash_Text
FE69 LD HL,$5CB0 Point HL=Controller.
FE6C LD A,$F7 Read from the keyboard;
Port Number Bit
0 1 2 3 4
F7 1 2 3 4 5
FE6E IN A,($FE)
FE70 RRA Jump to TitleScreen_Set_Keyboard if "1" is pressed.
FE71 JR NC,TitleScreen_Set_Keyboard
FE73 RRA Jump to TitleScreen_Set_Kempston if "2" is pressed.
FE74 JR NC,TitleScreen_Set_Kempston
FE76 LD A,$7F Read from the keyboard;
Port Number Bit
0 1 2 3 4
$7F SPACE FULL-STOP M N B
FE78 IN A,($FE)
FE7A BIT 3,A Jump to TitleScreen_Select_Level if "N" is pressed.
FE7C JR Z,TitleScreen_Select_Level
FE7E LD A,$EF Read from the keyboard;
Port Number Bit
0 1 2 3 4
EF 0 9 8 7 6
FE80 IN A,($FE)
FE82 RRA Return if "0" is pressed, else loop back around to TitleScreen_Input.
FE83 RET NC
FE84 JR TitleScreen_Input
Keyboard has been selected so "highlight" it.
TitleScreen_Set_Keyboard FE86 LD A,$01 Writes $01 to Controller and loop back around to TitleScreen_Input.
FE88 LD (HL),A
FE89 JR TitleScreen_Input
Kempston joystick has been selected so "highlight" it.
TitleScreen_Set_Kempston FE8B XOR A Writes $00 to Controller and loop back around to TitleScreen_Input.
FE8C LD (HL),A
FE8D JR TitleScreen_Input
Handles "level section".
TitleScreen_Select_Level FE8F LD HL,$5B80 Jump to LevelSelect with HL=Print_TwoToneText_Alias.
FE92 JP LevelSelect
TitleScreen_Flash_Text FE95 LD BC,$0020 ggg
FE98 LD HL,$592B
FE9B LD (HL),D
FE9C ADD HL,BC
FE9D LD (HL),D
FE9E ADD HL,BC
FE9F ADD HL,BC
FEA0 LD (HL),E
FEA1 ADD HL,BC
FEA2 LD (HL),E
FEA3 RET Return.
Draw bandits.
TitleScreen_Draw_Bandit FEA4 LD HL,$58C1 Sets attributes on the left and right of the screen and points DE at Character_00.
FEA7 CALL TitleScreen_Bandit_Attributes
FEAA LD HL,$58D9
FEAD CALL TitleScreen_Bandit_Attributes
FEB0 LD HL,$40C1
FEB3 CALL TitleScreen_0
FEB6 LD HL,$40D9
TitleScreen_0 FEB9 LD DE,$6800
FEBC LD B,$58
FEBE LD C,$06
FEC0 JP Draw_Character Jump to Draw_Character.
TitleScreen_Bandit_Attributes FEC3 LD B,$08 Calls TitleScreen_Bandit_Attributes_Loop with B=$08 and A=$28.
FEC5 LD A,$28
FEC7 CALL TitleScreen_Bandit_Attributes_Loop
FECA LD B,$03 Calls TitleScreen_Bandit_Attributes_Copy with B=$03 and A=$20.
FECC LD A,$20
TitleScreen_Bandit_Attributes_Loop FECE PUSH BC
FECF CALL TitleScreen_Bandit_Attributes_Copy
FED2 LD BC,$001B
FED5 ADD HL,BC
FED6 POP BC
FED7 DJNZ TitleScreen_Bandit_Attributes_Loop
FED9 RET Return.
TitleScreen_Bandit_Attributes_Copy FEDA PUSH HL
FEDB POP DE
FEDC INC DE
FEDD LD BC,$0005
FEE0 LD (HL),A
FEE1 LDIR
FEE3 RET Return.
TitleScreen_Print FEE4 LD BC,$0702 B=$07, C=$02 and jump to Print_TwoToneText_Alias.
FEE7 JP Print_TwoToneText_Alias
Prev: FDD1 Up: Map Next: FEEA