![]() |
Routines |
Prev: 57901 | Up: Map | Next: 58185 |
Used by the routine at InitialiseGame.
|
||||
PlayerControls_Kempston | 58123 | LD IX,62001 | IX=TablePlayerAttributes. | |
58127 | LD A,(23536) | Jump to Check_PlayerControls_Kempston if *GameState is not set to "Demo Mode" (3). | ||
58130 | CP 3 | |||
58132 | JR NZ,Check_PlayerControls_Kempston | |||
58134 | IN A,(31) | Read from the Kempston joystick port. | ||
58136 | AND %00011111 | Keep only bits 0-4. | ||
58138 | JP NZ,60815 | Jump to 60815 if the result is not zero. | ||
58141 | RET | Return. | ||
The control is stored at *KempstonControl but does not appear to be referenced again outside of this routine.
|
||||
Check_PlayerControls_Kempston | 58142 | IN A,(31) | Read from the Kempston joystick port. | |
58144 | LD (62274),A | Write A to *KempstonControl. | ||
Check for "fire".
|
||||
58147 | AND %00010000 | Keep only bit 4. | ||
58149 | JP NZ,Handler_Doors | Jump to Handler_Doors if the result is not zero. | ||
Check for "right".
|
||||
58152 | LD A,(62274) | A=*KempstonControl. | ||
58155 | AND %00000001 | Keep only bit 0. | ||
58157 | JP NZ,PlayerMoveRight | Jump to PlayerMoveRight if the result is not zero. | ||
Check for "left".
|
||||
58160 | LD A,(62274) | A=*KempstonControl. | ||
58163 | AND %00000010 | Keep only bit 1. | ||
58165 | JP NZ,PlayerMoveLeft | Jump to PlayerMoveLeft if the result is not zero. | ||
Check for "down".
|
||||
58168 | LD A,(62274) | A=*KempstonControl. | ||
58171 | AND %00000100 | Keep only bit 2. | ||
58173 | JP NZ,Handler_LaddersDescending | Jump to Handler_LaddersDescending if the result is not zero. | ||
Check for "up".
|
||||
58176 | LD A,(62274) | A=*KempstonControl. | ||
58179 | AND %00001000 | Keep only bit 3. | ||
58181 | JP NZ,Handler_LaddersAscending | Jump to Handler_LaddersAscending if the result is not zero. | ||
No controls were pressed, just return.
|
||||
58184 | RET | Return. |
Prev: 57901 | Up: Map | Next: 58185 |