Prev: B09F Up: Map Next: B0B1
B0A3: Handler: Controls
Used by the routines at PlayerMovement, GamePlay_Start and EnterInitials.
Reads the controls using the method chosen in the game options (see GameOptions): the keyboard, a Kempston joystick, a Cursor joystick or an Interface II joystick. Each of the routines returns the controls in C, with a bit set for each direction or button pressed.
Bit Action
0 Left
1 Right
2 Up
3 Down
4 Fire
Output
C Controls
HandlerControls B0A3 LD A,($9692) Fetch the game options from GameOptions.
B0A6 RRCA Rotate out the number of players bit (bit 0).
B0A7 AND %00000011 Keep only bits 0-1 (Kempston and Cursor joystick options).
B0A9 JR Z,ReadKeyboard Jump to ReadKeyboard if the keyboard was selected (both control bits are reset).
B0AB DEC A Jump to ReadKempstonJoystick if the Kempston joystick was selected.
B0AC JR Z,ReadKempstonJoystick
B0AE DEC A Jump to ReadCursorJoystick if the Cursor joystick was selected.
B0AF JR Z,ReadCursorJoystick
View the equivalent code in;
Else, handle Interface II joystick - it's the only option left.
Continue on to ReadInterfaceIIJoystick.
Prev: B09F Up: Map Next: B0B1