Prev: 27441 Up: Map Next: 27545
27471: Print Control Menu
Used by the routine at StartGame.
menu
Print_ControlMenu 27471 CALL ClearScreen Call ClearScreen.
Print "Select Joystick Or Keys".
27474 LD HL,25809 Call Configurable_PrintString using Messaging_SelectJoystickOrKeys; printing 23 characters in YELLOW.
27477 LD DE,16580
27480 LD BC,5894
27483 CALL Configurable_PrintString
Print "K - Kempston Stick".
27486 LD DE,18503 Call SpectrumFont_PrintString using Messaging_KempstonJoystick; printing 18 characters in INK:MAGENTA, PAPER:BLACK(BRIGHT).
27489 LD BC,4675
27492 CALL SpectrumFont_PrintString
Print "A - AGF Stick".
27495 LD E,135 Call SpectrumFont_PrintString using Messaging_AGFJoystick; printing 13 characters.
27497 LD B,13
27499 CALL SpectrumFont_PrintString
Print "B - Keyboard".
27502 LD E,199 Call SpectrumFont_PrintString using Messaging_Keyboard; printing 12 characters.
27504 LD B,12
27506 CALL SpectrumFont_PrintString
Has the player selected to use a Kempston joystick?
ControlMenu_Input_Kempston 27509 LD A,191 Read from the keyboard;
Port Number Bit
0 1 2 3 4
191 ENTER L K J H
27511 IN A,(254)
27513 BIT 2,A Jump to ControlMenu_Input_AGF if "K" wasn't pressed.
27515 JR NZ,ControlMenu_Input_AGF
27517 LD A,2 Set A to Kempston joystick controls (2).
27519 JR SetControlMethod Jump to SetControlMethod.
Has the player selected to use an AGF joystick?
ControlMenu_Input_AGF 27521 LD A,253 Read from the keyboard;
Port Number Bit
0 1 2 3 4
253 A S D F G
27523 IN A,(254)
27525 BIT 0,A Jump to ControlMenu_Input_Keyboard if "A" wasn't pressed.
27527 JR NZ,ControlMenu_Input_Keyboard
27529 LD A,1 Set A to AGF joystick controls (1).
27531 JR SetControlMethod Jump to SetControlMethod.
Has the player selected to use the keyboard?
ControlMenu_Input_Keyboard 27533 LD A,127 Read from the keyboard;
Port Number Bit
0 1 2 3 4
127 SPACE FULL-STOP M N B
27535 IN A,(254)
27537 BIT 4,A Jump back to ControlMenu_Input_Kempston if "B" wasn't pressed.
27539 JR NZ,ControlMenu_Input_Kempston
27541 XOR A Set A to keyboard controls (0).
SetControlMethod 27542 LD (26358),A Write A to *ControlMethod.
Continue on to Print_InstructionsMenu.
Prev: 27441 Up: Map Next: 27545