Prev: 60376 Up: Map Next: 60797
60725: Player Controls
Used by the routine at InitialiseGame.
PlayerControls 60725 CALL 654 Call KEY_SCAN.
60728 LD A,(23536) Jump to Check_PlayerControls if *GameState is not set to "Demo Mode" (3).
60731 CP 3
60733 JR NZ,Check_PlayerControls
60735 LD A,E A=the keypress.
60736 CP 255 Return if no keys have been pressed.
60738 RET Z
60739 JP 60815 Jump to 60815.
All player controls directly alter the user-defined keys except for (obviously) the Kempston joystick.
Check_PlayerControls 60742 LD IX,62001 IX=TablePlayerAttributes.
60746 LD A,E A=the keypress.
Check against UserDefinedKeys_Left.
60747 LD HL,23531 Check the first user-defined key at UserDefinedKeys_Left.
60750 CP (HL) Jump to PlayerMoveLeft if "left" has been pressed.
60751 JP Z,PlayerMoveLeft
Check against UserDefinedKeys_Right.
60754 INC HL Check the next user-defined key.
60755 CP (HL) Jump to PlayerMoveRight if "right" has been pressed.
60756 JP Z,PlayerMoveRight
Check against UserDefinedKeys_Up.
60759 INC HL Check the next user-defined key.
60760 CP (HL) Jump to Handler_LaddersAscending if "up" has been pressed.
60761 JP Z,Handler_LaddersAscending
Check against UserDefinedKeys_Down.
60764 INC HL Check the next user-defined key.
60765 CP (HL) Jump to Handler_LaddersDescending if "down" has been pressed.
60766 JP Z,Handler_LaddersDescending
Check against UserDefinedKeys_Fire.
60769 INC HL Check the next user-defined key.
60770 CP (HL) Jump to Handler_Doors if "fire" has been pressed.
60771 JP Z,Handler_Doors
Toggle the music on/ off - I wish I knew this in 1984!
60774 CP 16 Jump to InGame_ToggleMusic if A is equal to 16.
60776 JP Z,InGame_ToggleMusic
Was the game paused?
60779 CP 34 Return if A is not equal to 34.
60781 RET NZ
Handle the game being paused.
60782 DI Disable interrupts.
InGamePauseLoop 60783 CALL InGamePause Call InGamePause.
60786 CALL 654 Call KEY_SCAN.
60789 LD A,E Jump to InGamePauseLoop if no keys have been pressed.
60790 CP 255
60792 JP Z,InGamePauseLoop
60795 EI Re-enable interrupts.
60796 RET Return.
Prev: 60376 Up: Map Next: 60797