![]() |
Routines |
| Prev: 36705 | Up: Map | Next: 36752 |
|
Used by the routine at HandlerControls.
|
|||||||||||||||||||||
| ReadCursorJoystick | 36714 | LD A,239 | Read from the keyboard;
|
||||||||||||||||||
| 36716 | OUT (253),A | ||||||||||||||||||||
| 36718 | IN A,(254) | ||||||||||||||||||||
| 36720 | LD C,A | Store this value in C temporarily. | |||||||||||||||||||
|
Handle "up".
|
|||||||||||||||||||||
| 36721 | AND %00001000 | Keep only bit 3 ("7"). | |||||||||||||||||||
| 36723 | LD E,A | Store this value in E. | |||||||||||||||||||
| 36724 | LD A,C | Retrieve C and rotate the bits right twice. | |||||||||||||||||||
| 36725 | RRCA | ||||||||||||||||||||
| 36726 | RRCA | ||||||||||||||||||||
|
Handle "down", "right" and "fire".
|
|||||||||||||||||||||
| 36727 | AND %01000101 | Keep only bits 0 ("8"), 2 ("6") and 6 ("0"). | |||||||||||||||||||
| 36729 | OR E | Set the bits from E. | |||||||||||||||||||
| 36730 | LD E,A | Store this value back in E. | |||||||||||||||||||
|
Handle relocating the "fire" bit.
|
|||||||||||||||||||||
| 36731 | RRCA | Rotate the bits right twice. | |||||||||||||||||||
| 36732 | RRCA | ||||||||||||||||||||
| 36733 | AND %00010000 | Keep only bit 4 ("0"). | |||||||||||||||||||
| 36735 | OR E | Set the bits from E. | |||||||||||||||||||
|
Filter out the unused bits.
|
|||||||||||||||||||||
| 36736 | AND %00011111 | Keep only bits 0-4. | |||||||||||||||||||
| 36738 | LD E,A | Store this value back in E. | |||||||||||||||||||
|
Handle reading "left" from a different port.
|
|||||||||||||||||||||
| 36739 | LD A,247 | Read from the keyboard;
|
|||||||||||||||||||
| 36741 | OUT (253),A | ||||||||||||||||||||
| 36743 | IN A,(254) | ||||||||||||||||||||
|
Handle relocating the "left" bit.
|
|||||||||||||||||||||
| 36745 | RRA | Rotate the bits right three times. | |||||||||||||||||||
| 36746 | RRA | ||||||||||||||||||||
| 36747 | RRA | ||||||||||||||||||||
| 36748 | AND %00000010 | Keep only bit 1 ("5"). | |||||||||||||||||||
| 36750 | OR E | Set the bits from E resulting in;
|
|||||||||||||||||||
| 36751 | RET | Return. | |||||||||||||||||||
|
View the equivalent code in;
|
|||||||||||||||||||||
| Prev: 36705 | Up: Map | Next: 36752 |