![]() |
Routines |
| Prev: B03C | Up: Map | Next: B09D |
|
||||||||||||||||||||
| Controls_Jump | B06D | LD A,($B2DB) | If Game_Options is zero then jump to Controls_Jump_Keyboard. | |||||||||||||||||
| B070 | OR A | |||||||||||||||||||
| B071 | JR Z,Controls_Jump_Keyboard | |||||||||||||||||||
| B073 | CP $01 | If Game_Options is not 01 then jump to Controls_Jump_Sinclair. | ||||||||||||||||||
| B075 | JR NZ,Controls_Jump_Sinclair | |||||||||||||||||||
|
Handle Kempston Joystick.
|
||||||||||||||||||||
| B077 | IN A,($1F) | Read from Kempston Joystick. | ||||||||||||||||||
| B079 | BIT 4,A | If bit 4 is set/ "FIRE" is being pressed then jump to Controls_NoPress_Jump. | ||||||||||||||||||
| B07B | JR Z,Controls_NoPress_Jump | |||||||||||||||||||
|
Key was pressed so return A=01.
|
||||||||||||||||||||
| Controls_Pressed_Jump | B07D | LD A,$01 | A=01. | |||||||||||||||||
| B07F | RET | Return. | ||||||||||||||||||
|
Handle Sinclair Joystick.
|
||||||||||||||||||||
| Controls_Jump_Sinclair | B080 | LD A,$EF | Read from the keyboard;
|
|||||||||||||||||
| B082 | IN A,($FE) | |||||||||||||||||||
| B084 | BIT 0,A | If bit 0 is set jump to Controls_Pressed_Jump. | ||||||||||||||||||
| B086 | JR Z,Controls_Pressed_Jump | |||||||||||||||||||
| B088 | JR Controls_NoPress_Jump | Jump to Controls_NoPress_Jump. | ||||||||||||||||||
|
Handle Keyboard controls.
|
||||||||||||||||||||
| Controls_Jump_Keyboard | B08A | LD A,$FE | Read from the keyboard;
|
|||||||||||||||||
| B08C | IN A,($FE) | |||||||||||||||||||
| B08E | LD B,A | Store the result in B. | ||||||||||||||||||
| B08F | LD A,$7F | Read from the keyboard;
|
||||||||||||||||||
| B091 | IN A,($FE) | |||||||||||||||||||
| B093 | AND B | Merge in the bits from B. | ||||||||||||||||||
|
Fill in the "blanks".
|
||||||||||||||||||||
| B094 | OR %11100000 | Set bits 5-7. | ||||||||||||||||||
|
If there's been any keypress at all then A won't be FF.
|
||||||||||||||||||||
| B096 | CP $FF | If the result is not FF jump to Controls_Pressed_Jump. | ||||||||||||||||||
| B098 | JP NZ,Controls_Pressed_Jump | |||||||||||||||||||
|
No key was pressed so return A=00.
|
||||||||||||||||||||
| Controls_NoPress_Jump | B09B | XOR A | A=00. | |||||||||||||||||
| B09C | RET | Return. | ||||||||||||||||||
| Prev: B03C | Up: Map | Next: B09D |