Routines |
Prev: 60365 | Up: Map | Next: 60473 |
Used by the routines at InputHandler_Keyboard, InputHandler_Kempston, InputHandler_Cursor and InputHandler_Sinclair.
|
||||||||||||||||||||
Handle game controls which are common across all input control routines.
|
||||||||||||||||||||
InputHandler_Common | 60405 | POP IX | Housekeeping; see Handler_PlayerInput. Restore IX and HL from the stack. | |||||||||||||||||
60407 | POP HL | |||||||||||||||||||
60408 | LD A,(55352) | Jump to Common_Continue if bit 7 of *Bomb is set. | ||||||||||||||||||
60411 | BIT 7,A | |||||||||||||||||||
60413 | JR NZ,Common_Continue | |||||||||||||||||||
Handler for HOLD ("H").
|
||||||||||||||||||||
60415 | LD A,191 | Read from the keyboard;
|
||||||||||||||||||
60417 | IN A,(254) | |||||||||||||||||||
60419 | RRA | Jump to Common_CheckAbort if "H" (hold) is not being pressed. | ||||||||||||||||||
60420 | RRA | |||||||||||||||||||
60421 | RRA | |||||||||||||||||||
60422 | RRA | |||||||||||||||||||
60423 | RRA | |||||||||||||||||||
60424 | JR C,Common_CheckAbort | |||||||||||||||||||
60426 | LD A,R | A=the contents of the Memory Refresh Register. | ||||||||||||||||||
60428 | PUSH AF | Stash AF on the stack. | ||||||||||||||||||
60429 | DI | Disable interrupts. | ||||||||||||||||||
Handler for CONTINUE ("J").
|
||||||||||||||||||||
Common_CheckContinue | 60430 | LD A,191 | Read from the keyboard;
|
|||||||||||||||||
60432 | IN A,(254) | |||||||||||||||||||
60434 | RRA | Jump to Common_CheckContinue if "J" (continue) is not being pressed. | ||||||||||||||||||
60435 | RRA | |||||||||||||||||||
60436 | RRA | |||||||||||||||||||
60437 | RRA | |||||||||||||||||||
60438 | JR C,Common_CheckContinue | |||||||||||||||||||
60440 | POP AF | Restore AF from the stack. | ||||||||||||||||||
60441 | JP PO,Common_CheckAbort | Jump to Common_CheckAbort if is odd. | ||||||||||||||||||
60444 | EI | Enable interrupts. | ||||||||||||||||||
Handler for ABORT ("R" and "T" together).
|
||||||||||||||||||||
Common_CheckAbort | 60445 | LD A,251 | Read from the keyboard;
|
|||||||||||||||||
60447 | IN A,(254) | |||||||||||||||||||
60449 | RRA | Jump to Common_Continue if "R" (abort game - first key) is not being pressed. | ||||||||||||||||||
60450 | RRA | |||||||||||||||||||
60451 | RRA | |||||||||||||||||||
60452 | RRA | |||||||||||||||||||
60453 | JR C,Common_Continue | |||||||||||||||||||
60455 | RRA | Jump to Common_Continue if "T" (abort game - second key) is not being pressed. | ||||||||||||||||||
60456 | JR C,Common_Continue | |||||||||||||||||||
Initiate a game abort, do some housekeeping.
|
||||||||||||||||||||
60458 | POP IY | Restore IY from the stack FOUR times. | ||||||||||||||||||
60460 | POP IY | |||||||||||||||||||
60462 | POP IY | |||||||||||||||||||
60464 | POP IY | |||||||||||||||||||
60466 | JP Game_Loop | Jump to Game_Loop. | ||||||||||||||||||
Load the control byte into the accumulator for the return to the calling routine.
|
||||||||||||||||||||
Common_Continue | 60469 | LD A,(58802) | A=*Data_Control. | |||||||||||||||||
60472 | RET | Return. |
Prev: 60365 | Up: Map | Next: 60473 |