![]() |
Routines |
| Prev: 33368 | Up: Map | Next: 33477 |
| ControlsPause | 33432 | DI | Disable interrupts. | |||||||||||||||||
| 33433 | LD A,223 | Read from the keyboard;
|
||||||||||||||||||
| 33435 | OUT (253),A | |||||||||||||||||||
| 33437 | IN A,(254) | |||||||||||||||||||
|
If key "O" is not being pressed, then just return.
|
||||||||||||||||||||
| 33439 | BIT 1,A | Return if bit 1 is not set. | ||||||||||||||||||
| 33441 | RET NZ | |||||||||||||||||||
|
Return if any other key has been pressed with "O".
|
||||||||||||||||||||
| 33442 | CPL | Flip the bits. | ||||||||||||||||||
| 33443 | AND %00011101 | Keep only bits 0, 2-4. | ||||||||||||||||||
| 33445 | RET NZ | Return if the result is not zero. | ||||||||||||||||||
|
Loop until the "O" button is released.
|
||||||||||||||||||||
| GamePaused_Debounce | 33446 | LD A,223 | Read from the keyboard;
|
|||||||||||||||||
| 33448 | OUT (253),A | |||||||||||||||||||
| 33450 | IN A,(254) | |||||||||||||||||||
| 33452 | BIT 1,A | Jump to GamePaused_Debounce if bit 1 is set. | ||||||||||||||||||
| 33454 | JR Z,GamePaused_Debounce | |||||||||||||||||||
|
Creates an infinite loop which only exits when "O" is pressed again.
|
||||||||||||||||||||
| GamePaused | 33456 | LD A,223 | Read from the keyboard;
|
|||||||||||||||||
| 33458 | OUT (253),A | |||||||||||||||||||
| 33460 | IN A,(254) | |||||||||||||||||||
| 33462 | BIT 1,A | Jump to GamePaused if bit 1 is not set. | ||||||||||||||||||
| 33464 | JR NZ,GamePaused | |||||||||||||||||||
|
Likewise, to prevent the pause from recurring instantly, loop until the "O" button is released.
|
||||||||||||||||||||
| GamePaused_Debounce_Exit | 33466 | LD A,223 | Read from the keyboard;
|
|||||||||||||||||
| 33468 | OUT (253),A | |||||||||||||||||||
| 33470 | IN A,(254) | |||||||||||||||||||
| 33472 | BIT 1,A | Jump to GamePaused_Debounce_Exit if bit 1 is set. | ||||||||||||||||||
| 33474 | JR Z,GamePaused_Debounce_Exit | |||||||||||||||||||
| 33476 | RET | Return. | ||||||||||||||||||
| Prev: 33368 | Up: Map | Next: 33477 |