Prev: D01A Up: Map Next: D03E
D022: Read Controls
Used by the routine at HandlePlayerLegs.
Reads the controls that the player is using and stores them in ControlsPressed.
Bit Meaning
00 Left
01 Right
02 Walk
03 Jump
04 Pick up (or down on a directional stick)
05 Directional pick up
No control is read during the final animation or while an object is being put into the cauldron.
Output
C The controls
Jump to the reader for the chosen control method.
ReadControls D022 LD A,($5BC3) Fetch the final animation flag from FinalAnimationFlag.
D025 LD C,A Stash it in C.
D026 LD A,($5BC4) Fetch the flag for an object being put into the cauldron from ObjectInCauldronFlag.
D029 OR C Combine the two flags.
D02A LD C,$00 Set the controls to none.
D02C JP NZ,ReadControls_Finish Jump to ReadControls_Finish if either flag is set.
D02F LD A,($5BA4) Fetch the control method from ControlMethod.
D032 RRCA Move the keyboard and joystick choice into bits 0 and 1.
D033 AND %00000011 Keep it.
D035 JP Z,ReadKeyboard Jump to ReadKeyboard if the keyboard is in use.
D038 DEC A Test for the Kempston joystick.
D039 JR Z,ReadKempstonJoystick Jump to ReadKempstonJoystick if it is in use.
D03B DEC A Test for the cursor joystick.
D03C JR Z,ReadCursorJoystick Jump to ReadCursorJoystick if it is in use.
Continue on to ReadInterface2Joystick.
View the equivalent code in;
Prev: D01A Up: Map Next: D03E