Routines |
Prev: D5CB | Up: Map | Next: D602 |
Used by the routine at TitleScreen.
|
||||
Use FRAMES as a timer.
|
||||
MenuKeypress | D5CF | LD BC,$0000 | Reset *FRAMES to 0000. | |
D5D2 | LD ($5C78),BC | |||
This entry point is used by the routine at ToggleMusic.
|
||||
MenuKeypress_Loop | D5D6 | LD BC,($5C78) | BC=*FRAMES. | |
D5DA | LD A,B | Jump to DemoMode if the timer held by FRAMES is up. | ||
D5DB | CP $04 | |||
D5DD | JP Z,DemoMode | |||
D5E0 | CALL SmallPause | Call SmallPause (presumably to debounce). | ||
Fetch the players pressed key (if any) and handle it.
No keys being pressed returns a FF response.
|
||||
D5E3 | CALL $028E | Call KEY_SCAN. | ||
D5E6 | LD A,E | Jump to ToggleMusic if the fire button has been pressed. | ||
D5E7 | CP $10 | |||
D5E9 | JP Z,ToggleMusic | |||
D5EC | CP $FF | Return if any button has been pressed. | ||
D5EE | RET NZ | |||
D5EF | LD A,($5BEA) | Jump to MenuKeypress_Kempston if *ControlMethod is set to Kempston joystick (0C). | ||
D5F2 | CP $0C | |||
D5F4 | JP Z,MenuKeypress_Kempston | |||
D5F7 | JR MenuKeypress_Loop | Jump to MenuKeypress_Loop. | ||
Handle checking if the player has pressed fire on their Kempston joystick.
|
||||
MenuKeypress_Kempston | D5F9 | IN A,($1F) | Read from the Kempston joystick port. | |
D5FB | AND %00010000 | Jump to MenuKeypress_Loop if fire has not been pressed. | ||
D5FD | JR Z,MenuKeypress_Loop | |||
D5FF | LD A,$23 | A=23. | ||
D601 | RET | Return. |
Prev: D5CB | Up: Map | Next: D602 |