![]() |
Routines |
| Prev: FDD1 | Up: Map | Next: FEEA |
|
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.
|
|||||||||||||||||
| 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;
|
||||||||||||||||||
| 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;
|
||||||||||||||||||
| 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;
|
||||||||||||||||||
| 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 |