Prev: 27916 Up: Map Next: 28090
28060: Read Player Input
Used by the routines at 28090 and 28401.
ReadInput 28060 LD A,(24067) Jump to ReadKempstonJoystick if GameOptions is set to joystick controls.
28063 BIT 1,A
28065 JP NZ,ReadKempstonJoystick
Read keyboard input.
28068 LD A,251 Read from the keyboard;
Port Number Bit
0 1 2 3 4
$FB Q W E R T
28070 OUT (253),A
28072 IN A,(254)
Convert the bits into game compatible bits (as in, see ReadKempstonJoystick - as this is what is being matched).
28074 LD C,A Store the original result in C.
28075 RRA Rotate the bits right once.
28076 AND %00000001 Keep only bit 0.
28078 LD E,A Store the result in E.
28079 LD A,C Restore the original result to A.
28080 RLA Rotate the bits left once.
28081 AND %00000010 Keep only bit 1.
28083 OR E Set the bits already processed from E.
28084 LD E,A Store the result in E.
28085 LD A,C Restore the original result to A.
28086 AND %00011100 Keep only bits 2-4.
28088 OR E Set the bits already processed from E.
28089 RET Return.
Prev: 27916 Up: Map Next: 28090