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 |