Routines |
Prev: EB56 | Up: Map | Next: EB98 |
|
|||||||||||||||||||||||||
All the handlers match the outputs of the Kempston Joystick:
|
|||||||||||||||||||||||||
InputHandler_Keyboard | EB64 | LD A,$DF | Read from the keyboard;
|
||||||||||||||||||||||
EB66 | IN A,($FE) | ||||||||||||||||||||||||
If "right" has been pressed, add 01 to *HL.
|
|||||||||||||||||||||||||
EB68 | RRA | Jump to Keyboard_CheckLeft if "P" (right) is not being pressed. | |||||||||||||||||||||||
EB69 | JR C,Keyboard_CheckLeft | ||||||||||||||||||||||||
EB6B | INC (HL) | Increment *HL by one. | |||||||||||||||||||||||
If "left" has been pressed, add 02 to *HL.
|
|||||||||||||||||||||||||
Keyboard_CheckLeft | EB6C | RRA | Jump to Keyboard_CheckUp if "O" (left) is not being pressed. | ||||||||||||||||||||||
EB6D | JR C,Keyboard_CheckUp | ||||||||||||||||||||||||
EB6F | INC (HL) | Increment *HL by two. | |||||||||||||||||||||||
EB70 | INC (HL) | ||||||||||||||||||||||||
Keyboard_CheckUp | EB71 | LD A,$FB | Read from the keyboard;
|
||||||||||||||||||||||
EB73 | IN A,($FE) | ||||||||||||||||||||||||
EB75 | RRA | Jump to Keyboard_CheckDown if "Q" (up) is not being pressed. | |||||||||||||||||||||||
EB76 | JR C,Keyboard_CheckDown | ||||||||||||||||||||||||
EB78 | LD A,$08 | Add 08 to *HL and write it back. | |||||||||||||||||||||||
EB7A | ADD A,(HL) | ||||||||||||||||||||||||
EB7B | LD (HL),A | ||||||||||||||||||||||||
If "down" has been pressed, add 04 to *HL.
|
|||||||||||||||||||||||||
Keyboard_CheckDown | EB7C | LD A,$FD | Read from the keyboard;
|
||||||||||||||||||||||
EB7E | IN A,($FE) | ||||||||||||||||||||||||
EB80 | RRA | Jump to Keyboard_CheckFire if "A" (down) is not being pressed. | |||||||||||||||||||||||
EB81 | JR C,Keyboard_CheckFire | ||||||||||||||||||||||||
EB83 | LD A,$04 | Add 04 to *HL and write it back. | |||||||||||||||||||||||
EB85 | ADD A,(HL) | ||||||||||||||||||||||||
EB86 | LD (HL),A | ||||||||||||||||||||||||
If "fire" has been pressed, add 10 to *HL.
Note; ALL these keys are fire button keys.
|
|||||||||||||||||||||||||
Keyboard_CheckFire | EB87 | LD A,$7E | Read from the keyboard;
|
||||||||||||||||||||||
EB89 | IN A,($FE) | ||||||||||||||||||||||||
EB8B | CPL | Invert the bits in A. | |||||||||||||||||||||||
EB8C | AND %00011111 | Keep only the key bits 0-4. | |||||||||||||||||||||||
EB8E | JP Z,InputHandler_Common | Jump to InputHandler_Common if none of the fire keys are being pressed. | |||||||||||||||||||||||
EB91 | LD A,$10 | Add 10 to *HL and write it back. | |||||||||||||||||||||||
EB93 | ADD A,(HL) | ||||||||||||||||||||||||
EB94 | LD (HL),A | ||||||||||||||||||||||||
EB95 | JP InputHandler_Common | Jump to InputHandler_Common. |
Prev: EB56 | Up: Map | Next: EB98 |