|  | Routines | 
| Prev: 64977 | Up: Map | Next: 65258 | 
| 
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. 
 | |||||||||||||||||
| 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; 
 | ||||||||||||||||||
| 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; 
 | ||||||||||||||||||
| 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; 
 | ||||||||||||||||||
| 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 |