Routines |
Prev: AB9B | Up: Map | Next: AC06 |
|
||||||||||||||||||||
Controls_ExitScreen | ABD7 | LD A,($B2DB) | If Game_Options is zero then jump to Controls_ExitScreen_Keyboard. | |||||||||||||||||
ABDA | OR A | |||||||||||||||||||
ABDB | JR Z,Controls_ExitScreen_Keyboard | |||||||||||||||||||
ABDD | CP $01 | If Game_Options is not 01 then jump to Controls_ExitScreen_Sinclair. | ||||||||||||||||||
ABDF | JR NZ,Controls_ExitScreen_Sinclair | |||||||||||||||||||
Handle Kempston Joystick.
|
||||||||||||||||||||
ABE1 | IN A,($1F) | Read from Kempston Joystick. | ||||||||||||||||||
ABE3 | BIT 3,A | If bit 3 is set/ "UP" is being pressed then jump to Controls_NoPress_ExitScreen. | ||||||||||||||||||
ABE5 | JR Z,Controls_NoPress_ExitScreen | |||||||||||||||||||
Key was pressed so return A=01.
|
||||||||||||||||||||
Controls_Pressed_ExitScreen | ABE7 | LD A,$01 | A=01. | |||||||||||||||||
ABE9 | RET | Return. | ||||||||||||||||||
Handle Keyboard controls.
|
||||||||||||||||||||
Controls_ExitScreen_Keyboard | ABEA | LD A,$FD | Read from the keyboard;
|
|||||||||||||||||
ABEC | IN A,($FE) | |||||||||||||||||||
ABEE | LD B,A | Store the result in B. | ||||||||||||||||||
ABEF | LD A,$BF | Read from the keyboard;
|
||||||||||||||||||
ABF1 | IN A,($FE) | |||||||||||||||||||
ABF3 | AND B | Merge in the bits from B. | ||||||||||||||||||
Fill in the "blanks".
|
||||||||||||||||||||
ABF4 | OR %11100000 | Set bits 5-7. | ||||||||||||||||||
If there's been any keypress at all then A won't be FF.
|
||||||||||||||||||||
ABF6 | CP $FF | If the result is not FF jump to Controls_Pressed_ExitScreen. | ||||||||||||||||||
ABF8 | JR NZ,Controls_Pressed_ExitScreen | |||||||||||||||||||
ABFA | JR Controls_NoPress_ExitScreen | Jump to Controls_NoPress_ExitScreen. | ||||||||||||||||||
Handle Sinclair Joystick.
|
||||||||||||||||||||
Controls_ExitScreen_Sinclair | ABFC | LD A,$EF | Read from the keyboard;
|
|||||||||||||||||
ABFE | IN A,($FE) | |||||||||||||||||||
AC00 | BIT 1,A | If bit 1 is set jump to Controls_Pressed_ExitScreen. | ||||||||||||||||||
AC02 | JR Z,Controls_Pressed_ExitScreen | |||||||||||||||||||
No key was pressed so return A=00.
|
||||||||||||||||||||
Controls_NoPress_ExitScreen | AC04 | XOR A | A=00. | |||||||||||||||||
AC05 | RET | Return. |
Prev: AB9B | Up: Map | Next: AC06 |