Prev: 8C54 Up: Map Next: 8D99
8CDB: Game Control Settings
Used by the routine at Game_Configs_Main.
The player controls menu. Used for either player, references the currently targetted player at Temp_Player.
Game_Configs_Controls 8CDB CALL Clear_Screen Call Clear_Screen.
8CDE LD DE,$8ED6 Point to Text_Default_Layout and call Print_String.
8CE1 LD HL,$012D
8CE4 CALL Print_String
8CE7 LD DE,$8EF4 Point to Text_Sinclair_P1 and call Print_String.
8CEA LD HL,$0136
8CED CALL Print_String
8CF0 LD DE,$8F0F Point to Text_Sinclair_P2 and call Print_String.
8CF3 LD HL,$013F
8CF6 CALL Print_String
8CF9 LD DE,$8F2A Point to Text_Keyboard_Reconfig and call Print_String.
8CFC LD HL,$0148
8CFF CALL Print_String
8D02 LD DE,$8F41 Point to Text_Kempston and call Print_String.
8D05 LD HL,$0151
8D08 CALL Print_String
8D0B LD DE,$8F59 Point to Text_Type_2 and call Print_String.
8D0E LD HL,$0371
8D11 CALL Print_String
8D14 CALL Configs_Delay Adds a delay for keyboard debounce.
8D17 CALL Configs_Delay
Does the user want to revert to the default control method?
Game_Controls_Defaults 8D1A LD A,$24 Check if "1" key is pressed.
8D1C CALL Keyboard_Test
8D1F JP C,Game_Controls_Sinclair_1 No keys were pressed, continue on to Game_Controls_Sinclair_1.
8D22 JP Game_Controls_Set_Default Jump to Game_Controls_Set_Default.
Change player to use "Sinclair Joystick #1"?
Game_Controls_Sinclair_1 8D25 LD A,$1C Check if "2" key is pressed.
8D27 CALL Keyboard_Test
8D2A JP C,Game_Controls_Sinclair_2 No keys were pressed, continue on to Game_Controls_Sinclair_2.
8D2D JP Game_Controls_Set_Sinclair_1 Jump to Game_Controls_Set_Sinclair_1.
Change player to use "Sinclair Joystick #2"?
Game_Controls_Sinclair_2 8D30 LD A,$14 Check if "3" key is pressed.
8D32 CALL Keyboard_Test
8D35 JP C,Game_Controls_Kempston No keys were pressed, continue on to Game_Controls_Kempston.
8D38 JP Game_Controls_Set_Sinclair_2 Jump to Game_Controls_Set_Sinclair_2.
Change player to use "Kempston" joystick?
Game_Controls_Kempston 8D3B LD A,$04 Check if "5" key is pressed.
8D3D CALL Keyboard_Test
8D40 JP C,Game_Controls_Keyboard No keys were pressed, continue on to Game_Controls_Keyboard.
8D43 JP Game_Controls_Set_Kempston Jump to Game_Controls_Set_Kempston.
Redefine keys for player.
Game_Controls_Keyboard 8D46 LD A,$0C Check if "4" key is pressed.
8D48 CALL Keyboard_Test
8D4B JP C,Game_Controls_Defaults No keys were pressed, loop back round to Game_Controls_Defaults.
8D4E CALL Configs_Delay Adds a delay for keyboard debounce.
8D51 CALL Configs_Delay
8D54 JP Game_Configs_Keys Jump to Game_Configs_Keys.
Actions setting keyboard controls for player back to defaults.
Game_Controls_Set_Default 8D57 LD HL,($8E69) Check if Temp_Player is equal to Player_1_Controls.
8D5A LD BC,$8BD2
8D5D XOR A
8D5E SBC HL,BC
8D60 JP NZ,Game_Controls_Set_Default_P2 Jump to Game_Controls_Set_Default_P2 if we are working with player 2.
8D63 LD HL,$8BFA Store P1_Default_Keys at Player_1_Controls.
8D66 LD ($8BD2),HL
8D69 JP Game_Configs_Return Jump to Game_Configs_Return (just returns).
Game_Controls_Set_Default_P2 8D6C LD HL,$8C0C Store P2_Default_Keys at Player_2_Controls.
8D6F LD ($8BE6),HL
8D72 JP Game_Configs_Return Jump to Game_Configs_Return (just returns).
Actions setting player to use Sinclair Joystick #1.
Game_Controls_Set_Sinclair_1 8D75 LD HL,($8E69) Fetch the current player from Temp_Player.
8D78 LD DE,$8C30 Pushes Sinclair_1 for the current player.
8D7B LD (HL),E
8D7C INC HL
8D7D LD (HL),D
8D7E JP Game_Configs_Return Jump to Game_Configs_Return (just returns).
Actions setting player to use Sinclair Joystick #2.
Game_Controls_Set_Sinclair_2 8D81 LD HL,($8E69) Fetch the current player from Temp_Player.
8D84 LD DE,$8C1E Pushes Sinclair_2 for the current player.
8D87 LD (HL),E
8D88 INC HL
8D89 LD (HL),D
8D8A JP Game_Configs_Return Jump to Game_Configs_Return (just returns).
Actions setting player to use Kempston Joystick.
Game_Controls_Set_Kempston 8D8D LD HL,($8E69) Fetch the current player from Temp_Player.
8D90 LD DE,$8C42 Pushes Kempston for the current player.
8D93 LD (HL),E
8D94 INC HL
8D95 LD (HL),D
8D96 JP Game_Configs_Return Jump to Game_Configs_Return (just returns).
Prev: 8C54 Up: Map Next: 8D99