![]() |
Routines |
| Prev: EBD8 | Up: Map | Next: ED7D |
|
Used by the routine at InitialiseGame.
|
||||
|
See GoldfishGame_PlayerControls.
|
||||
| PlayerControls | ED35 | CALL $028E | Call KEY_SCAN. | |
| ED38 | LD A,($5BF0) | Jump to Check_PlayerControls if *GameState is not set to "Demo Mode" (03). | ||
| ED3B | CP $03 | |||
| ED3D | JR NZ,Check_PlayerControls | |||
| ED3F | LD A,E | A=the keypress. | ||
| ED40 | CP $FF | Return if no keys have been pressed. | ||
| ED42 | RET Z | |||
| ED43 | JP $ED8F | Jump to ED8F. | ||
|
All player controls directly alter the user-defined keys except for (obviously) the Kempston joystick.
|
||||
| Check_PlayerControls | ED46 | LD IX,$F231 | IX=TablePlayerAttributes. | |
| ED4A | LD A,E | A=the keypress. | ||
|
Check against UserDefinedKeys_Left.
|
||||
| ED4B | LD HL,$5BEB | Check the first user-defined key at UserDefinedKeys_Left. | ||
| ED4E | CP (HL) | Jump to PlayerMoveLeft if "left" has been pressed. | ||
| ED4F | JP Z,PlayerMoveLeft | |||
|
Check against UserDefinedKeys_Right.
|
||||
| ED52 | INC HL | Check the next user-defined key. | ||
| ED53 | CP (HL) | Jump to PlayerMoveRight if "right" has been pressed. | ||
| ED54 | JP Z,PlayerMoveRight | |||
|
Check against UserDefinedKeys_Up.
|
||||
| ED57 | INC HL | Check the next user-defined key. | ||
| ED58 | CP (HL) | Jump to Handler_LaddersAscending if "up" has been pressed. | ||
| ED59 | JP Z,Handler_LaddersAscending | |||
|
Check against UserDefinedKeys_Down.
|
||||
| ED5C | INC HL | Check the next user-defined key. | ||
| ED5D | CP (HL) | Jump to Handler_LaddersDescending if "down" has been pressed. | ||
| ED5E | JP Z,Handler_LaddersDescending | |||
|
Check against UserDefinedKeys_Fire.
|
||||
| ED61 | INC HL | Check the next user-defined key. | ||
| ED62 | CP (HL) | Jump to Handler_Doors if "fire" has been pressed. | ||
| ED63 | JP Z,Handler_Doors | |||
|
Toggle the music on/ off - I wish I knew this in 1984!
|
||||
| ED66 | CP $10 | Jump to InGame_ToggleMusic if A is equal to 10. | ||
| ED68 | JP Z,InGame_ToggleMusic | |||
|
Was the game paused?
|
||||
| ED6B | CP $22 | Return if A is not equal to 22. | ||
| ED6D | RET NZ | |||
|
Handle the game being paused.
|
||||
| ED6E | DI | Disable interrupts. | ||
| InGamePauseLoop | ED6F | CALL InGamePause | Call InGamePause. | |
| ED72 | CALL $028E | Call KEY_SCAN. | ||
| ED75 | LD A,E | Jump to InGamePauseLoop if no keys have been pressed. | ||
| ED76 | CP $FF | |||
| ED78 | JP Z,InGamePauseLoop | |||
| ED7B | EI | Re-enable interrupts. | ||
| ED7C | RET | Return. | ||
| Prev: EBD8 | Up: Map | Next: ED7D |