Prev: 64977 Up: Map Next: 65258
65024: 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 65024 LD DE,23424 DE=Print_TwoToneText_Alias.
65027 LD BC,64 BC=64.
65030 LDIR Copies 64 bytes of data from the address pointed to by HL to the address pointed to by DE.
65032 LD A,1 A=1.
65034 NOP No-operation?
65035 NOP
65036 NOP
65037 CALL TitleScreen_Draw_Bandit Call TitleScreen_Draw_Bandit.
Write "WEST BANK" to the screen.
65040 LD HL,65258 Points to TitleScreen_GameName and sends it to Print_TwoToneText_Alias.
65043 LD DE,16427
65046 LD BC,1795
65049 CALL Print_TwoToneText_Alias
Writes "0 PLAY" to the screen.
65052 LD HL,65268 Points to TitleScreen_Play and sends it to TitleScreen_Print.
65055 LD DE,16587
65058 CALL TitleScreen_Print
Writes "1 KEYS" to the screen.
65061 LD HL,65276 Points to TitleScreen_Keys and sends it to TitleScreen_Print.
65064 LD DE,18475
65067 CALL TitleScreen_Print
Writes "2 KEMPSTON" to the screen.
65070 LD HL,65286 Points to TitleScreen_Joystick and sends it to TitleScreen_Print.
65073 LD DE,18571
65076 CALL TitleScreen_Print
Writes "N LEVEL" to the screen.
65079 LD HL,65297 Points to TitleScreen_Level and sends it to TitleScreen_Print.
65082 LD DE,18667
65085 CALL TitleScreen_Print
Writes "PROGRAM BY ALVARO MATEOS" to the screen.
65088 LD HL,65305 Points to TitleScreen_Author and sends it to Print_TwoToneText_Alias.
65091 LD DE,20611
65094 LD BC,1797
65097 CALL Print_TwoToneText_Alias
Writes "COPYRIGHT DINAMIC SOFTWARE 1985" to the screen.
65100 LD HL,65332 Points to TitleScreen_Copyright and sends it to Print_TwoToneText_Alias.
65103 LD DE,20672
65106 LD BC,1796
65109 CALL Print_TwoToneText_Alias
Act on inputs.
TitleScreen_Input 65112 LD A,(23728) 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
7 7 0 0 0
135 7 0 0 1
65115 AND A
65116 JR Z,TitleScreen_Select_Kempston
65118 LD DE,34567
65121 JR TitleScreen_Call_Flash
TitleScreen_Select_Kempston 65123 LD DE,1927
TitleScreen_Call_Flash 65126 CALL TitleScreen_Flash_Text
65129 LD HL,23728 Point HL=Controller.
65132 LD A,247 Read from the keyboard;
Port Number Bit
0 1 2 3 4
247 1 2 3 4 5
65134 IN A,(254)
65136 RRA Jump to TitleScreen_Set_Keyboard if "1" is pressed.
65137 JR NC,TitleScreen_Set_Keyboard
65139 RRA Jump to TitleScreen_Set_Kempston if "2" is pressed.
65140 JR NC,TitleScreen_Set_Kempston
65142 LD A,127 Read from the keyboard;
Port Number Bit
0 1 2 3 4
$7F SPACE FULL-STOP M N B
65144 IN A,(254)
65146 BIT 3,A Jump to TitleScreen_Select_Level if "N" is pressed.
65148 JR Z,TitleScreen_Select_Level
65150 LD A,239 Read from the keyboard;
Port Number Bit
0 1 2 3 4
239 0 9 8 7 6
65152 IN A,(254)
65154 RRA Return if "0" is pressed, else loop back around to TitleScreen_Input.
65155 RET NC
65156 JR TitleScreen_Input
Keyboard has been selected so "highlight" it.
TitleScreen_Set_Keyboard 65158 LD A,1 Writes $01 to Controller and loop back around to TitleScreen_Input.
65160 LD (HL),A
65161 JR TitleScreen_Input
Kempston joystick has been selected so "highlight" it.
TitleScreen_Set_Kempston 65163 XOR A Writes $00 to Controller and loop back around to TitleScreen_Input.
65164 LD (HL),A
65165 JR TitleScreen_Input
Handles "level section".
TitleScreen_Select_Level 65167 LD HL,23424 Jump to LevelSelect with HL=Print_TwoToneText_Alias.
65170 JP LevelSelect
TitleScreen_Flash_Text 65173 LD BC,32 ggg
65176 LD HL,22827
65179 LD (HL),D
65180 ADD HL,BC
65181 LD (HL),D
65182 ADD HL,BC
65183 ADD HL,BC
65184 LD (HL),E
65185 ADD HL,BC
65186 LD (HL),E
65187 RET Return.
Draw bandits.
TitleScreen_Draw_Bandit 65188 LD HL,22721 Sets attributes on the left and right of the screen and points DE at Character_00.
65191 CALL TitleScreen_Bandit_Attributes
65194 LD HL,22745
65197 CALL TitleScreen_Bandit_Attributes
65200 LD HL,16577
65203 CALL TitleScreen_0
65206 LD HL,16601
TitleScreen_0 65209 LD DE,26624
65212 LD B,88
65214 LD C,6
65216 JP Draw_Character Jump to Draw_Character.
TitleScreen_Bandit_Attributes 65219 LD B,8 Calls TitleScreen_Bandit_Attributes_Loop with B=$08 and A=$28.
65221 LD A,40
65223 CALL TitleScreen_Bandit_Attributes_Loop
65226 LD B,3 Calls TitleScreen_Bandit_Attributes_Copy with B=$03 and A=$20.
65228 LD A,32
TitleScreen_Bandit_Attributes_Loop 65230 PUSH BC
65231 CALL TitleScreen_Bandit_Attributes_Copy
65234 LD BC,27
65237 ADD HL,BC
65238 POP BC
65239 DJNZ TitleScreen_Bandit_Attributes_Loop
65241 RET Return.
TitleScreen_Bandit_Attributes_Copy 65242 PUSH HL
65243 POP DE
65244 INC DE
65245 LD BC,5
65248 LD (HL),A
65249 LDIR
65251 RET Return.
TitleScreen_Print 65252 LD BC,1794 B=$07, C=$02 and jump to Print_TwoToneText_Alias.
65255 JP Print_TwoToneText_Alias
Prev: 64977 Up: Map Next: 65258