![]() |
Routines |
| Prev: EBCD | Up: Map | Next: EC39 |
|
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 | EBF5 | POP IX | Housekeeping; see Handler_PlayerInput. Restore IX and HL from the stack. | |||||||||||||||||
| EBF7 | POP HL | |||||||||||||||||||
| EBF8 | LD A,($D838) | Jump to Common_Continue if bit 7 of *Bomb is set. | ||||||||||||||||||
| EBFB | BIT 7,A | |||||||||||||||||||
| EBFD | JR NZ,Common_Continue | |||||||||||||||||||
|
Handler for HOLD ("H").
|
||||||||||||||||||||
| EBFF | LD A,$BF | Read from the keyboard;
|
||||||||||||||||||
| EC01 | IN A,($FE) | |||||||||||||||||||
| EC03 | RRA | Jump to Common_CheckAbort if "H" (hold) is not being pressed. | ||||||||||||||||||
| EC04 | RRA | |||||||||||||||||||
| EC05 | RRA | |||||||||||||||||||
| EC06 | RRA | |||||||||||||||||||
| EC07 | RRA | |||||||||||||||||||
| EC08 | JR C,Common_CheckAbort | |||||||||||||||||||
| EC0A | LD A,R | A=the contents of the Memory Refresh Register. | ||||||||||||||||||
| EC0C | PUSH AF | Stash AF on the stack. | ||||||||||||||||||
| EC0D | DI | Disable interrupts. | ||||||||||||||||||
|
Handler for CONTINUE ("J").
|
||||||||||||||||||||
| Common_CheckContinue | EC0E | LD A,$BF | Read from the keyboard;
|
|||||||||||||||||
| EC10 | IN A,($FE) | |||||||||||||||||||
| EC12 | RRA | Jump to Common_CheckContinue if "J" (continue) is not being pressed. | ||||||||||||||||||
| EC13 | RRA | |||||||||||||||||||
| EC14 | RRA | |||||||||||||||||||
| EC15 | RRA | |||||||||||||||||||
| EC16 | JR C,Common_CheckContinue | |||||||||||||||||||
| EC18 | POP AF | Restore AF from the stack. | ||||||||||||||||||
| EC19 | JP PO,Common_CheckAbort | Jump to Common_CheckAbort if is odd. | ||||||||||||||||||
| EC1C | EI | Enable interrupts. | ||||||||||||||||||
|
Handler for ABORT ("R" and "T" together).
|
||||||||||||||||||||
| Common_CheckAbort | EC1D | LD A,$FB | Read from the keyboard;
|
|||||||||||||||||
| EC1F | IN A,($FE) | |||||||||||||||||||
| EC21 | RRA | Jump to Common_Continue if "R" (abort game - first key) is not being pressed. | ||||||||||||||||||
| EC22 | RRA | |||||||||||||||||||
| EC23 | RRA | |||||||||||||||||||
| EC24 | RRA | |||||||||||||||||||
| EC25 | JR C,Common_Continue | |||||||||||||||||||
| EC27 | RRA | Jump to Common_Continue if "T" (abort game - second key) is not being pressed. | ||||||||||||||||||
| EC28 | JR C,Common_Continue | |||||||||||||||||||
|
Initiate a game abort, do some housekeeping.
|
||||||||||||||||||||
| EC2A | POP IY | Restore IY from the stack FOUR times. | ||||||||||||||||||
| EC2C | POP IY | |||||||||||||||||||
| EC2E | POP IY | |||||||||||||||||||
| EC30 | POP IY | |||||||||||||||||||
| EC32 | JP Game_Loop | Jump to Game_Loop. | ||||||||||||||||||
|
Load the control byte into the accumulator for the return to the calling routine.
|
||||||||||||||||||||
| Common_Continue | EC35 | LD A,($E5B2) | A=*Data_Control. | |||||||||||||||||
| EC38 | RET | Return. | ||||||||||||||||||
| Prev: EBCD | Up: Map | Next: EC39 |